python-stdnum-1.13/0000755000000000000000000000000013611057640014230 5ustar rootroot00000000000000python-stdnum-1.13/setup.py0000755000000000000000000000633013611057523015747 0ustar rootroot00000000000000#!/usr/bin/env python # setup.py - python-stdnum installation script # # Copyright (C) 2010-2020 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """python-stdnum installation script.""" import os import sys from setuptools import find_packages, setup import stdnum # fix permissions for sdist if 'sdist' in sys.argv: os.system('chmod -R a+rX .') os.umask(int('022', 8)) base_dir = os.path.dirname(__file__) with open(os.path.join(base_dir, 'README'), 'rb') as fp: long_description = fp.read().decode('utf-8') setup(name='python-stdnum', version=stdnum.__version__, description='Python module to handle standardized numbers and codes', long_description=long_description, author='Arthur de Jong', author_email='arthur@arthurdejong.org', url='https://arthurdejong.org/python-stdnum/', license='LGPL', classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'Intended Audience :: Financial and Insurance Industry', 'Intended Audience :: Information Technology', 'Intended Audience :: Telecommunications Industry', 'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.6', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Office/Business :: Financial', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: Text Processing :: General', ], packages=find_packages(), package_data={'': ['*.dat']}, extras_require={ # The SOAP feature is only required for a number of online tests # of numbers such as the EU VAT VIES lookup, the Dominican Republic # DGII services or the Turkish T.C. Kimlik validation. 'SOAP': ['zeep'], # recommended implementation 'SOAP-ALT': ['suds'], # but this should also work 'SOAP-FALLBACK': ['PySimpleSOAP'], # this is a fallback }, ) python-stdnum-1.13/tests/0000755000000000000000000000000013611057640015372 5ustar rootroot00000000000000python-stdnum-1.13/tests/test_eu_vat.py0000644000000000000000000000346213555400450020271 0ustar rootroot00000000000000# test_eu_vat.py - functions for testing the online VIES VAT validation # coding: utf-8 # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA # This is a separate test file because it should not be run regularly # because it could negatively impact the VIES service. """Extra tests for the stdnum.eu.vat module.""" import os import unittest from stdnum.eu import vat @unittest.skipIf( not os.environ.get('ONLINE_TESTS'), 'Do not overload online services') class TestVies(unittest.TestCase): """Test the VIES web service provided by the European commission for validation VAT numbers of European countries.""" def test_check_vies(self): """Test stdnum.eu.vat.check_vies()""" result = vat.check_vies('BE555445') self.assertEqual(result['countryCode'], 'BE') self.assertEqual(result['vatNumber'], '555445') def test_check_vies_approx(self): """Test stdnum.eu.vat.check_vies_approx()""" result = vat.check_vies_approx('BE555445', 'BE555445') self.assertEqual(result['countryCode'], 'BE') self.assertEqual(result['vatNumber'], '555445') python-stdnum-1.13/tests/test_verhoeff.doctest0000644000000000000000000000366713555400451021637 0ustar rootroot00000000000000test_verhoeff.doctest - more detailed doctests for stdnum.verhoeff module Copyright (C) 2010, 2011, 2013 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.verhoeff module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import verhoeff These are normal variations that should just work. Calculating checksums: >>> verhoeff.checksum('654') 1 >>> verhoeff.checksum('1428570') 0 >>> verhoeff.checksum('398438246238642378648236487236482734') 3 The same numbers but now simply ask for validation: >>> verhoeff.validate('654') Traceback (most recent call last): ... InvalidChecksum: ... >>> verhoeff.validate('1428570') '1428570' >>> verhoeff.validate('398438246238642378648236487236482734') Traceback (most recent call last): ... InvalidChecksum: ... Adding a check digit to the numbers so they are all valid: >>> verhoeff.calc_check_digit('654') '8' >>> verhoeff.validate('6548') '6548' >>> verhoeff.calc_check_digit('1428570') '8' >>> verhoeff.validate('1428570') '1428570' >>> verhoeff.calc_check_digit('398438246238642378648236487236482734') '7' >>> verhoeff.validate('3984382462386423786482364872364827347') '3984382462386423786482364872364827347' python-stdnum-1.13/tests/test_de_idnr.doctest0000644000000000000000000000426213555400450021426 0ustar rootroot00000000000000test_de_idnr.doctest - more detailed doctests for stdnum.de.idnr module Copyright (C) 2017 Holvi Payment Services Oy Copyright (C) 2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.de.idnr module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.de import idnr The number should be 11 digits long, should contain only numbers and cannot start with a zero. >>> idnr.validate('116574261809') Traceback (most recent call last): ... InvalidLength: ... >>> idnr.validate('A6574261809') Traceback (most recent call last): ... InvalidFormat: ... >>> idnr.validate('01234567896') Traceback (most recent call last): ... InvalidFormat: ... The first 10 digits of the IdNr is supposed to contain extactly one digit twice (or three times since 2016) and all other digits in the number can only appear once. This tries to catch some corner cases. Note that only the first 10 digits are considered for this. >>> idnr.validate('1234567890 3') # each digit once Traceback (most recent call last): ... InvalidFormat: ... >>> idnr.validate('1123456789 0') # one digit twice '11234567890' >>> idnr.validate('1112345678 6') # one digit three times '11123456786' >>> idnr.validate('1111234567 8') # one digit four times Traceback (most recent call last): ... InvalidFormat: ... >>> idnr.validate('1122345678 5') # two digits more than once Traceback (most recent call last): ... InvalidFormat: ... python-stdnum-1.13/tests/test_luhn.doctest0000644000000000000000000000354613555400451020775 0ustar rootroot00000000000000test_luhn.doctest - more detailed doctests for stdnum.luhn module Copyright (C) 2010, 2011, 2013 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.luhn module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import luhn These are normal variations that should just work. Calculating checksums: >>> luhn.checksum('4992739871') 9 >>> luhn.checksum('490154203237518') 0 >>> luhn.checksum('abcdefe', alphabet='abcdef') 0 The same numbers but now simply ask for validation: >>> luhn.validate('4992739871') Traceback (most recent call last): ... InvalidChecksum: ... >>> luhn.validate('490154203237518') '490154203237518' >>> luhn.validate('abcdefe', alphabet='abcdef') 'abcdefe' Adding a check digit to the numbers so they are all valid: >>> luhn.calc_check_digit('4992739871') '6' >>> luhn.validate('49927398716') '49927398716' >>> luhn.calc_check_digit('142857') '2' >>> luhn.validate('1428572') '1428572' >>> luhn.calc_check_digit('398438246238642378648236487236482734') '7' >>> luhn.validate('3984382462386423786482364872364827347') '3984382462386423786482364872364827347' python-stdnum-1.13/tests/test_ru_inn.doctest0000644000000000000000000000302213555400451021306 0ustar rootroot00000000000000test_ru_inn.doctest - more detailed doctests for the stdnum.ru.inn module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ru.inn module. It tries to validate a number of numbers that have been found online. >>> from stdnum.ru import inn >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 005826107187 ... 0108003670 ... 0273074555 ... 0279111370 ... 0716007984 ... 5190187770 ... 6223002330 ... 6440019934 ... 6672238301 ... 6903022126 ... 6908012650 ... 6911001698 ... 7609000881 ... 7709442668 ... 7716450028 ... 7724051595 ... 7726485118 ... 7727705694 ... 7728127936 ... 7813045547 ... 7825498171 ... 8614008550 ... 8906008726 ... 8906008740 ... ... ''' >>> [x for x in numbers.splitlines() if x and not inn.is_valid(x)] [] python-stdnum-1.13/tests/test_damm.doctest0000644000000000000000000000500413555400450020733 0ustar rootroot00000000000000test_damm.doctest - more detailed doctests for stdnum.damm module Copyright (C) 2016 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.damm module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import damm These are normal variations that should just work. Calculating checksums: >>> damm.checksum('572') 4 >>> damm.checksum('5724') 0 >>> damm.checksum('43881234567') 9 >>> damm.checksum('438812345679') 0 The same numbers but now simply ask for validation: >>> damm.validate('572') Traceback (most recent call last): ... InvalidChecksum: ... >>> damm.validate('5724') '5724' >>> damm.validate('43881234567') Traceback (most recent call last): ... InvalidChecksum: ... >>> damm.validate('438812345679') '438812345679' Adding a check digit to the numbers so they are all valid: >>> damm.calc_check_digit('572') '4' >>> damm.validate('5724') '5724' >>> damm.calc_check_digit('5724') '0' >>> damm.validate('57240') '57240' >>> damm.calc_check_digit('43881234567') '9' >>> damm.validate('438812345679') '438812345679' >>> damm.calc_check_digit('438812345679') '0' >>> damm.validate('4388123456790') '4388123456790' We can also use a different table if we really need to. This one is from http://www.md-software.de/math/DAMM_Quasigruppen.txt >>> table = ( ... (0, 2, 3, 4, 5, 6, 7, 8, 9, 1), ... (2, 0, 4, 1, 7, 9, 5, 3, 8, 6), ... (3, 7, 0, 5, 2, 8, 1, 6, 4, 9), ... (4, 1, 8, 0, 6, 3, 9, 2, 7, 5), ... (5, 6, 2, 9, 0, 7, 4, 1, 3, 8), ... (6, 9, 7, 3, 1, 0, 8, 5, 2, 4), ... (7, 5, 1, 8, 4, 2, 0, 9, 6, 3), ... (8, 4, 6, 2, 9, 5, 3, 0, 1, 7), ... (9, 8, 5, 7, 3, 1, 6, 4, 0, 2), ... (1, 3, 9, 6, 8, 4, 2, 7, 5, 0)) >>> damm.checksum('816', table=table) 9 >>> damm.checksum('8169', table=table) 0 python-stdnum-1.13/tests/test_robustness.doctest0000644000000000000000000000256313555400451022234 0ustar rootroot00000000000000test_robustness.doctest - test is_valid() functions to not break Copyright (C) 2011-2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains some tests for modules in the stdnum package to check whether all provided is_valid() functions can handle clearly invalid junk. >>> testvalues = ( ... None, '*&^%$', '', 0, False, object(), 'Z', 'QQ', '3', '€', u'€', ... '😴', '¥', '3²', 'ⅷ', '⑱', '᭓', b'\xc2\xb2'.decode('utf-8')) >>> from stdnum.util import get_number_modules Go over each module and try every value. >>> for mod in get_number_modules(): ... results = [ x for x in testvalues if mod.is_valid(x) != False ] ... if results: ... print(mod.__name__, results) python-stdnum-1.13/tests/test_se_personnummer.doctest0000644000000000000000000000453013555400451023242 0ustar rootroot00000000000000test_se_personnummer.doctest - more detailed doctests for stdnum.se.personnummer module Copyright (C) 2018 Ilya Vihtinsky Copyright (C) 2018 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.se.personnummer module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.se import personnummer Test for non-digit number. >>> personnummer.validate('a' * 10) Traceback (most recent call last): ... InvalidFormat: ... >>> personnummer.validate('a' * 11) Traceback (most recent call last): ... InvalidFormat: ... These numbers should be detected as male or female. >>> personnummer.get_gender('670919-9530') 'M' >>> personnummer.get_gender('8803200420') 'F' The birth date can be extracted from the number and invalid dates are rejected. >>> personnummer.get_birth_date('8803200420') datetime.date(1988, 3, 20) >>> personnummer.get_birth_date('191705120424') datetime.date(1917, 5, 12) >>> personnummer.get_birth_date('121212-1212') datetime.date(2012, 12, 12) >>> personnummer.get_birth_date('121212+1212') datetime.date(1912, 12, 12) >>> personnummer.get_birth_date('400606+5827') datetime.date(1840, 6, 6) >>> personnummer.validate('8899200425') Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 670919-9530 ... 811228-9874 ... 880320-0016 ... 880320-0057 ... 8803200073 ... 8803200099 ... 8803200115 ... 8803200131 ... 8803200156 ... 8803200172 ... 8803200198 ... 8803200420 ... ... ''' >>> [x for x in numbers.splitlines() if x and not personnummer.is_valid(x)] [] python-stdnum-1.13/tests/test_mx_curp.doctest0000644000000000000000000000651613555400451021504 0ustar rootroot00000000000000test_mx_curp.doctest - more detailed doctests for the stdnum.mx.curp module Copyright (C) 2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.mx.curp module. >>> from stdnum.mx import curp >>> from stdnum.exceptions import * Below are a few tests that were found from various sources. They are all expected to be hypothetical and examples and not likely be real persons. Gloria Hernández García, female, born on 27 April 1956 in the state of Veracruz. >>> curp.validate('HEGG560427MVZRRL04') 'HEGG560427MVZRRL04' >>> curp.get_gender('HEGG560427MVZRRL04') 'F' >>> curp.get_birth_date('HEGG560427MVZRRL04') datetime.date(1956, 4, 27) Luis Raúl Bello Mena, male, born on March 13 1992 in the state of Mexico. >>> curp.validate('BEML920313HMCLNS09') 'BEML920313HMCLNS09' >>> curp.get_gender('BEML920313HMCLNS09') 'M' >>> curp.get_birth_date('BEML920313HMCLNS09') datetime.date(1992, 3, 13) Luis Perez Gomez, female, born on September 9 1989 in the state of Jalisco. >>> curp.validate('PEGL890909MJCRMS08') 'PEGL890909MJCRMS08' >>> curp.get_gender('PEGL890909MJCRMS08') 'F' >>> curp.get_birth_date('PEGL890909MJCRMS08') datetime.date(1989, 9, 9) This tests several corner cases in the validation. >>> curp.validate('PEGL890909MJCRMS08') 'PEGL890909MJCRMS08' >>> curp.validate('1230') Traceback (most recent call last): ... InvalidLength: ... >>> curp.validate('123ZZZZZZZZZZZZZ90') Traceback (most recent call last): ... InvalidFormat: ... >>> curp.validate('BACA890909MJCRMS05') # bad word used Traceback (most recent call last): ... InvalidComponent: ... >>> curp.validate('PEGL891313MJCRMS06') # invalid date Traceback (most recent call last): ... InvalidComponent: ... >>> curp.validate('PEGL890909QJCRMS08') # invalid gender Traceback (most recent call last): ... InvalidComponent: ... >>> curp.validate('PEGL890909MQQRMS02') # invalid state Traceback (most recent call last): ... InvalidComponent: ... >>> curp.validate('PEGL890909MJCRMS09') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... These have been found online and should all be valid numbers. Note that these numbers all have valid check digits (also see the list below). >>> numbers = ''' ... ... AAAA000101HDFCCC09 ... AAMG890608HDFLJL00 ... BAAA890317HDFRLL03 ... BAAD890419HMNRRV07 ... BEML920313HMCLNS09 ... HEGG560427MVZRRL04 ... HEGR891009HMNRRD09 ... MARR890512HMNRMN09 ... MESJ890928HMNZNS00 ... OOMG890727HMNRSR06 ... PEGL890909MJCRMS08 ... TOMA880125HMNRRN02 ... TOMA880125HMNRRNO2 ... VIAA900930MMNCLL08 ... ... ''' >>> [x for x in numbers.splitlines() if x and not curp.is_valid(x, validate_check_digits=True)] [] python-stdnum-1.13/tests/test_isan.doctest0000644000000000000000000000771413555400451020762 0ustar rootroot00000000000000test_isan.doctest - more detailed doctests for stdnum.isan module Copyright (C) 2010, 2012, 2013 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.isan module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import isan This is how numbers should be split (possible with and without episode number): >>> isan.split('000000018947000000000000') ('000000018947', '0000', '', '00000000', '') >>> isan.split('0000-0000-D07A-0090-Q-0000-0000-X') ('00000000D07A', '0090', 'Q', '00000000', 'X') >>> isan.split('000000018947000000000000') ('000000018947', '0000', '', '00000000', '') >>> isan.split('1881-66C7-3420-6541-Y') ('188166C73420', '6541', 'Y', '', '') >>> isan.split('1881-66C7-3420-6541') ('188166C73420', '6541', '', '', '') Compacting should also work: >>> isan.compact('000000018947000000000000') '000000018947000000000000' >>> isan.compact('0000-0000-D07A-0090-Q-0000-0000-X') '00000000D07A009000000000' >>> isan.compact('0000-0000-D07A-0090-Q-0000-0000-X', strip_check_digits=False) '00000000D07A0090Q00000000X' >>> isan.compact('000000018947000000000000') '000000018947000000000000' >>> isan.compact('1881-66C7-3420-6541-Y') '188166C734206541' >>> isan.compact('1881-66C7-3420-6541-Y', strip_check_digits=False) '188166C734206541Y' >>> isan.compact('1881-66C7-3420-6541') '188166C734206541' These should be valid numbers: >>> isan.validate('0000-0000-D07A-0090-Q-0000-0000-X') '00000000D07A0090Q00000000X' >>> isan.validate('1881-66C7-3420-6541-Y-9F3A-0245-O') '188166C734206541Y9F3A0245O' >>> isan.validate('0000-0000-D07A-0090-Q-0000-0000-X') '00000000D07A0090Q00000000X' >>> isan.validate('0000-0000-D07A-0090-Q') '00000000D07A0090Q' And these should be invalid: >>> isan.validate('00000000D07A0090-Z') Traceback (most recent call last): ... InvalidChecksum: ... >>> isan.validate('3abc6800-0041X1-20') Traceback (most recent call last): ... InvalidFormat: ... >>> isan.validate('3abc6800-0041') Traceback (most recent call last): ... InvalidLength: ... The format() function can add the check digit if needed. It should leave alone existing check digits (even invalid ones) and respect the presence or absence of a version number. >>> isan.format('00000000D07A0090') '0000-0000-D07A-0090-Q' >>> isan.format('1881-66C734206541-9F3A-0245') '1881-66C7-3420-6541-Y-9F3A-0245-O' >>> isan.format('1881-66C7-3420-6541-?-9F3A-0245-?', strip_check_digits=True, add_check_digits=False) '1881-66C7-3420-6541-9F3A-0245' >>> isan.format('1881-66C7-3420-6541-?-9F3A-0245-?', strip_check_digits=True, add_check_digits=True) '1881-66C7-3420-6541-Y-9F3A-0245-O' The validate() function also allows stripping and (re)adding check digits. >>> isan.validate('1881-66C7-3420-6541-Y-9F3A-0245-O', strip_check_digits=True) '188166C7342065419F3A0245' >>> isan.validate('188166C7342065419F3A0245', add_check_digits=True) '188166C734206541Y9F3A0245O' >>> isan.validate('1881-66C7-3420-6541-X-9F3A-0245-A', strip_check_digits=True, add_check_digits=True) '188166C734206541Y9F3A0245O' A simple test for the to_binary() function. >>> import binascii >>> import sys >>> x = binascii.b2a_hex(isan.to_binary('0000-0000-D07A-0090-Q')) >>> if sys.version > '3': ... x = str(x, encoding='ascii') >>> x '00000000d07a0090' python-stdnum-1.13/tests/test_au_abn.doctest0000644000000000000000000000556413555400450021255 0ustar rootroot00000000000000test_au_abn.doctest - more detailed doctests for the stdnum.au.abn module Copyright (C) 2016 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.au.abn module. It tries to validate a number of numbers that have been found online. >>> from stdnum.au import abn >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 11574456001 ... 12 123 552 732 ... 12197960056 ... 14 007 145 637 ... 14 085 537 097 ... 15 071 884 994 ... 16 050 539 350 ... 16 875 959 817 ... 16207643640 ... 17 088 952 023  ... 17 091 664 318 ... 17798019840 ... 18657363620 ... 18986035694 ... 19406270520 ... 20 080 574 616 ... 21 006 741 420 ... 211 082 588 59 ... 21276698420 ... 22752397988 ... 25 009 256 179 ... 25 078 164 020 ... 26 128 975 842 ... 27146513745 ... 29 176 219 543 ... 30194533815 ... 30319635949 ... 30753140115 ... 32510077067 ... 32967065962 ... 34180019054 ... 35 061 659 185 ... 35367869361 ... 36562063587 ... 38032136826 ... 38689369989 ... 42350020583 ... 42793074259 ... 43 002 724 334 ... 45138393975 ... 45686492545 ... 46 0 0 2722 3 49 ... 46 003 855 561 ... 46 003 855 561  ... 46065060376 ... 46080667721 ... 46241363405 ... 48110267900 ... 49046814670 ... 50 001 065 096 ... 50785233431 ... 51 824 753 556 ... 51120335948 ... 51424722884 ... 51974674048 ... 52 007 061 930 ... 54159269665 ... 55344832020 ... 55593511022 ... 57 064 001 270 ... 57356639841 ... 58437726834 ... 60431599619 ... 61173792360 ... 61483329243 ... 62128948118 ... 62361423248 ... 62826560160 ... 66 098 752 319 ... 66870124640 ... 68515519306 ... 69629520833 ... 73401973717 ... 73420076995 ... 74756347129 ... 74823923971 ... 75 091 431 202 ... 79772126259 ... 81 633 873 422 ... 83562801946 ... 84 002 705 224 ... 84598062158 ... 84696968277 ... 84771313085 ... 85 192 178 954 ... 85573270719 ... 86760778045 ... 87252821098 ... 88 775 098 848 ... 88278681363 ... 90 006 091 774 ... 90399103769 ... 91 010 334 915 ... 91044249923 ... 91957581192 ... 92 104 128 001 ... 93915085021 ... 96196152632 ... 97522448851 ... 98 116 306 453 ... 98977939326 ... 99870624871 ... ... ''' >>> [x for x in numbers.splitlines() if x and not abn.is_valid(x)] [] python-stdnum-1.13/tests/test_iso11649.doctest0000644000000000000000000000643113555400451021222 0ustar rootroot00000000000000test_iso11649.doctest - more detailed doctests for the stdnum.iso11649 module Copyright (C) 2018 Esben Toke Christensen This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.iso11649 module. It tries to validate a number of numbers that have been generated online. >>> import stdnum.iso11649 >>> from stdnum.exceptions import * The following numbers have been randomly generated at: https://www.mobilefish.com/services/creditor_reference/creditor_reference.php They should all be valid iso11649 structured creditor reference numbers >>> numbers = ''' ... ... RF03SW3EZRUFBK ... RF20QQHM7PAW61EOWO ... RF206KCJWVH20 ... RF97XX5ZIC ... RF66A4E7BF6OI8F23P9 ... RF888F7P5VQ8TOFTY3LZ ... RF41778UFIFX6LGFHAX ... RF8676YM2Q3UWC9 ... RF056TXFK ... RF800PAG6O89TAU8M5H ... RF20AN1IJBLFGA ... RF23EF4UHBVNPLHKG3HZ9SGGT ... RF79KDFLO48OJW9TSCUP7L ... RF72YW ... RF14GE30YOI8 ... RF95SVO25ZY0J ... RF38W1PAA2QLIPIQVMAYLOH ... RF80A0CPH ... RF15O27ZC6D86DZGO ... RF30VXZSLA8 ... RF87PBDPC22JTUPL98AYLOCK ... RF14QS8OSM0SGZJHDAJI2S1 ... RF724P ... RF0717UP2X0DO9UF6JGIPG8 ... RF42J8H8Y0VB5MXP1T24RHM3 ... RF70JNR ... RF949BJ0SHL5OELQ0M16 ... RF75TR2ACY3PGL ... RF0891RPECRY4EKAIWQK4UZUP ... RF95079AYKHK4C6D8SF ... RF63RPP1PYBH4K ... RF28JGS ... RF80I4 ... RF55IJ37T88JU5D0XUR6Z3N ... RF08P ... RF315S3SM4CXHLHPCCJULF36 ... RF25GKZ943I ... RF10XHXROQ2ZS1 ... RF032KW3MG ... RF03Z55N ... RF93SYT6JCX9BF8STKZTF ... RF910KN ... RF4480GWBS4ON16IRYL7T5VN2 ... RF02YFL1INOWMIYT2AN ... RF23PCSFK51V1XJALP ... RF37K91OEQE0FMBZSBN ... RF96QP1V07AYT ... RF2939KX5US7LX3PAN1BNWC0H ... RF02RLPTC78WPBRBZFWSU ... RF85QEZRRD82 ... RF529 ... RF813OATFTW ... RF02MT56MM6RK3NSA88RKVK ... RF81WGYFUZZ0TWXHQK ... RF21FYKWJSLDSEV5P8XGPE2 ... RF75B2UCA8B3KLEP4PNTJA ... RF401ETPTNN0E83ASNVVNPWU ... RF11JB ... RF48T7F6BF5F4H9F9JG ... RF68C ... RF53AVDW8QM7M6A62 ... RF382LJGQV501HHZQ6ZS1 ... RF097 ... RF73XJXLAL ... RF95B ... RF57G ... RF25282M4CZ5GHSGY3G85G ... RF498F8Q7S17 ... RF701XP4QUW0YV62EI5DQ ... RF16V1A2WFZ6U8RMNVLE ... RF78DB1FAB ... RF7522DRITKFXLL97L45F ... RF11A8Z ... RF04X2OY4TYLNF ... RF607WBLIGJT8FLEPYJ ... RF07YDRKBYAAJTZ9IEMA ... RF186L ... RF409UF6078QP ... RF82K6F ... RF28AGC ... RF57G ... RF1492GE4TE5I7 ... RF12EMD86TLG46QZT9Z0WA3I ... RF056PZYKELS9JY35QWH11 ... RF288UQN77O6QWX5565 ... RF12Z7WS5GR9S4 ... RF17B6V83RKUJCKYSIV ... RF489L8GK4 ... RF41FWLX ... RF98FIKGWHA2AK04NMI ... RF86V26RQ3Z ... RF72813 ... RF59OG39OS05B0RBMT ... RF67B3TIEBWV82 ... RF73UYAE6PKWKA7MMR62S0B ... RF92DIALM ... RF04J4 ... RF60OG76HU1XGBIHRU94K ... RF22EM ... RF67J7L ... ... ''' >>> [x for x in numbers.splitlines() if x and not stdnum.iso11649.is_valid(x)] [] python-stdnum-1.13/tests/test_iban.doctest0000644000000000000000000002074413555400450020736 0ustar rootroot00000000000000test_iban.doctest - more detailed doctests for the stdnum.iban module Copyright (C) 2011-2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.iban module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import iban Test for IBAN corner case that happens when the bban part is empty, the country code is unknown and the checksum is still valid. >>> iban.validate('0001') Traceback (most recent call last): ... InvalidComponent: ... IBAN for an unknown country code. >>> iban.validate('XX431234') Traceback (most recent call last): ... InvalidComponent: ... These should all be valid numbers and are from the IBAN REGISTRY as sample numbers: >>> numbers = ''' ... AD12 0001 2030 2003 5910 0100 ... AD1200012030200359100100 ... AE070331234567890123456 ... AL47 2121 1009 0000 0002 3569 8741 ... AL47212110090000000235698741 ... AT61 1904 3002 3457 3201 ... AT611904300234573201 ... AZ21NABZ00000000137010001944 ... BA39 1290 0794 0102 8494 ... BA391290079401028494 ... BG80 BNBG 9661 1020 3456 78 ... BG80BNBG96611020345678 ... BH67BMAG00001299123456 ... BR1800000000141455123924100C2 ... BR9700360305000010009795493P1 ... CH93 0076 2011 6238 5295 7 ... CH9300762011623852957 ... CY17 0020 0128 0000 0012 0052 7600 ... CY17002001280000001200527600 ... CZ65 0800 0000 1920 0014 5399 ... CZ6508000000192000145399 ... CZ94 5500 0000 0010 1103 8930 ... CZ9455000000001011038930 ... DE89 3704 0044 0532 0130 00 ... DE89370400440532013000 ... DK50 0040 0440 1162 43 ... DK5000400440116243 ... DO28BAGR00000001212453611324 ... EE38 2200 2210 2014 5685 ... EE382200221020145685 ... ES 58 0049 0290 3424 1352 8341 ... ES04 0075 0078 0605 0005 0355 ... ES0521053014113400002160 ... ES10 0075 0080 11 0600658108 ... ES15-0049-1806-9121-1186-9374 ... ES2030810089311100269222 ... ES24 2090 3191 1400 4012 1040 ... ES27 3183 1500 9600 0121 0562 ... ES28 2104 0485 5390 6968 2983 ... ES29 2100 2815 9822 0059 9427 ... ES37 2038 8700 7861 0000 9781 ... ES39 0081 0294 66 0001238624 ... ES58 1465 0100 9719 0014 4593 ... ES59 0049 5030 1129 1601 1246 ... ES62 2100 4288 5922 0010 4465 ... ES72 2013-0692-81-0201150993 ... ES72 2048 1075 8334 0000 2171 ... ES81 0081 5515 2900 0157 5763 ... ES8521005731710200031769 ... ES86 2013 0095 1102 0142 6812 ... ES86 30580157682720001384 ... ES88 2095 0497 9191 0708 8631 ... ES91 2100 0418 4502 0005 1332 ... ES9121000418450200051332 ... ES98 0049 5442 2227 1606 6973 ... FI21 1234 5600 0007 85 ... FI2112345600000785 ... FI5542345670000081 ... FO62 6460 0001 6316 34 ... FO6264600001631634 ... FR14 2004 1010 0505 0001 3M02 606 ... FR1420041010050500013M02606 ... GB29 NWBK 6016 1331 9268 19 ... GB29NWBK60161331926819 ... GE29 NB00 0000 0101 9049 17 ... GE29NB0000000101904917 ... GI75 NWBK 0000 0000 7099 453 ... GI75NWBK000000007099453 ... GL89 6471 0001 0002 06 ... GL8964710001000206 ... GR16 0110 1250 0000 0001 2300 695 ... GR1601101250000000012300695 ... GT82TRAJ01020000001210029690 ... HR12 1001 0051 8630 0016 0 ... HR1210010051863000160 ... HU42 1177 3016 1111 1018 0000 0000 ... HU42117730161111101800000000 ... IE29 AIBK 9311 5212 3456 78 ... IE29AIBK93115212345678 ... IL62 0108 0000 0009 9999 999 ... IL620108000000099999999 ... IS14 0159 2600 7654 5510 7303 39 ... IS140159260076545510730339 ... IT60 X054 2811 1010 0000 0123 456 ... IT60X0542811101000000123456 ... JO94CBJO0010000000000131000302 ... KZ86125KZT5004100100 ... LB62 0999 0000 0001 0019 0122 9114 ... LB62099900000001001901229114 ... LI21 0881 0000 2324 013A A ... LI21088100002324013AA ... LT12 1000 0111 0100 1000 ... LT121000011101001000 ... LU28 0019 4006 4475 0000 ... LU280019400644750000 ... LV80 BANK 0000 4351 9500 1 ... LV80BANK0000435195001 ... MC11 1273 9000 7000 1111 1000 h79 ... MC1112739000700011111000h79 ... MD24AG000225100013104168 ... ME 25 5403 0000 2379 9201 09 ... ME 2551 0000 0000 0623 4133 ... ME 25510260797324001246 ... ME 25525007010044076639 ... ME 25535005130000020047 ... ME 25540000007300246820 ... ME 25550005080000004970 ... ME25 5050 0001 2345 6789 51 ... ME25505000012345678951 ... MK072 5012 0000 0589 84 ... MK07250120000058984 ... MR13 0002 0001 0100 0012 3456 753 ... MR1300020001010000123456753 ... MT84 MALT 0110 0001 2345 MTLC AST0 01S ... MT84MALT011000012345MTLCAST001S ... MU17 BOMM 0101 1010 3030 0200 000M UR ... MU17 BOMM0101101030300200000MUR ... NL91 ABNA 0417 1643 00 ... NL91ABNA0417164300 ... NO 02 15037577003 ... NO 05 15030383041 ... NO 0560110516994 ... NO 0571 3905 25162 ... NO 0828014322061 ... NO 1232600465693 ... NO 19 4920 06 96270 ... NO 21 650 405 251 19 ... NO 2342009668904 ... NO 26 7032 0516 038 ... NO 3036245391786 ... NO 31 6018 04 47124 ... NO 33 4270 06 08551 ... NO 35 9650 05 73667 ... NO 39 4750 07 95936 ... NO 39 6318 05 01489 ... NO 39 7874 0597 506 ... NO 40 1503 7355 353 ... NO 402333 06 01019 ... NO 43 651 204 471 94 ... NO 44 1850.05.14562 ... NO 4575600702548 ... NO 5314300642641 ... NO 57 78740655867 ... NO 5997501101463 ... NO 62 650 204 441 20 ... NO 6865040505746 ... NO 6940872430085 ... NO 6947780786090 ... NO 71 7694 05 00903 ... NO 7615030839797 ... NO 89 42004151326 ... NO 91 16024246306 ... NO05 7058 0555 568 ... NO07.8380.08.06006 ... NO1782000193468 ... NO2476940517075 ... NO38 8200 06 10190 ... NO4697500641723 ... NO5876940518888 ... NO71.4202.47.14777 ... NO77 7694 0511 077 ... NO89 4760 5692 776 ... NO8976940512510 ... NO93 8601 1117 947 ... NO9386011117947 ... NO9832271000153 ... PK36SCBL0000001123456702 ... PL61 1090 1014 0000 0712 1981 2874 ... PL61109010140000071219812874 ... PS92PALS000000000400123456702 ... PT50 0002 0123 1234 5678 9015 4 ... PT50000201231234567890154 ... QA58DOHB00001234567890ABCDEFG ... RO49 AAAA 1B31 0075 9384 0000 ... RO49AAAA1B31007593840000 ... RS35 2600 0560 1001 6113 79 ... RS35260005601001611379 ... SA03 8000 0000 6080 1016 7519 ... SA0380000000608010167519 ... SE45 5000 0000 0583 9825 7466 ... SE4550000000058398257466 ... SI56 1910 0000 0123 438 ... SI56191000000123438 ... SK31 1200 0000 1987 4263 7541 ... SK3112000000198742637541 ... SM86 U032 2509 8000 0000 0270 100 ... SM86U0322509800000000270100 ... TL 38 008 00123456789101 57 ... TN59 1000 6035 1835 9847 8831 ... TN5910006035183598478831 ... TR33 0006 1005 1978 6457 8413 26 ... TR330006100519786457841326 ... VG96VPVG0000012345678901 ... XK051212012345678906 ... ''' >>> [ x for x in numbers.splitlines() if x and not iban.is_valid(x) ] [] These all have broken checksums or are mangled: >>> numbers = ''' ... AL48212110090000000235698741 ... AD1210012030200359100100 ... AT611804300234573201 ... BE68530907547034 ... BA391290709401028494 ... BG80BNBG99611020345678 ... HR1210010052863000160 ... CY17002001281000001200527600 ... CZ6508000000129000145399 ... CZ9455000000000101038930 ... DK5000400440116342 ... ''' >>> [ x for x in numbers.splitlines() if x and iban.is_valid(x) ] [] These are the wrong length but otherwise have valid checksums: >>> numbers = ''' ... AD48 0001 2030 2003 5910 01 ... AT93 1904 3002 3457 3201 99 ... BE36 5390 0754 7034 1234 ... BA30 1290 0794 0102 84 ... ''' >>> [ x for x in numbers.splitlines() if x and iban.is_valid(x) ] [] These are mostly valid except that they have alphabetic characters where they are not allowed or numbers where alphabetic characters are expected or have an unknown country code: >>> numbers = ''' ... BG93 BNBG 9661 1A20 3456 78 ... GI22 NW3K 0000 0000 7099 453 ... NL56 3003 0A17 1643 00 ... QQ93 1234 5678 ... ''' >>> [ x for x in numbers.splitlines() if x and iban.is_valid(x) ] [] These are mostly for the normal IBAN check but they are not correct according to the country-specific validation. >>> numbers = ''' ... ES2121000418450200051331 ... ES89 3183 1500 9500 0121 0562 ... ''' >>> [ x for x in numbers.splitlines() if x and not iban.is_valid(x, check_country=False) ] [] >>> [ x for x in numbers.splitlines() if x and iban.is_valid(x) ] [] python-stdnum-1.13/tests/test_mac.doctest0000644000000000000000000000577413555400451020574 0ustar rootroot00000000000000test_mac.doctest - more detailed doctests for the stdnum.mac module Copyright (C) 2018 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.mac module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import mac The module should properly convert numbers in various formats to a canonical representation. >>> mac.compact('d0:50:99:84:a2:a0') 'd0:50:99:84:a2:a0' >>> mac.compact('D0-50-99-84-A2-A0') 'd0:50:99:84:a2:a0' >>> mac.compact('D0:50:99:84:A2:A0') 'd0:50:99:84:a2:a0' >>> mac.compact('d0:5:9:04:a2:a0') 'd0:05:09:04:a2:a0' Various formatting problems are checked. >>> mac.validate('d0:50:99:84:a2:a0:ff') Traceback (most recent call last): ... InvalidLength: ... >>> mac.validate('zz:50:99:84:a2:a0') Traceback (most recent call last): ... InvalidFormat: ... >>> mac.validate('00:00:00:00:00') Traceback (most recent call last): ... InvalidLength: ... >>> mac.validate('123:23:45:67:89:00') Traceback (most recent call last): ... InvalidLength: ... The module also has a few address classification functions. >>> mac.is_unicast('d0:50:99:84:a2:a0') True >>> mac.is_multicast('d0:50:99:84:a2:a0') False >>> mac.is_broadcast('d0:50:99:84:a2:a0') False >>> mac.is_broadcast('FF-FF-FF-FF-FF-FF') True >>> mac.is_universally_administered('d0:50:99:84:a2:a0') True >>> mac.is_locally_administered('fe:54:00:76:07:0a') True We can lookup the organisation that registered the OUI part of the MAC address. >>> str(mac.get_manufacturer('2c:76:8a:ad:f2:74')) 'Hewlett Packard' >>> str(mac.get_manufacturer('fe:54:00:76:07:0a')) # libvirt MAC address Traceback (most recent call last): ... InvalidComponent: ... The organisation lookup is performed by default on universally administered addresses but can be forced or disabled. >>> mac.validate('d0:50:99:84:a2:a0') 'd0:50:99:84:a2:a0' >>> mac.validate('fd:ff:ff:84:a2:a0') # constructed universally administered Traceback (most recent call last): ... InvalidComponent: ... >>> mac.validate('fd:ff:ff:84:a2:a0', validate_manufacturer=False) 'fd:ff:ff:84:a2:a0' >>> mac.validate('fe:54:00:76:07:0a') # locally administered 'fe:54:00:76:07:0a' >>> mac.validate('fe:54:00:76:07:0a', validate_manufacturer=True) Traceback (most recent call last): ... InvalidComponent: ... python-stdnum-1.13/tests/test_do_ncf.py0000644000000000000000000000542413555400450020236 0ustar rootroot00000000000000# test_do_ncf.py - functions for testing the online NCF validation # coding: utf-8 # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA # This is a separate test file because it should not be run regularly # because it could negatively impact the online service. """Extra tests for the stdnum.do.ncf module.""" import os import unittest from stdnum.do import ncf @unittest.skipIf( not os.environ.get('ONLINE_TESTS'), 'Do not overload online services') class TestDGII(unittest.TestCase): """Test the web services provided by the the Dirección General de Impuestos Internos (DGII), the Dominican Republic tax department.""" def test_check_dgii(self): """Test stdnum.do.ncf.check_dgii()""" # Test a normal valid number result = ncf.check_dgii('130546312', 'A010010011500000038') self.assertTrue(result) self.assertIn('name', result.keys()) self.assertIn('rnc', result.keys()) self.assertIn('ncf', result.keys()) self.assertIn('validation_message', result.keys()) self.assertEqual(result['rnc'], '130546312') self.assertEqual(result['ncf'], 'A010010011500000038') # Test an invalid combination self.assertIsNone(ncf.check_dgii('501620371', 'A010010011500000038')) # Another valid example self.assertTrue(ncf.check_dgii('1-31-56633-2', 'A010010010100000001')) self.assertTrue(ncf.check_dgii('1-31-56633-2', 'A010010010100000100')) # These types have not been requested with the regulator self.assertFalse(ncf.check_dgii('1-31-56633-2', 'A030010010100000001')) self.assertFalse(ncf.check_dgii('1-31-56633-2', 'A010020010100000001')) # Test the new format result = ncf.check_dgii('130546312', 'B0100000005') self.assertTrue(result) self.assertIn('name', result.keys()) self.assertIn('rnc', result.keys()) self.assertIn('ncf', result.keys()) self.assertIn('validation_message', result.keys()) self.assertEqual(result['rnc'], '130546312') self.assertEqual(result['ncf'], 'B0100000005') python-stdnum-1.13/tests/test_pl_regon.doctest0000644000000000000000000000417013555400451021626 0ustar rootroot00000000000000test_pl_regon.doctest - more detailed doctests for the stdnum.pl.regon module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.pl.regon module. It tries to validate a number of numbers that have been found online. >>> from stdnum.pl import regon >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 000144992 ... 000262289 ... 000569734 ... 001123710 ... 001130740 ... 001130762 ... 001130785 ... 004611261 ... 010925233 ... 011370116 ... 015615046 ... 015831301 ... 017282442 ... 021425170 ... 021493503 ... 061245300 ... 080121017 ... 101286521 ... 101624716 ... 101702037 ... 120444729 ... 120812966 ... 122903064 ... 122989806 ... 140006787 ... 140124720 ... 140567178 ... 140906290 ... 141215688 ... 147244188 ... 160178314 ... 180405830 ... 180562050 ... 190248215 ... 190384415 ... 191305139 ... 192976380 ... 200197338 ... 220218697 ... 221997249 ... 241675487 ... 271747631 ... 276273209 ... 280002520 ... 292449593 ... 300613124 ... 302406613 ... 357126121 ... 360935507 ... 362392991 ... 362501144 ... 362509447 ... 362509460 ... 362509476 ... 362523660 ... 370418951 ... 370452988 ... 432740426 ... 570007868 ... 570135170 ... 570271370 ... 570860528 ... 572134252 ... 630679076 ... 632154969 ... 634389910 ... 670141210 ... 810033277 ... 812663628 ... ... ''' >>> [x for x in numbers.splitlines() if x and not regon.is_valid(x)] [] python-stdnum-1.13/tests/test_ch_uid.doctest0000644000000000000000000000777313555400450021267 0ustar rootroot00000000000000test_ch_uid.doctest - more detailed doctests for the stdnum.ch.uid module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ch.uid module. >>> from stdnum.ch import uid >>> from stdnum.exceptions import * Some more detailed tests. >>> uid.validate('ZZZ-107.787.577') Traceback (most recent call last): ... InvalidComponent: ... >>> uid.validate('CHE-10A.787.577') Traceback (most recent call last): ... InvalidFormat: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... CHE 113.042.942. ... CHE-101.415.551 ... CHE-105.067.880 ... CHE-105.616.108 ... CHE-105.838.471 ... CHE-106.222.918 ... CHE-108.902.220 ... CHE-112.786.448 ... CHE-113.606.230 ... CHE-113.606.253 ... CHE-113.614.519 ... CHE-113.617.417 ... CHE-113.638.690 ... CHE-113.690.319 ... CHE-113.706.877 ... CHE-113.840.903 ... CHE-114.165.895 ... CHE-114.332.288 ... CHE-114.365.477 ... CHE-114.557.166 ... CHE-114.587.210 ... CHE-114.764.713 ... CHE-114.921.562 ... CHE-115.117.491 ... CHE-115.188.717 ... CHE-115.257.146 ... CHE-115.401.147 ... CHE-115.681.283 ... CHE-115.702.784 ... CHE-115.901.131 ... CHE-116.018.087 ... CHE-116.022.172 ... CHE-116.024.389 ... CHE-116.066.413 ... CHE-116.066.436 ... CHE-116.066.459 ... CHE-116.066.465 ... CHE-116.066.471 ... CHE-116.066.488 ... CHE-116.068.168 ... CHE-116.068.180 ... CHE-116.068.257 ... CHE-116.068.369 ... CHE-116.068.375 ... CHE-116.068.398 ... CHE-116.068.435 ... CHE-116.068.470 ... CHE-116.068.524 ... CHE-116.068.582 ... CHE-131.608.474 ... CHE-132.071.565 ... CHE-133.192.355 ... CHE-145.202.776 ... CHE-146.680.598 ... CHE-154.748.703 ... CHE-154.936.162 ... CHE-157.957.462 ... CHE-164.589.300 ... CHE-165.355.615 ... CHE-170.094.053 ... CHE-172.763.936 ... CHE-187.271.257 ... CHE-188.858.471 ... CHE-190.214.202 ... CHE-193.052.812 ... CHE-199.027.184 ... CHE-199.213.611 ... CHE-200.143.304 ... CHE-200.474.557 ... CHE-201.091.609 ... CHE-208.913.684 ... CHE-211.403.691 ... CHE-221.032.573 ... CHE-221.432.665 ... CHE-222.251.936 ... CHE-222.259.895 ... CHE-226.253.064 ... CHE-226.598.037 ... CHE-247.670.953 ... CHE-254.168.819 ... CHE-255.108.719 ... CHE-255.286.924 ... CHE-261.860.174 ... CHE-263.297.189 ... CHE-264.708.255 ... CHE-265.476.805 ... CHE-268.880.226 ... CHE-276.015.555 ... CHE-276.258.224 ... CHE-279.426.498 ... CHE-288.910.965 ... CHE-304.459.014 ... CHE-313.282.453 ... CHE-316.510.171 ... CHE-317.089.412 ... CHE-319.639.393 ... CHE-320.640.339 ... CHE-322.193.357 ... CHE-325.352.422 ... CHE-327.285.558 ... CHE-335.670.007 ... CHE-360.001.499 ... CHE-363.192.993 ... CHE-367.908.992 ... CHE-378.338.277 ... CHE-379.051.878 ... CHE-383.713.530 ... CHE-392.445.860 ... CHE-397.984.845 ... CHE-400.352.783 ... CHE-402.703.876 ... CHE-403.244.345 ... CHE-404.107.716 ... CHE-405.509.388 ... CHE-415.481.515 ... CHE-420.485.329 ... CHE-422.892.792 ... CHE-424.195.422 ... CHE-430.271.592 ... CHE-433.064.977 ... CHE-443.047.638 ... CHE-444.796.174 ... CHE-444.901.873 ... CHE-445.737.990 ... CHE-446.609.550 ... CHE-447.518.447 ... CHE-447.564.660 ... CHE-449.312.098 ... CHE-450.220.178 ... CHE-460.147.005 ... CHE-467.023.568 ... CHE-468.593.911 ... CHE-475.427.548 ... CHE-478.406.525 ... CHE-488.502.886 ... CHE-488.972.766 ... CHE-489.713.641 ... ... ''' >>> [x for x in numbers.splitlines() if x and not uid.is_valid(x)] [] python-stdnum-1.13/tests/test_fr_siret.doctest0000644000000000000000000000440413555400450021635 0ustar rootroot00000000000000test_fr_siret.doctest - more detailed doctests for the stdnum.fr.siret module Copyright (C) 2016 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.fr.siret module. >>> from stdnum.fr import siret >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 0 5 7 8 1 3 1 3 1 0 0 0 2 6 ... 1 800 700 39 00 110 ... 2 00 03 00 13 000 11 ... 2 101 005 33 000 12 ... 2 777 000 43 000 15 ... 3 1 0 1 8 8 4 2 0 00 0 8 0 ... 3 12 494 529 000 34 ... 3 24 34 54 20 000 40 ... 30206838200050 ... 314 901 323 00043 ... 31719324100013 ... 32228438100017 ... 32650798500058 ... 32738082000032 ... 329.338.88300153 ... 32929695800039 ... 33770320100034 ... 34530016400018 ... 380 321 430 00023 ... 38446899700034 ... 38536958200023 ... 389 011 529 00036 ... 38981890700203 ... 39039475700020 ... 39102766100050 ... 4 0 0 9 0 8 5 0 5 0 0 0 11 ... 4 0 3 3 1 4 6 6 9 0 0 0 4 1 ... 4 0 9 0 8 5 2 1 4 0 0 0 2 4 ... 4 2 0 3 0 9 6 2 7 0 0 0 3 2 ... 4 4 3 4 8 9 2 7 3 0 0 0 1 3 ... 4 4 3 5 4 9 8 7 8 0 0 0 4 1 ... 4 8 2 7 8 1 9 11 0 0 0 11 ... 40300300700032 ... 44126652500019 ... 44142526100019 ... 44796433900017 ... 479 461 675 00049 ... 5 12 326 653 000 15 ... 5 17 758 173 000 10 ... 50397442000021 ... 513 133 637 000 35 ... 52524288900042 ... 542 097 324 0006 6 ... 652 059 213 00023 ... 7 7821 0526 00019 ... 775.563.232.00104 ... 778 239 798 000 11 ... 79068156300017 ... 8 1 0 2 4 7 3 8 7 0 0 0 1 4 ... 8 1002665800015 ... 8 21 114 55000014 ... ... ''' >>> [x for x in numbers.splitlines() if x and not siret.is_valid(x)] [] python-stdnum-1.13/tests/test_ar_cuit.doctest0000644000000000000000000001145613606452301021452 0ustar rootroot00000000000000test_ar_cuit.doctest - more detailed doctests for the stdnum.ac.cuit module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ac.cuit module. It tries to validate a number of numbers that have been found online. >>> from stdnum.ar import cuit >>> from stdnum.exceptions import * Test some corner cases. >>> cuit.validate('20-05536168-2') '20055361682' >>> cuit.validate('2026756539') Traceback (most recent call last): ... InvalidLength: ... >>> cuit.validate('2026756A393') Traceback (most recent call last): ... InvalidFormat: ... >>> cuit.validate('99-05536168-8') Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 20-10123456-9 ... 20040356437 ... 20047433747 ... 20050573452 ... 20054613009 ... 20058481425 ... 20058723410 ... 20058879089 ... 20073562954 ... 20073659486 ... 20076084735 ... 20077530127 ... 20081042404 ... 20086295106 ... 20086607043 ... 20101234569 ... 20101376630 ... 20102289855 ... 20103055475 ... 20105567643 ... 20108146304 ... 20108524244 ... 20108909170 ... 20110831243 ... 20112806440 ... 20113951517 ... 20120774019 ... 20121388570 ... 20125491783 ... 20128032801 ... 20129599058 ... 20131707992 ... 20132002755 ... 20136310136 ... 20143455905 ... 20144779674 ... 20145053294 ... 20146234306 ... 20171104042 ... 20171823960 ... 20182886530 ... 20184230446 ... 20187687137 ... 20202569456 ... 20203954795 ... 20204393363 ... 20205752766 ... 20209954088 ... 20213601785 ... 20220030165 ... 20223730907 ... 20224293578 ... 20225121169 ... 20227716011 ... 20237525613 ... 20238697752 ... 20245079541 ... 20248651793 ... 20250926155 ... 20255761367 ... 20259636117 ... 20261576393 ... 20262358977 ... 20271280344 ... 20272201588 ... 20275121364 ... 20282423910 ... 20283621759 ... 20285115664 ... 20287747722 ... 20290072981 ... 20293386162 ... 20298479932 ... 20300953655 ... 20305216950 ... 20314469616 ... 20314970951 ... 20319011987 ... 20320639361 ... 20321768165 ... 20323118249 ... 20324215809 ... 20324381709 ... 20324794043 ... 20328504708 ... 20344135763 ... 20344379131 ... 20347620204 ... 20354205271 ... 20355854974 ... 20360612679 ... 20373308359 ... 20922078182 ... 20922312401 ... 20929597916 ... 23000052264 ... 23042708194 ... 23045174999 ... 23081181489 ... 23102532279 ... 23161822434 ... 23175636404 ... 23214238519 ... 23233647969 ... 23244989004 ... 23270774199 ... 23278857069 ... 23279103009 ... 23314669649 ... 23324786244 ... 23334052729 ... 23338909764 ... 23355601684 ... 23935319099 ... 24117166062 ... 24276145513 ... 27-10345678-4 ... 27018259899 ... 27023396861 ... 27032487705 ... 27056528240 ... 27057490638 ... 27060695488 ... 27063049366 ... 27066515678 ... 27066595485 ... 27098767849 ... 27103456784 ... 27107931738 ... 27114547382 ... 27121262059 ... 27122342420 ... 27127539923 ... 27130430142 ... 27134454569 ... 27172336472 ... 27173495094 ... 27175432812 ... 27177192010 ... 27177721994 ... 27179361642 ... 27180795672 ... 27185685298 ... 27201493841 ... 27205913209 ... 27215060417 ... 27216654523 ... 27216824178 ... 27221319619 ... 27232710921 ... 27234685568 ... 27243584871 ... 27245896609 ... 27247110831 ... 27248949770 ... 27250076679 ... 27259106430 ... 27259522078 ... 27261420215 ... 27262935081 ... 27267742249 ... 27273160103 ... 27276663084 ... 27278570601 ... 27279026271 ... 27281657025 ... 27283110546 ... 27284491675 ... 27284753505 ... 27288128389 ... 27296108591 ... 27303521211 ... 27304599451 ... 27310947828 ... 27312481389 ... 27314396036 ... 27316481677 ... 27335804088 ... 27354548165 ... 27366029902 ... 27366146259 ... 27372855350 ... 27373316690 ... 27937240444 ... 27938621395 ... 27940212664 ... 27949019387 ... 30011111110 ... 30653311857 ... 30670349760 ... 30691769336 ... 30700596210 ... 30710422636 ... 30710916574 ... 30711016046 ... 30711067074 ... 30711271003 ... 30711683166 ... 30712071199 ... 30712417419 ... 30714322296 ... 30714468088 ... 30714789062 ... 33500001599 ... 33534828379 ... 33708972679 ... 33712308589 ... 33714423709 ... 34546198105 ... ... ''' >>> [x for x in numbers.splitlines() if x and not cuit.is_valid(x)] [] python-stdnum-1.13/tests/test_bg_vat.doctest0000644000000000000000000000371413555400450021265 0ustar rootroot00000000000000test_bg_vat.doctest - more detailed doctests for stdnum.bg.vat module Copyright (C) 2012, 2013 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.bg.vat module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.bg import vat Normal values that should just work. >>> vat.validate('103873594') # 9-digit legal entity '103873594' >>> vat.validate('131272009') # legal entity with fallback checksum '131272009' >>> vat.validate('7501020018') # physical person '7501020018' >>> vat.validate('8001010008') # physical person '8001010008' >>> vat.validate('8032056031') # physical person '8032056031' >>> vat.validate('7111042925') # foreigners '7111042925' >>> vat.validate('7153849522') # others '7153849522' Invalid checksum: >>> vat.validate('175074751') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 000565359 ... 104453698 ... 121817309 ... 121887948 ... 175015558 ... 175223064 ... 176040023 ... 202322728 ... 202342638 ... 203445228 ... 831919536 ... 835014925 ... ... ''' >>> [x for x in numbers.splitlines() if x and not vat.is_valid(x)] [] python-stdnum-1.13/tests/test_uy_rut.doctest0000644000000000000000000001276313555400451021357 0ustar rootroot00000000000000test_uy_rut.doctest - more detailed doctests for stdnum.uy.rut module Copyright (C) 2019 Leandro Regueiro This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.uy.rut module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.uy import rut Tests for some corner cases. >>> rut.validate('211003420017') '211003420017' >>> rut.validate('21-100342-001-7') '211003420017' >>> rut.validate('UY 21 140634 001 1') '211406340011' >>> rut.format('211003420017') '21-100342-001-7' >>> rut.validate('2142184200106') Traceback (most recent call last): ... InvalidLength: ... >>> rut.validate('FF1599340019') Traceback (most recent call last): ... InvalidFormat: ... >>> rut.validate('001599340019') # invalid first two digits Traceback (most recent call last): ... InvalidComponent: ... >>> rut.validate('221599340019') # invalid first two digits Traceback (most recent call last): ... InvalidComponent: ... >>> rut.validate('210000000019') # all-zero serial number Traceback (most recent call last): ... InvalidComponent: ... >>> rut.validate('211599345519') # does not end with 001x Traceback (most recent call last): ... InvalidComponent: ... >>> rut.validate('211599340010') Traceback (most recent call last): ... InvalidChecksum: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 020164180014 ... 020334150013 ... 040003080012 ... 040005970015 ... 040016670018 ... 040418690013 ... 080001340016 ... 080022140016 ... 080139130010 ... 080213100019 ... 100073350016 ... 100318040014 ... 100500830017 ... 110064620011 ... 120003950019 ... 140099980016 ... 140157860014 ... 140181240012 ... 140215500011 ... 160144250012 ... 170006780013 ... 170027590019 ... 180224740010 ... 210001550012 ... 210002620014 ... 210058770011 ... 210073150010 ... 210115100016 ... 210139110011 ... 210145870014 ... 210150270011 ... 210158640012 ... 210166180017 ... 210179150014 ... 210180920014 ... 210182980014 ... 210201150018 ... 210222900016 ... 210258830018 ... 210276780019 ... 210297670018 ... 210312110014 ... 210327080019 ... 210353720011 ... 210356860019 ... 210387110011 ... 210458060011 ... 210732000017 ... 210745160018 ... 210911810013 ... 210963830015 ... 210973860014 ... 211004160019 ... 211049510019 ... 211073320011 ... 211261790011 ... 211322010010 ... 211436660014 ... 211469540018 ... 211490580015 ... 211522640018 ... 211549020010 ... 211561010011 ... 211599370015 ... 211614400013 ... 211615780014 ... 211801770015 ... 211996800016 ... 212045470010 ... 212070680015 ... 212153160019 ... 212240850013 ... 212413240017 ... 212429590012 ... 212440120019 ... 212454430015 ... 212491250017 ... 212496500011 ... 212501340013 ... 212517220012 ... 212532040011 ... 212543290014 ... 212597820011 ... 212623570013 ... 212659640011 ... 212673700018 ... 212678980019 ... 212740500011 ... 212801630017 ... 213056780014 ... 213090120013 ... 213096710017 ... 213103770016 ... 213158420017 ... 213212900018 ... 213342900018 ... 213382280010 ... 213397140015 ... 213424230016 ... 213470310019 ... 213522890010 ... 213580520018 ... 213634090016 ... 213646230012 ... 213691440012 ... 213809790011 ... 213879900010 ... 213928210019 ... 213945140015 ... 213953600011 ... 213998850017 ... 214004730014 ... 214047130019 ... 214058380011 ... 214074720018 ... 214102340016 ... 214133790013 ... 214146600013 ... 214147150011 ... 214193940011 ... 214198770017 ... 214216810011 ... 214375810016 ... 214426070014 ... 214528610018 ... 214592480014 ... 214603870018 ... 214610610018 ... 214614190013 ... 214615280016 ... 214633640010 ... 214655630018 ... 214662920018 ... 214736710011 ... 214737600015 ... 214766080016 ... 214809150010 ... 214884800019 ... 214943860019 ... 214962680012 ... 214986830014 ... 215009140019 ... 215023680017 ... 215062370015 ... 215099710014 ... 215118080017 ... 215162380012 ... 215171410018 ... 215203500017 ... 215281420018 ... 215304750019 ... 215351000012 ... 215396520015 ... 215438030010 ... 215445310015 ... 215449070019 ... 215488970017 ... 215953280013 ... 215963430018 ... 215964960010 ... 215967140014 ... 215987660013 ... 216003500011 ... 216016210017 ... 216047790015 ... 216059620012 ... 216110670018 ... 216129770018 ... 216157100013 ... 216168420014 ... 216195870017 ... 216201780010 ... 216230690016 ... 216245990010 ... 216361860012 ... 216366570012 ... 216397780019 ... 216465750019 ... 216474980013 ... 216502710011 ... 216515360014 ... 216517220015 ... 216533380013 ... 216547290011 ... 216551320019 ... 216556470019 ... 216640300013 ... 216704520019 ... 216747520010 ... 216752600019 ... 216758850017 ... 216825090015 ... 216861310011 ... 216862000016 ... 216893210012 ... 216924940017 ... 217055850011 ... 217132510011 ... 217142440016 ... 217149110011 ... ... ''' >>> [x for x in numbers.splitlines() if x and not rut.is_valid(x)] [] python-stdnum-1.13/tests/test_eu_vat.doctest0000644000000000000000000004016213606452301021303 0ustar rootroot00000000000000test_eu_vat.doctest - more detailed doctests for the stdnum.eu.vat module Copyright (C) 2012-2020 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.eu.vat module. It tries to validate a number of VAT numbers that have been found online. >>> from stdnum.eu import vat >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... ATU 142 43 102 ... ATU 15159209 ... ATU 28560205 ... ATU 34172105 ... ATU 40698107 ... ATU 46276408 ... ATU 49362201 ... ATU 54299806 ... ATU 54300000 ... ATU 56377717 ... ATU 57194903 ... ATU 64487479 ... ATU 64762368 ... ATU 64938009 ... ATU 65020906 ... ATU 65033803 ... ATU 65034704 ... ATU 65480455 ... ATU13585627 ... ATU46080404 ... ATU61195628 ... ... BE (0)468.561.072 ... BE 0202.239.951 ... BE 0220.764.971 ... BE 0248.015.142 ... BE 0402 918 402 ... BE 0407.139.583 ... BE 0408 299 922 ... BE 0441.928.931 ... BE 0450 118 996 ... BE 0462423150 ... BE 0474 621 394 ... BE 0795 013 186 ... BE 0897290877 ... BE 444.503.092 ... BE 456.973.433 ... BE 464 401 356 ... BE0428759497 ... BE413562567 ... BE697449992 ... ... BG 103873594 ... BG 124 551 319 ... BG 130 358 310 ... BG 131 272 009 ... BG 131202360 ... BG 147137471 ... BG 175074752 ... BG 175186242 ... BG 200182590 ... BG 200950556 ... BG130544585 ... BG175074752 ... BG7111042925 ... BG7523169263 ... BG7542011030 ... BG8032056031 ... Bg 200442771 ... ... CY 10246672X ... CY 10263870R ... CY 10274231F ... CY 10285193Z ... CY- 10277198H ... CY-10008489 A ... CY-10189098G ... CY-10258074Y ... CY-10259033P ... CY00632993 F ... ... CZ 25123891 ... CZ 25577581 ... CZ 26852357 ... CZ 60 72 77 72 ... CZ 61467839 ... CZ 640229/4448 ... CZ 640903926 ... CZ 64628060 ... CZ 654123789 ... CZ 682127228 ... CZ 6956220612 ... CZ 736028/5163 ... CZ 8058012314 ... CZ00023205 ... CZ24158313 ... CZ26780259 ... CZ450 33 145 ... CZ48207926 ... CZ49620819 ... CZ6011270177 ... CZ6109220348 ... CZ61989100 ... CZ6306150004 ... CZ7205151536 ... CZ7652046248 ... ... DE - 113866163 ... DE - 231969187 ... DE - 265265318 ... DE - 267297673 ... DE 118619592 ... DE 125014955 ... DE 129304291 ... DE 168347747 ... DE 181 207 708 ... DE 195131068 ... DE 204 760 908 ... DE 213 806 597 ... DE 221.304.969 ... DE 246 595 415 ... DE 811 363 057 ... DE 811125440 ... DE 811305931 ... DE 813 11 38 75 ... DE 813 184868 ... DE119263782 ... DE129390950 ... DE136308783 ... DE812847601 ... ... DK 10 50 32 80 ... DK 11 97 56 58 ... DK 12 14 48 22 ... DK 13 20 24 35 ... DK 13 31 04 59 ... DK 16 89 50 16 ... DK 25 18 63 11 ... DK 25 76 63 69 ... DK 25 86 35 26 ... DK 2566 2202 ... DK 26 09 77 89 ... DK 26 57 61 64 ... DK 28 01 76 34 ... DK 28107773 ... DK 29523215 ... DK 30 06 09 46 ... DK 32 27 15 02 ... DK 32329853 ... DK 65 07 04 13 ... DK 90 30 16 59 ... DK-20 04 52 72 ... DK-20 64 64 46 ... DK-27630308 ... DK-27926592 ... DK-28840926 ... DK-31882095 ... DK-33053266 ... DK10150817 ... DK10290813 ... DK26210895 ... DK36149213 ... DK: 21599336 ... ... EE 100 931 558 ... EE 100523487 ... EE 100572933 ... EE 100578209 ... EE 100594102 ... EE 100594403 ... EE 100832107 ... EE 100834066 ... EE 101031389 ... EE 101286639 ... EE 101288941 ... EE101256753 ... ... ES - Q0818001J ... ES 54362315K ... ES A-28184661 ... ES A-60631835 ... ES A-60997582 ... ES A08370314 ... ES A17028366 ... ES B-58378431 ... ES B64240914 ... ES B64717838 ... ES B79110482 ... ES B80975063 ... ES F13005293 ... ES J99216582 ... ES Q-2818015-F ... ES R9600075G ... ES U99216426 ... ES U99216632 ... ES V99218067 ... ES W4003922D ... ES X-5253868-R ... ES X5277343Q ... ES Y5277343F ... ES Z5277343K ... ES- A84409408 ... ES-A08074908 ... ES-B 60432291 ... ES-B18889204 ... ES-B55015432 ... ES-B64995111 ... ES-B96902531 ... ES-x-2482300w ... ESA78109592 ... Es-a58951310 ... ... EL 039868210 ... EL 044824428 ... EL 072130053 ... EL 082499478 ... EL 094012834 ... EL 094064321 ... EL 094068633 ... EL 094237076 ... EL 094263543 ... EL 095217179 ... EL 095304080 ... EL 099548630 ... EL 94051189 ... EL 998386804 ... EL 998408192 ... EL 998722134 ... EL 999038150 ... EL 999107669 ... EL 999533911 ... EL 999698730 ... EL 999715835 ... EL-082857563 ... EL094501040 ... EL098099809 ... EL: 094279805 ... El 800 179 925 ... ... FI 02459042 ... FI 0982651-1 ... FI 10320534 ... FI 18949388 ... FI 20194885 ... FI 20774740 ... FI 2094606-3 ... FI 24416318 ... FI- 01968312 ... FI- 22291259 ... FI-214 95 540 ... FI-22291240 ... FI-24163066 ... FI18261444 ... ... FR 04409414364 ... FR 09434086930 ... FR 114 248 728 36 ... FR 13 393 892 815 ... FR 163 041 877 01 ... FR 18 349 685 099 ... FR 19 552 008 443 ... FR 19552143273 ... FR 20 329 450 738 ... FR 21 448 834 911 ... FR 2143 2146 546 ... FR 22 326 565 603 ... FR 22 379 160 070 ... FR 26 495 205 213 ... FR 28337893168 ... FR 355 92065536 ... FR 36 380 610 451 ... FR 36502095094 ... FR 38 353427495 ... FR 41-343848552 ... FR 53418304010 ... FR 60391548955 ... FR 61 954 506 077 ... FR 63 334 214 293 ... FR 65 444 243 075 ... FR 68 378 838 692 ... FR 70492082151 ... FR 72 483 995 197 ... FR 734 836 491 66 ... FR 736 220 50 318 ... FR 74 397 888 330 ... FR 77 055 501 902 ... FR 77 384 627 170 ... FR 78528824428 ... FR 79 410 964 837 ... FR 83 404 833 048 ... FR 84 323 140 392 ... FR 86 394 303 796 ... FR 86 542 103 569 ... FR 88775649726 ... FR 94016950842 ... FR K 7399859412 ... FR01712030113 ... FR64333266765 ... FR82542065479 ... FR83404833048 ... FR86451397608 ... FR95483929956 ... Fr 40 303 265 045 ... Fr 96 631 620 572 ... fr 71383076817 ... ... FR16000063601 ... FR23000047372 ... FR26000040583 ... FR28000113851 ... FR30000017854 ... FR32000000330 ... FR36000006022 ... FR40000066034 ... FR43000020445 ... FR48000052489 ... FR54000065101 ... FR64000063908 ... FR65000100833 ... FR79000030642 ... FR83000065143 ... FR83000113158 ... FR84000082668 ... FR87000018746 ... FR88000008820 ... FR88000053537 ... FR96000110899 ... ... GB 002 4257 28 ... GB 003232345 ... GB 100 1950 75 ... GB 100190874 ... GB 102675046 ... GB 232177091 ... GB 242338087388 ... GB 311 405 025 ... GB 362 5866 29 ... GB 417 2280 71 ... GB 436 0630 72 ... GB 495 2781 05 ... GB 507 5768 25 ... GB 521 6763 52 ... GB 586 367 295 ... GB 591 9373 01 ... GB 605 8678 15 ... GB 662 8564 06 ... GB 698 550 577 ... GB 733 4428 41 ... GB 770 381 235 ... GB 784 9117 89 ... GB 808 6365 12 ... GB 812 8333 44 ... GB 818243334 ... GB 823 531 352 ... GB 829 9594 59 ... GB 845788960 ... GB 879 7056 62 ... GB 881 3758 91 ... GB 913 3041 68 ... GB 933210951 ... GB 975 8664 50 ... GB 977 4872 51 ... GB 980780684 ... GB 997 7094 44 ... GB260311213 ... GB653599494 ... GB974053902 ... ... HU -12509403 ... HU 10672101 ... HU 10766172 ... HU 11444923 ... HU 12723650 ... HU 12840937 ... HU 13851909 ... HU 18206373 ... HU 23157653 ... HU 64241281 ... HU-10402434 ... HU-12892312 ... HU-14528114 ... HU11377304 ... HU12078503 ... HU13852467 ... ... IE 0005306C ... IE 4550159S ... IE 4693875V ... IE 4731823J ... IE 632 3420 C ... IE 6324720T ... IE 6339273F ... IE 635 430 5C ... IE 6388047V ... IE 6397893P ... IE 6433435F ... IE 6436390B ... IE 6791517I ... IE 8223200u ... IE 9502346O ... IE 9574173P ... IE 9679477V ... IE 9719156S ... IE 9741812E ... IE 9742129V ... IE-9696131F ... IE6433435IH ... IE6433435OA ... IE6599001W ... IE8D79739I ... IE9Y71814N ... ... IT - 01404480202 ... IT 0 0 6 1 8 2 8 0 4 9 9 ... IT 00 595 000 217 ... IT 00118439991 ... IT 00193180932 ... IT 00520800319 ... IT 00571320076 ... IT 00687120980 ... IT 01189820689 ... IT 01413270396 ... IT 01465210449 ... IT 01501180333 ... IT 01606120226 ... IT 01687870137 ... IT 01720020344 ... IT 01822890388 ... IT 02100550264 ... IT 02109480976 ... IT 02153481201 ... IT 02359210354 ... IT 02408660211 ... IT 02829410980 ... IT 03274440241 ... IT 03367280363 ... IT 04894530635 ... IT 05366960010 ... IT 05460820961 ... IT 05617370969 ... IT 06075960010 ... IT 06729900966 ... IT 06863340961 ... IT 09596821000 ... IT 12920760159 ... IT-01626160210 ... IT-03700020104 ... IT-03827740402 ... IT-09159800011 ... IT00743110157 ... IT02087050155 ... IT: 02331250163 ... ... LT 100001354118 ... LT 100001509912 ... LT 100001799517 ... LT 100001890913 ... LT 100001906711 ... LT 100001919017 ... LT 100002645517 ... LT 100002922012 ... LT 100003619917 ... LT 100005066013 ... LT 100005929611 ... LT 119511515 ... LT 235449811 ... LT 250266219 ... LT 258596610 ... LT 354991917 ... LT 616414610 ... LT 757118413 ... LT-100000979812 ... LT100001251914 ... LT100002894215 ... LT100004801610 ... LT290068995116 ... ... LU 10059929 ... LU 10590281 ... LU 109 676 28 ... LU 11082217 ... LU 13178262 ... LU 150 274 42 ... LU 1871 0830 ... LU 19184853 ... LU 19406747 ... LU 19979983 ... LU 20981643 ... LU 21989666 ... LU 22 22 12 68 ... LU 22690342 ... LU 22991225 ... LU.248.70.640 ... LU: 20993674 ... LU: 2294 4200 ... Lu 19980500 ... ... LV 4000 3521 600 ... LV 40003189718 ... LV 40003282138 ... LV 40003449366 ... LV 40003655379 ... LV 40003718068 ... LV 40003754957 ... LV 40003777428 ... LV 40003939038 ... LV 40008000102 ... LV 40103077610 ... LV 40103157009 ... LV 40103179665 ... LV 40103264016 ... LV 43603009384 ... LV 44103040262 ... LV 5000 399 3021 ... LV 50003087101 ... LV 90000528023 ... LV-40003241337 ... LV-40003467376 ... LV-42103016370 ... LV-42103048183 ... ... MT 1039-6417 ... MT 1167-9112 ... MT 1465 8213 ... MT 1613-4207 ... MT 17025737 ... MT 18740407 ... MT 1894 0705 ... MT 1966 1023 ... MT 19784818 ... MT 2029 1423 ... MT 20630321 ... ... NL 001241 643 B01 ... NL 009122746 B01 ... NL 806753742B01 ... NL 820605876B01 ... NL 8225.69.759 b01 ... NL-812421267 B01 ... NL-8197.38.116.B.01 ... NL.0094.10.806.B.01 ... NL.8143.26.584.B.01 ... NL.8186.43.778.B.01 ... NL001162938B28 ... NL001309675B01 ... NL001452330B47 ... NL001545668B01 ... NL001617419B92 ... NL002455799B11 ... NL003376734B77 ... NL00449544B01 ... NL006375054B01 ... NL006866049B01 ... NL007394913B01 ... NL009093503B01 ... NL019077312B01 ... NL066593931B01 ... NL068357370B01 ... NL117621729B01 ... NL167647672B01 ... NL4495445B01 ... NL68357370B01 ... NL802003217B01 ... NL808373894B01 ... NL811705262B01 ... NL813411786B01 ... ... PL 5211355116 ... PL 5211754253 ... PL 5220205853 ... PL 5342152448 ... PL 5423074698 ... PL 584-030-44-72 ... PL 5840154038 ... PL 5840304472 ... PL 5860224115 ... PL 6330005110 ... PL 645-000-67-50 ... PL 6651344956 ... PL 6661913137 ... PL 6772320831 ... PL 6792831859 ... PL 6831810615 ... PL 6842599822 ... PL 687-16-26-585 ... PL 7010098470 ... PL 7271676569 ... PL 764-23-05-489 ... PL 764-23-05-495 ... PL 764-23-05-503 ... PL 764-23-05-526 ... PL 764-23-05-549 ... PL 764-23-05-555 ... PL 764-23-05-578 ... PL 767-000-06-78 ... PL 767-13-25-342 ... PL 767-14-25-718 ... PL 767-14-47-329 ... PL 768-000-24-66 ... PL 7711598811 ... PL 777 26 68 285 ... PL 7780104605 ... PL 7881154591 ... PL 7961373674 ... PL 8393173893 ... PL 851-020-66-96 ... PL 867-16-19-297 ... PL 8722342429 ... PL 8771130532 ... PL 8971772896 ... PL 8992708633 ... PL 9241826918 ... PL 9452174677 ... PL 9462485048 ... PL 9542705026 ... PL 9562197426 ... PL-7532365958 ... PL-951-157-77-68 ... PL5261025421 ... PL6772135826 ... ... PT 500 019 720 ... PT 500135.495 ... PT 501 507 930 ... PT 501 519 246 ... PT 501 964 843 ... PT 502448911 ... PT 502971142 ... PT 504141066 ... PT 506 030 636 ... PT 506835669 ... PT 507 223 730 ... PT 507 757 505 ... PT 507 859 146 ... PT 507297687 ... PT 508 081 327 ... PT 509 250 505 ... PT 509284930 ... PT-505 856 468 ... PT503038083 ... ... RO 11358544 ... RO 13837330 ... RO 14840784 ... RO 1630615123457 ... RO 16621241 ... RO 17832344 ... RO 1822964 ... RO 18341035 ... RO 185 472 90 ... RO 18779508 ... RO 20950021 ... RO 21356044 ... RO 21996566 ... RO 241 30 20 ... RO 24736200 ... RO 3087444 ... RO 4003786 ... RO 4019740 ... RO 4257679 ... RO 573768 ... RO 6010151 ... RO 6322498 ... RO 6655328 ... RO-23867797 ... RO-27849238 ... RO16241790 ... Ro 15071875 ... ... SE 202 100-5000 01 ... SE 390 806 051 401 ... SE 55 62 00-0777 01 ... SE 55 67 59 32 48 01 ... SE 556.383.740.901 ... SE 556058115801 ... SE 556126249301 ... SE 556433592401 ... SE 556700 3552 01 ... SE 556708202801 ... SE 556728341001 ... SE 556848115301 ... SE 720 522 241 201 ... SE-502053602401 ... SE-556 644 662 001 ... SE-556 792 355 101 ... SE-5562245190-01 ... SE-556271210801 ... SE-556666-4438-01 ... SE556043606401 ... Se 556250398601 ... ... SI 26808498 ... SI 29664373 ... SI 3609 7152 ... SI 48673820 ... SI 50223054 ... SI 56633360 ... SI 56951442 ... SI 68297530 ... SI 70310815 ... SI 73567906 ... SI 85390518 ... SI 92351069 ... SI-83815201 ... SI-89036999 ... ... SK 1078449064 ... SK 202 274 96 19 ... SK 2020 237 945 ... SK 2020257679 ... SK 2021 6858 20 ... SK 2021853504 ... SK 2021998528 ... SK 2022193459 ... SK2022193459 ... ... ''' >>> [x for x in numbers.splitlines() if x and not vat.is_valid(x)] [] The following numbers are wrong in one way or another. First we need a function to be able to determine the kind of error. >>> def caught(number, exception): ... try: ... vat.validate(number) ... return False ... except exception: ... return True ... These numbers should be mostly valid except that they have been mangled so their check digit is wrong. >>> numbers = ''' ... ... ATU 143 43 102 ... ATU 15169209 ... ATU46080904 ... ATU61191628 ... ... BE 0406.139.583 ... BE 0793 013 186 ... BE 456.973.432 ... BE697449982 ... ... BG 1037735942 ... BG 131 172 009 ... BG 147147471 ... BG 200940556 ... ... CY 10246672F ... CY-10009489 A ... CY-10257074Y ... CY00632893 F ... ... CZ 25557481 ... CZ 48207726 ... CZ 640913926 ... CZ 8058018314 ... ... DE 125014855 ... DE 246 495 415 ... DE 813 91 38 75 ... DE - 266297673 ... ... DK 11 96 56 58 ... DK 2565 2202 ... DK-27996592 ... DK10159817 ... ... EE 100 941 558 ... EE 100525487 ... EE 101586639 ... EE101256754 ... ... ES 54362415K ... ES K-2814015-F ... ES-x-2322300w ... Es-a48951310 ... ... EL 094013834 ... EL 094068733 ... EL094501140 ... EL: 094269805 ... ... FR 04409414264 ... FR 21 326 565 603 ... FR K 7399859312 ... FR L 7399859412 ... ... IE 4731823H ... IE 632 3421 C ... IE 5339273F ... IE8D79729I ... ... LV 40003189715 ... LV 90000528022 ... LV-10103241337 ... LV-42103048181 ... ... SK 1078449164 ... SK 302 274 96 19 ... SK 2030 237 945 ... SK 2020457679 ... ... ''' >>> [x for x in numbers.splitlines() if x and not caught(x, InvalidChecksum)] [] These numbers should be mostly valid except that they have some formatting flaws. >>> numbers = ''' ... ... AT1 142 43 102 ... ATU 1515B209 ... ... BE 02A2.239.951 ... BE 0220,764.971 ... ... BG 10X8735941 ... ... CY-102590Z3P ... ... DE 246X595 415 ... DE 011125440 ... ... IE 4550C59S ... IE 069385V8 ... ... NL 001241643801 ... NL 009122746B00 ... NL B06753742B01 ... NL 82X569759b01 ... ... SK A078449064 ... SK 012 274 96 19 ... SK 2010 237 945 ... ... ''' >>> [x for x in numbers.splitlines() if x and not caught(x, InvalidFormat)] [] These numbers should be mostly valid except that they have some component that contains an invalid or unknown value. >>> numbers = ''' ... ... CY-12259033P ... ... CZ 95123891 ... ... IT 00687129980 ... ... LT 100001354 ... LT 100001509922 ... ... QQ 124567 ... ... ''' >>> [x for x in numbers.splitlines() if x and not caught(x, InvalidComponent)] [] >>> vat.compact('QQ 124567') Traceback (most recent call last): ... InvalidComponent: ... These numbers should be mostly valid except that they have the wrong length. >>> numbers = ''' ... ... ATU 151592092 ... ... CY-1225903322 ... ... ES B-583784312 ... ... FR000076090 ... ... NL006866304B021 ... ... SE 55643359201 ... SE 5567003255201 ... ... ''' >>> [x for x in numbers.splitlines() if x and not caught(x, InvalidLength)] [] python-stdnum-1.13/tests/test_imsi.doctest0000644000000000000000000000303113555400451020755 0ustar rootroot00000000000000test_imsi.doctest - more detailed doctests for stdnum.imsi module Copyright (C) 2018 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.imsi module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import imsi Should be valid numbers: >>> imsi.validate('502152100145324') '502152100145324' >>> imsi.split('502152100145324') ('502', '152', '100145324') Under the 467 Mobile Country Code (MCC) there are both 2-digit and 3-digit Mobile Network Codes (MNC). If we have a yet unknown MNC we still want to mark the IMSI as valid (because the registry is changing often and can be incomplete) but we are not able to correctly split it. >>> imsi.validate('467 07 1234567890') '467071234567890' >>> imsi.split('467 07 1234567890') ('467', '071234567890') python-stdnum-1.13/tests/test_ie_vat.doctest0000644000000000000000000000274313555400450021273 0ustar rootroot00000000000000test_ie_vat.doctest - more detailed doctests for stdnum.ie.vat module Copyright (C) 2016 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ie.vat module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.ie import vat Extra tests for length checking and corner cases: >>> vat.validate('111222333') # check digits should be letters Traceback (most recent call last): ... InvalidFormat: ... >>> vat.validate('1234567ABC') # too long Traceback (most recent call last): ... InvalidLength: ... The convert() function should leave invalid or already converted values alone. >>> vat.convert('IE8D79739I') '0797398I' >>> vat.convert('IE 632 3420 C') '6323420C' >>> vat.convert('123') '123' python-stdnum-1.13/tests/test_fi_hetu.doctest0000644000000000000000000000462013555400450021443 0ustar rootroot00000000000000test_fi_hetu.doctest - more detailed doctests for stdnum.fi.hetu module Copyright (C) 2011 Jussi Judin Copyright (C) 2013 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.fi.hetu. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.fi import hetu >>> from stdnum.exceptions import * Normal values that should just work. >>> hetu.validate('131052-308T') '131052-308T' >>> hetu.validate('131052+308T') '131052+308T' >>> hetu.validate('131052A308T') '131052A308T' >>> hetu.validate('131052a308t') '131052A308T' Invalid checksum: >>> hetu.validate('131052-308U') Traceback (most recent call last): ... InvalidChecksum: ... Invalid century indicator: >>> hetu.validate('131052/308T') Traceback (most recent call last): ... InvalidFormat: ... >>> hetu.validate('131052T308T') Traceback (most recent call last): ... InvalidFormat: ... Invalid birth date: >>> hetu.validate('310252-308Y') Traceback (most recent call last): ... InvalidComponent: ... >>> hetu.validate('130052-308R') Traceback (most recent call last): ... InvalidComponent: ... Leaving out the first zero is wrong: >>> hetu.validate('10101-0101') Traceback (most recent call last): ... InvalidFormat: ... Invalid individual number: (for historical reasons individual IDs start from 002 and the range from 900 to 999 is used as temporary identifiers) >>> hetu.validate('131052-000V') Traceback (most recent call last): ... InvalidComponent: ... >>> hetu.validate('131052-9993') Traceback (most recent call last): ... InvalidComponent: ... compact() and format() don't do much special: >>> hetu.compact('131052a308t') '131052A308T' python-stdnum-1.13/tests/test_gr_amka.doctest0000644000000000000000000000600513555400450021420 0ustar rootroot00000000000000test_gr_amka.doctest - more detailed doctests for stdnum.gr.amka module Copyright (C) 2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.gr.amka module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.gr import amka Tests for some corner cases. >>> amka.get_gender('01014719866') 'F' >>> amka.get_birth_date('29020012349') # the year 1900 wasn't a leap year datetime.date(2000, 2, 29) >>> amka.get_birth_date('99887712349') Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 01015734500 ... 01017902501 ... 01037200308 ... 01086004429 ... 01086104112 ... 01115904128 ... 02027000252 ... 02037500945 ... 02065702405 ... 03016601845 ... 03026603674 ... 03037202441 ... 03076103047 ... 03106501681 ... 03117200869 ... 04087402360 ... 04116301831 ... 05086500989 ... 06067504867 ... 06097603465 ... 06105502253 ... 07017100129 ... 07018502224 ... 07106303022 ... 07107300886 ... 08016701602 ... 08017702609 ... 08017704126 ... 08036603580 ... 08116303002 ... 08117501117 ... 09106001291 ... 09116602260 ... 10026004050 ... 10047602601 ... 10096900187 ... 11014803107 ... 11016400969 ... 11025702967 ... 11046703861 ... 12047200899 ... 12105704402 ... 13077802109 ... 13096701340 ... 13125502677 ... 14025500902 ... 14046001336 ... 14066303158 ... 14067000407 ... 15017306430 ... 16016804169 ... 16056702307 ... 16077801260 ... 17025100797 ... 17116903224 ... 18025400765 ... 18058302342 ... 19017803057 ... 19025503111 ... 19055702252 ... 19076801638 ... 20017802123 ... 20035603156 ... 20036305348 ... 20057401257 ... 21028001986 ... 21086800642 ... 21117500724 ... 22016501151 ... 22027901325 ... 22065701165 ... 22105800084 ... 23096100682 ... 24047005699 ... 24086202793 ... 25036505284 ... 25047902066 ... 25088700387 ... 25098700203 ... 25125700721 ... 26107300183 ... 26126301089 ... 27056500807 ... 27065801162 ... 27087200989 ... 27116400865 ... 27126702243 ... 28036104546 ... 28057902661 ... 28087800729 ... 28096101861 ... 28126002196 ... 29095401419 ... 30046801046 ... 30067201225 ... 30096101065 ... 30126002077 ... 31035902076 ... 31057004512 ... 31085501570 ... ... ''' >>> [x for x in numbers.splitlines() if x and not amka.is_valid(x)] [] python-stdnum-1.13/tests/test_do_ncf.doctest0000644000000000000000000001116213555400450021247 0ustar rootroot00000000000000test_do_ncf.doctest - more detailed doctests for stdnum.do.ncf module Copyright (C) 2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.do.ncf module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.do import ncf Some basic tests for invalid numbers: >>> ncf.validate('FJ10010010100000004') # should start with A or P Traceback (most recent call last): ... InvalidFormat: ... >>> ncf.validate('A0100100101000000') Traceback (most recent call last): ... InvalidLength: ... >>> ncf.validate('A01001001010000003234') Traceback (most recent call last): ... InvalidLength: ... >>> ncf.validate('Z010010011600000004') # should start with A or P Traceback (most recent call last): ... InvalidFormat: ... >>> ncf.validate('A010010019900000004') # document type 99 invalid Traceback (most recent call last): ... InvalidComponent: ... >>> ncf.validate('Z0100000005') # should start with B Traceback (most recent call last): ... InvalidFormat: ... >>> ncf.validate('B9900000005') # document type 99 invalid Traceback (most recent call last): ... InvalidComponent: ... >>> ncf.validate('Q010000000005') # should start with E Traceback (most recent call last): ... InvalidFormat: ... >>> ncf.validate('E990000000005') # document type 99 invalid Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... A010010010100000052 ... A010010010100001688 ... A010010010100003508 ... A010010010100003509 ... A010010011500000008 ... A010010011500000012 ... A010010011500000019 ... A010010011500000025 ... A010010011500000027 ... A010010011500000031 ... A010010011500000037 ... A010010011500000042 ... A010010011500000043 ... A010010011500000059 ... A010010011500000063 ... A010010011500000066 ... A010010011500000071 ... A010010011500000081 ... A010010011500000084 ... A010010011500000105 ... A010010011500000108 ... A010010011500000128 ... A010010011500000149 ... A010010011500000154 ... A010010011500000200 ... A010010011500000205 ... A010010011500000232 ... A010010011500000293 ... A010010011500000320 ... A010010011500000329 ... A010010011500000535 ... A010010011500000547 ... A010010011500000557 ... A010010011500000828 ... A010010011500000829 ... A010010011500000830 ... A010010011500000832 ... A010010011500000840 ... A010010011500000841 ... A010010011500000843 ... A010010011500000896 ... A010010011500000925 ... A010010011500000942 ... A010010011500001003 ... A010010011500001082 ... A010010011500001101 ... A010010011500001495 ... A010010011500002048 ... A010010011500002056 ... A010010011500002061 ... A010010011500002246 ... A010010011500002309 ... A010010011500002314 ... A010010011500002321 ... A010010011500002392 ... A010010011500003273 ... A010010011500003274 ... A010010011500003515 ... A010010011500003677 ... A010010011500004073 ... A010010011500004151 ... A010010011500004343 ... A010010011500004745 ... A010010011500005192 ... A010010011500005248 ... A010010011500005445 ... A010010011500005640 ... A010010011500005727 ... A010010011500006427 ... A010010011500007175 ... A010010011500007508 ... A010010011500007510 ... A010010011500008501 ... A010010011500012641 ... A010010011500012649 ... A010010011500013333 ... A010010011500042367 ... A010010011501344909 ... A010010011501344910 ... A010010011501500383 ... A010010031500051556 ... A010020011500000727 ... A010020011500000734 ... A010070051500004287 ... A010070051500004896 ... A010070051500004909 ... A010070051500004929 ... A020010011500002311 ... A020010011500003095 ... A020010011500024073 ... A020010011500431422 ... A020010230100003922 ... A020020011500000180 ... A020020011500000181 ... A030030011500002297 ... A040010011500010708 ... A040010011500012279 ... P010010011501235539 ... P010010011501528319 ... P010010011501528378 ... ... ''' >>> [x for x in numbers.splitlines() if x and not ncf.is_valid(x)] [] python-stdnum-1.13/tests/test_gt_nit.doctest0000644000000000000000000000450713555400450021310 0ustar rootroot00000000000000test_gt_nit.doctest - more detailed doctests for stdnum.gt.nit module Copyright (C) 2019 Leandro Regueiro This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.gt.nit module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.gt import nit Tests for some corner cases. >>> nit.validate('576937-K') '576937K' >>> nit.validate('6946874-5') '69468745' >>> nit.validate('672681-K') '672681K' >>> nit.validate('1234567890123') Traceback (most recent call last): ... InvalidLength: ... >>> nit.validate('1') Traceback (most recent call last): ... InvalidLength: ... >>> nit.validate('FF12') # letters where there should be digits Traceback (most recent call last): ... InvalidFormat: ... >>> nit.validate('12D') # invalid check digit Traceback (most recent call last): ... InvalidFormat: ... >>> nit.validate('8170266-0') Traceback (most recent call last): ... InvalidChecksum: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 115203-3 ... 1245535-0 ... 1251368-7 ... 1510972-0 ... 164624-9 ... 29010438 ... 3-37772-5 ... 3013878-7 ... 3198595-5 ... 3213463 ... 32173-7 ... 3219690-3 ... 32233-4 ... 32439-6 ... 32644-5 ... 33038-8 ... 330651-8 ... 33155-4 ... 33291-7 ... 3602978-5 ... 36728519 ... 39525503 ... 418979-5 ... 4548327-2 ... 478433-2 ... 4863461 ... 4925343 ... 499184-2 ... 5187400 ... 576937-K ... 705526-9 ... 7108-0 ... 7127170 ... 718160-4 ... 72526-9 ... 748810-6 ... 7981182-5 ... 8263362-2 ... 8977112-5 ... 992929-0 ... ... ''' >>> [x for x in numbers.splitlines() if x and not nit.is_valid(x)] [] python-stdnum-1.13/tests/test_ec_ruc.doctest0000644000000000000000000001667113555400450021271 0ustar rootroot00000000000000test_ec_ruc.doctest - more detailed doctests for stdnum.ec.ruc module Copyright (C) 2014 Jonathan Finlay Copyright (C) 2014-2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ec.ruc. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.ec import ruc >>> from stdnum.exceptions import * Normal natural RUC values (third digit less than 6) that should just work. >>> numbers = ''' ... 0101016905001 ... 0602910945001 ... 0910005917001 ... 0926687856001 ... 1001152287001 ... 1102755442001 ... 1104552037001 ... 1311919078001 ... 1700672486001 ... 1702264233001 ... 1704159860001 ... 1710034065001 ... 1710585264001 ... 1710589373001 ... 1713238234001 ... 1714307103001 ... 1721788659001 ... 1803557964001 ... ''' >>> [x for x in numbers.splitlines() if x and not ruc.is_valid(x)] [] Normal public RUC values (third digit is 6) that should just work. >>> numbers = ''' ... 0160000510001 ... 0160001910001 ... 0160002210001 ... 0160037780001 ... 0260000250001 ... 0260000330001 ... 0260000760001 ... 0260001060001 ... 0260001140001 ... 0360000230001 ... 0360000580001 ... 0360001040001 ... 0360016230001 ... 0360023950001 ... 0460000130001 ... 0460000210001 ... 0460000560001 ... 0460000640001 ... 0460000720001 ... 0460001020001 ... 0460014860001 ... 0460020670001 ... 0460022020001 ... 0460022100001 ... 0460022370001 ... 0460023930001 ... 0460024310001 ... 0460024660001 ... 0460024740001 ... 0460026010001 ... 0460027250001 ... 0560000380001 ... 0560000540001 ... 0560000700001 ... 0660000280001 ... 0660000520001 ... 0660000600001 ... 0660000790001 ... 0660000870001 ... 0660000950001 ... 0660001090001 ... 0660001680001 ... 0660820400001 ... 0660828140001 ... 0660831360001 ... 0760000180001 ... 0760000260001 ... 0760000340001 ... 0760000850001 ... 0760000930001 ... 0760001070001 ... 0760001150001 ... 0760001230001 ... 0760001310001 ... 0760001900001 ... 0760033270001 ... 0860000160001 ... 0860000240001 ... 0860013300001 ... 0860014460001 ... 0860017480001 ... 0860019260001 ... 0860019500001 ... 0860032440001 ... 0960000490001 ... 0960000730001 ... 0960001700001 ... 0960005290001 ... 0960006420001 ... 0968529830001 ... 0968566440001 ... 1060000180001 ... 1060000260001 ... 1060000340001 ... 1060000420001 ... 1060000500001 ... 1060000690001 ... 1060000770001 ... 1060008080001 ... 1060014480001 ... 1060016930001 ... 1060018040001 ... 1060019520001 ... 1060021420001 ... 1060024600001 ... 1160000670001 ... 1160000750001 ... 1160001130001 ... 1160001480001 ... 1160008140001 ... 1160028840001 ... 1160037400001 ... 1160039880001 ... 1160836120001 ... 1260000140001 ... 1260000220001 ... 1260000300001 ... 1260000490001 ... 1260000730001 ... 1260001700001 ... 1260001890001 ... 1260002000001 ... 1260002190001 ... 1260006340001 ... 1260006770001 ... 1260033820001 ... 1360000200001 ... 1360000390001 ... 1360000470001 ... 1360000630001 ... 1360000710001 ... 1360001520001 ... 1360001600001 ... 1360001790001 ... 1360001870001 ... 1360002840001 ... 1360003300001 ... 1360014850001 ... 1360024570001 ... 1360029100001 ... 1360047940001 ... 1360052350001 ... 1360052430001 ... 1360055100001 ... 1360059280001 ... 1460000290001 ... 1460000370001 ... 1560000780001 ... 1560001160001 ... 1560001240001 ... 1660000680001 ... 1660011020001 ... 1660012930001 ... 1760000150001 ... 1760001040001 ... 1760001550001 ... 1760003920001 ... 1760004060001 ... 1760004650001 ... 1760009880001 ... 1760013560001 ... 1768007390001 ... 1768022510001 ... 1768034600001 ... 1768045130001 ... 1768048820001 ... 1768085430001 ... 1768102970001 ... 1768119510001 ... 1768123380001 ... 1768133340001 ... 1768152130001 ... 1768153450001 ... 1768155660001 ... 1860000130001 ... 1860000210001 ... 1860000480001 ... 1860000720001 ... 1860000800001 ... 1860000990001 ... 1860001020001 ... 1860001100001 ... 1865011360001 ... 1960001190001 ... 2060000150001 ... 2060000230001 ... 2160000480001 ... 2160011760001 ... ''' >>> [x for x in numbers.splitlines() if x and not ruc.is_valid(x)] [] Normal juridical RUC values (third digit is 9) that should just work. >>> numbers = ''' ... 0190115798001 ... 0190155722001 ... 0290001269001 ... 0290003288001 ... 0390027923001 ... 0490001883001 ... 0490002669001 ... 0590041920001 ... 0590052000001 ... 0690045389001 ... 0790015002001 ... 0790024656001 ... 0990138850001 ... 0990247536001 ... 0990459444001 ... 0991189432001 ... 0991208291001 ... 0991445854001 ... 0992397535001 ... 0992563834001 ... 1090033456001 ... 1090109487001 ... 1190015110001 ... 1190068389001 ... 1390001920001 ... 1390007791001 ... 1390013678001 ... 1390089410001 ... 1390091474001 ... 1690012606001 ... 1790011674001 ... 1790023508001 ... 1790045668001 ... 1790085783001 ... 1790093204001 ... 1790325083001 ... 1790451801001 ... 1790501469001 ... 1790517454001 ... 1790567699001 ... 1790834670001 ... 1791240448001 ... 1791280156001 ... 1791280172001 ... 1791708040001 ... 1791714350001 ... 1791891465001 ... 1791942167001 ... 1792060346001 ... 1792079411001 ... 1792141869001 ... 1792147638001 ... 1792373255001 ... 1890001323001 ... 1890003628001 ... 1890037646001 ... ''' >>> [x for x in numbers.splitlines() if x and not ruc.is_valid(x)] [] Values that are invalid in one way or another: >>> ruc.validate('179206034601') # too short Traceback (most recent call last): ... InvalidLength: ... >>> ruc.validate('17920603A6001') # contains a character Traceback (most recent call last): ... InvalidFormat: ... >>> ruc.validate('0170000610001') # third digit invalid Traceback (most recent call last): ... InvalidComponent: ... >>> ruc.validate('1763154690001') # invalid check digit in natural RUC Traceback (most recent call last): ... InvalidChecksum: ... >>> ruc.validate('0160000610001') # invalid check digit in public RUC Traceback (most recent call last): ... InvalidChecksum: ... >>> ruc.validate('0190115799001') # invalid check digit in juridical RUC Traceback (most recent call last): ... InvalidChecksum: ... >>> ruc.validate('8810034069001') # invalid province code in natural RUC Traceback (most recent call last): ... InvalidComponent: ... >>> ruc.validate('8868152120001') # invalid province code in public RUC Traceback (most recent call last): ... InvalidComponent: ... >>> ruc.validate('8892397539001') # invalid province code in juridical RUC Traceback (most recent call last): ... InvalidComponent: ... >>> ruc.validate('0926687856000') # invalid establishment in natural RUC Traceback (most recent call last): ... InvalidComponent: ... >>> ruc.validate('1760001550000') # invalid establishment in public RUC Traceback (most recent call last): ... InvalidComponent: ... >>> ruc.validate('0992397535000') # invalid establishment in juridical RUC Traceback (most recent call last): ... InvalidComponent: ... python-stdnum-1.13/tests/test_ad_nrt.doctest0000644000000000000000000000663513555400450021277 0ustar rootroot00000000000000test_ad_nrt.doctest - more detailed doctests for stdnum.ad.nrt module Copyright (C) 2019 Leandro Regueiro This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ad.nrt module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.ad import nrt Tests for some corner cases. >>> nrt.validate('U132950X') 'U132950X' >>> nrt.validate('U-132950-X') 'U132950X' >>> nrt.validate('U 132950 X') 'U132950X' >>> nrt.validate('U 132.950 X') 'U132950X' >>> nrt.format('D 059.888 N') 'D-059888-N' >>> nrt.format('D059888N') 'D-059888-N' >>> nrt.validate('A123B') Traceback (most recent call last): ... InvalidLength: ... >>> nrt.validate('0123456N') # First character is not a letter. Traceback (most recent call last): ... InvalidFormat: ... >>> nrt.validate('A1234567') # Last character is not a letter. Traceback (most recent call last): ... InvalidFormat: ... >>> nrt.validate('LABCDEFX') # Central characters are not digits. Traceback (most recent call last): ... InvalidFormat: ... >>> nrt.validate('X123456A') # Invalid first letter. Traceback (most recent call last): ... InvalidComponent: ... >>> nrt.validate('F700000A') # Invalid digits for natural resident person. Traceback (most recent call last): ... InvalidComponent: ... >>> nrt.validate('A699999X') # Invalid digits for "Societat Anonima". Traceback (most recent call last): ... InvalidComponent: ... >>> nrt.validate('A800000X') # Invalid digits for "Societat Anonima". Traceback (most recent call last): ... InvalidComponent: ... >>> nrt.validate('L699999X') # Invalid digits for "Societat Limitada". Traceback (most recent call last): ... InvalidComponent: ... >>> nrt.validate('L800000X') # Invalid digits for "Societat Limitada". Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... A-700555-R ... A-700747-F ... A-700814-R ... A-701315-C ... A-702792-H ... A-703168-T ... A-704683-Z ... A-704834-X ... A-705 321-C ... A-706010-J ... A-707871-V ... A-710.646-J ... A700071W ... A700527F ... A701485T ... D-059888 –N ... D-800044-K ... D-800383-X ... D059888N ... F-000429-F ... F-037945-M ... F-044646-J ... F-175669-X ... F-221117-V ... F-245998-L ... L-701412-V ... L-702597-Z ... L-706185-U ... L-707969-P ... L-709222-X ... L-709418-H ... L-709869-T ... L-710605-S ... L-711019-X ... L-711063-H ... L-711847-V ... L-712255-G ... L-712456-J ... L-713298-F ... L709811-C ... O-801585-O ... U-132950-X ... U-186013-P ... U-800428-R ... U-800584-Z ... U-801585-U ... U-801663-B ... U-801667-X ... U800301-M ... ... ''' >>> [x for x in numbers.splitlines() if x and not nrt.is_valid(x)] [] python-stdnum-1.13/tests/test_do_rnc.doctest0000644000000000000000000000622213555400450021264 0ustar rootroot00000000000000test_do_rnc.doctest - more detailed doctests for stdnum.do.rnc module Copyright (C) 2015-2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.do.rnc module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.do import rnc Some basic tests for invalid numbers: >>> rnc.validate('12345678') Traceback (most recent call last): ... InvalidLength: ... >>> rnc.validate('1234567890') Traceback (most recent call last): ... InvalidLength: ... >>> rnc.validate('123456789012') Traceback (most recent call last): ... InvalidLength: ... >>> rnc.validate('acvbnmkjh') Traceback (most recent call last): ... InvalidFormat: ... >>> rnc.validate('122011226') '122011226' >>> rnc.validate('112031226') Traceback (most recent call last): ... InvalidChecksum: ... >>> rnc.validate('101637587') '101637587' These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 10233317 ... 501050302 ... 501249532 ... 501275452 ... 501402772 ... 501406832 ... 501423982 ... 501430482 ... 501456252 ... 501464492 ... 501470042 ... 501494502 ... 501494812 ... 501496882 ... 501670912 ... 501676936 ... 501690832 ... 501896112 ... 501925082 ... 501934782 ... 502004222 ... 502500262 ... 502571062 ... 502599382 ... 502601972 ... 502612532 ... 502614012 ... 502614802 ... 502858272 ... 502860692 ... 502866062 ... 502867182 ... 502871732 ... 502872372 ... 502873972 ... 502876882 ... 502879652 ... 502880022 ... 502880162 ... 502887132 ... 502889232 ... 502890842 ... 502894112 ... 503972922 ... 503995752 ... 504065782 ... 505030302 ... 505038532 ... 505063502 ... 505072412 ... 505613472 ... 505613502 ... 505613782 ... 505621912 ... 505622552 ... 507032262 ... 507883262 ... 511104382 ... 511106822 ... 512924072 ... 514026622 ... 514035672 ... 515121792 ... 515123442 ... 519505672 ... 522004242 ... 523006132 ... 523012132 ... 523013422 ... 523014062 ... 523015212 ... 523017622 ... 523021182 ... 523022162 ... 523022952 ... 523023592 ... 524001842 ... 524001982 ... 524007352 ... 524010892 ... 525001772 ... 525001802 ... 530001932 ... 531009502 ... 531030722 ... 531032342 ... 531035562 ... 531039622 ... 531042232 ... 531043182 ... 531054192 ... 531056152 ... 531073022 ... 531081602 ... 531085012 ... 531091322 ... 531096782 ... 531132312 ... 531136032 ... 531136962 ... 531137012 ... 531137152 ... ... ''' >>> [x for x in numbers.splitlines() if x and not rnc.is_valid(x)] [] python-stdnum-1.13/tests/test_it_codicefiscale.doctest0000644000000000000000000000774613606452301023304 0ustar rootroot00000000000000test_it_codicefiscale.doctest - tests for the stdnum.it.codicefiscale module Copyright (C) 2009-2013 Emanuele Rocca Copyright (C) 2014 Augusto Destrero Copyright (C) 2014-2020 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.it.codicefiscale module. It tries to validate a number of tax codes that have been found online. >>> from stdnum.it import codicefiscale >>> from stdnum.exceptions import * Some valid numbers >>> numbers = ''' ... MRTNTN23M02D969P ... RCCMNL83S18D969H ... MRSMSR81D60Z611H ... CNTCHR83T41D969D ... FOXDRA26C24H872Y ... MAILCU91A25F839D ... RSSMRA45C12F205C ... RSSMRA45C12F20RX ... RSSMRA45C12F2L5N ... RSSMRA45C12F2LRI ... RSSMRAQRCMNFNLRG ... ''' >>> [x for x in numbers.splitlines() if x and not codicefiscale.is_valid(x)] [] These should be invalid: >>> codicefiscale.validate('CSTNGL22I10D086I') # the first 'I' shouldn't be there Traceback (most recent call last): ... InvalidFormat: ... >>> codicefiscale.validate('FOXDRA26C24H872A') Traceback (most recent call last): ... InvalidChecksum: ... >>> codicefiscale.validate('CNTCHR83T32D969H') # invalid date Traceback (most recent call last): ... InvalidComponent: ... Test getting the birth date. >>> codicefiscale.get_birth_date('MRTNTN23M02D969P') datetime.date(1923, 8, 2) >>> codicefiscale.get_birth_date('RCCMNL83S18D969H') datetime.date(1983, 11, 18) >>> codicefiscale.get_birth_date('MRSMSR81D60Z611H') datetime.date(1981, 4, 20) >>> codicefiscale.get_birth_date('CNTCHR83T41D969D') datetime.date(1983, 12, 1) >>> codicefiscale.get_birth_date('FOXDRA26C24H872Y') datetime.date(1926, 3, 24) >>> codicefiscale.get_birth_date('MAILCU91A25F839D') datetime.date(1991, 1, 25) >>> codicefiscale.get_birth_date('RSSMRA45C12F205C') datetime.date(1945, 3, 12) >>> codicefiscale.get_birth_date('RSSMRA45C12F20RX') datetime.date(1945, 3, 12) >>> codicefiscale.get_birth_date('RSSMRA45C12F2L5N') datetime.date(1945, 3, 12) >>> codicefiscale.get_birth_date('RSSMRA45C12F2LRI') datetime.date(1945, 3, 12) >>> codicefiscale.get_birth_date('RSSMRAQRCMNFNLRG') datetime.date(1945, 3, 12) >>> codicefiscale.get_birth_date('MRTNTN23M02D969P') datetime.date(1923, 8, 2) >>> codicefiscale.get_birth_date('00743110157') # only for personal numbers Traceback (most recent call last): ... InvalidComponent: ... Test getting the gender. >>> codicefiscale.get_gender('MRTNTN23M02D969P') 'M' >>> codicefiscale.get_gender('RCCMNL83S18D969H') 'M' >>> codicefiscale.get_gender('RCDLSN84S16D969Z') 'M' >>> codicefiscale.get_gender('MRSMSR81D60Z611H') 'F' >>> codicefiscale.get_gender('CNTCHR83T41D969D') 'F' >>> codicefiscale.get_gender('FOXDRA26C24H872Y') 'M' >>> codicefiscale.get_gender('MAILCU91A25F839D') 'M' >>> codicefiscale.get_gender('00743110157') # only for personal numbers Traceback (most recent call last): ... InvalidComponent: ... Test calculating the check digit. >>> codicefiscale.calc_check_digit('MRTNTN23M02D969') 'P' >>> codicefiscale.calc_check_digit('MRSMSR81D60Z611') 'H' >>> codicefiscale.calc_check_digit('RCDLSN84S16D969') 'Z' >>> codicefiscale.calc_check_digit('CNTCHR83T41D969') 'D' >>> codicefiscale.calc_check_digit('BNCSFN85T58G702') 'W' >>> codicefiscale.calc_check_digit('RCCMNL83S18D969') 'H' >>> codicefiscale.calc_check_digit('FOXDRA26C24H872') 'Y' >>> codicefiscale.calc_check_digit('MAILCU91A25F839') 'D' python-stdnum-1.13/tests/test_isil.doctest0000644000000000000000000001407513555400451020766 0ustar rootroot00000000000000test_isil.doctest - more detailed doctests for the stdnum.isil module Copyright (C) 2016 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.isil module. It tries to validate a number of numbers that have been found online. >>> from stdnum import isil >>> from stdnum.exceptions import * The number should start with a valid country code or prefix: >>> isil.validate('ZZ-1234') Traceback (most recent call last): ... InvalidComponent: ... The number should not be too long: >>> isil.validate('WW-RM026712423345334534512334534545') Traceback (most recent call last): ... InvalidLength: ... A number with an unknown agency should not be upper-cased: >>> isil.format('zz-RM0267') 'zz-RM0267' These have been found online and should all be valid numbers. >>> numbers = ''' ... ... AT-FHJ-BG ... AT-FHK ... AT-FHK-FE ... AT-FHS-K ... AT-GEOL ... AT-HGMW ... AT-KWPU ... AT-LAST ... AT-LBB ... AT-NMW-Z ... AT-NOeLB ... AT-OBV ... AT-OeAW-BA ... AT-PHK ... AT-PHS ... AT-PHST ... AT-PHT ... AT-PHV ... AT-STICHWORT ... AT-UBG-SH ... AT-UBGL ... AT-UBI-HB ... AT-UBL ... AT-UBMG-HB ... AT-UBMS ... AT-UBMS-MUS ... AT-UBMUL-FBG ... AT-UBMUL-HB ... AT-UBMUW-360 ... AT-UBMUW-400 ... AT-UBMW ... AT-UBTUG-HB ... AT-UBVUW-UB ... AT-UBW ... AT-UBWW ... AT-UBWW-874 ... AT-VMW ... AT-WBR ... AT-WHK ... AT-WSTLA-B ... ... AU-ABC:ARC ... AU-ABC:PL ... AU-ABC:RN ... AU-ANL:AJA ... AU-ANU:ADBO ... AU-ANU:IR ... AU-ANU:ON ... AU-NABC ... AU-NABM ... AU-NACON ... AU-NACU:AA ... AU-NAIM ... AU-NEF ... AU-NJHS ... AU-NNCU:A ... AU-NRNA ... AU-NU ... AU-NU:DF ... AU-NUWS ... AU-QMINT ... AU-QU ... AU-SMUA ... AU-SUSA ... AU-TS:RL ... AU-TU ... AU-VAAPM ... AU-VACMU ... AU-VAGH ... AU-VAHRI ... AU-VAMD ... AU-VANDS ... AU-VDU ... AU-VEMU ... AU-VLGA ... AU-VPM ... AU-VS:NAH ... AU-VSWT ... AU-VU ... AU-WAHB ... AU-XACA ... ... BE-A0510 ... BE-A3004 ... BE-A5000 ... BE-A5001 ... BE-A5002 ... BE-AAR00 ... BE-ALN00 ... BE-ANN03 ... BE-ANT01 ... BE-BDE00 ... BE-BEE00 ... BE-BRL06 ... BE-BRL07 ... BE-BRL10 ... BE-BUE01 ... BE-DIT00 ... BE-DNE00 ... BE-DPE00 ... BE-EKN00 ... BE-GAN00 ... BE-GET02 ... BE-HCT00 ... BE-HED00 ... BE-HEN00 ... BE-HES01 ... BE-JEE00 ... BE-KLT00 ... BE-KNE00 ... BE-KRG00 ... BE-LLE00 ... BE-LNL00 ... BE-LUK01 ... BE-LUN00 ... BE-MSE00 ... BE-NET00 ... BE-OSE00 ... BE-RIT00 ... BE-SJS01 ... BE-ZEE00 ... BE-ZUE00 ... ... CA-QMCB ... ... CH-000050-X ... CH-000051-7 ... CH-000084-8 ... CH-000190-0 ... CH-000244-3 ... CH-000422-7 ... CH-000423-4 ... CH-000425-9 ... CH-000560-3 ... CH-000886-6 ... CH-001008-0 ... CH-001010-9 ... CH-001057-5 ... CH-001059-X ... CH-001113-6 ... CH-001243-0 ... CH-001283-6 ... CH-001350-0 ... CH-001539-4 ... CH-001631-1 ... CH-001644-X ... CH-001645-7 ... CH-001646-4 ... CH-001648-9 ... CH-001649-6 ... CH-001654-6 ... CH-001666-7 ... CH-001669-9 ... CH-001760-9 ... CH-001800-6 ... CH-001815-9 ... CH-001821-6 ... CH-001824-8 ... CH-001825-5 ... CH-001832-X ... CH-001839-0 ... CH-001844-0 ... CH-001845-8 ... CH-001846-5 ... CH-001851-5 ... ... CY-02-CUT ... ... DE-101c ... DE-16-18 ... DE-1769 ... DE-1786 ... DE-180-1-2 ... DE-1834h ... DE-1834k ... DE-1869 ... DE-188-878 ... DE-188-e ... DE-1886 ... DE-1935 ... DE-1939 ... DE-1988 ... DE-1996 ... DE-2300 ... DE-2343 ... DE-360 ... DE-379 ... DE-38-230 ... DE-412 ... DE-416 ... DE-450 ... DE-465M-15 ... DE-469 ... DE-46a ... DE-570 ... DE-6-235 ... DE-6-271 ... DE-6-321 ... DE-7-040 ... DE-7-061 ... DE-718 ... DE-758 ... DE-781 ... DE-82-204 ... DE-82-219 ... DE-Bor4 ... DE-Kn184 ... DE-Tue120 ... ... GB-NiBfQU ... GB-StAlCLS ... GB-StDnUAD ... GB-StGlU ... GB-StPaUWSP ... GB-UK-AbCCL ... GB-UK-DhCL ... GB-UK-LoRCN ... GB-UK-WiU ... GB-UkBrCC ... GB-UkBsBC ... GB-UkCU-TRH ... GB-UkCmUG ... GB-UkCoI ... GB-UkCvUL ... GB-UkCyUK ... GB-UkElC ... GB-UkExU ... GB-UkFlBUFL ... GB-UkHsBUUC ... GB-UkIfBRL ... GB-UkLRCM ... GB-UkLUC ... GB-UkLoBS ... GB-UkLoMdU ... GB-UkLoSTAC ... GB-UkLuBC ... GB-UkMaUHSM ... GB-UkNrSTB ... GB-UkOlOLS ... GB-UkRlWC ... GB-UkSbWC-T ... GB-UkScaSH ... GB-UkSfCL ... GB-UkSfSSSH ... GB-UkSofDA ... GB-UkTeS ... GB-UkWbSWB ... GB-UkWfC ... GB-WlCaUW ... ... IT-RM0267 ... ... NL-04-0041-000 ... NL-AlSARM ... NL-AsdUvA ... NL-AsnDA ... NL-CoGC ... NL-DdvHVA ... NL-DtAD ... NL-DtHHD ... NL-EhvRHCE ... NL-EmnGE ... NL-FwGF ... NL-GnADNG ... NL-GnGRA ... NL-GnPG ... NL-GnUMG ... NL-HAMuscom ... NL-HaKV ... NL-HaNIMH ... NL-HaNRK ... NL-HlGH ... NL-HnWFA ... NL-HvsSAGV ... NL-KrdGA ... NL-LdnRMV ... NL-LnsGDM ... NL-LwPF ... NL-MpGM ... NL-MssHVM ... NL-MtmGM ... NL-NmRAN ... NL-OmnHKO ... NL-OmnOO ... NL-OmsVHO ... NL-RtEUR ... NL-RtSA ... NL-SelGV ... NL-SloGS ... NL-VbGALV ... NL-WtGAW ... NL-WtslGT ... NL-ZhGZ ... Nl-GdSAMH ... ... OCLC-ABI ... OCLC-ATNHK ... OCLC-ATQCO ... OCLC-ATVMV ... OCLC-BEMCH ... OCLC-BRI ... OCLC-CKI ... OCLC-CSF ... OCLC-DEKNV ... OCLC-EMSBC ... OCLC-ENC ... OCLC-EZU ... OCLC-FLNSW ... OCLC-FNL ... OCLC-GYR ... OCLC-I8S ... OCLC-IDT ... OCLC-ILW ... OCLC-JAKUC ... OCLC-JXE ... OCLC-JYY ... OCLC-KW5 ... OCLC-LABMH ... OCLC-MLBVL ... OCLC-MSL ... OCLC-NEZH8 ... OCLC-OME ... OCLC-QBA ... OCLC-QP7 ... OCLC-SMP ... OCLC-SVZ ... OCLC-TXCLY ... OCLC-TY7 ... OCLC-U9V ... OCLC-UDU ... OCLC-WK6 ... OCLC-WYEMB ... OCLC-XOH ... OCLC-YA6 ... OCLC-YEJ ... ... US-DLC ... US-InU-Mu ... US-MdBJ-W ... ... ''' >>> [x for x in numbers.splitlines() if x and not isil.is_valid(x)] [] These have been found online but seem invalid: ... OCLC-B#P ... OCLC-LT$ ... OCLC-RE# ... OCLC-RG$ python-stdnum-1.13/tests/test_co_nit.doctest0000644000000000000000000001324213555400450021273 0ustar rootroot00000000000000test_co_nit.doctest - more detailed doctests for the stdnum.co.nit module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.co.nit module. >>> from stdnum.co import nit >>> from stdnum.exceptions import * Some more detailed checks. Some of these were previously in the module docstring. >>> nit.validate('213.123.432-1') '2131234321' >>> nit.validate('2131234351') '2131234351' >>> nit.validate('2131234351') '2131234351' >>> nit.validate('2131234') Traceback (most recent call last): ... InvalidLength: ... >>> nit.validate('213123435A') Traceback (most recent call last): ... InvalidFormat: ... >>> nit.validate('2131234350') Traceback (most recent call last): ... InvalidChecksum: ... Extra checks for format function to see that it works with all kinds of lengths. >>> nit.format('123.456.789-0') '123.456.789-0' >>> nit.format('12.345.678.912-0') '12.345.678.912-0' >>> nit.format('1.234.567-0') '1.234.567-0' These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 1118534248-0 ... 15.252.525-0 ... 17.343.020-1 ... 35324530-0 ... 37547837-0 ... 375478370 ... 51.922.998-7 ... 52.238.803-1 ... 6.386.949-2 ... 79.308.960-7 ... 79.896.529.6 ... 79626331-8 ... 79627373-1 ... 796273731 ... 800.003.122-6 ... 800.020.672-7 ... 800.026.452-0 ... 800.043.909-6 ... 800.100.532-8 ... 800.184.048-4 ... 800.219.488-4 ... 800.231.969-4 ... 800.242.106-2 ... 800.249.704-9 ... 800088702-2 ... 800112806-2 ... 800130907-4 ... 800140949-6 ... 800216278-0 ... 800224808-8 ... 800224827-8 ... 800226098 - 4 ... 800227940-6 ... 800228175 - 2 ... 800229739-0 ... 800231967-1 ... 800231969-4 ... 800240882-0 ... 800242272-7 ... 800250119-1 ... 800251440-6 ... 800253055-2 ... 800256161 - 9 ... 804001273-5 ... 805.014.583-3 ... 805000427-1 ... 805001157-2 ... 805021984-2 ... 811.014.798-1 ... 811019263-6 ... 812.007.765-3 ... 819.006.966-8 ... 830.015.428-5 ... 830.025.281-2 ... 830.035.734-1 ... 830.036-334-1 ... 830.042.619-1 ... 830.056.202-3 ... 830.061.111-1 ... 830.096.401-3 ... 830.136.779-4 ... 830003564-7 ... 830005997 - 1 ... 830005997-1 ... 830006404-0 ... 830008686-1 ... 830009783-0 ... 830074184-5 ... 830096513-1 ... 830097607-8 ... 830113831-0 ... 830125132-2 ... 830130800-4 ... 844.003.225-6 ... 844.003.392-8 ... 860 001 986-1 ... 860.001.986-1 ... 860.002.134-8 ... 860.002.184-6 ... 860.006.606-0 ... 860.007.331-5 ... 860.007.336-1 ... 860.013.433-2 ... 860.013.570-3 ... 860.013.798-5 ... 860.020.309-6 ... 860.033.941-8 ... 860.045.904-7 ... 860.051.784-4 ... 860.065.795-6 ... 860.066.942-7 ... 860.400.538-7 ... 860.400.602-0 ... 860.402.717-8 ... 860.511.071-6 ... 860.516.636-1 ... 860.527.857-8 ... 860001986-1 ... 8600019861 ... 860002183 - 9 ... 860002183-9 ... 860002503 - 2 ... 860002503-2 ... 860002527-9 ... 860002528 - 6 ... 860002964-4 ... 860006606-0 ... 860007331-5 ... 8600073361 ... 860007379-8 ... 860009174-4 ... 860011153 - 6 ... 860011153-6 ... 860013433-2 ... 860013816 - 1 ... 860013816-1 ... 860022137-5 ... 860027404 - 1 ... 860027404-1 ... 860028415 - 5 ... 860066942-7 ... 860503617 - 3 ... 860512237-6 ... 890 981 268 -— 4 ... 890 981 268 — 4 ... 890.000.062-6 ... 890.000.381-0 ... 890.101.994-9 ... 890.102.002-2 ... 890.102.044-1 ... 890.106.291-2 ... 890.201.213-4 ... 890.201.578-7 ... 890.270.275-5 ... 890.303.093-5 ... 890.304.033-8 ... 890.399.025-6 ... 890.480.023-7 ... 890.480.110-1 ... 890.500.516-3 ... 890.500.675-6 ... 890.680.023-5 ... 890.700.148-4 ... 890.700.679-3 ... 890.806.490-5 ... 890.900.840-1 ... 890.900.841-9 ... 890.907.106-5 ... 890000062-6 ... 890000381-0 ... 890102044-1 ... 890303093-5 ... 890480110-1 ... 890680023-5 ... 890704737-0 ... 890900840-1 ... 890900842-6 ... 8909009431 ... 890904996-1 ... 891.080.005-1 ... 891.180.008-2 ... 891.190.047-2 ... 891.190.346-1 ... 891.200.208-6 ... 891.200.337-8 ... 891.380.056-4 ... 891.400.726-8 ... 891.411.166-0 ... 891.480.000-1 ... 891.480.035-9 ... 891.500.182-0 ... 891.600.091-8 ... 891.780.093-3 ... 891.800.213-8 ... 891.856.077-3 ... 891.900.280-0 ... 891.900.452-0 ... 891280008-1 ... 891380003-4 ... 891480000-1 ... 891500182-0 ... 891900280-0 ... 891900452-0 ... 892.115.006-5 ... 892.200.015-5 ... 892.399.989-8 ... 892.400.320-5 ... 899.999.035-7 ... 899999001-7 ... 899999010-3 ... 899999026-0 ... 899999034-1 ... 899999054-7 ... 899999239-2 ... 899999734-7 ... 900 206 480 - 2 ... 900 206 480-2 ... 900 206 483-4 ... 900,206,480-2 ... 900,206,483-4 ... 900.006.334-7 ... 900.018.436-1 ... 900.086.865-8 ... 900.141.702-1 ... 900.187.401-8 ... 900.206,483-4 ... 900.206.480-2 ... 900.206.483-4 ... 900.274.326-6 ... 900.311.121-2 ... 900.320.056-1 ... 900.323.466—1 ... 900.343.302-6 ... 900.433.479-7 ... 900.465.924-0 ... 900.499.432-5 ... 900074992-3 ... 900112778-7 ... 900156264-2 ... 900206480-2 ... 900206483-4 ... 900219251-9 ... 900227140-3 ... 9002271403 ... 900264507-1 ... 900299795-5 ... 900336004-7 ... 900356846-7 ... 900462447-5 ... 900812264-7 ... ... ''' >>> [x for x in numbers.splitlines() if x and not nit.is_valid(x)] [] python-stdnum-1.13/tests/test_cl_rut.doctest0000644000000000000000000001005213555400450021304 0ustar rootroot00000000000000test_cl_rut.doctest - more detailed tests for stdnum.cl.rut Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.cl.rut module. >>> from stdnum.cl import rut >>> from stdnum.exceptions import * This is a selection of numbers (which should be valid) found at https://palena.sii.cl/cvc/dte/ee_empresas_emisoras.html >>> numbers = ''' ... ... 10075381-2 ... 10219183-8 ... 10273665-6 ... 10319569-1 ... 10402061-5 ... 10516143-3 ... 10548375-9 ... 10626628-K ... 10726809-K ... 10830138-4 ... 10860841-2 ... 11472349-5 ... 11482004-0 ... 11605334-9 ... 11840208-1 ... 11975507-7 ... 12150075-2 ... 12362626-5 ... 12392004-K ... 12415074-4 ... 12423920-6 ... 12574946-1 ... 12584568-1 ... 12645789-8 ... 12723467-1 ... 12790819-2 ... 13021498-3 ... 13073522-3 ... 13095834-6 ... 13097057-5 ... 13309437-7 ... 13490667-7 ... 13531984-8 ... 13646691-7 ... 13674023-7 ... 13743324-9 ... 13831173-2 ... 13908671-6 ... 13940679-6 ... 13966594-5 ... 13972493-3 ... 14232760-0 ... 14391166-7 ... 14676291-3 ... 14684927-K ... 14693665-2 ... 15187234-4 ... 15261623-6 ... 15264124-9 ... 15450326-9 ... 15930050-1 ... 16045507-1 ... 16607084-8 ... 3528355-2 ... 4769973-8 ... 52000543-9 ... 52003746-2 ... 5314394-6 ... 53311164-5 ... 5666126-3 ... 5759700-3 ... 5843733-6 ... 6188994-9 ... 6447064-7 ... 65700550-9 ... 6592333-5 ... 7092881-7 ... 7116223-0 ... 7341194-7 ... 7362723-0 ... 73968300-9 ... 76001215-7 ... 76001925-9 ... 76005843-2 ... 76007743-7 ... 76008294-5 ... 76009811-6 ... 76011739-0 ... 76012844-9 ... 76014309-K ... 76015107-6 ... 76015662-0 ... 76016096-2 ... 76019921-4 ... 76026514-4 ... 76026754-6 ... 76029043-2 ... 76033711-0 ... 76035895-9 ... 76042275-4 ... 76043207-5 ... 76043478-7 ... 76044777-3 ... 76048222-6 ... 76049323-6 ... 76051527-2 ... 76063318-6 ... 76069188-7 ... 76069621-8 ... 76073759-3 ... 76077253-4 ... 76080924-1 ... 76083398-3 ... 76094260-K ... 76164130-1 ... 76200530-1 ... 76200720-7 ... 76324600-0 ... 76327980-4 ... 76375410-3 ... 76377670-0 ... 76453840-4 ... 76461120-9 ... 76525260-1 ... 76527180-0 ... 76563850-K ... 76565840-3 ... 76624810-1 ... 76650270-9 ... 76653690-5 ... 76654270-0 ... 76670180-9 ... 76688170-K ... 76699320-6 ... 76724000-7 ... 76757480-0 ... 76758840-2 ... 76760580-3 ... 76792810-6 ... 76827950-0 ... 76884020-2 ... 76898760-2 ... 76953260-9 ... 76968400-K ... 77060220-3 ... 77183530-9 ... 77248650-2 ... 77308020-8 ... 77380420-6 ... 77413050-0 ... 77416300-K ... 7741928-4 ... 77451560-7 ... 77753800-4 ... 77827630-5 ... 77948290-1 ... 77962630-K ... 77986680-7 ... 78006840-K ... 78030800-1 ... 78072520-6 ... 78207580-2 ... 78281650-0 ... 78298460-8 ... 78432780-9 ... 78469000-8 ... 78477650-6 ... 78558880-0 ... 78780430-6 ... 78827280-4 ... 78861790-9 ... 78874150-2 ... 79586380-K ... 8005083-6 ... 83156400-8 ... 8352320-4 ... 8378799-6 ... 8379191-8 ... 8649219-9 ... 88830500-9 ... 90753000-0 ... 91520000-1 ... 92648000-6 ... 9290661-2 ... 9334748-K ... 93698000-7 ... 9475529-8 ... 9485538-1 ... 9506985-1 ... 9522447-4 ... 9580657-0 ... 96626570-1 ... 96632300-0 ... 96711760-9 ... 96721090-0 ... 96779280-2 ... 96813830-8 ... 96837220-3 ... 96919970-K ... 96930440-6 ... 96953410-K ... 96967100-K ... 9890042-K ... 9896013-9 ... 99147000-K ... 99512950-7 ... 99540200-9 ... 99561530-4 ... 99568510-8 ... 99595090-1 ... ... ''' >>> [x for x in numbers.splitlines() if x and not rut.is_valid(x)] [] python-stdnum-1.13/tests/test_is_kennitala.doctest0000644000000000000000000000247713555400451022472 0ustar rootroot00000000000000test_is_kennitala.doctest - more detailed doctests stdnum.is_.kennitala Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.is_.kennitala module. >>> from stdnum.is_ import kennitala >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 020884-2749 ... 2607565169 ... 4406032540 ... 450401-3150 ... 480408-0550 ... 4905891209 ... 5609091440 ... 580169-1559 ... 580607-0710 ... 641005-1340 ... 670901-2110 ... 670906-0190 ... 7003090610 ... ... ''' >>> [x for x in numbers.splitlines() if x and not kennitala.is_valid(x)] [] python-stdnum-1.13/tests/test_es_nif.doctest0000644000000000000000000000340313555400450021261 0ustar rootroot00000000000000test_es_nif.doctest - more detailed doctests for stdnum.es.nif module Copyright (C) 2018 Gerard Dalmau This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.es.nif and related modules. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.es import nif, dni, nie, cif >>> from stdnum.exceptions import * >>> def check(number): ... ok = [] ... if nif.is_valid(number): ... ok.append('nif') ... if dni.is_valid(number): ... ok.append('dni') ... if nie.is_valid(number): ... ok.append('nie') ... if cif.is_valid(number): ... ok.append('cif') ... return ok >>> check('11111111H') # valid DNI ['nif', 'dni'] >>> check('11111111T') # invalid DNI [] >>> check('A11111119') # valid CIF ['nif', 'cif'] >>> check('A11111118') # invalid CIF [] >>> check('X1111111G') # valid NIE ['nif', 'nie'] >>> check('X1111111A') # invalid NIE [] >>> check('L1111111G') # valid NIF, not classified as DNI, CIF or NIE ['nif'] >>> check('L1111111C') # invalid NIF [] python-stdnum-1.13/tests/test_isin.doctest0000644000000000000000000001453313606572051020772 0ustar rootroot00000000000000test_isin.doctest - more detailed doctests for the stdnum.isin module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.isin module. It tries to validate a number of numbers that have been found online. >>> from stdnum import isin >>> from stdnum.exceptions import * The number should start with a valid ISO 3166-1 alpha-2 country code: >>> isin.validate('ZZ0378331005') Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... AN8068571086 ... AU000000AAI6 ... AU000000AAT3 ... AU000000CDD7 ... AU000000HYR2 ... AU000000IIN2 ... AU000000PMI9 ... AU000000QMN7 ... AU000000TAG0 ... AU000000TAN6 ... AU000000YRR1 ... AU00000GPHO9 ... AU00000HAVO0 ... AU00000IMFG2 ... XF0000C14922 ... AU00000LSRO2 ... AU00000MEUO4 ... AU00000MFFO2 ... AU00000NMGG0 ... AU00000TGGR6 ... AU00000TISN6 ... AU00000TYXN3 ... AU00000WXHG6 ... AU0000ARUAM8 ... AU0000AVIAL7 ... AU0000AYCAA7 ... AU0000BRKDC2 ... AU0000BWPAK0 ... AU0000CIMAK4 ... AU0000COOAQ5 ... AU0000CXMAK3 ... AU0000DM1AE9 ... AU0000DM1XX1 ... AU0000DNAAK7 ... AU0000ENRAK9 ... AU0000FXJAB1 ... AU0000INDAK0 ... AU0000JALAO0 ... AU0000JKLAN1 ... AU0000LCYAM9 ... AU0000MSCAK3 ... AU0000NANAI0 ... AU0000PGIAO0 ... AU0000RGSAO5 ... AU0000SHKAO8 ... AU0000SIRAW4 ... AU0000SWLAI7 ... AU0000TSMAQ4 ... AU0000UPGDA8 ... AU0000VICAK5 ... AU0000VMXDC4 ... AU0000WBCAB7 ... AU0000WBCPF6 ... AU0000WBCZZ3 ... AU0000YNBAE4 ... AU000AMPJOF0 ... AU000ANZSRX4 ... AU000ARGJOM4 ... AU000CBALOX0 ... AU000CBALOZ5 ... AU000DJXKOB1 ... AU000ETFBSK6 ... AU000ETPCOP1 ... AU000ETPNRG0 ... AU000FMGWOP0 ... AU000GEMJOG9 ... AU000HFRJOT6 ... AU000MMSKOA8 ... AU000ORIKOC0 ... AU000PRYKOU6 ... AU000QANSWH6 ... AU000SFRKOJ2 ... AU000SGPKOF2 ... AU000SHLSSA4 ... AU000SYDIOO7 ... AU000SYISRX9 ... AU000TLSSSN2 ... AU000WBCLOQ8 ... AU000WESSWC6 ... AU000WFDDSN2 ... AU000WORSSR3 ... AU000WPLIOZ6 ... AU000XINABL9 ... AU000XINAHO0 ... AU000XINAKD7 ... AU000XINANQ3 ... AU000XINAV76 ... AU300PUMC025 ... AU60WHT00394 ... BMG4209T1009 ... BMG9834K1505 ... CA4656761042 ... CH0004171952 ... CH0010543905 ... CH0011105639 ... CH0011443832 ... CH0019112892 ... CH0028465273 ... CH0031152017 ... CH0032973528 ... CH0032979764 ... CH0032979871 ... CH0033337277 ... CH0037485627 ... CH0037485734 ... CH0042345089 ... CH0049815712 ... CH0100461042 ... CH0237135386 ... CH0276194575 ... CH0276213797 ... CH0278112146 ... CH0284369565 ... CH0288210914 ... CH0292642904 ... CH0293194293 ... CNE100000114 ... CNE100001M79 ... CWN8141V6954 ... CWN8144F3826 ... DE0005994388 ... DE0005997316 ... DE0007200412 ... DE0007681454 ... DE0007681975 ... DE0007932220 ... DE000A0DMV42 ... DE000A0DMV83 ... DE000A0G9FM3 ... DE000A0Z2946 ... DE000A0Z29G3 ... DE000A0Z3WV9 ... DE000A0Z3Z46 ... DE000A1EW8B3 ... DK0002006113 ... DK0002021690 ... DK0004903424 ... DK0004903770 ... DK0004909033 ... DK0005602439 ... DK0006321633 ... DK0006707070 ... DK0006900741 ... DK0007300339 ... DK0007702054 ... DK0007703458 ... DK0008100290 ... DK0008703150 ... DK0009255002 ... DK0009281511 ... DK0009351900 ... DK0009360141 ... DK0009362519 ... DK0009363087 ... DK0009705063 ... DK0009770471 ... DK0009771529 ... DK0030074216 ... DK0030269220 ... FR0010655753 ... GB0002405495 ... GB0003375820 ... GB0005058408 ... GB0031192486 ... GB0032211095 ... GB00B0599712 ... GB00B0599P95 ... GB00B05CVL88 ... GB00B05DCP29 ... GB00B05DGB62 ... GB00B05DNW68 ... GB00B05DSX21 ... GB00B05F5F96 ... GB00B05F5Q02 ... GB00B05FQ671 ... GB00B05FVH32 ... GB00B05G0029 ... GB00B05G4005 ... GB00B05G5K71 ... GB00B05G9160 ... GB00B0SD8170 ... GB00B0SDJ810 ... GB00B0SDL857 ... GB00B0VMNC71 ... GB00B11DNW78 ... GB00B1893G22 ... GB00B1CQNL45 ... GB00B1CQTJ43 ... GB00B1CQVM10 ... GB00B1KW2C82 ... GB00B2NL0X68 ... GB00B2PVJ269 ... GB00B2PVKX41 ... GB00B2PY1T61 ... GB00B2PY4209 ... GB00B2RBNV18 ... GB00B3BR9475 ... GB00B3CFYP64 ... GB00B3CFZV99 ... GB00B3CG0P10 ... GB00B3CG1L47 ... GB00B3LBXL47 ... GB00B3LFND86 ... GB00B3NVXT01 ... GB00B3Q2HT84 ... GB00B4V4XS73 ... GB00B4ZQ7X29 ... GB00B51RP987 ... GB00B5VJC047 ... GB00B6RRK619 ... GB00B6VQMK23 ... GB00B6VW1G93 ... GB00B6ZXH376 ... GB00B7LDLC53 ... GB00B7MT2J68 ... GB00B80KHR13 ... GB00B8113P38 ... GB00B8B4R053 ... GB00B8J3Q414 ... GB00BJ36MF67 ... GB00BK1PTB77 ... GB00BRKXHJ51 ... GB00BV0MBK93 ... GB00BVVT7780 ... GB00BYZ3J264 ... HK0000096617 ... HK0000179686 ... HK0000227162 ... HK0000230331 ... HK0000244647 ... HK0000245925 ... HK0000246709 ... HK0000248267 ... HK0000248515 ... HK0000249794 ... HK0000250578 ... HK0000253002 ... HK0000258720 ... HK0000262441 ... HK0000263449 ... HK0000265345 ... HK0000267077 ... IE0004906560 ... IE00B4WPHX27 ... IE00BLSNMW37 ... IE00BRHZ0398 ... INE019A07282 ... INE115A07ED1 ... INE115A07GL9 ... INE321N07046 ... INE476M07081 ... INE476M07123 ... INE523E07BF9 ... INE523E07BT0 ... INE549F08434 ... INE651J07036 ... INE691I07AO9 ... INE823G07193 ... INE827N07109 ... INF209K01MJ3 ... JE00B1RJLF86 ... JE00B24DML30 ... JE00B2NFV571 ... KYG198891072 ... KYG4643G1029 ... KYG4708D1016 ... KYG607441022 ... KYG811511131 ... KYG886121097 ... LU0455009182 ... LU0460389678 ... LU0683010093 ... LU0688203917 ... LU0859479155 ... LU1048317298 ... NL0010524690 ... NL0010865176 ... NL0010882288 ... NL0010948949 ... NL0011221981 ... NL0011278445 ... NL0011327101 ... NL0011337290 ... US101137AA59 ... US12591DAC56 ... US17322R1059 ... US26067A1108 ... US26070W1099 ... US36962GXS82 ... US78387GAK94 ... US867363AF06 ... XC0006883695 ... XS0110106365 ... XS0137672381 ... XS0162732951 ... XS0324245116 ... XS0409318309 ... XS0458685913 ... XS0691593114 ... XS0758793342 ... XS0841191991 ... XS0861774635 ... ... ''' >>> [x for x in numbers.splitlines() if x and not isin.is_valid(x)] [] python-stdnum-1.13/tests/test_bg_egn.doctest0000644000000000000000000000242513555400450021242 0ustar rootroot00000000000000test_bg_egn.doctest - more detailed doctests for stdnum.bg.egn module Copyright (C) 2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.bg.egn module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.bg import egn These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 0010100100 ... 7501020018 ... 7523169263 ... 7542011030 ... 7552010005 ... 8001010008 ... 8032056031 ... ... ''' >>> [x for x in numbers.splitlines() if x and not egn.is_valid(x)] [] python-stdnum-1.13/tests/test_pe_ruc.doctest0000644000000000000000000000663513555400451021306 0ustar rootroot00000000000000test_pe_ruc.doctest - more detailed doctests for stdnum.pe.ruc module Copyright (C) 2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.pe.ruc module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.pe import ruc Tests for some corner cases. >>> ruc.validate('20512333797') '20512333797' >>> ruc.validate('2051233379') Traceback (most recent call last): ... InvalidLength: ... >>> ruc.validate('99512333792') Traceback (most recent call last): ... InvalidComponent: ... >>> ruc.validate('20A12333797') Traceback (most recent call last): ... InvalidFormat: ... >>> ruc.to_dni('10054148289') '05414828' >>> ruc.to_dni('20512333797') Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 10000655959 ... 10010734121 ... 10040578108 ... 10053358671 ... 10054148289 ... 10058437277 ... 10060535138 ... 10098295343 ... 10103206851 ... 10108344739 ... 10156612001 ... 10164655909 ... 10165791474 ... 10166518861 ... 10167089505 ... 10167323290 ... 10198029632 ... 10214859268 ... 10243761927 ... 10254430752 ... 10266040640 ... 10266906451 ... 10277354981 ... 10411119373 ... 10414493071 ... 10425240311 ... 10427556960 ... 10433604640 ... 10436581772 ... 10452880437 ... 15484032987 ... 15501941597 ... 17155542071 ... 17322796196 ... 20100255325 ... 20109980936 ... 20113732084 ... 20123458444 ... 20131372770 ... 20134636972 ... 20137663474 ... 20139490691 ... 20142529913 ... 20145391076 ... 20154546520 ... 20171312141 ... 20171781648 ... 20172245065 ... 20172284044 ... 20193655492 ... 20198432386 ... 20201571350 ... 20206309815 ... 20209462452 ... 20212025179 ... 20212516661 ... 20222194564 ... 20222955433 ... 20252290029 ... 20253602571 ... 20296742563 ... 20312356776 ... 20347268683 ... 20354374286 ... 20357089795 ... 20382245068 ... 20393125064 ... 20401283952 ... 20406257127 ... 20421551520 ... 20429794146 ... 20438510398 ... 20448098932 ... 20450258882 ... 20450417433 ... 20451063902 ... 20451392710 ... 20451408811 ... 20451420276 ... 20451428170 ... 20453836364 ... 20454368453 ... 20455554617 ... 20462300787 ... 20472972571 ... 20480597754 ... 20480615329 ... 20481149119 ... 20482221450 ... 20489418933 ... 20493238087 ... 20493298900 ... 20493374002 ... 20495188389 ... 20496055285 ... 20498592521 ... 20504684378 ... 20508379049 ... 20510299761 ... 20512525432 ... 20514261262 ... 20514397245 ... 20518376145 ... 20524105501 ... 20524305004 ... 20524354129 ... 20525274226 ... 20525413447 ... 20530815847 ... 20537999731 ... 20541492047 ... 20552756453 ... ... ''' >>> [x for x in numbers.splitlines() if x and not ruc.is_valid(x)] [] python-stdnum-1.13/tests/test_cr_cr.doctest0000644000000000000000000000357313555400450021116 0ustar rootroot00000000000000test_cr_cr.doctest - more detailed doctests for stdnum.cr.cr module Copyright (C) 2019 Leandro Regueiro This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.cr.cr module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.cr import cr Tests for some corner cases. >>> cr.validate('155812994816') '155812994816' >>> cr.validate('172400024706') '172400024706' >>> cr.validate('10123456789') '10123456789' >>> cr.format('122200569906') '122200569906' >>> cr.validate('12345678') Traceback (most recent call last): ... InvalidLength: ... >>> cr.validate('FF0123456789') Traceback (most recent call last): ... InvalidFormat: ... >>> cr.validate('30123456789') # Invalid first digit Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 155812994816 ... 172400024706 ... 184000074805 ... 117001702423 ... 186200114917 ... 117000679620 ... 172400118430 ... 117000809436 ... 122200569906 ... 117000679727 ... 117001139718 ... 184000033224 ... ... ''' >>> [x for x in numbers.splitlines() if x and not cr.is_valid(x)] [] python-stdnum-1.13/tests/test_iso7064.doctest0000644000000000000000000000377613555400451021147 0ustar rootroot00000000000000test_doctest - more detailed doctests for the stdnum.iso7064 package Copyright (C) 2010, 2011, 2013 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.iso7064 package. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.iso7064 import mod_11_10, mod_11_2, mod_37_2, mod_37_36, mod_97_10 These are normal variations of Mod 11, 10 that should just work. >>> mod_11_10.validate('12323') '12323' >>> mod_11_10.validate('546794') '546794' >>> mod_11_10.calc_check_digit('0794') '5' >>> mod_11_10.validate('07945') '07945' >>> mod_11_10.calc_check_digit('00200667308') '5' >>> mod_11_10.validate('002006673085') '002006673085' >>> mod_11_10.validate('002006673084') Traceback (most recent call last): ... InvalidChecksum: ... >>> mod_11_10.calc_check_digit('00200667309') '3' >>> mod_11_10.calc_check_digit('00200667310') '8' >>> mod_11_10.calc_check_digit('00200667311') '6' >>> mod_11_10.calc_check_digit('00200667312') '4' These normal tests of Mod 11, 2 should just work. >>> mod_11_2.calc_check_digit('0794') '0' >>> mod_11_2.validate('07940') '07940' >>> mod_11_2.calc_check_digit('079') 'X' >>> mod_11_2.validate('079X') '079X' These normal tests of Mod 37, 2 should just work >>> mod_37_2.calc_check_digit('G123498654321') 'H' python-stdnum-1.13/tests/test_mx_rfc.doctest0000644000000000000000000002437513555400451021310 0ustar rootroot00000000000000test_mx_rfc.doctest - more detailed doctests for the stdnum.mx.rfc module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.mx.rfc module. >>> from stdnum.mx import rfc >>> from stdnum.exceptions import * The six digits are supposed to form a valid date. >>> rfc.validate('ABCD 123456') Traceback (most recent call last): ... InvalidComponent: ... The last three digits are in a special alphabet and should only contain 1-9A-V, 1-9A-Z and 0-9A for the last digits. >>> rfc.validate('AABN 821103 8\xd12') # \xd1 is the N with tilde Traceback (most recent call last): ... InvalidFormat: ... The first four digits should only be letters for 10 or 13-digit numbers. >>> rfc.validate('ABCD 12345678') Traceback (most recent call last): ... InvalidFormat: ... The first four digits of a personal number should not be one of the blacklisted words. >>> rfc.validate('CACA 580710 NF7') Traceback (most recent call last): ... InvalidComponent: ... Only personal numbers are allowed to be missing the "homoclave" (check digits) part. >>> rfc.validate('AKJ970902') Traceback (most recent call last): ... InvalidLength: ... A large number of numbers that are in use appear to have invalid check digits. This has been found in about 1.5% of all numbers found. For this reason, by default, validation of check digits has been disabled and can be enabled explicitly. >>> rfc.validate('SIN 931116 9P8') 'SIN9311169P8' >>> rfc.validate('SIN 931116 9P8', validate_check_digits=True) Traceback (most recent call last): ... InvalidChecksum: ... >>> rfc.validate('CCM 650122 I06') 'CCM650122I06' >>> rfc.validate('CCM 650122 I06', validate_check_digits=True) Traceback (most recent call last): ... InvalidComponent: ... Some extra formatting checks: >>> rfc.format('VSM140430NQA') 'VSM 140430 NQA' >>> rfc.format('ZUT A770215LK0') 'ZUTA 770215 LK0' These have been found online and should all be valid numbers. Note that these numbers all have valid check digits (also see the list below). >>> numbers = ''' ... ... &&&030828PX7 ... &JE040614N51 ... AA&0607148I0 ... AAA390128530 ... AAAA791128D63 ... AAAL730401TE0 ... AACA700913KZ0 ... AACC421231BH1 ... AADS251231CG0 ... AALC680929LH8 ... AAM090224BC2 ... AARR621113SN7 ... ABA130601BD3 ... ABH0507252D9 ... ACA120116TX5 ... ACO071219F51 ... AEAJ390701E82 ... AEL7407151YA ... AEM100930B11 ... AHO120203E8A ... ALD950921G27 ... ALE8401268K8 ... AMA990219PF8 ... AME040430UM8 ... AME110909530 ... AMM020222UT3 ... ANI0112176N8 ... AON0210014T5 ... AOX040831A59 ... AP&0305026J9 ... APA371201PQ7 ... AQU920317P4A ... ARO020221DQ4 ... ASE9112306M9 ... ATB081212MN5 ... AUD000704II1 ... AUHF891016KE4 ... AWI1206064H1 ... AYP110530D73 ... B&D9605298Y3 ... BADY7101185W6 ... BEE070927MH0 ... BER090921FJ6 ... BIHC5111253I7 ... BLN130425JU7 ... BMI880419PR5 ... BNE110914EY0 ... BSP0603203U3 ... BUGA701115I43 ... CAR910506BW8 ... CBC900829152 ... CCS8512024CA ... CDE110928FR0 ... CEG970917HY3 ... CEI111208UJ8 ... CET790711B43 ... CEX910718C75 ... CFE010608HC8 ... CGB000229SW0 ... CIG120628NQ1 ... CIN831107B41 ... CIT900525168 ... CLO070618EY6 ... CLO110607257 ... CLO850611371 ... CMA7708263Y7 ... CMA970306DZ8 ... CME990423373 ... CMI0507204U8 ... CMO101104D21 ... CNR100325T71 ... COI090127UY5 ... COML8103203QA ... COP891005HV6 ... CPR0611212K8 ... CSB021029689 ... CSI050527PE4 ... CSI900816E23 ... CSM130516IT5 ... CSU000912EH0 ... CTE870318ANA ... CTR0501281A7 ... CTS840406DB5 ... CTV080213S16 ... CUAF680927LM6 ... CVI961129D88 ... DAM121219GU4 ... DCA050617BJ7 ... DCF080331IP7 ... DCP1008179J4 ... DHO100211PP9 ... DIN130417NB8 ... DIP0405273R5 ... DIR070208V76 ... DIS9611059T1 ... DIV050625LE1 ... DMM120201G43 ... DMS121114BV6 ... DPU070904692 ... DVS120703FD1 ... ECM080228KF1 ... EDI000229CA3 ... EEM9110114W4 ... EGA060426LW6 ... EIA870112MW6 ... EIE080701SL6 ... EIM861215GH7 ... EIP971118EE0 ... EITM9103155L7 ... EMA001219M72 ... EME950412SS8 ... ENI731210FS2 ... ENP100804LU4 ... EPL031009LA3 ... EPM990712PX9 ... EPR920313DS8 ... ESI920217GY0 ... EUDC730505US6 ... EYA810212AB7 ... EYO121214DD5 ... FAM000229SB8 ... FCM0512093V7 ... FCR930924UP5 ... FDI060505DD8 ... FERL530506LL2 ... FLO9205187K8 ... FME780808PH2 ... FMP110620626 ... FPC960606SS7 ... FQU040210VB6 ... GABA930110DY7 ... GAD8509039E9 ... GAF091006GL7 ... GAGS8602119P9 ... GAI670926SX4 ... GBE910314CY9 ... GBM110523N11 ... GCT0205243T8 ... GEC091113R94 ... GEN060113JT9 ... GGS1306077E2 ... GIAI6703203N6 ... GIN130711BX1 ... GIN9806308G0 ... GLA1001272R3 ... GMA050607UA0 ... GMI920724CP5 ... GMO030628DI0 ... GMX0912018E6 ... GOAJ7101257MA ... GOBM630601RQ6 ... GOVB6202103B1 ... GTL101217DPA ... GUI990521N70 ... GURK651124IZ6 ... GYA010601HZ2 ... HAKC800506G89 ... HEA080829QE4 ... HEM881018M63 ... HIAD7004306I3 ... HIM950519AS3 ... HST051115KD6 ... HUM131108DJ7 ... IAG960627I24 ... ICR131219UR2 ... ICV111124GA3 ... ICW020809NG4 ... IEO861107K41 ... IET040122JP4 ... IET1402203U2 ... IJC090327V63 ... ILM130517SJ6 ... IME060217HN7 ... IPA090810Q33 ... ISD9609109M3 ... ITE040705LM7 ... ITM040310AX8 ... ITM7002044W3 ... ITM891121LZ9 ... ITO090804L92 ... IUS9207088R5 ... JET0811207A7 ... JINA4912084Z8 ... JJO021128CS9 ... JOFF550129TD7 ... KCO990630SQ4 ... KUC120227CP8 ... LBN120207CE8 ... LEAJ570610M32 ... LED070424K80 ... LIVR600908A58 ... LMX120112CH1 ... LRE050221F14 ... LTR101108SK5 ... LTS000117Q95 ... LUT0504217B1 ... MAC0501069H5 ... MAC050302QU4 ... MAE100225TF0 ... MALR850723RK4 ... MAOA800509SH5 ... MAPA600915DB4 ... MAR960628QU0 ... MAV890913NY0 ... MBU060512RE7 ... MCA851223JI9 ... MCP100710IH6 ... MCS830224156 ... MDM011001DD7 ... MECJ730513KC7 ... MELF7605095R6 ... MIR9812154E0 ... MIT110829255 ... MKE040510HW9 ... MLM020809894 ... MME120612IJ5 ... MME820427S6A ... MME9710313Z4 ... MOCC891114BA9 ... MOD9904275G7 ... MRG900406M6A ... MSI041208CR0 ... MSU121003LR3 ... MTR091125TJ8 ... MUÑ110218LJ6 ... MXS030318BP0 ... NAJ120705J5A ... NARF561006LT9 ... NFI000511G42 ... NIC120302LE4 ... NOCJ750806BJA ... OHA0204186H2 ... OIL080603P74 ... OIN970513LM7 ... OOM060208MC5 ... ORO040505KH3 ... ORS0011148U8 ... OVS041008711 ... PAP041025A11 ... PBC910219RI2 ... PCS091030DZA ... PDI630218N32 ... PEL910625UQ4 ... PGT110128I84 ... PII040123JR9 ... PIN8709103A4 ... PIT1207186S3 ... PLA020617B95 ... PME8308184S4 ... PMI0110161Q4 ... PPM970110676 ... PPT991115IR3 ... PRA071201A18 ... PRA850314FE5 ... PRO060904RR8 ... QVI850529SP8 ... RABT551122827 ... RAO821016K97 ... RCV060828NE3 ... RDI841003QJ4 ... REG070627EF9 ... REI120227C54 ... RIGL6608198W7 ... RME960329V67 ... ROZS700918HL9 ... RRE010202L83 ... RUAA751115C42 ... RUAJ8104018GA ... RZS9003238P5 ... SAGE661012E96 ... SALM760305JP4 ... SAVA810110EN5 ... SBR811009760 ... SCE000520HU0 ... SCI090109TZ2 ... SCO050124QL2 ... SDA8902091QA ... SEP051121DU8 ... SES0601271U0 ... SGY100210UL2 ... SIA0803073Z2 ... SIM080104CM6 ... SIN9904064B4 ... SME011012Q43 ... SME020208GXA ... SME060406U67 ... SME111212CA4 ... SOP0410217V5 ... SOP940502FF5 ... SOR9403107MA ... SOTG740115G1A ... SPL910701FD9 ... STP110106D88 ... TCS0104276P5 ... TEC0306066L6 ... TEE060928R87 ... TME930929DE1 ... TQI090928UR4 ... TSP931104UI0 ... UAI010212HW5 ... UEE110902V5A ... UFA1010116X3 ... VBF951020KT3 ... VCA0903116M7 ... VCO960628NZ0 ... VEFC6503094Q6 ... VEO100223D10 ... VMI820313C9A ... VMU930407NFA ... VSM040108TS6 ... VSO090204AF1 ... XCO111215IM0 ... YAT000229588 ... ZEJ060728K11 ... ZENP8101128Y0 ... ZGU920526T43 ... ZZE040708QJ9 ... ... ''' >>> [x for x in numbers.splitlines() if x and not rfc.is_valid(x, validate_check_digits=True)] [] The following numbers were also found online, and while they appear to be in use and referencing existing persons or organisations, the check digit does not validate. All of these have been checked to be valid on https://portalsat.plataforma.sat.gob.mx/ConsultaRFC/ (note that this website expects ISO-8859-1 encoded numbers) >>> numbers = ''' ... ... AAC0903183F6 ... AAMM450222AJ1 ... ALC920108P18 ... AMC020204AB7 ... AOM920820BEA ... ASA971202EB5 ... ASE0804046M8 ... AÑE9902224Z4 ... BABC300126Q66 ... BAÑ930616R66 ... BER060923LW4 ... BFI981221MG0 ... BLM890223FH1 ... BOJR890112DB9 ... BOR071120HE7 ... CAMG590407QSA ... CAMR620930HG5 ... CAVB360920196 ... CCB080911PV3 ... CCL020604CX0 ... CDO070410V77 ... CLA091217733 ... CLM9407017W4 ... CME030507A29 ... CME9809141L6 ... CME990816951 ... CMS071226LN2 ... COCA8007229UA ... CPC080624C48 ... CTA071106464 ... CUP820427ID9 ... DBE051005PT3 ... DEKR6305193Q2 ... DES8707223AA ... DJT031205MG4 ... DRA950811S25 ... EDG000413BF2 ... EME1006143T6 ... EQU810430193 ... FAE8509042W7 ... FIS0008226ZA ... FME9305279N0 ... FSA080813655 ... FSI900505I74 ... GIR940318DF0 ... GJO891005N53 ... GMA080728MJ0 ... GME9606038V6 ... GOC841221BK0 ... GWS860313JA3 ... HHO900507844 ... HME020215QTA ... ICO990503PG4 ... IDE930601FJ4 ... IME0610197B2 ... ISM0403025G3 ... KAK030512QD7 ... KMN041126K5A ... KZY041011E20 ... LME9405237U7 ... LMI0811119C5 ... LOCB6410225K0 ... LOMM8110052J4 ... MALC721019EV6 ... MDI931014D37 ... MFA840320DX0 ... MGR070820G78 ... MPT000824LH7 ... MSA850111TE1 ... NIÑ7409256U1 ... NSN000704SY3 ... NYL850506BJ8 ... OIC060523UW1 ... OMD100907CJ4 ... OPP010927SA5 ... OTM090818KS6 ... PEJE480914ES9 ... PERL640914HY9 ... PPA100118E37 ... PTS091204M83 ... ROCS550714PC0 ... SIG060311PN2 ... SIT060329RA7 ... SME100414QY9 ... SME9502015F6 ... SMP060331P74 ... SMR011108KB9 ... SOMF730101689 ... SSB9512118M1 ... STM000215AG9 ... TFS011012M18 ... TLO020509RK3 ... TME940420LV5 ... TORE4007065V7 ... TPM06111759A ... TPT0202135S1 ... TPT890516JP5 ... VAME720111AA4 ... WME000218GK3 ... YME9610251W6 ... ... ''' >>> [x for x in numbers.splitlines() if x and not rfc.is_valid(x)] [] python-stdnum-1.13/tests/test_br_cnpj.doctest0000644000000000000000000000335013555400450021434 0ustar rootroot00000000000000test_br_cnpj.doctest - more detailed doctests for the stdnum.br.cnpj module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.br.cnpj module. It tries to validate a number of numbers that have been found online. >>> from stdnum.br import cnpj >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 07.195.358/0001-66 ... 08.807.432/0001-10 ... 11.015.248/0001-42 ... 11.017.153/0001-68 ... 11.017.153/0002-49 ... 11.017.153/0003-20 ... 11.017.153/0005-91 ... 11.980.459/0001-15 ... 14.847.283/0001-16 ... 14.847.283/0002-05 ... 14.847.283/0003-88 ... 14.847.283/0004-69 ... 14.847.283/0005-40 ... 16.727.230.0001-97 ... 18.090.575/0001-08 ... 18.090.575/0002-99 ... 18.090.575/0003-70 ... 18.090.575/0004-50 ... 18.090.575/0005-31 ... 22.610.961/0001-50 ... 44.407.989/0001-28 ... 47.080.619/0001-17 ... 53.612.734/0001-98 ... 61882613000194 ... 69.435.154/0001-02 ... ... ''' >>> [x for x in numbers.splitlines() if x and not cnpj.is_valid(x)] [] python-stdnum-1.13/tests/numdb-test.dat0000644000000000000000000000026713555400450020151 0ustar rootroot00000000000000# this is a comment line 0-8 prop1="foo" 100-999 prop2="bar" 200,300-399 prop3="baz" 6 prop1="boo" 333 prop4="bla" 90-99 prop1="booz" 00-89 prop2="foo" 900-999 prop2="fooz" python-stdnum-1.13/tests/test_md_idno.doctest0000644000000000000000000001127213555400451021433 0ustar rootroot00000000000000test_md_idno.doctest - more detailed doctests for stdnum.md.idno module Copyright (C) 2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.md.idno. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.md import idno These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 1002600000283 ... 1002600001028 ... 1002600001338 ... 1002600008094 ... 1002600010033 ... 1002600010457 ... 1002600019461 ... 1002600022348 ... 1002600029347 ... 1002600032246 ... 1002600033391 ... 1002600037724 ... 1002600043853 ... 1002600048951 ... 1002600049383 ... 1002601002723 ... 1002602002719 ... 1002602003554 ... 1002606000311 ... 1002606001374 ... 1002610000125 ... 1003600004015 ... 1003600007577 ... 1003600010708 ... 1003600011613 ... 1003600013813 ... 1003600024394 ... 1003600028842 ... 1003600044846 ... 1003600057022 ... 1003600061928 ... 1003600068673 ... 1003600080381 ... 1003600084426 ... 1003600095402 ... 1003600097956 ... 1003600124700 ... 1003600126117 ... 1003600126494 ... 1003600150509 ... 1003600151643 ... 1003600158022 ... 1003600158468 ... 1003600160588 ... 1003600161954 ... 1003601000988 ... 1003602009014 ... 1003602014168 ... 1003602024240 ... 1003602026761 ... 1003602150732 ... 1003602150994 ... 1003603003271 ... 1003603005356 ... 1003603152168 ... 1003604012571 ... 1003607000706 ... 1003607018161 ... 1003608004594 ... 1003609002508 ... 1003609006827 ... 1003611007483 ... 1003611151021 ... 1004600024988 ... 1004600052987 ... 1004600059850 ... 1004600073229 ... 1004601002255 ... 1004602008977 ... 1004607000666 ... 1005600033978 ... 1005602001621 ... 1005607000917 ... 1006600010112 ... 1006600032989 ... 1006600052073 ... 1006600055546 ... 1006601001311 ... 1006601003430 ... 1006601003832 ... 1006601004507 ... 1006601004758 ... 1006601004943 ... 1006609000860 ... 1007600001506 ... 1007600007379 ... 1007600017532 ... 1007600047580 ... 1007601000160 ... 1007601000218 ... 1007601000540 ... 1007601000562 ... 1007601000609 ... 1007601001972 ... 1007601002290 ... 1007601002382 ... 1007601003220 ... 1007601004283 ... 1007601004294 ... 1007601004308 ... 1007601004342 ... 1007601004870 ... 1007601004939 ... 1007601005224 ... 1007601005501 ... 1007601005545 ... 1007601006508 ... 1007601006575 ... 1007601008384 ... 1007601009037 ... 1007601009163 ... 1007601009325 ... 1007601009521 ... 1007601009587 ... 1007601009912 ... 1007601010013 ... 1007601010932 ... 1007601011087 ... 1007601011168 ... 1007601011272 ... 1007602000972 ... 1007602006262 ... 1007611002202 ... 1007611005052 ... 1008600035526 ... 1008600044793 ... 1008600045022 ... 1008600059490 ... 1008601000031 ... 1008601000422 ... 1008601000994 ... 1008606007301 ... 1008607004857 ... 1009603004306 ... 1009611003177 ... 1009620001650 ... 1010611001827 ... 1010620003711 ... 1010620005726 ... 1011600023877 ... 1011601000295 ... 1011605002057 ... 1011606002700 ... 1011620003730 ... 1011620006041 ... 1011620006812 ... 1012601000177 ... 1012605003408 ... 1012606001995 ... 1012607004177 ... 1012608001036 ... 1012608001748 ... 1012609001549 ... 1012609002409 ... 1012620008743 ... 1012620009005 ... 1012620009348 ... 1012620009474 ... 1012620009658 ... 1012620010438 ... 1012620011424 ... 1012620011505 ... 1012620011963 ... 1012620012177 ... 1012620012199 ... 1012620012236 ... 1013600024487 ... 1013600025635 ... 1013600028120 ... 1013600036596 ... 1013600039715 ... 1013601000152 ... 1013601000222 ... 1013601000624 ... 1013602004249 ... 1013603003180 ... 1013605001386 ... 1013606004155 ... 1013607003177 ... 1013607003258 ... 1013620000043 ... 1013620000168 ... 1013620000238 ... 1013620000342 ... 1013620000630 ... 1013620000847 ... 1013620001165 ... 1013620003387 ... 1013620007086 ... 1014600025229 ... 1014600038494 ... 1014601000056 ... 1014602001418 ... 1014607002465 ... 1014620000121 ... 1015605000121 ... 1015620001365 ... 1016600004372 ... 1017600052680 ... 1018600006266 ... ... ''' >>> [x for x in numbers.splitlines() if x and not idno.is_valid(x)] [] python-stdnum-1.13/tests/test_in_pan.doctest0000644000000000000000000000244213555400451021265 0ustar rootroot00000000000000test_in_pan.doctest - more detailed doctests for stdnum.in_.pan module Copyright (C) 2017 Srikanth Lakshmanan This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.in_.pan module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.in_ import pan >>> from stdnum.exceptions import * These number have been provided and should all be valid PANs. >>> numbers = ''' ... ... AAKFD7113K ... AAPPV8261K ... ABMPA3211G ... ACUPA7085R ... AFZPK7190K ... ... ''' >>> [x for x in numbers.splitlines() if x and not pan.is_valid(x)] [] python-stdnum-1.13/tests/test_iso6346.doctest0000644000000000000000000000337313555400451021142 0ustar rootroot00000000000000test_doctest - more detailed doctests for the stdnum.iso6346 package Copyright (C) 2014 Openlabs Technologies & Consulting (P) Limited This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.iso7064 package. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import iso6346 Test with valid numbers: >>> iso6346.validate('CSQU3054383') 'CSQU3054383' >>> iso6346.is_valid('CSQU3054383') True >>> iso6346.validate('csqu3054383') 'CSQU3054383' >>> iso6346.is_valid('csQU3054383') True >>> iso6346.validate('tcnu7200794') 'TCNU7200794' >>> iso6346.validate('tolu4734787') 'TOLU4734787' >>> iso6346.validate('GYOU4047990') 'GYOU4047990' Test with invalid numbers: >>> iso6346.validate('CSQU3054384') Traceback (most recent call last): ... InvalidChecksum: ... >>> iso6346.validate('CSQU305438') Traceback (most recent call last): ... InvalidLength: ... >>> iso6346.is_valid('CSQU3054384') False >>> iso6346.validate('CSQU3054Z83') Traceback (most recent call last): ... InvalidFormat: ... python-stdnum-1.13/tests/test_casrn.doctest0000644000000000000000000000470113555400450021126 0ustar rootroot00000000000000test_casrn.doctest - more detailed doctests for the stdnum.casrn module Copyright (C) 2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.casrn module. It contains some corner case tests and tries to validate numbers that have been found online. >>> from stdnum import casrn >>> from stdnum.exceptions import * The number seems to always include separators so we introduce them if they are not present (but will fail validation if they are in the incorrect place or are inconsistently placed). >>> casrn.validate('329-65-7') '329-65-7' >>> casrn.validate('329657') '329-65-7' >>> casrn.validate('32-96-57') Traceback (most recent call last): ... InvalidFormat: ... >>> casrn.validate('32965-7') Traceback (most recent call last): ... InvalidFormat: ... The first component of a CAS RN can be 2 to 7 digits long. >>> casrn.validate('51-43-4') '51-43-4' >>> casrn.validate('1-43-4') Traceback (most recent call last): ... InvalidLength: ... >>> casrn.validate('2040295-03-0') '2040295-03-0' >>> casrn.validate('12040295-03-0') Traceback (most recent call last): ... InvalidLength: ... These should all be valid CAS Registry Numbers. >>> numbers = ''' ... ... 51-43-4 ... 87-86-5 ... 150-05-0 ... 329-65-7 ... 608-93-5 ... 1305-78-8 ... 1344-09-8 ... 1972-08-3 ... 2650-18-2 ... 3087-16-9 ... 3524-62-7 ... 6104-58-1 ... 7440-44-0 ... 7440-47-3 ... 7732-18-5 ... 7782-40-3 ... 7782-42-5 ... 8007-40-7 ... 9031-72-5 ... 9032-02-4 ... 9035-40-9 ... 12627-53-1 ... 14314-42-2 ... 16065-83-1 ... 18540-29-9 ... 49863-03-8 ... 55480-22-3 ... 56182-07-1 ... 60679-64-3 ... 70051-97-7 ... 126266-35-1 ... 126371-03-7 ... 153250-52-3 ... 308067-58-5 ... 2040295-03-0 ... ... ''' >>> [x for x in numbers.splitlines() if x and not casrn.is_valid(x)] [] python-stdnum-1.13/tests/test_util.doctest0000644000000000000000000000721313555400451020777 0ustar rootroot00000000000000test_util.doctest - more detailed doctests for the stdnum.util package Copyright (C) 2017-2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.util package. It tries to test more corner cases and detailed functionality. This module is meant for internal use by stdnum modules and is not guaranteed to remain stable and as such not part of the public API of stdnum. >>> from stdnum.util import ( ... get_number_modules, get_module_name, get_module_description, ... clean, isdigits, to_unicode) The to_unicode() function is used to force conversion of a string to unicode if it is not already a unicode string. This is mostly used to convert numbers with non-ASCII characters in it. >>> n_str = b'\xc3\x91'.decode('utf-8') # Ñ character as unicode string >>> to_unicode(n_str) == n_str True >>> to_unicode(n_str.encode('utf-8')) == n_str True >>> to_unicode(n_str.encode('iso-8859-1')) == n_str True The clean function will also convert all kinds of unicode special characters to normal ASCII variations of the same characters to partially support OCR'ed text and text copy-pasted from other applications. >>> clean('0𝟽—𝟴𝟧 𝟟𝟑') # various digits, a weird minus and a non-breaking space '07-85 73' The isdigits() function is used to replace the str.isdigit() function which will also return True for all kinds on non-ASCII digits. >>> three = b'\xe1\xad\x93'.decode('utf-8') # ᭓ Balinese digit three >>> three.isdigit() True >>> isdigits(three) False >>> isdigits('3') True >>> super_two = b'\xc2\xb2'.decode('utf-8') # ² to the power of two >>> super_two.isdigit() True >>> isdigits(super_two) False The get_module_name() function is used in the example WSGI application and release scripts to get the number's name. It should not end in a dot (even though the docstring subject should). >>> from stdnum import isbn >>> get_module_name(isbn) 'ISBN (International Standard Book Number)' >>> any(get_module_name(mod).endswith('.') for mod in get_number_modules()) False The get_module_description() function is used in the example WSGI application to extract the extended description of the number for presentation purposes. The doctests should not be present in the descriptions. >>> from stdnum import isbn >>> get_module_description(isbn).startswith( ... 'The ISBN is the International Standard Book Number') True >>> any('>>>' in get_module_description(mod) for mod in get_number_modules()) False The get_cc_module() function can be used to find a country-specific validation module that can be used to validate the number format. It should handle aliases properly. >>> from stdnum.util import get_cc_module >>> get_cc_module('gb', 'vat').__name__ 'stdnum.gb.vat' >>> get_cc_module('nl', 'vat').__name__ 'stdnum.nl.btw' >>> get_cc_module('is', 'vat').__name__ 'stdnum.is_.vsk' >>> get_cc_module(u'nl', u'vat').__name__ 'stdnum.nl.btw' >>> get_cc_module('unknown', 'vat') is None True >>> get_cc_module('nl', 'unknown') is None True python-stdnum-1.13/tests/test_cr_cpj.doctest0000644000000000000000000001301213555400450021253 0ustar rootroot00000000000000test_cr_cpj.doctest - more detailed doctests for stdnum.cr.cpj module Copyright (C) 2019 Leandro Regueiro This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.cr.cpj module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.cr import cpj Tests for some corner cases. >>> cpj.validate('3-101-999999') '3101999999' >>> cpj.validate('3 010 179406') '3010179406' >>> cpj.validate('3-101-121231') '3101121231' >>> cpj.format('3101015462') '3-101-015462' >>> cpj.validate('3-102-10536') Traceback (most recent call last): ... InvalidLength: ... >>> cpj.validate('3-102-ABCDEF') Traceback (most recent call last): ... InvalidFormat: ... >>> cpj.validate('1-101-079297') # Invalid class (first digit) Traceback (most recent call last): ... InvalidComponent: ... >>> cpj.validate('2-511-079297') # Invalid type (digits 2, 3, 4) for class 2 Traceback (most recent call last): ... InvalidComponent: ... >>> cpj.validate('3-121-176017') # Invalid type for class 3 Traceback (most recent call last): ... InvalidComponent: ... >>> cpj.validate('4-001-123456') # Invalid type for class 4 Traceback (most recent call last): ... InvalidComponent: ... >>> cpj.validate('5-000-123456') # Invalid type for class 5 Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 2-100-042002 ... 2-200-042153 ... 2-300-042155 ... 2-400-042156 ... 3 010 179406 ... 3-002-045556 ... 3-002-670350 ... 3-003-051878 ... 3-003-066718 ... 3-004-481707 ... 3-005-045142 ... 3-006-087315 ... 3-006-227840 ... 3-007-317912 ... 3-007-655746 ... 3-008-218945 ... 3-009-045021 ... 3-009-117444 ... 3-010-045209 ... 3-010-418099 ... 3-011-051123 ... 3-011-111229 ... 3-012-000585 ... 3-012-629125 ... 3-012-631203 ... 3-012-659212 ... 3-012-682004 ... 3-012-702749 ... 3-013-337748 ... 3-013-468741 ... 3-014-042088 ... 3-014-042116 ... 3-101-000046 ... 3-101-180014 ... 3-101-230903 ... 3-101-232523 ... 3-101-232928 ... 3-101-236840 ... 3-101-237754 ... 3-101-240266 ... 3-101-240940 ... 3-101-245331 ... 3-101-245508 ... 3-101-247096 ... 3-101-247476 ... 3-101-249874 ... 3-101-250372 ... 3-101-252630 ... 3-101-256279 ... 3-101-256760 ... 3-101-259465 ... 3-101-259663 ... 3-101-259674 ... 3-101-260767 ... 3-101-262681 ... 3-101-263222 ... 3-101-263317 ... 3-101-263799 ... 3-101-263976 ... 3-101-266555 ... 3-101-267388 ... 3-101-267648 ... 3-101-274629 ... 3-101-274881 ... 3-101-275421 ... 3-101-278412 ... 3-101-279147 ... 3-101-279791 ... 3-101-280790 ... 3-101-282414 ... 3-101-282787 ... 3-101-285061 ... 3-101-287067 ... 3-101-289334 ... 3-101-290860 ... 3-101-292498 ... 3-101-293230 ... 3-101-294732 ... 3-101-295808 ... 3-101-296082 ... 3-101-296856 ... 3-101-301495 ... 3-101-304441 ... 3-101-304550 ... 3-101-305224 ... 3-101-305227 ... 3-101-306858 ... 3-101-308183 ... 3-101-316152 ... 3-101-318274 ... 3-101-319136 ... 3-101-319175 ... 3-101-319275 ... 3-101-320716 ... 3-101-321702 ... 3-101-322639 ... 3-101-323383 ... 3-101-325528 ... 3-101-328708 ... 3-101-328989 ... 3-101-329524 ... 3-101-332402 ... 3-101-332724 ... 3-101-333084 ... 3-101-333318 ... 3-101-333545 ... 3-101-334264 ... 3-101-334668 ... 3-101-334968 ... 3-101-335191 ... 3-101-335649 ... 3-101-338742 ... 3-101-338884 ... 3-101-340184 ... 3-101-340254 ... 3-101-341854 ... 3-101-341966 ... 3-101-342669 ... 3-101-344336 ... 3-101-347395 ... 3-101-349806 ... 3-101-350808 ... 3-101-351360 ... 3-101-351794 ... 3-101-351901 ... 3-101-352094 ... 3-101-355875 ... 3-101-357417 ... 3-101-357679 ... 3-101-357705 ... 3-101-358300 ... 3-101-359999 ... 3-101-360891 ... 3-101-366653 ... 3-101-368803 ... 3-101-370997 ... 3-101-372304 ... 3-101-380046 ... 3-101-380490 ... 3-101-381068 ... 3-101-381976 ... 3-101-385240 ... 3-101-386582 ... 3-101-386705 ... 3-101-387699 ... 3-101-398343 ... 3-101-398763 ... 3-101-400625 ... 3-101-405354 ... 3-101-405407 ... 3-101-756187 ... 3-102-010536 ... 3-102-231503 ... 3-102-272341 ... 3-102-295219 ... 3-102-323641 ... 3-102-331885 ... 3-102-362027 ... 3-102-379487 ... 3-102-388142 ... 3-102-400049 ... 3-102-402340 ... 3-102-435843 ... 3-102-444529 ... 3-102-465883 ... 3-102-468787 ... 3-102-488653 ... 3-102-493190 ... 3-102-494258 ... 3-102-498080 ... 3-102-498709 ... 3-102-501440 ... 3-102-502513 ... 3-102-502518 ... 3-102-512999 ... 3-102-522409 ... 3-102-534902 ... 3-102-552393 ... 3-102-553610 ... 3-102-557234 ... 3-102-590174 ... 3-102-594362 ... 3-102-596051 ... 3-102-599561 ... 3-102-601289 ... 3-102-602493 ... 3-102-604962 ... 3-102-606587 ... 3-102-644127 ... 3-102-644839 ... 3-102-655271 ... 3-105-535891 ... 3-105-637662 ... 3-105-654822 ... 3101265235 ... 3101269160 ... 3101317433 ... 3102749784 ... 4-000-000019 ... 4-000-042152 ... ... ''' >>> [x for x in numbers.splitlines() if x and not cpj.is_valid(x)] [] python-stdnum-1.13/tests/test_no_fodselsnummer.doctest0000644000000000000000000000531713555400451023404 0ustar rootroot00000000000000test_no_fodselsnummer.doctest - more detailed doctests for stdnum.no.fodselsnummer module Copyright (C) 2018 Ilya Vihtinsky Copyright (C) 2018 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.no.fodselsnummer module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.no import fodselsnummer These numbers should be detected as male or female. >>> fodselsnummer.get_gender('70624830529') 'M' >>> fodselsnummer.get_gender('56403643756') 'M' >>> fodselsnummer.get_gender('70341666064') 'F' >>> fodselsnummer.get_gender('82938389280') 'F' The last two check digits are validated independently of each other. >>> fodselsnummer.is_valid('42485176432') True >>> fodselsnummer.is_valid('42485176431') # only change last digit False >>> fodselsnummer.is_valid('42485176412') # only change first digit False >>> fodselsnummer.is_valid('42485176416') # change first, correct second False Length and format are also validated. >>> fodselsnummer.validate('42485176432123') Traceback (most recent call last): ... InvalidLength: ... >>> fodselsnummer.validate('a0gzaB30529') Traceback (most recent call last): ... InvalidFormat: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 11027794191 ... 11051996811 ... 19575770838 ... 21918484865 ... 24396859900 ... 27213364885 ... 27389446152 ... 30383131118 ... 30777674125 ... 31042639152 ... 34831582121 ... 39043009846 ... 40070897972 ... 40673759612 ... 42115114470 ... 42485176432 ... 42957044500 ... 44207789809 ... 45014054018 ... 46929323343 ... 50067834221 ... 56403643756 ... 56653047547 ... 63282310041 ... 68413152112 ... 70031073454 ... 70341666064 ... 70624830529 ... 71494457037 ... 71946503120 ... 75442702381 ... 79189404641 ... 79318270827 ... 82938389280 ... 83814827871 ... 89829529360 ... 92782833709 ... 95700625908 ... 96517753502 ... 98576936818 ... ... ''' >>> [x for x in numbers.splitlines() if x and not fodselsnummer.is_valid(x)] [] python-stdnum-1.13/tests/test_ca_bn.doctest0000644000000000000000000000702213555400450021061 0ustar rootroot00000000000000test_ca_bn.doctest - more detailed doctests for the stdnum.ca.bn module Copyright (C) 2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ca.bn module. >>> from stdnum.ca import bn >>> from stdnum.exceptions import * The number can also be a 15-digit account number (Business Number followed by program identifier and reference number). >>> bn.validate('12302 6635') '123026635' >>> bn.validate('12302 6635 RC 0001') '123026635RC0001' >>> bn.validate('12302 6635 AA 0001') # only some values allowed Traceback (most recent call last): ... InvalidComponent: ... >>> bn.validate('12302 6635 RC OOO1') # only digits allowed in ref nr Traceback (most recent call last): ... InvalidFormat: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 000089987RC1818 ... 100007780RC0001 ... 100026723RC0001 ... 100044833RC0001 ... 100060474RC0001 ... 100074699RC0001 ... 100078294RC0002 ... 100080571RC0001 ... 100287119RC0001 ... 100457266RC0001 ... 101007961RC0001 ... 101060390RC0001 ... 123025645RC0001 ... 123026635RC0001 ... 123222911RC0001 ... 123828493RC0001 ... 700706898RC0001 ... 700783491RC0001 ... 700784499RC0001 ... 700803299RC0001 ... 700859895RC0001 ... 702520891RC0001 ... 702521097RC0001 ... 702529496RC0001 ... 702667122RC0001 ... 751055724RC0001 ... 751119520RC0001 ... 751207697RC0001 ... 751369729RC0001 ... 751446725RC0001 ... 751542895RC0001 ... 751551490RC0001 ... 751756529RC0001 ... 752573725RC0001 ... 752574525RC0001 ... 752628297RC0001 ... 752767327RC0001 ... 752768127RC0001 ... 752805291RC0001 ... 752828293RC0001 ... 752860320RC0001 ... 752944892RC0001 ... 753000298RC0001 ... 753371897RC0001 ... 753372291RC0001 ... 753447127RC0001 ... 753461292RC0001 ... 753946698RC0001 ... 789422128RC0001 ... 789482494RC0001 ... 789538923RC0001 ... 789634326RC0001 ... 795578699RC0001 ... 795606490RC0001 ... 795676121RC0001 ... 795710920RC0001 ... 795848126RC0001 ... 795855527RC0001 ... 795930726RC0001 ... 800500001RC0001 ... 800810657RC0001 ... 800812885RC0001 ... 800826489RC0001 ... 800958118RC0001 ... 800973406RC0001 ... 852093749RC0001 ... 852470673RC0001 ... 852581149RC0001 ... 852615772RC0001 ... 852646900RC0001 ... 852694231RC0001 ... 852750546RC0001 ... 852988633RC0001 ... 855065504RC0001 ... 855102976RC0001 ... 855582995RC0001 ... 855643086RC0001 ... 855696373RC0001 ... 855789004RC0001 ... 855957882RC0001 ... 859043580RC0001 ... 859098337RC0001 ... 859144438RC0001 ... 859363848RC0001 ... 859395162RC0001 ... 859457681RC0001 ... 859620973RC0001 ... 892190364RC0001 ... 892220393RC0002 ... 892462672RC0001 ... 892476565RC0001 ... 892552035RC0001 ... 892737149RC0001 ... 892738741RC0001 ... 892807983RC0001 ... 899099733RC0001 ... 899429443RC0001 ... 899549042RC0001 ... 899558340RC0001 ... 899927438RC0001 ... ... ''' >>> [x for x in numbers.splitlines() if x and not bn.is_valid(x)] [] python-stdnum-1.13/tests/test_tr_vkn.doctest0000644000000000000000000001001313555400451021315 0ustar rootroot00000000000000test_tr_vkn.doctest - more detailed doctests stdnum.tr.vkn Copyright (C) 2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.tr.vkn module. >>> from stdnum.tr import vkn >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 0010213576 ... 0010441520 ... 0010448542 ... 0010526814 ... 0010715980 ... 0080463579 ... 0080527931 ... 0080545022 ... 0180044810 ... 0280352329 ... 0340251667 ... 0380372431 ... 0470075367 ... 0620203425 ... 0680581023 ... 0690039813 ... 0730335205 ... 0740002937 ... 0740369686 ... 0790015205 ... 0920235639 ... 0990287814 ... 0990379907 ... 0990382513 ... 0990382597 ... 1050060784 ... 1150621039 ... 1270153817 ... 1280263800 ... 1290088638 ... 1300312226 ... 1310481414 ... 1500417685 ... 1510326126 ... 1700226053 ... 1750058182 ... 1780528417 ... 1940338616 ... 1940429104 ... 2280560506 ... 2280737678 ... 2310378552 ... 2420384723 ... 2500315456 ... 2590326294 ... 2710531441 ... 2920458832 ... 2920601616 ... 3130285045 ... 3130406468 ... 3180394723 ... 3230937581 ... 3240021579 ... 3240032322 ... 3250423480 ... 3250498663 ... 3250536363 ... 3250536865 ... 3250560659 ... 3250561668 ... 3250563197 ... 3250564307 ... 3250580252 ... 3250591649 ... 3250592377 ... 3260264759 ... 3270052074 ... 3300554789 ... 3320090910 ... 3320414886 ... 3320419067 ... 3330047498 ... 3330191867 ... 3330514325 ... 3330670860 ... 3330738293 ... 3330784342 ... 3340346552 ... 3340512339 ... 3340521306 ... 3340522042 ... 3340532391 ... 3350427318 ... 3360098602 ... 3410209992 ... 3410224231 ... 3410262599 ... 3440302137 ... 3460048369 ... 3470145206 ... 3580294398 ... 3600179137 ... 3620269055 ... 3670040942 ... 3700035475 ... 3710206507 ... 3720054396 ... 3730264222 ... 3760112760 ... 3770333705 ... 3770335008 ... 3770347068 ... 3770407303 ... 3770440816 ... 3790331602 ... 3800363074 ... 3800387813 ... 3800459988 ... 3800548119 ... 3810421550 ... 3810435695 ... 3810463834 ... 3820141922 ... 3820216458 ... 3880430565 ... 3890039548 ... 3890382536 ... 3900499834 ... 4000209998 ... 4070322093 ... 4110245403 ... 4560329085 ... 4560337988 ... 4560340440 ... 4570274865 ... 4580413166 ... 4630340765 ... 4730259742 ... 4730262973 ... 4740097221 ... 4740288671 ... 4780392711 ... 4780393657 ... 4840500630 ... 4840507506 ... 4840515027 ... 4910300757 ... 4960273835 ... 5200337887 ... 5200397587 ... 5240377967 ... 5250033700 ... 5260407279 ... 5400299723 ... 5410386127 ... 5600419358 ... 5770389835 ... 5820358439 ... 6080300655 ... 6090213592 ... 6100274226 ... 6130847655 ... 6170213752 ... 6170305692 ... 6170380379 ... 6210184261 ... 6210288834 ... 6240292044 ... 6270283511 ... 6310391942 ... 6320201497 ... 6340308307 ... 6420017049 ... 6510412161 ... 6550254004 ... 6600296871 ... 6850437587 ... 7080351714 ... 7230309848 ... 7280054028 ... 7420306235 ... 7440382217 ... 7660381981 ... 7700021408 ... 7700294084 ... 7710094113 ... 7810147439 ... 7820457441 ... 7860191073 ... 8010405749 ... 8110348947 ... 8140161095 ... 8150130896 ... 8290246945 ... 8440247028 ... 8450208011 ... 8580348375 ... 8630017816 ... 8720064947 ... 8730268699 ... 8870198191 ... 9030505934 ... 9190297092 ... 9480321929 ... 9510380570 ... 9840234403 ... 9950395531 ... 9980588799 ... 9980697606 ... 9990112519 ... ... ''' >>> [x for x in numbers.splitlines() if x and not vkn.is_valid(x)] [] python-stdnum-1.13/tests/test_gb_sedol.doctest0000644000000000000000000000757713555400450021614 0ustar rootroot00000000000000test_sedol.doctest - more detailed doctests for the stdnum.gb.sedol module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.gb.sedol module. It tries to validate a number of numbers that have been found online. >>> from stdnum.gb import sedol >>> from stdnum.exceptions import * Old-style number are fully numeric, new-style numbers start with a letter. >>> sedol.validate('0017505') '0017505' >>> sedol.validate('B07MXC1') 'B07MXC1' >>> sedol.validate('107MXC1') Traceback (most recent call last): ... InvalidFormat: ... No vowels are allowed: >>> sedol.validate('BO7MXC9') Traceback (most recent call last): ... InvalidFormat: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 0016308 ... 0059585 ... 0286941 ... 0371847 ... 0885865 ... 0937636 ... 2181334 ... 2342034 ... 2458113 ... 3111084 ... 3143838 ... 3395349 ... 4178419 ... 4913223 ... 5533976 ... 7142091 ... B012BV2 ... B059874 ... B05CW04 ... B05D467 ... B05D6X8 ... B05D724 ... B05D746 ... B05D7C4 ... B05D7G8 ... B05D9N9 ... B05DCY1 ... B05DKZ8 ... B05DS21 ... B05DSL0 ... B05F6M3 ... B05F7R5 ... B05F7Z3 ... B05FC47 ... B05FFN7 ... B05FFX7 ... B05FHZ3 ... B05FJ02 ... B05FKV0 ... B05FKX2 ... B05FPZ9 ... B05FRQ4 ... B05FXV1 ... B05FZQ0 ... B05FZS2 ... B05G198 ... B05G637 ... B05G7J0 ... B068074 ... B0M6373 ... B0R46X9 ... B0SDR09 ... B0VMH70 ... B0VMJM9 ... B0VMPT8 ... B0XWNB4 ... B0YVBC7 ... B10LNL1 ... B11S1X9 ... B1893V7 ... B18S7B2 ... B1CD9S4 ... B1CDK14 ... B1CQNK3 ... B1CQRH8 ... B1CQRN4 ... B1CQV98 ... B1CQWZ1 ... B1CQY00 ... B1CR0L6 ... B1CR0S3 ... B1KTQX8 ... B1KYVC7 ... B1KYVZ0 ... B1RMWL0 ... B1VCNQ8 ... B1XG8T6 ... B243G00 ... B29LZ80 ... B2N6X76 ... B2PRS50 ... B2PRWF8 ... B2PRWJ2 ... B2PS0H9 ... B2PV5Y0 ... B2PVGZ8 ... B2PVHM2 ... B2PVMB6 ... B2PVP84 ... B2PVRV1 ... B2PY1R4 ... B2PY390 ... B2PY3H8 ... B2PY572 ... B2PY5J4 ... B2Q1N90 ... B2QXZK1 ... B2RKQW0 ... B39DW15 ... B3CFXY8 ... B3CFYB2 ... B3CG1T2 ... B3F8162 ... B3KF8V2 ... B3LFLQ7 ... B3LT1Q9 ... B3LXSJ3 ... B3M3MB2 ... B3M5D48 ... B3M7ZH1 ... B3MPTK6 ... B3MVRM2 ... B3NSQZ8 ... B3NVM93 ... B3P2YG5 ... B3P9Y44 ... B3PHCS8 ... B3PL150 ... B3PQ1W2 ... B3Q3L88 ... B3SC0P3 ... B3VM3R3 ... B3VVG60 ... B3XK5J1 ... B42TM62 ... B45BZT9 ... B4JT339 ... B4MJF52 ... B4PRH35 ... B50HQ74 ... B52LK94 ... B545JR5 ... B5497R3 ... B54V1Z5 ... B599TV6 ... B59TPT6 ... B5BKK36 ... B5BKMR4 ... B5P8YX4 ... B5T42N4 ... B5V3ZY1 ... B5VR9Q3 ... B61BDZ9 ... B626RZ1 ... B6496D9 ... B64JSM2 ... B652H90 ... B657SR0 ... B66G553 ... B6734R8 ... B676F30 ... B67NKZ8 ... B6QDDF0 ... B76V7N7 ... B78DL95 ... B7K2811 ... B7RRJJ4 ... B7RRKB3 ... B7WNMF4 ... B7XCP73 ... B80QGD8 ... B83MH18 ... B8C0D37 ... B8KQFS6 ... B8N44W4 ... B8N45L0 ... B8N46J5 ... B8V9FZ1 ... B9BRCL7 ... B9DQ900 ... BB97138 ... BBGBF31 ... BC7GZX2 ... BCRY644 ... BCW3NW3 ... BCZSZF2 ... BGJZZG8 ... BK1PTB7 ... BKXH0G3 ... BRWQVY5 ... BSBNC63 ... BTF8JJ3 ... BTL1K93 ... BVC3VM2 ... BVXCDJ9 ... BVXLP67 ... BW38RQ9 ... BWWD0R7 ... BWXBQ27 ... BWXTNQ4 ... BX7RKZ9 ... BX7RPQ5 ... BYN8P69 ... BYT3LB5 ... BYTLC94 ... BYW6P64 ... BYXJKZ6 ... BYXX1Y4 ... BZ0S6X3 ... BZ21T08 ... ... ''' >>> [x for x in numbers.splitlines() if x and not sedol.is_valid(x)] [] python-stdnum-1.13/tests/test_tr_tckimlik.doctest0000644000000000000000000001031413555400451022332 0ustar rootroot00000000000000test_tr_tckimlik.doctest - more detailed doctests for stdnum.tr.tckimlik Copyright (C) 2016 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.tr.tckimlik module. >>> from stdnum.tr import tckimlik These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 10010405214 ... 10036951702 ... 10048987300 ... 10211782428 ... 10328097460 ... 10406257588 ... 10634889650 ... 10942702016 ... 10945940248 ... 10964454474 ... 11015620602 ... 11051965132 ... 11272211322 ... 11510943206 ... 11521565534 ... 11629545766 ... 11678091474 ... 11678588622 ... 11856036426 ... 12245687724 ... 12254905536 ... 12281024156 ... 12629254764 ... 12668958814 ... 12691048056 ... 12743195844 ... 12790164022 ... 12797231260 ... 13159065448 ... 13195732540 ... 13267669224 ... 13331822036 ... 13466947000 ... 13481622074 ... 13649294334 ... 13684258322 ... 13700315886 ... 13789534246 ... 13796225410 ... 14693160156 ... 14834750260 ... 14953629638 ... 15038532782 ... 15076154212 ... 16130649606 ... 16168925222 ... 16412902252 ... 16834076296 ... 16910960518 ... 17311901384 ... 17690240920 ... 18164076700 ... 18535119968 ... 18563796476 ... 18737290298 ... 18766481124 ... 18986317036 ... 19261708150 ... 19304490066 ... 19315991200 ... 19594888024 ... 19649559862 ... 19736210324 ... 19946754342 ... 20923453974 ... 21289134606 ... 22508375282 ... 22514314664 ... 22645425550 ... 22850263862 ... 23128444884 ... 23761367960 ... 23776369980 ... 23803533490 ... 23812308782 ... 23893394292 ... 23945549168 ... 24118906764 ... 24721853608 ... 25171067942 ... 25175346104 ... 25262304970 ... 26465047138 ... 26912437970 ... 27085445038 ... 27352676660 ... 27806346354 ... 27977266680 ... 28040246264 ... 28196469500 ... 28423494398 ... 29008505256 ... 29449926498 ... 29458830458 ... 29660083116 ... 29663288082 ... 29717351038 ... 30229834674 ... 30517382986 ... 30547067204 ... 30713063856 ... 30841564102 ... 31177269242 ... 31261062360 ... 31378085252 ... 31666319410 ... 31972018304 ... 32080659878 ... 32191139436 ... 32276435798 ... 32362147840 ... 32383033566 ... 32806023532 ... 32986865670 ... 33163817956 ... 33370005450 ... 33632324534 ... 33869149092 ... 34399824114 ... 34411781920 ... 34837267190 ... 35209878136 ... 35389844082 ... 35467790720 ... 35740345494 ... 35927206914 ... 35944794678 ... 36412601542 ... 36799571254 ... 37474709214 ... 37561226518 ... 37708357112 ... 37987046004 ... 38065982832 ... 38312029198 ... 38491580480 ... 38818946524 ... 39346988482 ... 39433505530 ... 39488099268 ... 39556079970 ... 39872148282 ... 40285129270 ... 40429332580 ... 41116624858 ... 41314615566 ... 41537123152 ... 41740577612 ... 42529353182 ... 42568749892 ... 42679341534 ... 43198351554 ... 43282542684 ... 43609945662 ... 43846057142 ... 43879752656 ... 44815212906 ... 45358790944 ... 45577460604 ... 46162064740 ... 46186184424 ... 46786024366 ... 47248345760 ... 47353662028 ... 48064083294 ... 48637402194 ... 48637792714 ... 48883810224 ... 49432850678 ... 49636373966 ... 49879800274 ... 50035230828 ... 50479247086 ... 51508004946 ... 51532505860 ... 51865395732 ... 53320726198 ... 53728014842 ... 54439040694 ... 54508382038 ... 54541189670 ... 54781681538 ... 55996400266 ... 56698147152 ... 57025178016 ... 57061155224 ... 59020072634 ... 59464150004 ... 59599009130 ... 59605521564 ... 61579176350 ... 61957262828 ... 62077362474 ... 62224350880 ... 62512131214 ... 63352195206 ... 64756048358 ... 68536141048 ... 69844021374 ... 71467095762 ... ... ''' >>> [x for x in numbers.splitlines() if x and not tckimlik.is_valid(x)] [] python-stdnum-1.13/tests/test_cr_cpf.doctest0000644000000000000000000000754213555400450021262 0ustar rootroot00000000000000test_cr_cpf.doctest - more detailed doctests for stdnum.cr.cpf module Copyright (C) 2019 Leandro Regueiro This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.cr.cpf module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.cr import cpf Tests for some corner cases. >>> cpf.validate('3-0455-0175') '0304550175' >>> cpf.validate('8-0074-0308') '0800740308' >>> cpf.format('701610395') '07-0161-0395' >>> cpf.format('1-613-584') '01-0613-0584' >>> cpf.validate('12345678') Traceback (most recent call last): ... InvalidLength: ... >>> cpf.validate('FF8490717') Traceback (most recent call last): ... InvalidFormat: ... >>> cpf.validate('30-1234-1234') # Invalid first digit. Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 01-0913-0259 ... 1-0054-1023 ... 1-0087-1407 ... 1-0150-0837 ... 1-0228-0776 ... 1-0278-0527 ... 1-0316-0324 ... 1-0332-0133 ... 1-0390-0960 ... 1-0407-0888 ... 1-0415-1184 ... 1-0421-0836 ... 1-0466-0156 ... 1-0498-0195 ... 1-0531-0384 ... 1-0532-0390 ... 1-0534-0078 ... 1-0545-0822 ... 1-0562-0101 ... 1-0591-0262 ... 1-0626-0764 ... 1-0628-0541 ... 1-0639-0110 ... 1-0657-0789 ... 1-0708-0466 ... 1-0725-0910 ... 1-0726-0670 ... 1-0803-0197 ... 1-0886-0147 ... 1-0912-0931 ... 1-0913-0259 ... 1-0928-0281 ... 1-0968-0428 ... 1-1001-0442 ... 1-1014-0042 ... 1-1054-0017 ... 1-1067-0418 ... 1-1087-0407 ... 1-1089-0198 ... 1-1096-0837 ... 1-1120-0579 ... 1-1134-0838 ... 1-1157-0794 ... 1-1295-0637 ... 1-1359-0010 ... 1-1366-0691 ... 1-1394-0644 ... 1-1433-0557 ... 1-1459-0511 ... 1-1476-0148 ... 1-200-589 ... 1-329-571 ... 1-535-896 ... 1-613-584 ... 104001311 ... 104800996 ... 105250568 ... 105580219 ... 106220930 ... 106690228 ... 107340512 ... 107560893 ... 107580405 ... 107580660 ... 107880621 ... 108120604 ... 108330923 ... 108490717 ... 108920872 ... 109080006 ... 109120931 ... 109130188 ... 109260105 ... 109300285 ... 109520663 ... 109720105 ... 109840695 ... 110090302 ... 110180975 ... 110410825 ... 110650272 ... 110660601 ... 110800656 ... 110870061 ... 110900985 ... 111090412 ... 111390272 ... 112090212 ... 112110723 ... 112380589 ... 112640423 ... 113220734 ... 113640299 ... 113860743 ... 113940979 ... 114010385 ... 114580221 ... 114930949 ... 115420027 ... 2-0245-0445 ... 2-0432-0316 ... 2-0449-0150 ... 2-0450-0764 ... 2-2587-0407 ... 203040464 ... 203250032 ... 204260049 ... 206880078 ... 3-0150-0598 ... 3-0217-0344 ... 3-0399-0707 ... 3-0455-0175 ... 3-0476-0087 ... 302270170 ... 303340875 ... 303760289 ... 4-0104-0893 ... 4-0160-182 ... 400421003 ... 401280185 ... 401280825 ... 5-0137-0841 ... 5-0244-0212 ... 5-0274-0313 ... 5-0392-0395 ... 502490573 ... 503560283 ... 504080862 ... 6-0084-0857 ... 6-0123-0852 ... 6-0239-0996 ... 6-0378-0273 ... 6-0392-0190 ... 601180041 ... 602180714 ... 602550924 ... 700510665 ... 701610395 ... 8-0063-0991 ... 8-0074-0308 ... 8-0091-0532 ... 8-0092-0491 ... 800760308 ... 801140175 ... 9-0024-0173 ... 9-0024-0427 ... 9-0094-0363 ... 900740903 ... ... ''' >>> [x for x in numbers.splitlines() if x and not cpf.is_valid(x)] [] python-stdnum-1.13/tests/test_al_nipt.doctest0000644000000000000000000000650413555400450021451 0ustar rootroot00000000000000test_al_nitp.doctest - more detailed doctests stdnum.al.nipt Copyright (C) 2015-2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.al.nipt module. >>> from stdnum.al import nipt >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. There is also a validation service at http://www.qkr.gov.al/kerko/kerko-ne-regjistrin-tregtar/kerko-per-subjekt/ >>> numbers = ''' ... ... J 64103842 S ... J 69102564 M ... J 78311939 N ... J 8291 6498 D ... J 91402501 L ... J 98624806 P ... J61807017B ... J61826022R ... J61911008C ... J61922018S ... J61923008Q ... J62903175S ... J62903393F ... J62903470T ... J62903491S ... J64103682L ... J66702410U ... J67902618M ... J69405530G ... J71824003C ... J72603171B ... J73706808B ... J73721043Q ... J74517201G ... J77411245Q ... J81314004P ... J81402004E ... J81508002V ... J81804001C ... J86526614T ... J91305001Q ... J91808007H ... J92006014W ... J92917219S ... J93910409N ... K 01725001F ... K 02727202 O ... K 11715005 L ... K 22013001U ... K 37507987 N ... K 41316001 V ... K 41424801 U ... K 47905861 R ... K 63005203 O ... K 67204202 P ... K 91426008 U ... K11515001T ... K11715005L ... K12113002H ... K14019001H ... K21405003G ... K21622001M ... K22218003V ... K26330201T ... K31404025J ... K31525146H ... K31526056N ... K31823059I ... K31929010K ... K32203501H ... K32801430W ... K33714725W ... K34712418N ... K36308746I ... K36520204A ... K42725403f ... K46621201I ... K51428013Q ... K51518058O ... K59418208E ... K61710508W ... K71903001A ... K72410014H ... K81427030E ... K81428502L ... K81618039O ... K84508002F ... K87101202A ... K91725009J ... K92402023O ... L 21721005U ... L 22614402 H ... L01307052Q ... L01510016S ... L01622006F ... L01909501I ... L02003503P ... L02023501H ... L02226012N ... L02602801H ... L03321203G ... L06426702Q ... L06524402O ... L06901403L ... L06923204C ... L07305201K ... L08711201I ... L09110504G ... L11325024K ... L11625013E ... L11810502T ... L11815018A ... L12003021H ... L12009010A ... L12624002J ... L13020404N ... L14118803B ... L14703202P ... L21310054D ... L21408015A ... L21429502L ... L21508023Q ... L21923507N ... L22201021E ... L22203019C ... L22804207O ... L22825801P ... L22902002B ... L24006002V ... L24018612J ... L26311004G ... L29616001A ... L31511019E ... L31911504A ... L32210507A ... L32319014A ... L32522401O ... L33117002J ... L33318001M ... L41309075A ... L41320026E ... L41410025S ... L42008005H ... L42115015G ... L42206027K ... L42307007E ... L42710403A ... L42720201A ... L44119601E ... L46812703Q ... L47014204F ... L48117101S ... ... ''' >>> [x for x in numbers.splitlines() if x and not nipt.is_valid(x)] [] python-stdnum-1.13/tests/test_ch_vat.doctest0000644000000000000000000000356513555400450021273 0ustar rootroot00000000000000test_ch_vat.doctest - more detailed doctests for the stdnum.ch.vat module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ch.vat module. >>> from stdnum.ch import vat >>> from stdnum.exceptions import * Some more detailed tests. >>> vat.validate('CHE-107.787.577 ZZZ') Traceback (most recent call last): ... InvalidComponent: ... >>> vat.validate('ZZZ-107.787.577 MWST') Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... CHE-1 76.814.97 5 MWST ... CHE-100.155.212 MWST ... CHE-105.048.256 MWST ... CHE-105.838.471 MWST ... CHE-105.969.179 MWST ... CHE-106.222.918 MWST ... CHE-107.787.577 IVA ... CHE-108.113.335 MwST ... CHE-108.446.096 MWST ... CHE-108.703.181 MWST ... CHE-109.578.122 MWST ... CHE-110.576.236 IVA ... CHE-110.576.236 TVA ... CHE-112.142.015 TVA ... CHE-112.487.804 MWST ... CHE-113.330.424 MWST ... CHE-115.606.778 MWST ... CHE-116.046.681 TPV ... CHE-116.274.213 MWST ... CHE-116.320.362 MWST ... CHE-164.589.300 MWST ... CHE-400.352.783 MWST ... ... ''' >>> [x for x in numbers.splitlines() if x and not vat.is_valid(x)] [] python-stdnum-1.13/tests/test_au_tfn.doctest0000644000000000000000000000241613555400450021275 0ustar rootroot00000000000000test_au_tfn.doctest - more detailed doctests for the stdnum.au.tfn module Copyright (C) 2016 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.au.tfn module. It tries to validate a number of numbers that have been found online. >>> from stdnum.au import tfn >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 112474082 ... 459599230 ... 565051603 ... 812 239 321 ... 865414088 ... 876 543 210 ... 907974668 ... ... ''' >>> [x for x in numbers.splitlines() if x and not tfn.is_valid(x)] [] python-stdnum-1.13/tests/test_isbn.doctest0000644000000000000000000001636513555400451020765 0ustar rootroot00000000000000test_isbn.doctest - more detailed doctests for stdnum.isbn module Copyright (C) 2010-2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.isbn module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import isbn Tests for mangling and incorrect check digits. >>> isbn.validate('08515x-629-2') # added X in the middle Traceback (most recent call last): ... InvalidFormat: ... >>> isbn.validate('85152-629-1') # incorrect check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> isbn.validate('978-902453827X') # ISBN13 with X check digit Traceback (most recent call last): ... InvalidFormat: ... >>> isbn.validate('978-902453827') # invalid length Traceback (most recent call last): ... InvalidLength: ... >>> isbn.validate('7501031311309') # valid EAN, unknown bookland code Traceback (most recent call last): ... InvalidComponent: ... See if ISBN10 to 13 conversion works. >>> isbn.to_isbn13('978-9024538270') # ISBN13 should stay ISBN13 '978-9024538270' >>> isbn.to_isbn13('1 85798218 5') '978 1 85798218 3' >>> isbn.to_isbn13('1857982185') '9781857982183' >>> isbn.to_isbn13('1-85798-218-5') '978-1-85798-218-3' >>> isbn.validate(isbn.to_isbn13('1 85798218 5')) '9781857982183' >>> isbn.compact('1 85798218 5', convert=True) '9781857982183' >>> isbn.validate('1 85798218 5', convert=True) '9781857982183' Conversion of 9 digit ISBN to ISBN13 also works. >>> isbn.is_valid('12-345678-9') True >>> isbn.validate(isbn.to_isbn13('12-345678-9')) '9780123456786' See if ISBN13 to 10 conversion works. >>> isbn.to_isbn10('1-85798-218-5') # ISBN10 should stay ISBN10 '1-85798-218-5' >>> isbn.to_isbn10('978 1 85798218 3') '1 85798218 5' >>> isbn.to_isbn10('9781857982183') '1857982185' >>> isbn.to_isbn10('978-1-85798-218-3') '1-85798-218-5' >>> isbn.to_isbn10('979-20-1234567-8') # incorrect check digit Traceback (most recent call last): ... InvalidFormat: ... >>> isbn.to_isbn10('9791843123391') Traceback (most recent call last): ... InvalidComponent: ... Regrouping tests. >>> isbn.split('9024538270') # normal ISBN10 ('', '90', '245', '3827', '0') >>> isbn.split('9999678270') # ISBN10, unknown publisher in group ('', '99996', '', '7827', '0') >>> isbn.split('979-20-1234567-8') ('979', '', '', '201234567', '8') >>> isbn.split('5413170121522') # valid check digit, unknown prefix ('', '', '', '541317012152', '2') Explicit tests for invalid characters. The first number is 978-90245᭓8270, the second is 978-9024538²70. >>> isbn.validate(b'978-90245\xe1\xad\x938270'.decode('utf-8')) Traceback (most recent call last): ... InvalidFormat: ... >>> isbn.validate(b'978-9024538\xc2\xb270'.decode('utf-8')) Traceback (most recent call last): ... InvalidFormat: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 0-19-963209-X ... 0-201-75041-4 ... 0-7503-0197-X ... 0-7506-9275-8 ... 0-8412-0473-X ... 0-8493-0464-4 ... 0-8493-0504-7 ... 0080423906 ... 013036004X ... 2-225-30547-1 ... 9284401348 ... 978-1-4200-4561-1 ... 978-1-4200-8032-2 ... 978-1-4397-3244-1 ... 978-1-4398-2494-8 ... 978-1-4398-8929-9 ... 978-1-55156-438-8 ... 978-90-208-3866-4 ... 978-90-208-5330-8 ... 978-90-345-0790-7 ... 978-90-345-1183-6 ... 978-90-345-1341-0 ... 978-90-345-2135-4 ... 978-90-345-2248-1 ... 978-90-345-3025-7 ... 978-90-345-3239-8 ... 978-90-345-3629-7 ... 978-90-345-4767-5 ... 978-90-345-4770-5 ... 978-90-345-4934-1 ... 978-90-345-5216-7 ... 978-90-345-5632-5 ... 978-90-345-6767-3 ... 978-963-88880-5-1 ... 9780 8872 76743 ... 9780231501132 ... 9780231506236 ... 9780231507387 ... 9780231508360 ... 9780231527682 ... 9780252092022 ... 9780271055206 ... 9780271055480 ... 9780271056289 ... 9780292717664 ... 9780292752252 ... 9780300058024 ... 9780300091960 ... 9780300097474 ... 9780300110654 ... 9780300115406 ... 9780300133523 ... 9780300156263 ... 9780470010037 ... 9780470012536 ... 9780470026977 ... 9780470027257 ... 9780470027424 ... 9780470058084 ... 9780470149676 ... 9780470180907 ... 9780470317372 ... 9780470358139 ... 9780470358184 ... 9780470358849 ... 9780470519578 ... 9780470706459 ... 9780470707296 ... 9780470723807 ... 9780470757659 ... 9780470760123 ... 9780470773154 ... 9780470774618 ... 9780470841785 ... 9780470863343 ... 9780470869697 ... 9780470987056 ... 9780470996027 ... 9780471024033 ... 9780471206910 ... 9780471221951 ... 9780471444541 ... 9780471445340 ... 9780471619772 ... 9780471623793 ... 9780471713425 ... 9780471718161 ... 9780471723950 ... 9780471740452 ... 9780471790594 ... 9780520205802 ... 9780520217676 ... 9780520230453 ... 9780520238879 ... 9780520238961 ... 9780520244306 ... 9780520255791 ... 9780520911543 ... 9780520928572 ... 9780520937529 ... 9780520939431 ... 9780520939769 ... 9780520945227 ... 9780520945821 ... 9780631211532 ... 9780631224068 ... 9780631225799 ... 9780632038961 ... 9780674061910 ... 9780727917867 ... 9780748621651 ... 9780748625208 ... 9780748633340 ... 9780773506688 ... 9780773528499 ... 9780773528673 ... 9780773530843 ... 9780773563438 ... 9780773563629 ... 9780773566217 ... 9780773567221 ... 9780773570498 ... 9780773572966 ... 9780773574533 ... 9780773582712 ... 9780773587861 ... 9780801447518 ... 9780801467677 ... 9780802009685 ... 9780802043108 ... 9780802078636 ... 9780802081544 ... 9780802088161 ... 9780802096456 ... 9780807845837 ... 9780807871584 ... 9780807871935 ... 9780807872192 ... 9780815730347 ... 9780816604777 ... 9780816606597 ... 9780816647774 ... 9780816655281 ... 9780816659760 ... 9780816665976 ... 9780816681600 ... 9780833035202 ... 9780833048646 ... 9780833059949 ... 9780833077851 ... 9780871545183 ... 9781111525545 ... 9781400821600 ... 9781400822232 ... 9781400826414 ... 9781400828623 ... 9781400828647 ... 9781400840861 ... 9781400842483 ... 9781400845934 ... 9781405131902 ... 9781405175791 ... 9781442602380 ... 9781442612877 ... 9781442613140 ... 9781442641198 ... 9781442644335 ... 9781442670174 ... 9781442670747 ... 9781442674202 ... 9781442685376 ... 9781442688636 ... 9781442693517 ... 9781442696716 ... 9781469606309 ... 9781571136329 ... 9781571138392 ... 9781610447775 ... 9781846156243 ... 9783527283217 ... 9783527298365 ... 9783527305797 ... 9783527307258 ... 9783527311125 ... 9783527406371 ... 9783527602803 ... 9783527604296 ... 9783527606757 ... 9783527615186 ... 9783527615759 ... 9783527619771 ... 9783527621781 ... 9783826334054 ... 9789622091252 ... 9789622099760 ... 9789814319089 ... 9789888052509 ... 9789888139590 ... 981-02-1046-9 ... 9814 253065 ... ... ''' >>> [x for x in numbers.splitlines() if x and not isbn.is_valid(x)] [] python-stdnum-1.13/tests/test_nz_bankaccount.doctest0000644000000000000000000001072313555400451023021 0ustar rootroot00000000000000test_nz_bankaccount.doctest - more detailed doctests for stdnum.nz.bankaccount Copyright (C) 2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.nz.bankaccount module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.nz import bankaccount Algorithm examples taken from https://www.ird.govt.nz/software-providers/explore-products-contents/reporting/withholding-taxes/rwt-and-nrwt-certificate-filing-options.html#02 >>> bankaccount.validate('01-902-0068389-00') # algorithm A '0109020068389000' >>> bankaccount.validate('08-6523-1954512-001') # algorithm D '0865231954512001' There does not seem to be a current bank with the 26 bank code, so we only validate the check digit algorithm here: >>> def checksum_is_valid(number): ... return bankaccount._calc_checksum(bankaccount.compact(number)) == 0 >>> checksum_is_valid('26-2600-0320871-032') # algorithm G True These are constructed numbers that test some corner cases. No actual numbers were found to cover these tests: >>> bankaccount.validate('01-902-0998384-00') # algorithm B, high account nr '0109020998384000' >>> checksum_is_valid('09-0-37331-00') # algorithm E, unknown bank True >>> checksum_is_valid('25-2545-3153624-00') # algorithm F, unknown bank True These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 01 0137 0026279 00 ... 01 0362 0034224 00 ... 01 0535 0089638-28 ... 01 0650 0007386 000 ... 01 0745 0314717 29 ... 01 0755 0215050-00 ... 01-0274-0139683-00 ... 01-0277-0769568-00 ... 01-0427-0125670-00 ... 01-0451-0097059-00 ... 01-0564-0070266-00 ... 01-0564-0070266-000 ... 01-0811-0039398-10 ... 01-0819-0120-238-00 ... 01-1823-0066056-000 ... 01-1839-0188939-00 ... 01-1839-0329105-01 ... 01-1839-0925652-00 ... 02 0392 0018241 00 ... 02 0644 0262700 001 ... 02 0820 0113537 97 ... 02 0865 0057217 03 ... 02 1223 0852977 00 ... 02-0108-0333798-029 ... 02-0192-0115055-02 ... 02-0214-0186752-000 ... 02-0316-0030142-006 ... 02-0428-0086124-000 ... 02-0466-0017349-000 ... 02-0500-0017474-00 ... 02-0500-0652822-02 ... 02-0506-0139835-00 ... 02-1246-0812417-031 ... 02-1258-0000707-000 ... 03 0049 0005128 26 ... 03 0502 0008598 00 ... 03 0502 0525755 000 ... 03 0584 0198216 00 ... 03 1322 0132588 00 ... 03-0049-0001055-01 ... 03-0104-0484126-00 ... 03-0104-0934457-02 ... 03-1592-0521970-000 ... 03-1707-0080686-00 ... 030175 0660238 00 ... 03‐1355‐0659087‐00 ... 06 0115 0427303 00 ... 06 0746 0307308 00 ... 06 0901 0001203 00 ... 06 0927 0030061 00 ... 06 0942 0203194 00 ... 06 – 0177 – 0140 367 – 01 ... 06-0229-0393666-02 ... 06-0266-0924227-02 ... 06-0529-0687172-00 ... 06-0596-0110859-00 ... 06-0701-0528844-00 ... 06-0705-0360364-000 ... 06-0837-0279242-01 ... 06-0837-0334774-00 ... 06-0869-0548507-00 ... 06-0911-0956150-00 ... 11 6100 0017915 11 ... 11 7200 0088096 11 ... 11 7800 0037786 11 ... 11-7892-0111532-01 ... 12 3011 0820075 00 ... 12 3045 0389711 00 ... 12-3046-0203560-57 ... 12-3083-0357534-00 ... 12-3106-0062510-00 ... 12-3115-0040516-002 ... 12-3123-0008807-000 ... 12-3233-0009325-50 ... 12-3244-0022509-00 ... 15 3973 0029065 000 ... 15-3947-0487353-26 ... 15-3948-0311202-00 ... 15-3949-0452082-10 ... 15-3952-0379031-00 ... 15-3953-0512826-000 ... 15-3973-0029065-000 ... 38 9006 0588934 00 ... 38 9013 000 98 73 00 ... 38 9017 0788325 00 ... 38 9018 0232468 00 ... 38 9019 0280883 01 ... 38-9000-0392156-03 ... 38-9000-0593257-00 ... 38-9000-0625933-00 ... 38-9003-0018047-00 ... 38-9006 0413325-00 ... 38-9006-0772598-00 ... 38-9008-0242371-0 ... 38-9009-0000796-00 ... 38-9009-0266543-00 ... 38-9014-0718647-00 ... 38-9015-0189230-00 ... 38-9018-0067108-03 ... 38-9019-0330051-00 ... ... ''' >>> [x for x in numbers.splitlines() if x and not bankaccount.is_valid(x)] [] python-stdnum-1.13/tests/test_fr_siren.doctest0000644000000000000000000000246313555400450021632 0ustar rootroot00000000000000test_fr_siren.doctest - more detailed doctests for the stdnum.fr.siren module Copyright (C) 2016 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.fr.siren module. >>> from stdnum.fr import siren >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 217601 145 ... 3 1 0 1 8 8 4 2 0 ... 350792008 ... 480318245 ... 500 674 056 ... 529290488 ... 738 205 269 ... 752136200 ... 752490334 ... 775 699 309 ... 775672272 ... 776 944 944 ... 820043784 ... ... ''' >>> [x for x in numbers.splitlines() if x and not siren.is_valid(x)] [] python-stdnum-1.13/tests/test_at_tin.doctest0000644000000000000000000000744513555400450021306 0ustar rootroot00000000000000test_at_tin.doctest - more detailed doctests for the stdnum.at.tin module Copyright (C) 2018 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.at.tin module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import bic >>> from stdnum.at import tin Test more corner cases. >>> tin.validate('59-119/9013') '591199013' >>> tin.validate('59-119/9013', office='St. Veit Wolfsberg') '591199013' >>> tin.validate('59-119/9013', office='Spittal Villach') Traceback (most recent call last): ... InvalidComponent: ... >>> tin.validate('00XXXXXXX') Traceback (most recent call last): ... InvalidFormat: ... >>> tin.validate('X12345678') Traceback (most recent call last): ... InvalidFormat: ... >>> tin.validate('12345678') Traceback (most recent call last): ... InvalidLength: ... >>> tin.validate('591199012') Traceback (most recent call last): ... InvalidChecksum: ... >>> tin.validate('621199017') Traceback (most recent call last): ... InvalidComponent: ... These should all be valid numbers. >>> numbers = ''' ... 98-123/4560 ... 90-123/4567 ... 12-987/6546 ... 46-376/5321 ... 03-826/1574 ... 54-267/9451 ... ... 03 318/8822 ... 109999102 ... 12 035/4980 ... 12 504/1558 ... 12 528/1691 ... 22 283/3014 ... 29 122/4046 ... 38-999/9384 ... 41 248/1145 ... 46 1744591 ... 52-123/4567 ... 52-360/5855 ... 53 226/8059 ... 54 202/0565 ... 59 059/6383 ... 59 119/9013 ... 59 149/7540 ... 61 075/1679 ... 68 481/8826 ... 68 545 4266 ... 68 626/5406 ... 68 649/8114 ... 72 222/3526 ... 81 - 590/9908 ... 91 166/9307 ... 91 195/7272 ... 98 0100127 ... 98 0207336 ... 98 0300131 ... 98 0400378 ... 98 0500219 ... 98 0600092 ... 98 0700306 ... 98 0800130 ... 98 0900096 ... 98 1000284 ... 98 1100803 ... 98 1200363 ... 98 1300460 ... 98 1400534 ... 98 1500234 ... 98 1600042 ... 98 1700198 ... 98 1800212 ... 98 1900087 ... 98 2017196 ... 98 2102535 ... 98 2210643 ... 98 2300873 ... 98 2400038 ... 98 2500597 ... 98 2612509 ... 98 2700601 ... 98 2800047 ... 98 2900110 ... 98 3001314 ... 98 3100249 ... 98 3200445 ... 98 3300104 ... 98 3400326 ... 98 3500091 ... 98 3601303 ... 98 3700030 ... 98 3800194 ... 98 3900234 ... 98 4000257 ... 98 4100164 ... 98 4200287 ... 98 4300152 ... 98 4400010 ... 98 4500207 ... 98 4600254 ... 98 4700211 ... 98 4800318 ... 98 4900050 ... 98 5000157 ... 98 5100411 ... 98 5201573 ... 98 5300227 ... 98 5400027 ... 98 5500701 ... 98 5600360 ... 98 9300280 ... 98 9300363 ... 98 9300454 ... 98 9300579 ... 98 9300686 ... 98 9300736 ... 98 9300801 ... 98 9300819 ... 98 9300827 ... 98 9300850 ... 98 9300868 ... 98 9301015 ... 98 9301080 ... 98 9301155 ... 98 9301189 ... 98 9301247 ... 98 9301270 ... 98 9301304 ... 98 9301387 ... 98 9301528 ... 98 9301593 ... 98 9301676 ... 98 9301684 ... 98 9301841 ... 98 9301908 ... 98 9302021 ... 98 9302104 ... 98 9302161 ... 98 9302286 ... 98 9302310 ... 98 9302450 ... 98 9302500 ... 98 9302559 ... 98 9302690 ... 98 9302807 ... 98 9302831 ... 98 9302864 ... 98 9302914 ... 98 9302963 ... 98 9303086 ... ''' >>> [x for x in numbers.splitlines() if x and not tin.is_valid(x)] [] python-stdnum-1.13/tests/test_be_iban.doctest0000644000000000000000000001372713555401015021405 0ustar rootroot00000000000000test_be_iban.doctest - more detailed doctests for the stdnum.be.iban module Copyright (C) 2018-2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.be.iban module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import bic >>> from stdnum.be import iban An IBAN should not end in 00 but should end with 97 instead to have a valid checksum. >>> iban.validate('BE54310100270097') 'BE54310100270097' >>> iban.validate('BE54310100270000') Traceback (most recent call last): ... InvalidChecksum: ... These should all be valid numbers combined with the appropriate BIC code for the IBAN. >>> numbers = ''' ... BE 03 7310 1866 4084 KREDBEBB ... BE 04 4348 1414 3131 KREDBEBB ... BE 05 0013 6299 3375 GEBABEBB ... BE 05 7350 2212 4775 KREDBEBB ... BE 06 0689 0671 6722 GKCC BE BB ... BE 07 3751 1110 2566 BBRUBEBB ... BE 07 7370 2293 3166 KREDBEBB ... BE 07-0682455012-66 GKCCBEBB ... BE 08 0682 0620 1213 GKCCBEBB ... BE 099790 8568 5357 ARSPBE22 ... BE 10 0000 0000 0404 BPOTBEB1 ... BE 10 1030 4164 5404 NICABEBB ... BE 10850818312004 NICABEBB ... BE 11 2300 1259 3448 GEBABEBB ... BE 11 4715 0060 2148 KREDBEBB ... BE 12 7340 2513 1392 KREDBEBB ... BE 13 3200 1620 5639 BBRUBEBB ... BE 13 4185 0462 2139 KREDBEBB ... BE 15733038344130 KREDBEBB ... BE 17630067314221 BBRUBEBB ... BE 18 3100 7494 0165 BBRUBEBB ... BE 18 7512 0627 3065 AXABBE22 ... BE 19 0010 6151 1012 GEBABEBB ... BE 19 7380 3475 4112 KREDBEBB ... BE 19737426001512 KREDBEBB ... BE 20 3200 68 35 4556 BBRUBEBB ... BE 20 3630 3062 4556 BBRUBEBB ... BE 21 0012 4611 0803 GEBABEBB ... BE 26 3900 3439 3629 BBRU BEBB ... BE 28 2930 1021 0620 GEBABEBB ... BE 29 2710 3664 0164 GEBABEBB ... BE 30 6451 0272 0611 JVBABE22 ... BE 32 7310 2089 6502 KREDBEBB ... BE 34 0012 3765 1490 GEBA BEBB ... BE 35 0011 2595 0637 GEBABEBB ... BE 36 0910 0060 6681 GKCCBEBB ... BE 36310180497181 BBRUBEBB ... BE 3773 103 388 7428 KREDBEBB ... BE 38 0000 1315 0772 BPO TBE B1 ... BE 38 0016 8887 4272 GEBABEBB ... BE 40 0631 6189 5863 GKCCBEBB ... BE 40 7380 1475 7863 KREDBEBB ... BE 41 0003 2556 2110 BPOTBEB1 ... BE 43.4679.1170.4101 KREDBEBB ... BE 44 2200 4529 0245 GEBABEBB ... BE 45 2100 0760 8589 GEBABEBB ... BE 45 4162 0698 8189 KREDBEBB ... BE 46 4214 1888 0136 KREDBEBB ... BE 46 6528 2264 2736 BBRUBEBB ... BE 46 7380 3139 0636 KREDBEBB ... BE 47 0001 0350 7080 BPOTBEB1 ... BE 48 3200 7018 4927 BBRUBEBB ... BE 48 6792 0055 0227 PCHQ BE BB ... BE 48 6792 0055 0227 PCHQBEBB ... BE 49 7330 3109 2671 KRED BE BB ... BE 49 8601 1076 3571 NICABEBB ... BE 50 7370 3771 1118 KREDBEBB ... BE 50363093903518 BBRU BE BB ... BE 51 4738 1277 3162 KREDBEBB ... BE 52 3100 2367 0009 BBRUBEBB ... BE 52 7330 4855 6109 KREDBEBB ... BE 54 0011 6600 7997 GEBA BE BB ... BE 55 0016 0000 0044 GEBA BE BB ... BE 55 552-3281700-44 GKCCBEBB ... BE 55 7380 1810 2444 KREDBEBB ... BE 57 0910 0535 5035 GKCCBEBB ... BE 59 7340 3846 2226 KREDBEBB ... BE 61 363163180817 BBRUBEBB ... BE 61 7343 110 410 17 KREDBEBB ... BE 62 0682 0026 9661 GKCCBEBB ... BE 62 0689 3050 5061 GKCCBEBB ... BE 63 001 344 1880 08 GEBABEBB ... BE 64 3630 7212 0752 BBRU BE BB ... BE 65 7360 2240 0596 KREDBEBB ... BE 68 735 0015372 34 KREDBEBB ... BE 69 2200 6901 0078 GEBABEBB ... BE 70 2930 2739 9525 GEBABEBB ... BE 73 7370 3778 3260 KREDBEBB ... BE 76 7310 1774 3695 KREDBEBB ... BE 77 0017 8594 8842 GEBABEBB ... BE 77 3631 1772 9142 BBRUBEBB ... BE 80 293-0175980-77 GEBABEBB ... BE 80 3101 5675 1177 BBRUBEBB ... BE 80.3850.5900.6577 BBRUBEBB ... BE 81 4171 0398 9124 KREDBEBB ... BE 81 731001139824 KREDBEBB ... BE 82 1796 3107 6768 COBABEBX ... BE 84375084291059 BBRU BE BB ... BE 85 0017 1352 5006 GEBABEBB ... BE 85 7310 4209 1406 KREDBEBB ... BE 87 0015 4520 0094 GEBABEBB ... BE 88 0000 0000 4141 BPOTBEB1 ... BE 88 0000 1820 1341 BPOTBEB1 ... BE 88 3200 2887 4041 BBRUBEBB ... BE 88733 0477639 41 KREDBEBB ... BE 89 0013 0131 2085 GEBABEBB ... BE 89 2800 2298 4185 GEBABEBB ... BE 89 3100 60925685 BBRUBEBB ... BE 90 735007997232 KRE DBEBB ... BE 90 7510 0079 4632 AXABBE22 ... BE 90 9730 2935 2032 ARS PBE 22 ... BE 90645110734932 JVBABE22 ... BE 91 733-0204328-76 KREDBEBB ... BE 91733049319476 KREDBEBB ... BE 92 6528 3175 9423 BBR UBEBB ... BE 94 4324 0214 9114 KREDBEBB ... BE 95 3800 4313 4658 BBRUBEBB ... BE 96 2100 6808 9305 GEBA-BEBB ... BE 962300 1003 8005 GEBABEBB ... BE 97 2930 1249 3049 GEBABEBB ... BE10 0000 0000 0404 BPOTBEB1 ... BE52 3100 2234 1109 BBRUBEBB ... BE58 7310 2144 7479 KREDBEBB ... BE59 65283724 9926 BBRUBEBB ... BE65 0910 0060 8196 GKCCBEBB ... BE79 0689 0189 6933 GKCCBEBB ... BE88 0000 0000 4141 BPOTBEB1 ... BE89 0000 1076 5885 BPOTBEB1 ... BE97 0017 6310 6049 GEBABEBB ... be 54 9799 7279 3197 arspbe22 ... ''' >>> numbers = [(x[:24].strip(), x[24:]) for x in numbers.splitlines() if x] >>> [ x[0] for x in numbers if not iban.is_valid(x[0]) ] [] >>> [ x for x in numbers if iban.to_bic(x[0]) != bic.compact(x[1]) ] [] python-stdnum-1.13/tests/test_lt_asmens.doctest0000644000000000000000000000311413555400451022003 0ustar rootroot00000000000000test_lt_asmens.doctest - more detailed doctests for stdnum.lt.asmens module Copyright (C) 2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.lt.asmens. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.lt import asmens >>> asmens.validate('36805280109') '36805280109' >>> asmens.validate('36813280103') # invalid date Traceback (most recent call last): ... InvalidComponent: ... >>> asmens.validate('36813280103', validate_birth_date=False) # invalid date '36813280103' >>> asmens.validate('96813280109') # invalid date but starts with a 9 '96813280109' These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 33309240064 ... 35002125431 ... 48504140959 ... 61205010081 ... ... ''' >>> [x for x in numbers.splitlines() if x and not asmens.is_valid(x)] [] python-stdnum-1.13/tests/test_do_cedula.doctest0000644000000000000000000000635613555400450021747 0ustar rootroot00000000000000test_do_cedula.doctest - more detailed doctests for stdnum.do.cedula module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.do.cedula module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.do import cedula Some basic tests for invalid numbers: >>> cedula.validate('1234567890') Traceback (most recent call last): ... InvalidLength: ... >>> cedula.validate('123456789111') Traceback (most recent call last): ... InvalidLength: ... >>> cedula.validate('abcasdqwerz') Traceback (most recent call last): ... InvalidFormat: ... >>> cedula.validate('00114272360') '00114272360' >>> cedula.validate('00114272368') Traceback (most recent call last): ... InvalidChecksum: ... >>> cedula.validate('00105606543') '00105606543' >>> cedula.validate('00113918205') '00113918205' >>> cedula.validate('00113918204') Traceback (most recent call last): ... InvalidChecksum: ... >>> cedula.validate('00113918213') '00113918213' >>> cedula.validate('0011391820x') Traceback (most recent call last): ... InvalidFormat: ... >>> cedula.validate('x0113918205') Traceback (most recent call last): ... InvalidFormat: ... >>> cedula.validate('00113x18205') Traceback (most recent call last): ... InvalidFormat: ... Some numbers have an invalid check digit but were issued nonetheless. The following numbers should all be valid cedulas. >>> numbers = ''' ... ... 00000058035 ... 00000155482 ... 00100288929 ... 00100709215 ... 00100759932 ... 00101552784 ... 00101659661 ... 00101961125 ... 00103754365 ... 00105606543 ... 00108796883 ... 00113918205 ... 00113918213 ... 00114272360 ... 00114532330 ... 00117582001 ... 00121581800 ... 00161884001 ... 00162906003 ... 00163540003 ... 00166533003 ... 00200123640 ... 00200409772 ... 00207327056 ... 00208430205 ... 00222017001 ... 00274652001 ... 00289931003 ... 00300169535 ... 00301200901 ... 00356533003 ... 00516077003 ... 00524571001 ... 00633126023 ... 00686904003 ... 00757398001 ... 00800106971 ... 00848583056 ... 01100620962 ... 01200004166 ... 01200008613 ... 01600026316 ... 02300023225 ... 02600036132 ... 02800021761 ... 02800029588 ... 03103749672 ... 03800032522 ... 04600198229 ... 04700027064 ... 05400038776 ... 05500003079 ... 05500006796 ... 05500022399 ... 05500023407 ... 0710208838 ... 07600000691 ... 09421581768 ... 10061805811 ... 12019831001 ... 22321581834 ... 22400022111 ... 40200401324 ... 90001200901 ... ... ''' >>> [x for x in numbers.splitlines() if x and not cedula.is_valid(x)] [] python-stdnum-1.13/tests/test_imei.doctest0000644000000000000000000000425713555400451020752 0ustar rootroot00000000000000test_imei.doctest - more detailed doctests for stdnum.imei module Copyright (C) 2010, 2013 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.imei module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import imei Should be valid numbers: >>> imei.validate('49-015420-323751') '49015420323751' >>> imei.validate('35-209900-176148-1') '352099001761481' >>> imei.validate('35-209900-176148-23') '3520990017614823' >>> imei.validate('350077-52-323751-3') '350077523237513' >>> imei.validate('354178036859789') '354178036859789' These are normal variations that should just work. Getting the type: >>> imei.imei_type('35686800-004141-20') 'IMEISV' >>> imei.imei_type('35-417803-685978-9') 'IMEI' >>> imei.imei_type('35-417803-685978-2') is None # invalid check digit True >>> imei.imei_type('3568680000414120') 'IMEISV' The format() function can add the check digit if needed. It should leave alone existing check digits (even invalid ones) and only add them to the 14 digit format. >>> imei.format('354178036859789') '35-417803-685978-9' >>> imei.format('35417803685978') '35-417803-685978' >>> imei.format('354178036859786', add_check_digit=True) '35-417803-685978-6' >>> imei.format('35417803685978', add_check_digit=True) '35-417803-685978-9' >>> imei.format('35686800-004141', add_check_digit=True) '35-686800-004141-8' >>> imei.format('35686800-004141-20', add_check_digit=True) '35-686800-004141-20' python-stdnum-1.13/tests/test_kr_rrn.doctest0000644000000000000000000000705313555400451021321 0ustar rootroot00000000000000test_kr_rrn.doctest - more detailed doctests for stdnum.kr.rrn module Copyright (C) 2019 Dimitri Papadopoulos Copyright (C) 2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.kr.rrn module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.kr import rrn Some basic tests for invalid numbers: >>> rrn.validate('971013901990') # less than 13 digits Traceback (most recent call last): ... InvalidLength: ... >>> rrn.validate('971013-901990') # less than 13 digits Traceback (most recent call last): ... InvalidLength: ... >>> rrn.validate('97101390199020') # more than 13 digits Traceback (most recent call last): ... InvalidLength: ... >>> rrn.validate('971013-90199020') # more than 13 digits Traceback (most recent call last): ... InvalidLength: ... >>> rrn.validate('acvbnmkjh') Traceback (most recent call last): ... InvalidFormat: ... >>> rrn.validate('9710131019901') # date of birth is 1997-10-13 '9710131019901' >>> rrn.validate('9710139019902') # date of birth is 1897-10-13 '9710139019902' >>> rrn.validate('971013-9019902') '9710139019902' >>> rrn.validate('9710139019902', allow_future=False) '9710139019902' >>> rrn.validate('971013-9019903') # incorrect checksum Traceback (most recent call last): ... InvalidChecksum: ... >>> rrn.validate('971310-9019908') # invalid date of birth 1897-13-10 Traceback (most recent call last): ... InvalidComponent: ... >>> rrn.validate('991231-4019906') # date of birth is 2099-12-31 '9912314019906' >>> rrn.validate('991231-4019906', allow_future=False) # shall fail until 2099-12-31! Traceback (most recent call last): ... InvalidComponent: ... >>> rrn.validate('971013-9999904') # invalid place of birth Traceback (most recent call last): ... InvalidComponent: ... These have been randomly `generated online `_ and should all be valid numbers. >>> numbers = ''' ... ... 880411-2238459 ... 760406-1679592 ... 861121-1967921 ... 751121-1356129 ... 970510-1931536 ... 771228-2514165 ... 931112-6271351 ... 850618-1811204 ... 870316-1692085 ... 750313-1852815 ... 940624-5149547 ... 751129-1803993 ... 860719-1668646 ... 910723-2859903 ... 881219-5460537 ... 741213-6670511 ... 810819-6901483 ... 930315-2140281 ... 861012-2690172 ... 900417-2806195 ... ... ''' >>> [x for x in numbers.splitlines() if x and not rrn.is_valid(x)] [] Formatting and compacting tests: >>> rrn.format('9710139019902') '971013-9019902' >>> rrn.format('971013-9019902') '971013-9019902' >>> rrn.compact('971013-9019902') '9710139019902' >>> rrn.compact('9710139-019902') # dash in the wrong place '9710139019902' >>> rrn.compact('971013901990') # less than 13 digits '971013901990' >>> rrn.format('123') # don't change invalid numbers '123' python-stdnum-1.13/tests/test_ch_esr.doctest0000644000000000000000000000357313557600500021271 0ustar rootroot00000000000000test_ch_esr.doctest - more detailed doctests for the stdnum.ch.esr module Copyright (C) 2019 Kurt Keller This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ch.esr module. >>> from stdnum.ch import esr >>> from stdnum.exceptions import * Some more detailed tests. >>> esr.validate('210000000003139471430009016') Traceback (most recent call last): ... InvalidChecksum: ... >>> esr.validate('2100000000031394714300090168') Traceback (most recent call last): ... InvalidLength: ... >>> esr.validate('21000000000313947143000TE45') Traceback (most recent call last): ... InvalidFormat: ... These have been taken from actual payment slips and should all be valid numbers. >>> numbers = ''' ... ... 20 12440 00000 46370 02019 05153 ... 1009 76741 00001 47457 50114 ... 1001007711461312058 ... 361610000000000020190704093 ... 31 23711 80610 58530 00071 92101 ... 18 78583 ... 36 13030 00000 00000 00000 04142 ... 01 73575 51208 21125 03398 69724 ... 2101315000320229184501 ... 90 00170 00000 00214 95962 25686 ... 432130000000000573490016096 ... 201244000000463700201900994 ... 32 29790 00000 19151 00002 79617 ... ... ''' >>> [x for x in numbers.splitlines() if x and not esr.is_valid(x)] [] python-stdnum-1.13/tests/test_lei.doctest0000644000000000000000000000703213555400451020572 0ustar rootroot00000000000000test_lei.doctest - more detailed doctests for the stdnum.lei module Copyright (C) 2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.lei module. >>> from stdnum import lei >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 0YPKKE5F0QW6RC51HE09 ... 1YTX3EVB2EG3PFFYOI09 ... 2138001CY61HDFJ5ZA27 ... 2138001KT6BLFA2SBA38 ... 213800699Y1P5GMARI40 ... 213800DIH9U9264UW504 ... 213800F25B5OHORTSI52 ... 213800KLHG79RR4RVR16 ... 213800KNMQ53LTJQBV92 ... 213800KUD8LAJWSQ9D15 ... 213800Q3CZMOFF9OE643 ... 213800REANX5GCW7AD17 ... 213800THICTTOSR1N623 ... 213800WWDZ5X6SRDF737 ... 213800WWNILTD76WIX72 ... 2594005N6NMJM5WSGE40 ... 2YXI7YIWYFWZG3QHF204 ... 315700EBSH5FQO0A2E52 ... 315700UUG8ME8T3NNN23 ... 337KMNHEWWWR6B7Q7W10 ... 391200J69OE1D0B3ZQ28 ... 3YO0DHNPQLJN0PYQXZ94 ... 5299007DT4PDT06SZM22 ... 5299008A9PK6IQEWE268 ... 529900TODVLNUTNSYF94 ... 529900UJX7YWK7YK5Z47 ... 529900WWBCVXKSBVKS40 ... 529900YGP0ANNLITEF34 ... 529900Z5WSAAJ3OTQU15 ... 549300001TP7X0VE9866 ... 54930000YBLXA2M5DV57 ... 54930007KCQLYRQLSU30 ... 5493000MYJ7H0E3KKG91 ... 54930017EFV0P0QWP015 ... 54930018TDVHWGLNZ954 ... 5493001BD9HCE74UH411 ... 5493004NJH3JGW7MVS62 ... 5493004QRTOY0WERIJ41 ... 54930066SVUPVIHE5U21 ... 5493006O7NV2IXKS4288 ... 5493007715JF1TY3M614 ... 5493007HHN4G8PA5MS11 ... 5493007PWOC8DW5KJM17 ... 5493008EWHY43YYP8R93 ... 5493008VZPPOQ8Y63J10 ... 549300EF33KFNMISKX67 ... 549300EUCOJ6XD50YM58 ... 549300FR4NAW0G8UFI80 ... 549300FRSHK45MQIBL14 ... 549300GF102RMNYVKB19 ... 549300H45ZBEKCVW0U40 ... 549300IDQBTGQCXJ5239 ... 549300IWFWPPXW87ZE72 ... 549300J8EHPRYOKF3869 ... 549300JMX497I8GHDT24 ... 549300LHQ6XOM0JUW406 ... 549300M3SJFSFVXG6X69 ... 549300NV50SCQMF8OC75 ... 549300O2F2PCD1D7PZ95 ... 549300O7ZFXE3YT1GH43 ... 549300OIVSR86BGJGT75 ... 549300OM88E30DLQTD78 ... 549300PATTPXQ660N070 ... 549300PFL3HXXEEOHS50 ... 549300SILMFILZ8Y4427 ... 549300SOEQOO5LPOD659 ... 549300TZLPZOAIIMJF22 ... 549300UKFZ3BD7TNKI26 ... 549300V6KHTZPJ4YVC33 ... 549300V6LZG40THFO450 ... 549300V885B988S1LJ49 ... 549300WTO22HTNIA0Z19 ... 549300X8N7DWRL7VBF44 ... 549300XBRMGPGXSSB667 ... 549300YBGK6ESSY6G874 ... 549300YPYUJBJGNGQO81 ... 5967007LIEEXZX850W58 ... 6354004RBF2LINM9VH78 ... 635400ID2ZOCFWX3LH70 ... 635400TSTDEIQBVFXR91 ... 7245005BAK6R2JQ1LU94 ... 7245006M2FC6DPMC6427 ... 724500PVWFYKZIJQAN07 ... 815600065E4EA9D08446 ... 8156004572781E3F9023 ... 815600E6B00CF4DBB722 ... 815600FC0039E657C985 ... 815600FF404253C67598 ... 959800Q824KQDPCZPV58 ... 96950091S6OFL0N15G96 ... 969500BL7YE3PXKDYT35 ... 969500YLLNN3TK3JSF66 ... 969500ZAUC3Z50DNZV77 ... FIR47I6FEYKYNJBYW622 ... GU00WJXK6DH4VHHFXQ16 ... NMMFE09VSMAF2TU16C07 ... RCJ8N5WH4YK7SVJ4BO12 ... TGXITECVNFSIBV316765 ... WT03B8BB1IX8WI9ZGV02 ... XNIO7KHWR2WD0BP1F484 ... ... ''' >>> [x for x in numbers.splitlines() if x and not lei.is_valid(x)] [] python-stdnum-1.13/tests/test_bitcoin.doctest0000644000000000000000000001025413555400450021447 0ustar rootroot00000000000000test_bitcoin.doctest - more detailed doctests for stdnum.bitcoin module Copyright (C) 2018 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.bitcoin module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import bitcoin These are found and constructed P2PKH addresses (P2SH addresses are basically the same because they follow the same validation, except that the first digit is a 3). >>> bitcoin.validate('1NEDqZPvTWRaoho48qXuLLsrYomMXPABfD') '1NEDqZPvTWRaoho48qXuLLsrYomMXPABfD' >>> bitcoin.validate('1NEDqZPvTWRaoho48qXuLLsrYomMXPABfA') # mangled digit Traceback (most recent call last): ... InvalidChecksum: ... >>> bitcoin.validate('1NEDqZPvTWRaoho48qXu==srYomMXPABfD') # invalid digit Traceback (most recent call last): ... InvalidFormat: ... >>> bitcoin.validate('1111111111111111111114oLvT2') # constructed but valid '1111111111111111111114oLvT2' >>> bitcoin.validate('111111111111111111aGQAo') # invalid binary length Traceback (most recent call last): ... InvalidLength: ... Bech32 are more recent but also supported. Uppercase addresses will be automatically lowercased. >>> bitcoin.validate('BC1QARDV855YJNGSPVXUTTQ897AQCA3LXJU2Y69JCE') 'bc1qardv855yjngspvxuttq897aqca3lxju2y69jce' >>> bitcoin.validate('bc1qardv855yjngspvxuttq897aqca3lxju2y69jZZ') # some digits changed Traceback (most recent call last): ... InvalidChecksum: ... >>> bitcoin.validate('bc1qardv855yjngspvxuttq897aqca3lxju2y69j11') # non-bech32 characters Traceback (most recent call last): ... InvalidFormat: ... >>> bitcoin.validate('bc1pc54a7w') # too short but valid checksum Traceback (most recent call last): ... InvalidLength: ... >>> bitcoin.validate('bc1qv93xxeqnnq0uz') # too short for witness version Traceback (most recent call last): ... InvalidLength: ... >>> bitcoin.validate('bc1lv93xxer9venks6t2ddkx6mn0wpchyum5rtc42k') # invalid witness version Traceback (most recent call last): ... InvalidComponent: ... >>> bitcoin.validate('bc1pv93xxer9venks6t2ddkx6mn0wpchyum5w4m8w7re0fq5ys6yg4rywjzfff95cn2wfumys6cj') # too long witness program Traceback (most recent call last): ... InvalidLength: ... >>> bitcoin.validate('bc1ppzry7g5z8k') # invalid Base32 padding Traceback (most recent call last): ... InvalidComponent: ... Test for unknown address type. >>> bitcoin.validate('gzXESMi1caU4L4CWEV96kQMkn5TKLsMzuX') Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM ... 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 ... 1G5Tjyznf4hmWoStygje9h2u1Y7rFBjtmS ... 1NEDqZPvTWRaoho48qXuLLsrYomMXPABfD ... 1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD ... 1P2c1W3x1TCUFvyDmVyVmUxrRqFtuF2w6 ... 39y1UjCMmxzMYtt4S4wii9e3xmfHngKncL ... 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy ... 3KwLBFMtU9Wtn9Yys3imuU2hs2oSDsfZY4 ... BC1QW508D6QEJXTDG4Y5R3ZARVARY0C5XW7KV8F3T4 ... BC1SW50QA3JX3S ... bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7k7grplx ... bc1q362mcakh9p0zr380s4uhhz26263yjep36c8se8 ... bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq ... bc1qardv855yjngspvxuttq897aqca3lxju2y69jce ... bc1qc7slrfxkknqcq2jevvvkdgvrt8080852dfjewde450xdlk4ugp7szw5tk9 ... bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3 ... bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 ... bc1zw508d6qejxtdg4y5r3zarvaryvg6kdaj ... ... ''' >>> [x for x in numbers.splitlines() if x and not bitcoin.is_valid(x)] [] python-stdnum-1.13/tests/test_ch_ssn.doctest0000644000000000000000000000226713555400450021302 0ustar rootroot00000000000000test_ch_ssn.doctest - more detailed doctests for stdnum.ch.ssn module Copyright (C) 2016 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ch.ssn module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.ch import ssn Extra tests for length checking and corner cases: >>> ssn.validate('54165168') # valid EAN-8 but incorrect length Traceback (most recent call last): ... InvalidLength: ... python-stdnum-1.13/tests/test_cusip.doctest0000644000000000000000000001027213555400450021143 0ustar rootroot00000000000000test_cusip.doctest - more detailed doctests for the stdnum.cusip module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.cusip module. It tries to validate a number of numbers that have been found online. >>> from stdnum import cusip >>> from stdnum.exceptions import * Number should not use O (captial o) or I (capital 1) to avoid confusion with 0 and 1: >>> cusip.validate('0O141T575') Traceback (most recent call last): ... InvalidFormat: ... >>> cusip.validate('257I32103') Traceback (most recent call last): ... InvalidFormat: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 00078H125 ... 00080Y348 ... 00141H409 ... 00141M572 ... 00141T577 ... 00141V267 ... 00142F832 ... 00142K500 ... 00170J862 ... 00170K109 ... 00170M873 ... 00758M261 ... 024524746 ... 024932808 ... 024934408 ... 025081704 ... 025081860 ... 02631C817 ... 068278704 ... 068278878 ... 06828M405 ... 101156602 ... 119804102 ... 12628J600 ... 140543828 ... 192476109 ... 19765J830 ... 19765N401 ... 19765Y852 ... 207267105 ... 23336W809 ... 23337G134 ... 23337R502 ... 23338F713 ... 245908660 ... 245917505 ... 24610B859 ... 25155T528 ... 25156A668 ... 25157M778 ... 25159K309 ... 25159L745 ... 25264S403 ... 254939424 ... 257132100 ... 258618701 ... 261967103 ... 261967822 ... 261986566 ... 265458513 ... 265458570 ... 269858817 ... 277902565 ... 277905436 ... 29372R208 ... 313923302 ... 314172743 ... 315792598 ... 315805325 ... 315807651 ... 315911875 ... 315920579 ... 316069103 ... 31607A208 ... 316146257 ... 316175850 ... 31638R204 ... 316390277 ... 316390335 ... 316390640 ... 316390681 ... 320600109 ... 320604606 ... 320917107 ... 353496854 ... 353535107 ... 354128704 ... 354723769 ... 36158T506 ... 409902624 ... 416649507 ... 416649606 ... 425888104 ... 42588P825 ... 42588P882 ... 44929K630 ... 461418691 ... 465898682 ... 469785109 ... 471023531 ... 47803M663 ... 4812A4427 ... 4812C0548 ... 52106N335 ... 52106N442 ... 52106N632 ... 52106N657 ... 543912604 ... 543913305 ... 552984601 ... 552986309 ... 552986853 ... 557492428 ... 56063J849 ... 56063U851 ... 56166Y438 ... 561709692 ... 561717661 ... 57056B ZW1 ... 575719109 ... 592905756 ... 61744J499 ... 640917209 ... 640917407 ... 64122M506 ... 643642200 ... 647108414 ... 648018828 ... 650914203 ... 66537Y165 ... 67065R408 ... 67065R812 ... 670678762 ... 670690767 ... 670700608 ... 670725738 ... 670729599 ... 670729730 ... 680029667 ... 68583W507 ... 704329101 ... 70472Q302 ... 70472Q880 ... 72200Q232 ... 72201F383 ... 72201F458 ... 72201M800 ... 72201T664 ... 72201U430 ... 741481105 ... 741486104 ... 74149P390 ... 74149P648 ... 74149P689 ... 74149P820 ... 742935521 ... 742935547 ... 74316P207 ... 743185373 ... 743185464 ... 74318Q864 ... 74683L508 ... 749255121 ... 74972H200 ... 74972H283 ... 74972H390 ... 74972H598 ... 74972K666 ... 76628T496 ... 77956H302 ... 783554470 ... 783554728 ... 784924458 ... 803431105 ... 803431410 ... 829334101 ... 82980D400 ... 884116872 ... 890085327 ... 890085871 ... 89354D874 ... 904504560 ... 904504586 ... 912810EQ7 ... 912828C24 ... 912828EG1 ... 912828HA1 ... 912828KD1 ... 912828UA6 ... 920461209 ... 92646A252 ... 92913K645 ... 92913K884 ... 92913L775 ... 92913R822 ... 92914A661 ... 93208V106 ... 936793306 ... 936793504 ... 94975P686 ... 94984B108 ... 94984B538 ... 949915177 ... 949915557 ... 957904584 ... 969251719 ... 969251834 ... 984281204 ... Y0488F100 ... Y27257149 ... Y44425117 ... ... ''' >>> [x for x in numbers.splitlines() if x and not cusip.is_valid(x)] [] python-stdnum-1.13/tests/test_rs_pib.doctest0000644000000000000000000000473213555400451021303 0ustar rootroot00000000000000test_rs_pib.doctest - more detailed doctests for the stdnum.rs.pib module Copyright (C) 2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.rs.pib module. >>> from stdnum.rs import pib >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 100000303 ... 100081000 ... 100081235 ... 100081260 ... 100081341 ... 100081649 ... 100081882 ... 100081903 ... 100082658 ... 100084073 ... 100084354 ... 100085087 ... 100085118 ... 100085175 ... 100085386 ... 100086047 ... 100086549 ... 100086688 ... 100088399 ... 100088487 ... 100088518 ... 100089182 ... 100089199 ... 100089480 ... 100089990 ... 100090168 ... 100090301 ... 100090545 ... 100109782 ... 100109959 ... 100110287 ... 100110650 ... 100110756 ... 100110949 ... 100111525 ... 100112202 ... 100112995 ... 100113109 ... 100113117 ... 100113184 ... 100113561 ... 100125276 ... 100125305 ... 100125313 ... 100125799 ... 100126349 ... 100185801 ... 100185810 ... 100187083 ... 100187243 ... 100187392 ... 101230316 ... 101230611 ... 101230783 ... 101765372 ... 101827944 ... 101895156 ... 101895365 ... 101895638 ... 101895994 ... 101896698 ... 101896913 ... 101896972 ... 101897641 ... 101897692 ... 101897949 ... 101898689 ... 102056361 ... 102097064 ... 102194170 ... 102324017 ... 102372731 ... 102883324 ... 102890888 ... 102960137 ... 103054816 ... 103094132 ... 103180484 ... 103311203 ... 103323675 ... 103338275 ... 103421003 ... 103428256 ... 103465975 ... 103470618 ... 103521454 ... 103539751 ... 103622128 ... 103669676 ... 103728660 ... 103747316 ... 103809880 ... 103837987 ... 103853451 ... 103883410 ... 104007533 ... 104044942 ... 104064625 ... 104079900 ... 104111220 ... ... ''' >>> [x for x in numbers.splitlines() if x and not pib.is_valid(x)] [] python-stdnum-1.13/tests/test_do_cedula.py0000644000000000000000000000421413555400450020721 0ustar rootroot00000000000000# test_do_cedula.py - functions for testing the online Cedula validation # coding: utf-8 # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA # This is a separate test file because it should not be run regularly # because it could negatively impact the online service. """Extra tests for the stdnum.do.cedula module.""" import os import unittest from stdnum.do import cedula @unittest.skipIf( not os.environ.get('ONLINE_TESTS'), 'Do not overload online services') class TestDGII(unittest.TestCase): """Test the web services provided by the the Dirección General de Impuestos Internos (DGII), the Dominican Republic tax department.""" def test_check_dgii(self): """Test stdnum.do.cedula.check_dgii()""" # Test a normal valid number result = cedula.check_dgii('05500023407') self.assertTrue(all( key in result.keys() for key in ['cedula', 'name', 'commercial_name', 'category', 'status'])) self.assertEqual(result['cedula'], '05500023407') # Test an invalid length number self.assertIsNone(cedula.check_dgii('123')) # Test a number with an invalid checksum self.assertIsNone(cedula.check_dgii('00113918204')) # Valid number but unknown self.assertIsNone(cedula.check_dgii('12345678903')) # Test a number on the whitelist result = cedula.check_dgii('0710208838') self.assertEqual(result['cedula'], '0710208838') python-stdnum-1.13/tests/test_ee_ik.doctest0000644000000000000000000000555213555400450021101 0ustar rootroot00000000000000test_ee_ik.doctest - test for estonian personal id Copyright (C) 2015 Tomas Karasek Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA >>> from stdnum.ee import ik >>> import stdnum.exceptions >>> ik.validate('36805280109') '36805280109' >>> ik.is_valid('36805280109') True >>> ik.calc_check_digit('36805280109') '9' >>> ik.validate('06805280106') # invalid first digit Traceback (most recent call last): ... InvalidComponent: ... >>> ik.validate('36805280108') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> ik.validate('368052801099') Traceback (most recent call last): ... InvalidLength: ... >>> ik.get_birth_date('36805280109') datetime.date(1968, 5, 28) >>> ik.get_birth_date('16805280107') datetime.date(1868, 5, 28) >>> ik.get_birth_date('51205280105') datetime.date(2012, 5, 28) >>> ik.get_birth_date('81205280108') datetime.date(2112, 5, 28) >>> ik.get_birth_date('06805280106') # invalid first digit Traceback (most recent call last): ... InvalidComponent: ... >>> ik.get_birth_date('38102290106') # non-existing date Traceback (most recent call last): ... InvalidComponent: ... >>> ik.get_gender('36805280109') 'M' >>> ik.get_gender('46805280103') 'F' >>> ik.get_gender('98102290101') # invalid first digit Traceback (most recent call last): ... InvalidComponent: ... >>> numbers = """ ... 36205030034 ... 36606130166 ... 38002090113 ... 36703010079 ... 36412140053 ... 37105250048 ... 35806110178 ... 38411280151 ... 38004160054 ... 37406220030 ... 37207010076 ... 46104090101 ... 47306160017 ... 35712020095 ... 35512240278 ... 37111070056 ... 36003050128 ... 34508136020 ... 37112300117 ... 37205120111 ... 36708120106 ... 36204130100 ... 36805280109 ... 36404240119 ... 37609300174 ... 38407170099 ... 35903140121 ... 36912050058 ... 36706060097 ... 37909180161 ... 37210220129 ... 35803140053 ... 37709190107 ... 36306200109 ... 36208130099 ... 37611280079 ... 35806190146 ... 44909210102 ... 37104020141 ... 35907150159 ... 36412100145 ... 49105080018 ... 37406110083 ... 36304020091 ... 37106220087 ... 34706045216 ... 37503240119 ... 38310150127 ... 46708270050 ... """ >>> [x for x in numbers.splitlines() if x and not ik.is_valid(x)] [] python-stdnum-1.13/tests/test_mu_nid.doctest0000644000000000000000000000472113555400451021276 0ustar rootroot00000000000000test_mu_nid.doctest - more detailed doctests for the stdnum.mu.nid module Copyright (C) 2018 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.mu.nid module. It tries handle more corner cases than are useful as module documentation. >>> from stdnum.mu import nid Some simple tests. >>> nid.validate('12345678901234') # all-digits Traceback (most recent call last): ... InvalidFormat: ... >>> nid.validate('ABCDEFGHIJKLMN') # all-alhpa Traceback (most recent call last): ... InvalidFormat: ... >>> nid.validate('A311299123456') # missing check digit Traceback (most recent call last): ... InvalidLength: ... >>> nid.validate('A999999123456F') # invalid date Traceback (most recent call last): ... InvalidComponent: ... >>> nid.validate('A3112991234565') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> nid.validate('A3112991234567') 'A3112991234567' These have been randomly generated and tested against the validator at https://eservices.mra.mu/apptan/feedpdfapptan >>> numbers = ''' ... ... A0503022303817 ... A2103451905713 ... B120106274060E ... B2209251149773 ... C0302977326799 ... C090939529731G ... D0906040423734 ... D110163477627F ... G270634609988D ... H070461221669C ... H100257938348B ... I050125386993D ... J1205062398729 ... K210220118460G ... L2410001918056 ... M2206357474780 ... N160734180180A ... N1806401273261 ... O190339068436F ... P0301682918358 ... Q300706590045E ... R2307179551405 ... S0408513643074 ... S180622940994C ... T1801758951565 ... U1010291604172 ... U1507158217746 ... U1605075318231 ... V180331350210A ... W2304253291007 ... X1111599499508 ... X2402942866912 ... Y2504945824300 ... Z170971799359B ... ... ''' >>> [x for x in numbers.splitlines() if x and not nid.is_valid(x)] [] python-stdnum-1.13/tests/test_de_wkn.doctest0000644000000000000000000000645213555400450021274 0ustar rootroot00000000000000test_de_wkn.doctest - more detailed doctests for the stdnum.de.wkn module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.de.wkn module. It tries to validate a number of numbers that have been found online. >>> from stdnum.de import wkn >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 934056 ... A0Q2A9 ... 978273 ... 989756 ... A0D85Q ... A0MUD3 ... A0F67A ... 622925 ... A0ESSP ... A0M82M ... 200435 ... 895705 ... A0MMMK ... 989226 ... 977858 ... A0DNG5 ... A0LGM2 ... 701932 ... A0H0UT ... 989127 ... A0JM7H ... 516810 ... 977023 ... 971043 ... 865742 ... A0MYFQ ... A1EWXW ... 591961 ... 980276 ... A0RNQ5 ... A0BMA4 ... 531713 ... A0F6EB ... A0MUHB ... 975694 ... A1J0ZD ... A0M11P ... A0MNX5 ... A0F5T6 ... A0MR7J ... 974839 ... 972001 ... A0M16T ... 592895 ... 977974 ... A0HGWD ... A0LHCL ... 691298 ... DBX0HY ... 986732 ... 974956 ... 973275 ... ETFL29 ... 857534 ... A0MVL0 ... A0CBA2 ... A0NGX0 ... A0M92M ... A0MSAG ... A0NFHK ... A0Q35X ... 513010 ... 921418 ... 531435 ... A0BL1D ... A0MKA9 ... 976169 ... 779374 ... 847519 ... A0HG5F ... 986868 ... 847347 ... 971929 ... A0DJ6U ... 847910 ... A0JMLN ... 701276 ... 580515 ... 986881 ... A0M2BY ... A0M93X ... 989427 ... A0LE9R ... 848390 ... 980457 ... DWS0UR ... 977187 ... 850667 ... 930920 ... 987906 ... A0MY8N ... 970047 ... A0M1NX ... 933368 ... DBX0F1 ... 848186 ... A0J3GM ... DBX0HC ... A0Q09X ... 988890 ... 589684 ... A0KE7P ... A0EAD3 ... DBX1F1 ... A1JJTG ... A0EQ91 ... A0KD2Q ... 971117 ... 973210 ... A0F6WG ... A0MLJK ... A0M46B ... A0HNPN ... 848066 ... A0LGQN ... DBX0G7 ... LYX0AB ... A0LGWU ... A0RDGC ... 848639 ... 589006 ... A0LEEE ... 552538 ... 977025 ... 531416 ... A0DJ49 ... A0REJL ... A0YE2R ... 251119 ... 693287 ... A0MJP7 ... 577345 ... 973228 ... 866953 ... A0MWAL ... 113596 ... 847426 ... 722538 ... DK0EBQ ... 603005 ... A1H6H7 ... 593396 ... 987972 ... 541779 ... 750437 ... 588798 ... A0Q60E ... A0NC6Z ... A0LGCU ... 532018 ... 257575 ... 629236 ... A1J0BH ... 515231 ... 851143 ... LYX0MG ... 801536 ... 888323 ... 976956 ... 853836 ... 723890 ... A0BL78 ... 971915 ... A0YCYF ... A0J3WX ... 847661 ... A0X970 ... 976375 ... A0J3W3 ... 989844 ... A0B5LC ... 620440 ... LYX0CB ... 795322 ... 848534 ... 677496 ... 727516 ... 973806 ... 971872 ... 859123 ... 970578 ... 675179 ... 976999 ... A0HF4G ... 871970 ... 978945 ... 691660 ... A0DPBF ... 930424 ... 978047 ... 847665 ... 971534 ... A0BMAJ ... A0NC87 ... A1JJP8 ... A0M2EB ... A0EQYQ ... 263233 ... ... ''' >>> [x for x in numbers.splitlines() if x and not wkn.is_valid(x)] [] python-stdnum-1.13/tests/test_es_referenciacatastral.doctest0000644000000000000000000002111013555400450024502 0ustar rootroot00000000000000test_es_referenciacatastral.doctest - more detailed doctests for stdnum.es.referenciacatastral module Copyright (C) 2016 David García Garzón Copyright (C) 2015-2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.es.referenciacatastral module. >>> from stdnum.es import referenciacatastral >>> from stdnum.exceptions import * The parcel digits are structured differently for urban, non-urban or special (infrastructure) cases: * Urban states * 7 digits: (numeric) block sequence within cartographic sheet, and parcel sequence within the block. * 7 digits: (alphanum) cartographic sheet where the block centroid is. * Non-urban states: * 2 digits: (numeric) Province or more exactly, ministerial delegation * 3 digits: (numeric) Municipality * 1 digits: (letter) Sector * 3 digits: (numeric) Polygon * 5 digits: (numeric) Parcel * Special states: * BICE code: (2 digits, a number and a letter) * Energy infrastructure * 1E: Thermal power plant * 1G: Regasification terminal * 1R: Oil refinery * 1N: Nuclear power plant * 1H: Hydro power plant * Hydro * 2P: Dam * Roads and highways * 3A: Tolled highway * 3C: Tolled road * 3T: Tolled tunnel * Ports and airports * 4A: Airports * 4P: Commercial ports * Province (major if many) (2 digits) * Municipality (3 digits) * Scope (1 letter) * E: National * A: Autonomous Community * P: Province * M: Municipality * Number of municipalities it extends (2 digits, numbers) * Abbreviated denomination (4 digits, letters) An online validator can be found at https://www1.sedecatastro.gob.es/CYCBienInmueble/OVCBusqueda.aspx This is a constructed example of a Referencia Catastral with an Ñ in it. It seems that unicode literals do not work so we are escaping Ñ. >>> referenciacatastral.calc_check_digits('9872023 ÑH5797S 0001') 'WP' >>> referenciacatastral.calc_check_digits(u'9872023 \xd1H5797S 0001') 'WP' >>> referenciacatastral.validate('9872023 ÑH5797S 0001 WP') == '9872023ÑH5797S0001WP' True >>> referenciacatastral.validate(u'9872023 \xd1H5797S 0001 WP') == u'9872023\xd1H5797S0001WP' True These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 000100100QE45D0001GA ... 000100100TH44D0001GX ... 000700100UJ13C0001XY ... 0014001QD4901S0001LP ... 001700100QC04D0001AF ... 002100100QD03C0001HH ... 0307813QD3100N0001LW ... 0376902QE3607N0001UM ... 0412501QD0301S0001BQ ... 0426012TJ3502N0001SQ ... 0474001QE5307C0033DW ... 0474001QE5307C0060IB ... 0474001QE5307C0067GR ... 0474001QE5307C0149YK ... 0553304TK9405S0001GR ... 06011A012002450000QE ... 06011A045000920000QX ... 06016A012090090000ZI ... 06051A005000200000ZJ ... 06060A040001360000XM ... 06063A002000200001SL ... 06063A015000110000AX ... 06074A005005560000BR ... 06079A002002810000JX ... 06080A504000390000II ... 06080A507000270000IK ... 06083A045001460000ZM ... 06083A136002390000UH ... 06084A508000290000QT ... 06084A511000950000QL ... 06085A009000130000YK ... 06086A023000710000PG ... 06092A010090070000XY ... 06105A014002400000QA ... 06127A011000890000LG ... 06150A022002960000YK ... 06151A008000450000PE ... 06153A002000420000KQ ... 06154A016090110000XD ... 06160A030009840000AJ ... 06162A009000770000LK ... 06900A228000090000EB ... 06900A228000110000EA ... 06900A230000050000EG ... 0736601QE2503N0002XI ... 0786418PD6508N0001GB ... 0791405PD6509S0001RX ... 0811056TJ8201S0001QF ... 0847501PE8504N0001EF ... 0895009TK5309N0001DA ... 0939216PD5603N0001BB ... 0989801QC2308N0001LY ... 10010A012005070000SA ... 10033A017000040000AH ... 10036A001002140000MU ... 10042A005090420000SX ... 10063A006000030000EW ... 10083A002030290000DX ... 10103A002002490000IE ... 10105A007004020000HQ ... 10118A004030320000PY ... 10122A032090100000FH ... 10134A009000010000RY ... 10149A011090100000YZ ... 10178A034090180000JE ... 1087910TK7118N0001FS ... 10900A044090170000MU ... 1099107TJ3419N0001RR ... 1344504PD5614S0001XE ... 1468103QC6316N0001PQ ... 1470436TJ5117S0001EP ... 15001A005004610000JK ... 15001A005004620000JR ... 15037A024005060000PX ... 1665311QC6316S0001OO ... 1811701QC3711S0001RM ... 1927510QD2812N0001GJ ... 2014801QC3721S0001IR ... 2019001QD2821N0001QR ... 2035116PD7423N0001WL ... 2070105TK4027A0001XW ... 2093020TK8129S0005RA ... 2106409QE0520N0001IO ... 2209001TK5620N0001LL ... 2217331QC3721N0001GL ... 2272003TJ5127S0001JF ... 2335208QC5823N0001YD ... 2372801QC0427S0001MO ... 2380105PC8328S0001PS ... 2409516TK5620N0001HL ... 2444001QD2724C0001EB ... 2595010TK8129N0001XX ... 2641303TK5424S0001WH ... 2667407TJ5126N0001RS ... 2735401PD7423N0001AL ... 2750203PC9625S0001BA ... 2787101TK8128N0001MT ... 2792003TK8129S0001QU ... 2792020TJ6029S0001IO ... 2911401TJ4521S0001BS ... 2951205TJ7025S0001RX ... 3012723TJ4531S0001DH ... 3065602TH8836N0001KA ... 3117006QC3731N0001KM ... 3135901PD7033E0001MF ... 3174922NH0737S0011QS ... 3174932NH0737S0001AT ... 3178101UJ2337N0001IB ... 3327002TJ6332N0001QH ... 3368022PE8136N0001LJ ... 3390803PC9439S0001XR ... 3456202TK7435N0001OU ... 3575302TJ6437N0001QF ... 3809537QC3230N0001JR ... 4028713TK8142N0001TE ... 4045111TK8444N0001KY ... 4443202PD7044C0068ZB ... 4471131PD7047A0001DR ... 4578201UJ0147N0001HD ... 4637801TK6843N0001WI ... 4878424TK6347N0001GT ... 4926002QE4142N0001UP ... 50210A003001510000LT ... 5034623PC6853S0001MO ... 5078102VK8957N0001TB ... 5172401PD7057A0001HI ... 5215006QC5751N0001EO ... 5238069TJ6253N0001PD ... 5335702QE3853N0001AI ... 5342201QC2854S0001WF ... 5347806UK9354N0001RU ... 5349709QC2854N0001FY ... 5410808QD5451S0001SJ ... 5417221QC5751N0001JO ... 5443405UK9354S0001BG ... 5468703QC3356N0001JR ... 5539105PC6853N0001KQ ... 5552401TK6255S0001YQ ... 5640007TJ6254S0001FG ... 5670823QC3357S0001AY ... 5867418QD1256N0001UD ... 5967307QC0256N0001GO ... 5972003QD1257S0001MG ... 6026813QD2762E0001WB ... 6043208PD9164C0001GI ... 6045303QE1564N0001UD ... 6050201PD7065A0001KQ ... 6061002QC2566S0001DF ... 6117611QC4261N0001UX ... 6229101QD2762G0001UG ... 6284203TH6368S0001UH ... 6320001QD2161N0001LI ... 6326404QD2762E0001MB ... 6380501UH0868S0001LT ... 6396405TJ8269N0001QT ... 6407102TJ8360N0001SK ... 6528901UJ0262N0001PP ... 6534011PC9763S0001YZ ... 6537302PD7063H0001WU ... 6595333QD0069N0001OM ... 6642023PD7064F0001SY ... 6684201VK8968S0002RR ... 6743701QD2764D0001IX ... 6795121QD0069N0008EU ... 6821105TK5662S0001QI ... 6822811QD2162S0001GP ... 6837203FT3063N0001YP ... 6893505QC5569S0001LO ... 6991224PD3869S0001FW ... 7076102TJ5177N0001ZE ... 7174002QD2077S0001XW ... 7244002PD7074C0001QY ... 7282901TJ5178S0001BT ... 7383502VK8978S0001PU ... 7384201TJ5178S0012WD ... 7384201TJ5178S0019OB ... 7384201TJ5178S0043QS ... 7479113QE2477N0001UY ... 7499524NH0179N0001RJ ... 7570012TJ4377S0001PO ... 7640222QE4374B0001FR ... 7682601TJ5178S0001XT ... 7749401PD7074H0001HT ... 7865002TJ4376N0001TU ... 7865004TJ4376N0001MU ... 7865006TJ4376N0001KU ... 7977802TJ5177N0001TE ... 8327413PE8482N0001HU ... 8344202PC6684S0001FT ... 8354003PD7085C0001RR ... 8384416TJ8688S0001IQ ... 8579507NH0387N0001QB ... 8645036TJ5984N0001TL ... 8670604TJ4587S0004BE ... 8679007TJ5187N0001LU ... 8696402TH7889N0001XQ ... 8696802TH7889N0001GQ ... 8701105PD7180B0001AU ... 8701110PD7180B0001YU ... 8788845QC2588H0001IJ ... 8796005QD2089N0001WO ... 8796022QD2089N0001OO ... 8827314QD5282N0001RT ... 8843501PC7484S0001KU ... 8910403QD3481S0001LT ... 8990307TH7889S0001OO ... 9013602QD2191S0001ET ... 9165501QE4396E0001YR ... 9201801QD2190S0001PA ... 9205301VL8090N0001PW ... 9265801QE4396E0001PR ... 9327401QE3592N0001JG ... 9655311TK9195N0001OJ ... 9712301QD2191S0001DT ... 9811901DS3191S0001QY ... 9811901TN8391S0001QM ... 9815402PD9391N0001PO ... 9854802PD7195D0001MX ... 9872023 VH5797S 0001 WX ... 9953001PD7195D0001GX ... 9988220VK8998N0001JU ... 9996812TJ9699N0001ZE ... ... ''' >>> [x for x in numbers.splitlines() if x and not referenciacatastral.is_valid(x)] [] python-stdnum-1.13/tests/test_meid.doctest0000644000000000000000000001330513555400451020737 0ustar rootroot00000000000000test_meid.doctest - more detailed doctests for stdnum.meid module Copyright (C) 2010, 2011, 2013 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.meid module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import meid IMEI numbers without the software version (but optionally with a check digit) should be valid numbers: >>> meid.validate('49-015420-323751') '49015420323751' >>> meid.validate('35-209900-176148-1') '35209900176148' >>> meid.validate('35-209900-176148-2') Traceback (most recent call last): ... InvalidChecksum: ... MEIDs can be represented as HEX strings (with and without check digit): >>> meid.validate('AF 01 23 45 0A BC DE') 'AF0123450ABCDE' >>> meid.validate('AF 01 23 45 0A BC DE C') 'AF0123450ABCDE' >>> meid.validate('AF 01 23 45 0A BC DE D') Traceback (most recent call last): ... InvalidChecksum: ... Also, MEIDs can be represented in decimal format (with and without check digit): >>> meid.validate('29360 87365 0070 3710') 'AF0123450ABCDE' >>> meid.validate('29360 87365 0070 3710 0') 'AF0123450ABCDE' >>> meid.validate('29360 87365 0070 3710 1') Traceback (most recent call last): ... InvalidChecksum: ... The validate() method should be fairly robust against invalid junk passed: >>> meid.validate('29360 ABCDE 0070 3710') Traceback (most recent call last): ... InvalidFormat: ... >>> meid.validate('GF 01 23 45 0A BC DE') Traceback (most recent call last): ... InvalidFormat: ... Decimal format MEIDs with manufacturer code exceeding 32-bits should fail. >>> meid.validate('99999 99999 0070 3710 4') Traceback (most recent call last): ... InvalidComponent: ... Decimal format MEIDs with serial number exceeding 24-bits should fail. >>> meid.validate('29360 87365 9999 9999 4') Traceback (most recent call last): ... InvalidComponent: ... The compact method should convert to HEX if needed and can optionally leave the check digit intact. >>> meid.compact('49-015420-323751') '49015420323751' >>> meid.compact('35-209900-176148-2') '35209900176148' >>> meid.compact('35-209900-176148-2', strip_check_digit=False) '352099001761482' >>> meid.compact('af 01 23 45 0a bc de') 'AF0123450ABCDE' >>> meid.compact('AF 01 23 45 0A BC DE C') 'AF0123450ABCDE' >>> meid.compact('AF 01 23 45 0A BC DE C', strip_check_digit=False) 'AF0123450ABCDEC' >>> meid.compact('29360 87365 0070 3710') 'AF0123450ABCDE' >>> meid.compact('29360 87365 0070 3710 0') 'AF0123450ABCDE' >>> meid.compact('29360 87365 0070 3710 0', strip_check_digit=False) 'AF0123450ABCDEC' The format() function can add the check digit if needed. It should leave alone existing check digits (even invalid ones). >>> meid.format('35-209900-176148-2') '35 20 99 00 17 61 48 2' >>> meid.format('35-209900-176148') '35 20 99 00 17 61 48' >>> meid.format('35-209900-176148', add_check_digit=True) '35 20 99 00 17 61 48 1' >>> meid.format('af0123450abcDE') 'AF 01 23 45 0A BC DE' >>> meid.format('af0123450abcDEC', add_check_digit=True) 'AF 01 23 45 0A BC DE C' The format() function can also convert to decimal, recalculating the check digit if needed (conversion will silently correct incorrect check digits): >>> meid.format('35-209900-176148', format='dec') '08913 28768 0153 2232' >>> meid.format('35-209900-176148', format='dec', add_check_digit=True) '08913 28768 0153 2232 3' >>> meid.format('35-209900-176148-9', format='dec') '08913 28768 0153 2232 3' >>> meid.format('af0123450abcDE', format='dec') '29360 87365 0070 3710' >>> meid.format('af0123450abcDE', format='dec', add_check_digit=True) '29360 87365 0070 3710 0' >>> meid.format('af0123450abcDEC', format='dec') '29360 87365 0070 3710 0' >>> meid.format('293608736500703710', format='dec') '29360 87365 0070 3710' >>> meid.format('293608736500703710', format='dec', add_check_digit=True) '29360 87365 0070 3710 0' >>> meid.format('2936087365007037106', format='dec') '29360 87365 0070 3710 6' The format() function can also convert to hex, recalculating the check digit if needed (conversion will silently correct incorrect check digits): >>> meid.format('35-209900-176148', format='hex') '35 20 99 00 17 61 48' >>> meid.format('35-209900-176148', format='hex', add_check_digit=True) '35 20 99 00 17 61 48 1' >>> meid.format('35-209900-176148-9', format='hex') '35 20 99 00 17 61 48 9' >>> meid.format('af0123450abcDE', format='hex') 'AF 01 23 45 0A BC DE' >>> meid.format('af0123450abcDE', format='hex', add_check_digit=True) 'AF 01 23 45 0A BC DE C' >>> meid.format('af0123450abcDEF', format='hex') 'AF 01 23 45 0A BC DE F' >>> meid.format('293608736500703710', format='hex') 'AF 01 23 45 0A BC DE' >>> meid.format('293608736500703710', format='hex', add_check_digit=True) 'AF 01 23 45 0A BC DE C' >>> meid.format('2936087365007037106', format='hex') 'AF 01 23 45 0A BC DE C' The conversion function should work regardless of the check digit and whether decimal or hex representation is used. >>> meid.to_pseudo_esn('AF 01 23 45 0A BC DE C') '8016B128' >>> meid.to_pseudo_esn('29360 87365 0070 3710') '8016B128' python-stdnum-1.13/tests/test_py_ruc.doctest0000644000000000000000000001067013555400451021324 0ustar rootroot00000000000000test_py_ruc.doctest - more detailed doctests for stdnum.py.ruc module Copyright (C) 2019 Leandro Regueiro This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.py.ruc module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.py import ruc Tests for some corner cases. >>> ruc.validate('800280610') '800280610' >>> ruc.validate('80000020-0') '800000200' >>> ruc.format('800001907') '80000190-7' >>> ruc.validate('9991603') '9991603' >>> ruc.validate('2660-3') '26603' >>> ruc.validate('80123456785') Traceback (most recent call last): ... InvalidLength: ... >>> ruc.validate('FF8002121') Traceback (most recent call last): ... InvalidFormat: ... >>> ruc.validate('80021744-8') Traceback (most recent call last): ... InvalidChecksum: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 1068460-3 ... 1070600-3 ... 1075150-5 ... 1086170-0 ... 1120880-5 ... 1152390-5 ... 116840-1 ... 1206910-8 ... 1218000-9 ... 1218400-4 ... 1238600-6 ... 1249160-8 ... 1267110-0 ... 1280950-0 ... 1371610-7 ... 1381630-6 ... 1393200-4 ... 1420870-9 ... 1449540-6 ... 1494600-9 ... 1572440-9 ... 1588230-6 ... 1616440-7 ... 176330-0 ... 1820310-8 ... 1820920-3 ... 1839520-1 ... 1848060-8 ... 1934740-5 ... 2007510-3 ... 2012640-9 ... 2042780-8 ... 2048860-2 ... 2049750-4 ... 2059680-4 ... 2157230-5 ... 2195990-0 ... 2218790-1 ... 2224970-2 ... 2299400-9 ... 2345940-9 ... 2356810-0 ... 2366360-0 ... 2414460-6 ... 244860-2 ... 2498810-3 ... 2513340-3 ... 2634810-1 ... 2863640-6 ... 2874790-9 ... 2889810-9 ... 2908190-4 ... 2951250-6 ... 2997610-3 ... 3196710-8 ... 3206530-2 ... 3330830-6 ... 3387260-0 ... 341160-5 ... 3412130-7 ... 3417980-1 ... 3446170-1 ... 3464340-0 ... 3500120-8 ... 3526270-2 ... 3527940-0 ... 3538680-0 ... 3598580-1 ... 3616260-4 ... 3617350-9 ... 3632060-9 ... 3649750-9 ... 3676210-5 ... 3715270-0 ... 3724170-2 ... 3785560-3 ... 3804540-0 ... 3811470-4 ... 3896270-5 ... 3942870-2 ... 398020-0 ... 3980620-0 ... 3981320-7 ... 3998290-4 ... 4012150-0 ... 4050010-1 ... 410020-4 ... 4107340-1 ... 4116920-4 ... 4179170-3 ... 428770-3 ... 4288350-4 ... 432180-4 ... 4345560-3 ... 4366430-0 ... 440010-0 ... 4416740-7 ... 4421940-7 ... 4507560-3 ... 46470-8 ... 4651020-6 ... 4692880-4 ... 4716240-6 ... 4730250-0 ... 4732250-0 ... 4845310-2 ... 4941300-7 ... 50001080-3 ... 50002520-7 ... 50017800-3 ... 50028750-3 ... 50030670-2 ... 50032280-5 ... 50033340-8 ... 50034850-2 ... 50035860-5 ... 50036990-9 ... 50037400-7 ... 50037650-6 ... 50038920-9 ... 50047020-0 ... 50060170-4 ... 50061570-5 ... 50062160-8 ... 50066800-0 ... 50078920-7 ... 50082020-1 ... 50083320-6 ... 5025370-0 ... 5070050-2 ... 5107680-2 ... 5155780-0 ... 5183950-4 ... 5282210-9 ... 5351470-0 ... 5357880-5 ... 5365190-1 ... 539800-2 ... 545520-0 ... 5621980-6 ... 5632950-4 ... 5714430-3 ... 572080-0 ... 5751190-0 ... 579240-1 ... 579970-8 ... 6232700-3 ... 624910-8 ... 628910-0 ... 6331180-1 ... 685060-0 ... 6914900-3 ... 716120-4 ... 7167830-1 ... 717240-0 ... 786480-9 ... 80005820-8 ... 80006669-3 ... 80006750-9 ... 80011350-0 ... 80017690-1 ... 80019740-2 ... 80020720-3 ... 80022460-4 ... 80027090-8 ... 80031640-1 ... 80034800-1 ... 80034917-2 ... 80040580-3 ... 80048500-9 ... 80050224-8 ... 80051740-7 ... 80056320-4 ... 80056920-2 ... 80060240-4 ... 80060340-0 ... 80061853-0 ... 80061890-4 ... 80065130-8 ... 80065230-4 ... 80065872-8 ... 80071980-8 ... 80072700-2 ... 80075200-7 ... 80078770-6 ... 80084300-2 ... 80084780-6 ... 80086010-1 ... 80088870-7 ... 80097050-0 ... 80101690-8 ... 80102430-7 ... 881220-9 ... 891380-3 ... 897820-4 ... 929240-3 ... 964900-0 ... 989120-0 ... 992100-1 ... 998620-0 ... ... ''' >>> [x for x in numbers.splitlines() if x and not ruc.is_valid(x)] [] python-stdnum-1.13/tests/test_eu_eic.doctest0000644000000000000000000000555413555400450021260 0ustar rootroot00000000000000test_eu_eic.doctest - more detailed doctests for the stdnum.eu.eic module Copyright (C) 2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.eu.eic module. It tries to validate a number of EIC numbers that have been found online. >>> from stdnum.eu import eic These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 10T-NO-SE-00005Q ... 10Y1001A1001B05V ... 10YAT-APG------L ... 10YCH-SWISSGRIDZ ... 10YDE-RWENET---I ... 10YDE-VE-------2 ... 11WD8JAEN1L---AD ... 11XE-WERK-STERNP ... 11XEMRHAENDLER-M ... 11XNATGAST00000G ... 11XNEW-ENERGIE-8 ... 11XWEMAG-------Q ... 13X-IKBAG-NV---3 ... 14X-VES--------8 ... 18X0000000002OOE ... 18X0000000003VQM ... 18XAIGVA-12345-G ... 18XALMAL-1234-12 ... 18XCEG-123456-1F ... 18XCEPSA-12345-6 ... 18XEACCO-12345-K ... 18XENERS-12345-Q ... 18XEPCSA-12345-S ... 18XERUYA-12345-5 ... 18XGEM3-12345--K ... 18XGESTN-12345-G ... 18XJEALS-12345-P ... 18XLURIA-12345-Y ... 18XMONTO-12345-C ... 18XUTZUB-1234-1M ... 19XENIONENERGIAM ... 21W000000000092T ... 21X0000000011845 ... 21X000000001297T ... 21YEA-EC-------9 ... 22X20160610----4 ... 23X----090406-1H ... 23X--150408-AS-5 ... 23XB4CARCAPMKT-H ... 25X-SHELLAUSTRIL ... 26X00000004851-Y ... 26X00000105742-Q ... 26X00000107862-1 ... 27XAPTPOWER-CZ-3 ... 27XG-ACTHERM-CV1 ... 27XG-RWE-STP-CZJ ... 27XMND---------8 ... 28XENS---------6 ... 37X000000000054S ... 59X000000000110J ... 59X0000000001515 ... 59X0000000002309 ... 59Z000000000216C ... 59Z000000000276V ... 59Z000000000368Q ... 59Z0000000004180 ... 59Z000000000673L ... 59Z000000000905Q ... 59Z000000001369J ... 59Z000000001534U ... 59Z0000000017952 ... 59Z000000001801X ... 59Z000000001934E ... 59Z0000000020518 ... 59Z0000000021522 ... 59Z000000002270X ... 59Z000000002349K ... 59Z000000002376H ... 59Z000000002475F ... 59Z0000000027818 ... 59Z000000003405V ... 59Z000000003499X ... 59Z000000003597X ... 59Z0000000036639 ... 59Z0000000038194 ... 59Z000000003867U ... 59Z000000004048O ... 59Z000000004192H ... 59Z000000004481A ... 59Z0000000045638 ... 59Z000000004595W ... 59Z000000004748X ... 59Z000000004764Z ... 59Z000000004787N ... ... ''' >>> [x for x in numbers.splitlines() if x and not eic.is_valid(x)] [] python-stdnum-1.13/tests/test_de_handelsregisternummer.doctest0000644000000000000000000001624013555400450025100 0ustar rootroot00000000000000test_de_handelsregisternummer.doctest - tests for German register number Copyright (C) 2018-2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA >>> from stdnum.de import handelsregisternummer >>> import stdnum.exceptions Some basic tests for valid numbers. >>> handelsregisternummer.validate('Bad Homburg v.d.H. PR 11223') 'Bad Homburg v.d.H. PR 11223' >>> handelsregisternummer.validate('Ludwigshafen a.Rhein (Ludwigshafen) VR 11223') 'Ludwigshafen a.Rhein (Ludwigshafen) VR 11223' >>> handelsregisternummer.validate('Aachen HRA 11223', company_form='KG') 'Aachen HRA 11223' >>> handelsregisternummer.validate('Frankfurt/Oder GnR 11223', company_form='e.G.') 'Frankfurt/Oder GnR 11223' >>> handelsregisternummer.validate('Bad Homburg v.d.H. PR 11223', company_form='PartG') 'Bad Homburg v.d.H. PR 11223' >>> handelsregisternummer.validate('Ludwigshafen a.Rhein (Ludwigshafen) VR 11223', company_form='e.V.') 'Ludwigshafen a.Rhein (Ludwigshafen) VR 11223' >>> handelsregisternummer.validate('Berlin (Charlottenburg) HRA 11223 B') 'Berlin (Charlottenburg) HRA 11223 B' >>> handelsregisternummer.validate('Berlin (Charlottenburg) HRB 11223B') 'Berlin (Charlottenburg) HRB 11223 B' >>> handelsregisternummer.validate('Berlin (Charlottenburg) HRA 11223 B') 'Berlin (Charlottenburg) HRA 11223 B' >>> handelsregisternummer.validate('Berlin (Charlottenburg) HRB 11223B') 'Berlin (Charlottenburg) HRB 11223 B' Tests for some corner cases. >>> handelsregisternummer.validate('Berlin (Charlottenburg) HRA 11223 BBBB') Traceback (most recent call last): ... InvalidFormat: ... The court name can also be shortened and various encodings are accepted but we only return either Unicode or UTF-8 (Python 2 only). The tests are a bit funky so they work both in Python 2 and Python 3. >>> handelsregisternummer.validate('Berlin HRB 11223 B') # Charlottenburg missing 'Berlin (Charlottenburg) HRB 11223 B' >>> handelsregisternummer.validate('St. Ingbert HRA 61755') 'St. Ingbert (St Ingbert) HRA 61755' >>> number = u'K\xf6ln HRB 49263' # Unicode >>> handelsregisternummer.validate(number) == number True >>> utf8 = 'K\xc3\xb6ln HRB 49263' # UTF-8 >>> handelsregisternummer.validate(utf8) == 'Köln HRB 49263' True >>> iso885915 = 'K\xf6ln HRB 49263' # ISO-8859-15 >>> handelsregisternummer.validate(iso885915) == 'Köln HRB 49263' True >>> ascii = 'Koln HRB 49263' # ASCII replaced >>> handelsregisternummer.validate(ascii) == 'Köln HRB 49263' True >>> handelsregisternummer.validate('KXln HRB 49263') # too wrong Traceback (most recent call last): ... InvalidComponent: ... >>> handelsregisternummer.validate('Hamburg HRA 61755') 'Hamburg HRA 61755' >>> handelsregisternummer.validate('Homburg HRA 61755') 'Homburg HRA 61755' The compact function does minimal validation. >>> handelsregisternummer.compact('KXln HRB 49263') 'KXln HRB 49263' These have been found online and should all be valid numbers. >>> numbers = """ ... Aachen HRB 11214 ... Aachen HRB 5360 ... Aachen HRB 987 ... Augsburg HRA 1 ... Bad Oeynhausen HRA 5980 ... Bad Oeynhausen HRB 14572 ... Bad Oeynhausen HRB 5087 ... Bad Oeynhausen HRB 8753 ... Berlin (Charlottenburg) HRB 178881 ... Berlin HRB 87447 B ... Bochum HRA 5582 ... Bochum HRA 5828 ... Bochum HRB 1 ... Braunschweig HRB 8057 ... Chemnitz HRB 14011 ... Coesfeld HRA 7092 ... Coesfeld HRB 13681 ... Coesfeld HRB 6930 ... Dortmund HRA 18285 ... Dortmund HRB 13762 ... Dortmund HRB 25525 ... Dresden HRB 29828 ... Düren HRA 1971 ... Düren HRA 3014 ... Düren HRB 3138 ... Düsseldorf HRB 16894 ... Düsseldorf HRB 42518 ... Düsseldorf HRB 45892 ... Düsseldorf HRB 67311 ... Eschwege HRA 2115 ... Essen HRA 8158 ... Flensburg HRB 4057 FL ... Flensburg HRA 4057 FL ... Friedberg HRB 5519 ... Fulda HRA 653 ... Fürth, HRB 7754 ... Gelsenkirchen HRA 1838 ... Gelsenkirchen HRB 3694 ... Gelsenkirchen HRB 7246 ... Gießen HRB 7519 ... Göttingen HRA 130944 ... Göttingen HRB 201633 ... Gütersloh HRB 4290 ... HRA 350654, Mannheim ... HRB 151080 B, Charlottenburg ... HRB 178881 B, Charlottenburg ... Hagen HRB 4101 ... Hagen HRB 8315 ... Hamm HRB 5488 ... Hamm HRB 942 ... Hanau HRB 5015 ... Hannover HRA 200593 ... Hannover HRA 203664 ... Hannover HRB 100146 ... Hannover HRB 110948 ... Hildesheim HRA 100692 ... Hildesheim HRB 203244 ... Hildesheim HRB 3587 ... Iserlohn HRB 8669 ... Jena HRA 102336 ... Jena HRA 202638 ... Jena HRA 301593 ... Jena HRB 106960 ... Jena HRB 112624 ... Jena HRB 202400 ... Jena HRB 207705 ... Jena HRB 305494 ... Jena HRB 405517 ... Koblenz HRA 12710 ... Koblenz HRB 3000 ... Korbach HRA 659 ... Köln HRA 22861 ... Köln HRB 21508 ... Köln HRB 33876 ... Köln HRB 48349 ... Köln HRB 52006 ... Landau HRB 1668 ... Leipzig HRA 15866 ... Leipzig HRB 17256 ... Leipzig HRB 24591 ... Ludwigshafen a.Rhein (Ludwigshafen) HRB 65041 ... Lübeck HRB 12065 HL ... Lübeck HRB 12067 HL ... Lübeck HRB 12068 HL ... Lübeck HRB 12085 HL ... Lübeck HRB 5873 HL ... Mönchengladbach HRA 3644 ... Mönchengladbach HRB 5867 ... Mönchengladbach HRB 6639 ... Mönchengladbach HRB 7785 ... München HRB 1 ... München HRB 178881 ... Münster HRA 8289 ... Neubrandenburg HRB 4956 ... Neuss HRB 9817 ... Oldenburg (Oldenburg) HRA 110612 ... Oldenburg (Oldenburg) HRA 120361 ... Oldenburg (Oldenburg) HRB 111147 ... Oldenburg (Oldenburg) HRB 120757 ... Oldenburg (Oldenburg) HRB 151060 ... Oldenburg (Oldenburg) HRB 201016 ... Osnabrück HRB 1090 ... Paderborn HRA 1076 ... Paderborn HRA 1364 ... Paderborn HRA 3549 ... Paderborn HRB 361 ... Paderborn HRB 3659 ... Paderborn HRB 653 ... Paderborn HRB 6774 ... Paderborn früher Höxter HRB 9 ... Pinneberg HRB 12700 PI ... Pinneberg GNR 1 IZ ... Recklinghausen HRB 4702 ... Rostock HRA 887 ... Saarbrücken HRB 102069 ... Siegen HRA 7881 ... Siegen HRB 10955 ... Siegen HRB 5398 ... Siegen HRB 7426 ... Straubing PR 8 ... Stuttgart HRB 460675 ... Tostedt HRB 100870 ... Traunstein GnR 1 ... Walsrode HRB 202134 ... Wiesbaden HRB 11946 ... Wittlich HRB 42489 ... Wuppertal HRA 22088 ... Wuppertal HRB 13986 ... Wuppertal HRB 14596 ... Wuppertal HRB 16127 ... Zweibrücken HRB 22575 ... """ >>> [x for x in numbers.splitlines() if x and not handelsregisternummer.is_valid(x)] [] python-stdnum-1.13/tests/test_nz_ird.doctest0000644000000000000000000000343413555400451021310 0ustar rootroot00000000000000test_nz_ird.doctest - more detailed tests for stdnum.nz.ird Copyright (C) 2019 Leandro Regueiro Copyright (C) 2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.nz.ird module. >>> from stdnum.nz import ird >>> from stdnum.exceptions import * This is a selection of numbers (which should be valid) found at https://www.ird.govt.nz/-/media/Project/IR/PDF/2020RWTNRWTSpecificationDocumentv10.pdf >>> ird.validate('49091850') '49091850' >>> ird.validate('136410133') Traceback (most recent call last): ... InvalidChecksum: ... >>> ird.validate('9125568') Traceback (most recent call last): ... InvalidLength: ... Test for corner cases. >>> ird.validate('1234567A') Traceback (most recent call last): ... InvalidFormat: ... >>> ird.validate('150000001') Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 047-179-025 ... 136410132 ... 35901981 ... 49098576 ... 53-710-220 ... 61-631-852 ... ... ''' >>> [x for x in numbers.splitlines() if x and not ird.is_valid(x)] [] python-stdnum-1.13/tests/test_ismn.doctest0000644000000000000000000000515313555400451020771 0ustar rootroot00000000000000test_ismn.doctest - more detailed doctests for stdnum.ismn module Copyright (C) 2010-2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ismn module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import ismn These are normal variations that should just work. >>> ismn.validate('979-0-3217-6543-6') '9790321765436' >>> ismn.validate('979-0-3217-6544-3') '9790321765443' >>> ismn.validate('9790321765450') '9790321765450' >>> ismn.validate('M-3217-6546-7') 'M321765467' >>> ismn.validate('M321765474') 'M321765474' >>> ismn.validate('979-0-260000438') '9790260000438' Tests for mangling and incorrect check digits. >>> ismn.validate('979-0-3217-6543-x') Traceback (most recent call last): ... InvalidFormat: ... >>> ismn.validate('M-3217-6546-8') Traceback (most recent call last): ... InvalidChecksum: ... >>> ismn.validate('979M321765450') Traceback (most recent call last): ... InvalidComponent: ... >>> ismn.validate('Z-3217-6546-8') Traceback (most recent call last): ... InvalidFormat: ... See if 10 to 13 digit conversion works. >>> ismn.to_ismn13('979-0-32176544-3') # ismn13 should stay ismn13 '979-0-32176544-3' >>> ismn.to_ismn13('M-32176546-7') '979-0-32176546-7' >>> ismn.to_ismn13('M 3217 65504') '979 0 3217 65504' Test the ismn_type() function >>> ismn.ismn_type('M-3217-6546-7') 'ISMN10' >>> ismn.ismn_type('BAD') >>> ismn.ismn_type('9790321765450') 'ISMN13' Regrouping tests. >>> ismn.format('M-3217-6546-7') '979-0-3217-6546-7' >>> ismn.format('9790321765450') '979-0-3217-6545-0' While an EAN can also be less than 13 digits and ISMN should always be 13 digits (when not 10 digits) and start with 9790. >>> ismn.validate('979023456784') Traceback (most recent call last): ... InvalidLength: ... >>> ismn.validate('9781234567866') Traceback (most recent call last): ... InvalidComponent: ... python-stdnum-1.13/tests/test_ar_cbu.doctest0000644000000000000000000001113513555400450021252 0ustar rootroot00000000000000test_ar_cbu.doctest - more detailed doctests for the stdnum.ar.cbu module Copyright (C) 2016 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ar.cbu module. It tries to validate a number of numbers that have been found online. >>> from stdnum.ar import cbu >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 0 0 7 0 9 9 9 0 2 0 0 0 0 0 6 5 7 0 6 0 8 0 ... 0 1 1 0 4 3 3 6 3 0 0 4 3 3 1 3 8 5 7 6 8 3 ... 0 1 4 0 3 3 9 6 0 1 6 3 0 2 0 1 3 8 1 2 7 6 ... 0 1400 236 – 01 5068 0262 5874 ... 0 4 4 0 0 6 4 – 6 – 4 0 0 0 0 1 4 2 9 4 1 0 9 – 2 ... 0 7 2 0 1 4 6 8 2 0 0 0 0 0 0 1 0 6 2 3 4 0 ... 0 7 2 0 1 6 8 0 2 0 0 0 0 0 0 1 1 8 3 2 3 6 ... 0 7 2 0 3 8 0 8 8 8 0 0 0 0 3 5 5 3 3 9 6 8 ... 0070034420000002310035 ... 0070085620000002598406 ... 0070089420000002991793 ... 0070090020000004146504 ... 0070109530004141775453 ... 0070114920000004100700 ... 0070274620000003448717 ... 0070999020000057705860 ... 0110097630009704213797 ... 0110102320010200444955 ... 0110106130010603111097 ... 0110106130010604601847 ... 0110125220012510923535 ... 0110130620013014594573 ... 0110175730017523189801 ... 0110204030020409626051 ... 0110216320021610025999 ... 0110230930023001323933 ... 0110230930023008918451 ... 0110283520028310814652 ... 0110363020036300101822 ... 0110377720037700120402 ... 0110385220038500036492 ... 0110409120040921180719 ... 0110424420042410570553 ... 0110454130045407688379 ... 0110477020047731297428 ... 0110508720050800019135 ... 0110521620052100223696 ... 0110551320055100112719 ... 0140313601697100515896 ... 0140313601697100557414 ... 0140339601630201381276 ... 0140351801684605023087 ... 0140352501684700733410 ... 0140352503684700819149 ... 0140369303631000285682 ... 0140391403672850026131 ... 0140410801680000361629 ... 0140417701630000088992 ... 0140444301650700088379 ... 0140476401626402048153 ... 01505016-02000120967405 ... 0168888-1-0000827441015-8 ... 0168888100000641080265 ... 0170074920000030293449 ... 01703342 – 200 000 3036 7766 ... 0200306901000040010097 ... 0200348901000000334779 ... 0200398411000030044362 ... 0200405501000000213951 ... 0200451211000030033962 ... 0200915901000000274233 ... 03400562 00560007577005 ... 0720000720000001681136 ... 0720079388000035942322 ... 0720297320000000081418 ... 0720402320000002633754 ... 0930301810100000992800 ... 0930301810100001043132 ... 0930310010100014278400 ... 0930324720100053299139 ... 0930324720100055211111 ... 0940099324001313220028 ... 1 5 0 0 0 0 6 0 0 0 0 0 5 6 6 0 4 4 7 2 0 0 ... 1 5 0 0 0 8 7 9 - 0 0 0 5 1 3 3 2 0 7 5 1 9 - 6 ... 1 9 1 0 1 1 9 6 5 5 0 1 1 9 0 1 0 8 4 6 4 6 ... 1910104255110401549353 ... 1910126455012600786400 ... 1910186855018601143246 ... 1910369755036901130632 ... 2850345330000000781858 ... 2850353830094127564171 ... 2850376730000059833142 ... 2850400530094105352671 ... 2850536730094125514871 ... 2850590940090418135201 ... 2850729540000001576069 ... 2850732530000002707016 ... 2850734940094696942458 ... 2850760830094054972021 ... 2850882330094054578991 ... 3110003611000000537014 ... 3110013511000600125046 ... 3300542115420000740012 ... 3300551315510001836040 ... 3860002703000000438381 ... 3860011901000020526675 ... 3860060703000013990500 ... 5729195067928761667584 ... 7362966507842824472644 ... 9498175528566296510521 ... ... ''' >>> [x for x in numbers.splitlines() if x and not cbu.is_valid(x)] [] More detailed tests: >>> cbu.validate('285059094009041') Traceback (most recent call last): ... InvalidLength: ... >>> cbu.validate('A850590940090418135201') Traceback (most recent call last): ... InvalidFormat: ... >>> cbu.validate('0940099324001313220028') '0940099324001313220028' >>> cbu.validate('1940099324001313220028') # error in first part Traceback (most recent call last): ... InvalidChecksum: ... >>> cbu.validate('0940099324001313220038') # error in second part Traceback (most recent call last): ... InvalidChecksum: ... python-stdnum-1.13/tests/test_za_tin.doctest0000644000000000000000000000342413555400451021306 0ustar rootroot00000000000000test_za_tin.doctest - more detailed doctests for stdnum.za.tin module Copyright (C) 2019 Leandro Regueiro This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.za.tin module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.za import tin Tests for some corner cases. >>> tin.validate('0001339050') '0001339050' >>> tin.validate('0843089848') '0843089848' >>> tin.validate('0843/089/84/8') '0843089848' >>> tin.format('084308984-8') '0843089848' >>> tin.validate('12345') Traceback (most recent call last): ... InvalidLength: ... >>> tin.validate('FF01339050') Traceback (most recent call last): ... InvalidFormat: ... >>> tin.validate('5001339050') Traceback (most recent call last): ... InvalidComponent: ... >>> tin.validate('2449/494/16/0') Traceback (most recent call last): ... InvalidChecksum: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 0001339050 ... 0843089848 ... ... ''' >>> [x for x in numbers.splitlines() if x and not tin.is_valid(x)] [] python-stdnum-1.13/tests/test_ec_ci.doctest0000644000000000000000000000362613555400450021067 0ustar rootroot00000000000000test_ec_ci.doctest - more detailed doctests for stdnum.ec.ci module Copyright (C) 2014 Jonathan Finlay Copyright (C) 2014 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ec.ci. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.ec import ci >>> from stdnum.exceptions import * Normal values that should just work. >>> ci.validate('1714307103') '1714307103' >>> ci.validate('171430710-3') '1714307103' >>> ci.validate('0602910945') '0602910945' >>> ci.validate('0926687856') '0926687856' >>> ci.validate('0910005917') '0910005917' Some invalid numbers. >>> ci.validate('1714307104') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> ci.validate('171430710') # digit missing Traceback (most recent call last): ... InvalidLength: ... >>> ci.validate('123A567890') # contains a letter Traceback (most recent call last): ... InvalidFormat: ... >>> ci.validate('1784307108') # third digit wrong Traceback (most recent call last): ... InvalidComponent: ... >>> ci.validate('8814307107') # invalid province code Traceback (most recent call last): ... InvalidComponent: ... python-stdnum-1.13/tests/test_pe_cui.doctest0000644000000000000000000000404213555400451021263 0ustar rootroot00000000000000test_pe_cui.doctest - more detailed doctests for stdnum.pe.cui module Copyright (C) 2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.pe.ruc module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.pe import cui Tests for some corner cases. >>> cui.validate('10812543-3') '108125433' >>> cui.validate('10812543-H') '10812543H' >>> cui.validate('1081254332') Traceback (most recent call last): ... InvalidLength: ... >>> cui.validate('108125H3-3') Traceback (most recent call last): ... InvalidFormat: ... >>> cui.to_ruc('10812543-3') '10108125433' These 9-digit numbers have been found online and should all be valid numbers. >>> numbers = ''' ... ... ... 05209244-8 ... 05337812-4 ... 06009893-5 ... 06224656-7 ... 06416641-2 ... 06477277-1 ... 06770169-6 ... 07750457-1 ... 07881352-6 ... 09482447-3 ... 09537333-5 ... 10117410-2 ... 10123558-6 ... 10586119B ... 17859853-3 ... 25465832-0 ... 25543680E ... 25735046-6 ... 32023446H ... 33562458-6 ... 40812023-9 ... 42189197-0 ... 42388604-3 ... 43381907-7 ... 43451826-7 ... 45055499E ... 46788632-6 ... 46967914-0 ... 47205319-7 ... 474996072 ... 63109177-1 ... 70025425-4 ... 71347545-4 ... 72641234-6 ... 72859897-8 ... ... ''' >>> [x for x in numbers.splitlines() if x and not cui.is_valid(x)] [] python-stdnum-1.13/tests/test_my_nric.doctest0000644000000000000000000000620613555400451021463 0ustar rootroot00000000000000test_my_nric.doctest - more detailed doctests for stdnum.my.nric module Copyright (C) 2013, 2014 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.my.nric. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.my import nric >>> from stdnum.exceptions import * Normal values that should just work. >>> nric.validate('770305-02-1234') '770305021234' >>> nric.validate('890131-06-1224') '890131061224' >>> nric.validate('810909785542') '810909785542' >>> nric.validate('880229875542') '880229875542' Get the birth date: >>> nric.get_birth_date('770305-02-1234') datetime.date(1977, 3, 5) >>> nric.get_birth_date('890131-06-1224') datetime.date(1989, 1, 31) >>> nric.get_birth_date('810909785542') datetime.date(1981, 9, 9) >>> nric.get_birth_date('880229875542') datetime.date(1988, 2, 29) Get the birth place: >>> str(nric.get_birth_place('770305-02-1234')['state']) 'Kedah' >>> str(nric.get_birth_place('890131-06-1224')['state']) 'Pahang' >>> str(nric.get_birth_place('810909785542')['country']).upper() 'SRI LANKA' >>> str(nric.get_birth_place('880229875542')['countries']).upper() 'BRITAIN, GREAT BRITAIN, IRELAND' Formatting: >>> nric.format('770305-02-1234') '770305-02-1234' >>> nric.format('890131-06-1224') '890131-06-1224' >>> nric.format('810909785542') '810909-78-5542' >>> nric.format('880229875542') '880229-87-5542' Invalid date: >>> nric.validate('771305-02-1234') Traceback (most recent call last): ... InvalidComponent: ... >>> nric.validate('890132-06-1224') Traceback (most recent call last): ... InvalidComponent: ... >>> nric.validate('870229875542') Traceback (most recent call last): ... InvalidComponent: ... Invalid birth place: >>> nric.validate('770305-00-1234') Traceback (most recent call last): ... InvalidComponent: ... >>> nric.validate('890131-17-1224') Traceback (most recent call last): ... InvalidComponent: ... >>> nric.validate('810909805542') Traceback (most recent call last): ... InvalidComponent: ... >>> nric.validate('880229195542') Traceback (most recent call last): ... InvalidComponent: ... Just invalid numbers: >>> nric.validate('770305-00') Traceback (most recent call last): ... InvalidLength: ... >>> nric.validate('890A31-17-1224') Traceback (most recent call last): ... InvalidFormat: ... >>> nric.get_birth_place('8109098') Traceback (most recent call last): ... InvalidComponent: ... python-stdnum-1.13/tests/test_no_mva.doctest0000644000000000000000000000263613555400451021305 0ustar rootroot00000000000000test_no_mva.doctest - more detailed doctests for stdnum.no.mva module Copyright (C) 2015 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.no.mva module. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.no import mva These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 965 920 358 MVA ... 980 430 596 MVA ... 998 772 680 MVA ... NO 987 008 644 MVA ... NO 917 313 008 MVA ... NO 948007029 MVA ... NO 966 813 946 MVA ... NO 982 930 057 MVA ... NO 982 952 573 MVA ... NO 987 008 644 MVA ... NO 987 989 297 MVA ... ... ''' >>> [x for x in numbers.splitlines() if x and not mva.is_valid(x)] [] python-stdnum-1.13/tests/test_cn_ric.doctest0000644000000000000000000000420513555400450021254 0ustar rootroot00000000000000test_cn_ric.doctest - more detailed doctests for stdnum.cn.ric module Copyright (C) 2014 Jiangge Zhang This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.cn.ric. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.cn import ric >>> from stdnum.exceptions import * # noqa Normal values that should just work. >>> ric.validate('360426199101010071') '360426199101010071' >>> ric.validate('44011320141005001x') '44011320141005001X' >>> ric.format('44011320141005001x') '44011320141005001X' Get the birth date: >>> ric.get_birth_date('360426199101010071') datetime.date(1991, 1, 1) >>> ric.get_birth_date('44011320141005001x') datetime.date(2014, 10, 5) Get the birth place: >>> c = ric.get_birth_place('360426199101010071')['county'] >>> c == u'\u5fb7\u5b89\u53bf' True >>> c = ric.get_birth_place('44011320141005001x')['county'] >>> c == u'\u756a\u79ba\u533a' True Invalid format: >>> ric.validate('T60426199101010078') Traceback (most recent call last): ... InvalidFormat: ... Invalid date: >>> ric.validate('360426199113010079') Traceback (most recent call last): ... InvalidComponent: ... Invalid checksum: >>> ric.validate('36042619910102009X') Traceback (most recent call last): ... InvalidChecksum: ... Invalid location: >>> ric.validate('990426199112010074') # unknown birth place code Traceback (most recent call last): ... InvalidComponent: ... python-stdnum-1.13/tests/test_do_rnc.py0000644000000000000000000000601613555400450020250 0ustar rootroot00000000000000# test_do_rnc.py - functions for testing the online RNC validation # coding: utf-8 # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA # This is a separate test file because it should not be run regularly # because it could negatively impact the online service. """Extra tests for the stdnum.do.rnc module.""" import os import unittest from stdnum.do import rnc @unittest.skipIf( not os.environ.get('ONLINE_TESTS'), 'Do not overload online services') class TestDGII(unittest.TestCase): """Test the web services provided by the the Dirección General de Impuestos Internos (DGII), the Dominican Republic tax department.""" def test_check_dgii(self): """Test stdnum.do.rnc.check_dgii()""" # Test a normal valid number result = rnc.check_dgii('131098193') self.assertTrue(all( key in result.keys() for key in ['rnc', 'name', 'commercial_name', 'category', 'status'])) self.assertEqual(result['rnc'], '131098193') # Test an invalid length number self.assertIsNone(rnc.check_dgii('123')) # Test a number with an invalid checksum self.assertIsNone(rnc.check_dgii('112031226')) # Valid number but unknown self.assertIsNone(rnc.check_dgii('814387152')) # Test a number on the whitelist result = rnc.check_dgii('501658167') self.assertEqual(result['rnc'], '501658167') def test_search_dgii(self): """Test stdnum.do.rnc.search_dgii()""" # Search for some existing companies results = rnc.search_dgii('EXPORT DE') self.assertGreaterEqual(len(results), 3) self.assertRegexpMatches(results[0]['rnc'], r'\d{9}') self.assertRegexpMatches(results[1]['rnc'], r'\d{9}') self.assertRegexpMatches(results[2]['rnc'], r'\d{9}') # Check maximum rows parameter two_results = rnc.search_dgii('EXPORT DE', end_at=2) self.assertEqual(len(two_results), 2) self.assertEqual(two_results, results[:2]) # Check the start_at parameter two_results = rnc.search_dgii('EXPORT DE', end_at=3, start_at=2) self.assertEqual(len(two_results), 2) self.assertEqual(two_results, results[1:3]) # Check non-existing company results = rnc.search_dgii('NON-EXISTING COMPANY') self.assertEqual(results, []) python-stdnum-1.13/tests/test_ve_rif.doctest0000644000000000000000000001137713555400451021302 0ustar rootroot00000000000000test_ve_nitp.doctest - more detailed doctests stdnum.ve.rif Copyright (C) 2015-2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ve.rif module. >>> from stdnum.ve import rif >>> from stdnum.exceptions import * Test a few corner cases. >>> rif.validate('V-11470283-4') 'V114702834' >>> rif.validate('V-11470283-3') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> rif.validate('V-114702839-4') # too long Traceback (most recent call last): ... InvalidLength: ... >>> rif.validate('Z-11470283-4') # invalid first digit Traceback (most recent call last): ... InvalidComponent: ... >>> rif.validate('V-11A70283-4') # not a digit Traceback (most recent call last): ... InvalidFormat: ... These have been found online and should all be valid numbers. An online validation service is available at http://contribuyente.seniat.gob.ve/BuscaRif/BuscaRif.jsp >>> numbers = ''' ... ... E810812535 ... E820238691 ... E834220159 ... G-20000085-6 ... G200000023 ... G200000031 ... G200001496 ... G200001534 ... G200001941 ... G200002123 ... G200003030 ... G200008075 ... G20000826-1 ... G200008261 ... G200010320 ... G200010843 ... G200013761 ... G200014288 ... G200015969 ... G200016639 ... G200017643 ... G200018232 ... G200047461 ... G200081473 ... G200081988 ... G200088060 ... G200088346 ... G200088494 ... G200088893 ... G200089148 ... G200089202 ... G200093811 ... G200094257 ... G200094451 ... G200094907 ... G200095253 ... G200100141 ... J-00004793-6 ... J-00051895-5 ... J-07540999-0 ... J-08507040-0 ... J-29372153-9 ... J-29485175-4 ... J-29573388-7 ... J-30022035-4 ... J-30023227-1 ... J-30360145-6 ... J-30816256-6 ... J-30927229-2 ... J-30935829-4 ... J-30953416-5 ... J-31176347-3 ... J-31228443-9 ... J-31330629-0 ... J-31424055-2 ... J-31478723-3 ... J-31511979-0 ... J-31679729-5 ... J-31727846-1 ... J-40099327-0 ... J-40162851-6 ... J-40315878-9 ... J-40546341-4 ... J-40573653-4 ... J-40748167-3 ... J-40807479-6 ... J-40821643-4 ... J-40953532-0 ... J-40994900-1 ... J000004676 ... J000089337 ... J000760977 ... J001255524 ... J002477474 ... J002662239 ... J002972734 ... J075037987 ... J075050169 ... J075053354 ... J075077733 ... J075113527 ... J075213530 ... J075216954 ... J075429486 ... J075457323 ... J075607945 ... J075757661 ... J075831250 ... J075872266 ... J075887948 ... J293873886 ... J293913101 ... J294607730 ... J294625967 ... J295403925 ... J295479930 ... J295486308 ... J295635613 ... J296390088 ... J296630127 ... J296932565 ... J297362460 ... J298254041 ... J298284307 ... J298300949 ... J298390336 ... J298570172 ... J29867813-5 ... J299505048 ... J300926966 ... J301280199 ... J301339193 ... J30136953-0 ... J301392019 ... J301554841 ... J301873947 ... J302027861 ... J302037018 ... J302065623 ... J302410681 ... J302447410 ... J302453640 ... J30248707-2 ... J302527678 ... J302934141 ... J303758720 ... J304509367 ... J304577494 ... J304798350 ... J305110794 ... J305183465 ... J305258392 ... J305403171 ... J305706433 ... J305941483 ... J305979154 ... J306728520 ... J306953558 ... J307331780 ... J307573694 ... J307584947 ... J308192252 ... J308357219 ... J309233025 ... J309520512 ... J309715038 ... J310034168 ... J310308268 ... J310650322 ... J310948968 ... J311397159 ... J311999310 ... J312306009 ... J313032735 ... J313387819 ... J313430706 ... J313476366 ... J314565770 ... J315922614 ... J317067584 ... J317328400 ... J400316375 ... J401559352 ... J402153570 ... J403832528 ... P – 000 60157 – 3 ... P-00033812-0 ... V-03707781-6 ... V-07811271-5 ... V-09136615-7 ... V-09136616-5 ... V-10031105-0 ... V-11024023-2 ... V-11470283-4 ... V-11841315-2 ... V-12252850-9 ... V-13271127-1 ... V-17126146-1 ... V-17128754-1 ... V-19676417-4 ... V-20674844-0 ... V-25808097-8 ... V-27327212-3 ... V008215150 ... V021998164 ... V027564794 ... V029000928 ... V034360312 ... V037939567 ... V045512858 ... V072507564 ... V102259498 ... V131527361 ... V135744740 ... V177993626 ... V193631599 ... V244455138 ... V258279570 ... V297721182 ... V725655084 ... ... ''' >>> [x for x in numbers.splitlines() if x and not rif.is_valid(x)] [] python-stdnum-1.13/tests/test_ean.doctest0000644000000000000000000000260013555400450020557 0ustar rootroot00000000000000test_ean.doctest - more detailed doctests for the stdnum.ean module Copyright (C) 2013 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ean module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum import ean These numbers have broken checksums or are mangled: >>> ean.validate('7501031311309') '7501031311309' >>> ean.validate('75010313113') Traceback (most recent call last): ... InvalidLength: ... >>> ean.validate('750103AAAA309') Traceback (most recent call last): ... InvalidFormat: ... >>> ean.validate('7501031311308') Traceback (most recent call last): ... InvalidChecksum: ... python-stdnum-1.13/tests/test_es_cups.doctest0000644000000000000000000000505513555400450021464 0ustar rootroot00000000000000test_es_cups.doctest - more detailed doctests for stdnum.es.cups module Copyright (C) 2016 David García Garzón Copyright (C) 2016 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.es.cups. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.es import cups >>> from stdnum.exceptions import * >>> cups.compact('ES 1234-123456789012-jy') 'ES1234123456789012JY' >>> cups.validate('ES 1234-123456789012-JY') 'ES1234123456789012JY' >>> cups.validate('GB 1234-123456789012-JY') Traceback (most recent call last): ... InvalidComponent: ... >>> cups.validate('ES 1234-12X456789012-JY') Traceback (most recent call last): ... InvalidFormat: ... >>> cups.validate('ES 1234-12345678901X-JY') Traceback (most recent call last): ... InvalidFormat: ... >>> cups.validate('ES 1234-12456789012-JY') Traceback (most recent call last): ... InvalidLength: ... >>> cups.validate('ES 1234-123456789012-JY 1F') 'ES1234123456789012JY1F' >>> cups.validate('ES 1234-123456789012-JY 1T') Traceback (most recent call last): ... InvalidFormat: ... >>> cups.validate('ES 1234-123456789012-JY XF') Traceback (most recent call last): ... InvalidFormat: ... >>> cups.validate('ES 1234-123456789012-XY 1F') Traceback (most recent call last): ... InvalidChecksum: ... >>> cups.is_valid('ES 1234-123456789012-JY 1F') True >>> cups.is_valid('ES 1234-123456789012-XY 1F') False >>> cups.format('ES1234123456789012JY') 'ES 1234 1234 5678 9012 JY' >>> cups.format('ES1234123456789012JY1F') 'ES 1234 1234 5678 9012 JY 1F' >>> cups.validate('ES 0987 5432 1098 7654 ZF') 'ES0987543210987654ZF' >>> cups.validate('ES 1234 1234 5678 9012 JY') 'ES1234123456789012JY' >>> cups.validate('ES 9750 2109 8765 4321 CQ') 'ES9750210987654321CQ' >>> cups.validate('ES 0999 1100 1234 5678 EK') 'ES0999110012345678EK' python-stdnum-1.13/tests/test_figi.doctest0000644000000000000000000000663113555400450020742 0ustar rootroot00000000000000test_figi.doctest - more detailed doctests for the stdnum.figi module Copyright (C) 2018 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.figi module. It tries to validate a number of numbers that have been found online. >>> from stdnum import figi >>> from stdnum.exceptions import * The number should start with two letters (no numbers) and should not contain one of the letter combinations on the blacklist to avoid clashes with the ISIN. >>> figi.validate('BBG000BLNR78') 'BBG000BLNR78' >>> figi.validate('B2G000BLNR78') Traceback (most recent call last): ... InvalidFormat: ... >>> figi.validate('BSG000BLNR71') Traceback (most recent call last): ... InvalidComponent: ... The third position should always be a G: >>> figi.validate('BBG000BLNR78') 'BBG000BLNR78' >>> figi.validate('BBP000BLNR78') Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... BBG000002KG4 ... BBG00002MG40 ... BBG00008PH06 ... BBG0000BYL37 ... BBG0000CKTZ8 ... BBG0000HSV39 ... BBG0000PTG33 ... BBG0000Z40Y9 ... BBG00010C6H2 ... BBG00011PKQ5 ... BBG00011QNR7 ... BBG00015DJD6 ... BBG00016PLG3 ... BBG00017MGS2 ... BBG00017S1T8 ... BBG00018BDZ1 ... BBG00018TBL1 ... BBG00019TTZ5 ... BBG00019XXF3 ... BBG0001BRPC5 ... BBG0001BTYQ9 ... BBG0001DDLR9 ... BBG0001DJNW3 ... BBG000435D86 ... BBG0005FQS91 ... BBG0005GN2W3 ... BBG000702GF7 ... BBG0007CBFS9 ... BBG0007T7L86 ... BBG0007VC3H5 ... BBG0007VS3D2 ... BBG0008C9YV6 ... BBG0008QB509 ... BBG00094V471 ... BBG0009BLLK3 ... BBG0009HJVG6 ... BBG0009KW1N2 ... BBG0009QBMN6 ... BBG0009X4W48 ... BBG0009XGDL8 ... BBG000B1LV75 ... BBG000BVRLT1 ... BBG000GL6ZK9 ... BBG000H3TGD3 ... BBG000PSJRK8 ... BBG0018YXKG6 ... BBG001F8NZN5 ... BBG001NND649 ... BBG001QLGGK7 ... BBG002G4T7H4 ... BBG00337N482 ... BBG003LQ9342 ... BBG0042V1BP7 ... BBG004D1ZCV5 ... BBG004FFN844 ... BBG004QGWGV2 ... BBG0058191D1 ... BBG0058YBK71 ... BBG005THWTJ0 ... BBG0068HLCV6 ... BBG006T9T7D4 ... BBG0077H27R2 ... BBG007N2K8V0 ... BBG007TDLWP3 ... BBG0086KJ938 ... BBG008D76KY4 ... BBG008H2RPR5 ... BBG008KW8457 ... BBG008NX9YV6 ... BBG009S58T33 ... BBG00B3H3RC8 ... BBG00B9D0KL9 ... BBG00BDRD8J9 ... BBG00CNPD178 ... BBG00CTTCVG9 ... BBG00CY386Z9 ... BBG00CY38778 ... BBG00D6PL498 ... BBG00D6RQY20 ... BBG00FBYLY56 ... BBG00FZRBX30 ... BBG00GBVG247 ... BBG00GKR5DB6 ... BBG00GKR5G29 ... BBG00GQ99RN2 ... BBG00GVQVFN9 ... BBG00GW3Q897 ... BBG00H450NQ7 ... BBG00H8ZVML0 ... BBG00H9SZ431 ... BBG00HKBYTG7 ... BBG00HLDPLJ6 ... BBG00HTVPPR0 ... BBG00HTVPSZ5 ... BBG00JGBJZT7 ... BBG00JJC69W0 ... BBG00JQ6F6S6 ... BBG00JXQRJ76 ... BBG00K87P6B8 ... BBG00K87P6K8 ... ... ''' >>> [x for x in numbers.splitlines() if x and not figi.is_valid(x)] [] python-stdnum-1.13/tests/test_eu_banknote.doctest0000644000000000000000000000364513555400450022320 0ustar rootroot00000000000000test_eu_banknote.doctest - more detailed doctests for the stdnum.eu.banknote module Copyright (C) 2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.eu.banknote module. It contains some corner case tests and tries to validate a serial numbers that have been found online. >>> from stdnum.eu import banknote >>> from stdnum.exceptions import * Some basic tests for invalid numbers. >>> banknote.validate('RABCDEFGHIJN') Traceback (most recent call last): ... InvalidFormat: ... >>> banknote.validate('Z123') Traceback (most recent call last): ... InvalidLength: ... >>> banknote.validate('A71220515713') Traceback (most recent call last): ... InvalidComponent: ... >>> banknote.validate('P36007033742') Traceback (most recent call last): ... InvalidChecksum: ... These should all be valid serial numbers. >>> numbers = ''' ... ... EA4100181598 ... F00172834112 ... P08392800367 ... P36007033744 ... S22227803764 ... SD9103468574 ... U36749787719 ... U71220515711 ... V37421817898 ... VA0436214792 ... X14234175767 ... X45370810262 ... X64709081183 ... X80420825306 ... Y12470649328 ... Z10708476264 ... Z34706855889 ... ... ''' >>> [x for x in numbers.splitlines() if x and not banknote.is_valid(x)] [] python-stdnum-1.13/tests/test_jp_cn.doctest0000644000000000000000000000432113555400451021110 0ustar rootroot00000000000000test_jp_cn.doctest - more detailed doctests for stdnum.jp.cn module Copyright (C) 2019 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.jp.cn module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.jp import cn Basic tests >>> cn.validate('5-8356-7825-6246') '5835678256246' >>> cn.validate('2-8356-7825-6246') Traceback (most recent call last): ... InvalidChecksum: ... >>> cn.validate('2-aaaa-7825-6246') Traceback (most recent call last): ... InvalidFormat: ... >>> cn.format('5835678256246') '5-8356-7825-6246' These numbers should be valid and were randomly generated on https://my-number-kun.herokuapp.com/ >>> numbers = ''' ... ... 1020281079130 ... 1092280840134 ... 1878613755182 ... 2014614971152 ... 2154272766021 ... 2156020645218 ... 2190501102051 ... 2506450764947 ... 2877943595076 ... 3102603003473 ... 3677889020488 ... 3932580304272 ... 4133937187596 ... 4322035819249 ... 4422212699405 ... 4434215752536 ... 4894094830853 ... 5385009332457 ... 5703079264765 ... 5864353627704 ... 6402078819006 ... 6457924394338 ... 6671470548996 ... 6821550923715 ... 6862173718594 ... 7030204178342 ... 7044157771432 ... 7179487563592 ... 7360581582900 ... 7631172336579 ... 7896877317434 ... 8085647298491 ... 8166975505797 ... 8451632537189 ... 8455957905624 ... 8865890851034 ... 8911879336082 ... 9196934167858 ... 9680537896732 ... 9863806292730 ... ... ''' >>> [x for x in numbers.splitlines() if x and not cn.is_valid(x)] [] python-stdnum-1.13/tests/test_de_handelsregisternummer.py0000644000000000000000000000354413555400450024066 0ustar rootroot00000000000000# test_de_handelsregisternummer.py - online validation tests # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA # This is a separate test file because it should not be run regularly # because it could negatively impact the online service. """Extra tests for the stdnum.de.handelsregisternummer module.""" import os import unittest from stdnum.de import handelsregisternummer @unittest.skipIf( not os.environ.get('ONLINE_TESTS'), 'Do not overload online services') class TestOffeneRegister(unittest.TestCase): """Test the web services provided by the OffeneRegister.de web site.""" def test_check_offeneregister(self): """Test stdnum.de.handelsregisternummer.check_offeneregister()""" # Test a normal valid number result = handelsregisternummer.check_offeneregister('Chemnitz HRB 14011') self.assertTrue(all( key in result.keys() for key in ['company_number', 'current_status', 'federal_state', 'registrar', 'native_company_number'])) # Test invalid number result = handelsregisternummer.check_offeneregister('Chemnitz HRA 14012') self.assertIsNone(result) python-stdnum-1.13/tests/test_au_acn.doctest0000644000000000000000000000542113555400450021246 0ustar rootroot00000000000000test_au_acn.doctest - more detailed doctests for the stdnum.au.acn module Copyright (C) 2016 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.au.acn module. It tries to validate a number of numbers that have been found online. >>> from stdnum.au import acn, abn >>> from stdnum.exceptions import * These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 000 024 733 ... 001 002 731 ... 001 976 272 ... 002 724 334 ... 002 955 722 ... 003 855 561 ... 004 071 854 ... 004 235 063 ... 004 394 763 ... 005 957 004 ... 007 433 623 ... 050 539 350 ... 055 980 204 ... 082 930 916 ... 088 952 023 ... 093 966 888  ... 099503456 ... 104 045 089 ... 104 128 001 ... 112 045 002 ... 116 306 453 ... 125 295 712  ... 135 427 075  ... 141 800 357 ... 143477632 ... ... 000 000 019 ... 000 250 000 ... 000 500 005 ... 000 750 005 ... 001 000 004 ... 001 250 004 ... 001 500 009 ... 001 749 999 ... 001 999 999 ... 002 249 998 ... 002 499 998 ... 002 749 993 ... 002 999 993 ... 003 249 992 ... 003 499 992 ... 003 749 988 ... 003 999 988 ... 004 249 987 ... 004 499 987 ... 004 749 982 ... 004 999 982 ... 005 249 981 ... 005 499 981 ... 005 749 986 ... 005 999 977 ... 006 249 976 ... 006 499 976 ... 006 749 980 ... 006 999 980 ... 007 249 989 ... 007 499 989 ... 007 749 975 ... 007 999 975 ... 008 249 974 ... 008 499 974 ... 008 749 979 ... 008 999 979 ... 009 249 969 ... 009 499 969 ... 009 749 964 ... 009 999 964 ... 010 249 966 ... 010 499 966 ... 010 749 961 ... ... ''' >>> [x for x in numbers.splitlines() if x and not acn.is_valid(x)] [] These numbers have been found in combination with an existing ABN. >>> numbers = ''' ... ... 000 024 733 / 79 000 024 733 ... 002 724 334 / 43002724334 ... 004 071 854 / 56 004 071 854 ... 004 235 063 / 63 004 235 063 ... 004 394 763 / 74 004 394 763 ... 055 980 204 / 31 055 980 204 ... 104 045 089 / 97 104 045 089 ... 112 045 002 / 19 112 045 002 ... 143477632 / 28143477632 ... ... ''' >>> lines = (l.split('/') for l in numbers.splitlines() if l) >>> [(x, y) for x, y in lines if acn.to_abn(x) != abn.compact(y)] [] python-stdnum-1.13/tests/test_gb_vat.doctest0000644000000000000000000000620613555400450021264 0ustar rootroot00000000000000test_gb_vat.doctest - more detailed doctests for stdnum.gb.vat module Copyright (C) 2012, 2013 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.gb.vat. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.gb import vat Normal values that should just work. >>> vat.validate('980780684') # standard number '980780684' >>> vat.validate('100190874') # standard number restarting '100190874' >>> vat.validate('242338087388') # branch trader '242338087388' >>> vat.validate('GD100') # government department 'GD100' >>> vat.validate('HA501') # health authority 'HA501' >>> vat.validate('GD888810003') # government department for EU 'GD888810003' >>> vat.validate('HA888856782') # health authority for EU 'HA888856782' Invalid long numbers: >>> vat.validate('802311781') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> vat.validate('9807806842') # too long for standard number Traceback (most recent call last): ... InvalidLength: ... >>> vat.validate('9807806B4') # invalid digit Traceback (most recent call last): ... InvalidFormat: ... >>> vat.validate('GD8888567B2') # invalid digit for EU health authority Traceback (most recent call last): ... InvalidFormat: ... >>> vat.validate('001234567') # invalid checksum Traceback (most recent call last): ... InvalidChecksum: ... Some variations on the short format: >>> vat.validate('ZZ100') # unknown code Traceback (most recent call last): ... InvalidComponent: ... >>> vat.validate('GD600') # government department with high number Traceback (most recent call last): ... InvalidComponent: ... >>> vat.validate('HA201') # health authority with low number Traceback (most recent call last): ... InvalidComponent: ... Some variations on the EU format: >>> vat.validate('GD888860018') # government department with high number Traceback (most recent call last): ... InvalidComponent: ... >>> vat.validate('HA888820107') # health authority with low number Traceback (most recent call last): ... InvalidComponent: ... >>> vat.validate('HA888856700') # health authority with invalid checksum Traceback (most recent call last): ... InvalidChecksum: ... Formatting tests: >>> vat.format('980780684') # standard number '980 7806 84' >>> vat.format('HA501') # health authority 'HA501' >>> vat.format('242338087388') # branch trader '242 3380 87 388' python-stdnum-1.13/tests/test_de_stnr.doctest0000644000000000000000000001147313555400450021462 0ustar rootroot00000000000000test_de_stnr.doctest - more detailed doctests for the stdnum.de.stnr module Copyright (C) 2017 Holvi Payment Services Copyright (C) 2018 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.de.stnr module. It tries to validate a number of numbers that have been found online. >>> from stdnum.de import stnr Some simple tests. >>> stnr.validate('1123456789') '1123456789' >>> stnr.validate('1123456789', 'Berlin') '1123456789' >>> stnr.validate('12234567890', 'Berlin') Traceback (most recent call last): ... InvalidFormat: ... >>> stnr.validate('1123456789', 'Unknown region') Traceback (most recent call last): ... InvalidComponent: ... >>> stnr.validate('1234567890') # 10-digit number '1234567890' >>> stnr.validate('12345678901') # 11-digit number '12345678901' >>> stnr.validate('1123045678901') # 13-digit number '1123045678901' >>> stnr.validate('123456789') # short number Traceback (most recent call last): ... InvalidLength: ... The module should handle various encodings of region names properly. >>> stnr.validate('9381508152', u'Baden-W\xfcrttemberg') # Python unicode '9381508152' >>> stnr.validate('9381508152', 'Baden-W\xc3\xbcrttemberg') # UTF-8 '9381508152' >>> stnr.validate('9381508152', 'Baden-W\xfcrttemberg') # ISO-8859-15 '9381508152' >>> stnr.validate('9381508152', 'Baden Wurttemberg') # ASCII with space '9381508152' Given a number we are able to find a region. >>> stnr.guess_regions('1123045678901') # 13-digit number ['Berlin'] >>> stnr.guess_regions('98765432101') # 11-digit number ['Bayern', 'Nordrhein-Westfalen'] >>> stnr.guess_regions('123') # invalid number [] We can convert the 13-digit country number to a regional number without issues. We can also convert it back if we know the region. >>> stnr.guess_regions('2475081508152') ['Bremen'] >>> stnr.to_regional_number('2475081508152') '7581508152' >>> stnr.validate('7581508152', 'Bremen') '7581508152' >>> stnr.to_regional_number('123') Traceback (most recent call last): ... InvalidFormat: ... >>> stnr.to_country_number('7581508152', 'Bremen') '2475081508152' >>> stnr.to_country_number('7581508152') # not unique, need region Traceback (most recent call last): ... InvalidComponent: ... >>> stnr.to_country_number('123') Traceback (most recent call last): ... InvalidFormat: ... We can also format numbers by separating the groups with slashes. This is most often seen for regional numbers and the 13-digit numbers don't get the slashes. >>> stnr.format('18181508155', 'Bayern') '181/815/08155' >>> stnr.format('18181508155', 'Nordrhein-Westfalen') '181/8150/8155' >>> stnr.format('2181508150') '21/815/08150' >>> stnr.format('156 / 141 / 14808', 'Thuringen') '156/141/14808' >>> stnr.format('2893081508152') # 13-digit number '2893081508152' >>> stnr.format('123') # unknown format '123' These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 010/815/08182 ... 013 815 08153 ... 02/815/08156 ... 04 522 658 002 ... 042/213/02423 ... 048/815/08155 ... 079/815/08151 ... 101/5761/1744 ... 101/815/08154 ... 1010081508182 ... 1121081508150 ... 116/5701/1448 ... 123/456/7890 ... 133/5909/3295 ... 133/8150/8159 ... 14044/00050 ... 143/317/22090 ... 147/276/80579 ... 151/815/08156 ... 156 / 141 / 14808 ... 162/107/03482 ... 181/815/08155 ... 1929008636 ... 201/123/12340 ... 201/5902/3626 ... 201/5906/3686 ... 202/ 106/ 08312 ... 203/100/04333 ... 20418290688 ... 208/140/04075 ... 21/815/08150 ... 212/5730/0455 ... 2129081508158 ... 22/815/08154 ... 220/5769/0078 ... 2202081508156 ... 2324081508151 ... 24/815/08151 ... 2475081508152 ... 249/115/90057 ... 249/133/90020 ... 26 242 02421 ... 2613081508153 ... 27 173 00028 ... 27/673/50365 ... 2722081508154 ... 2893081508152 ... 29/815/08158 ... 3048081508155 ... 307/5904/0270 ... 3101081508154 ... 312/5120/1726 ... 313/5753/1315 ... 3201012312340 ... 332/5751/2 653 ... 332/5776/0076 ... 339/5822/0944 ... 342/5938/0307 ... 4079081508151 ... 4151081508156 ... 5133081508159 ... 75 815 08152 ... 76 001/12 885 ... 9181081508155 ... 93815/08152 ... 99015/28445 ... 99019132055 ... ... ''' >>> [x for x in numbers.splitlines() if x and not stnr.is_valid(x)] [] python-stdnum-1.13/tests/test_ee_registrikood.doctest0000644000000000000000000000537213555400450023203 0ustar rootroot00000000000000test_ee_registrikood.doctest - more detailed doctests for stdnum.ee.registrikood module Copyright (C) 2017 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.ee.registrikood. It tries to cover more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.ee import registrikood >>> from stdnum.exceptions import * Some simple tests for corner cases: >>> registrikood.validate('123456789') Traceback (most recent call last): ... InvalidLength: ... >>> registrikood.validate('1234567A') Traceback (most recent call last): ... InvalidFormat: ... These have been found online and should all be valid numbers. >>> numbers = """ ... ... 10000024 ... 10000030 ... 10000047 ... 10000171 ... 10254782 ... 10324169 ... 10491045 ... 10591640 ... 10722527 ... 10732046 ... 10953764 ... 11041309 ... 11104323 ... 11126796 ... 11129553 ... 11405303 ... 11426771 ... 11456861 ... 11521759 ... 11559868 ... 11664625 ... 11910691 ... 11984324 ... 12073932 ... 12111472 ... 12202654 ... 12493640 ... 70000823 ... 70002420 ... 70004264 ... 70005542 ... 75000561 ... 75000667 ... 75002287 ... 75002884 ... 75005334 ... 75005392 ... 75005618 ... 75006820 ... 75007267 ... 75008769 ... 75010476 ... 75012952 ... 75015580 ... 75016177 ... 75016993 ... 75017857 ... 75018325 ... 75018495 ... 75018822 ... 75020670 ... 75021043 ... 75021304 ... 75021617 ... 75024018 ... 75024509 ... 75024567 ... 75025153 ... 75025762 ... 75026968 ... 75027494 ... 75033069 ... 80026261 ... 80033947 ... 80040433 ... 80041421 ... 80046097 ... 80052459 ... 80078915 ... 80079820 ... 80093530 ... 80095629 ... 80107858 ... 80112196 ... 80132454 ... 80173430 ... 80186390 ... 80196158 ... 80213520 ... 80234120 ... 80287895 ... 80291371 ... 80293625 ... 80302784 ... 80309332 ... 80314929 ... 80319075 ... 80336642 ... 90004740 ... 90004817 ... 90006006 ... 90006549 ... 90006822 ... 90006845 ... 90007247 ... 90007796 ... 90008287 ... 90009370 ... 90010671 ... 90010887 ... ... """ >>> [x for x in numbers.splitlines() if x and not registrikood.is_valid(x)] [] python-stdnum-1.13/tests/test_za_idnr.doctest0000644000000000000000000000444413610634552021456 0ustar rootroot00000000000000test_za_idnr.doctest - more detailed doctests for stdnum.za.idnr module Copyright (C) 2020 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA This file contains more detailed doctests for the stdnum.za.idnr module. It tries to test more corner cases and detailed functionality that is not really useful as module documentation. >>> from stdnum.za import idnr Tests for some corner cases. >>> idnr.validate('7611055077082') '7611055077082' >>> idnr.get_gender('7611055077082') 'M' >>> idnr.get_gender('7209170838080') 'F' >>> idnr.get_birth_date('7611055077082') datetime.date(1976, 11, 5) >>> idnr.get_birth_date('0001015077082') datetime.date(2000, 1, 1) >>> idnr.get_birth_date('0099015077086') Traceback (most recent call last): ... InvalidComponent: ... >>> idnr.get_citizenship('9103225261083') 'citizen' >>> idnr.get_citizenship('5306060050180') 'resident' >>> idnr.get_citizenship('5306060050883') Traceback (most recent call last): ... InvalidComponent: ... These have been found online and should all be valid numbers. >>> numbers = ''' ... ... 5306060050180 ... 6107165087088 ... 6302285896084 ... 6602056061184 ... 6602085002084 ... 6704020865185 ... 6906155141080 ... 7010115159081 ... 7106245929185 ... 7209170838080 ... 7210015101080 ... 7405035028087 ... 7405095437186 ... 7503305044089 ... 7611055077082 ... 7701275868087 ... 7803200018083 ... 7804180106088 ... 7911175459081 ... 8012185201081 ... 8311280061089 ... 8507085951081 ... 8510290194083 ... 8811166068082 ... 8907020111082 ... 9008185655085 ... 9103225261083 ... 9210245029083 ... 9708205014086 ... ... ''' >>> [x for x in numbers.splitlines() if x and not idnr.is_valid(x)] [] python-stdnum-1.13/NEWS0000644000000000000000000004732613611057523014743 0ustar rootroot00000000000000changes from 1.12 to 1.13 ------------------------- * Add modules for the following number formats: - ESR, ISR, QR-reference (reference number on Swiss payment slips) (thanks Kurt Keller) - ID number (South African Identity Document number) * Add format function for ISO 11649 numbers (thanks Kurt Keller) * Add support for Python 3.8 (thanks Sergi Almacellas Abellana) * Clarify that the Italian Codice Fiscale can also be the IVA for companies (thanks Nicholas Fiorentini) * Support the new Dutch btw-identificatienummer (thanks Cas Vissers, Jeroen van Heiningen, Jerome Hanke, Nicolas Martinelli, Ronald Portier and Tim Muller) * Extend test for Argentinian CUIT to check first two digits * Add more country codes to ISIN (thanks nocluebutalotofit, Anwar Baroudi and alexbond73) changes from 1.11 to 1.12 ------------------------- * Add modules for the following number formats: - NRT (Número de Registre Tributari, Andorra tax number) (thanks Leandro Regueiro) - CPF (Cédula de Persona Física, Costa Rica physical person ID number) (thanks Leandro Regueiro) - CPJ (Cédula de Persona Jurídica, Costa Rica tax number) (thanks Leandro Regueiro) - CR (Cédula de Residencia, Costa Rica foreigners ID number) (thanks Leandro Regueiro) - NIT (Número de Identificación Tributaria, Guatemala tax number) (thanks Leandro Regueiro) - Identity Number (Mispar Zehut, מספר זהות, Israeli identity number) - CN (法人番号, hōjin bangō, Japanese Corporate Number) (thanks Alan Hettinger) - RRN (South Korean resident registration number) (thanks Dimitri Papadopoulos) - IRD number (New Zealand Inland Revenue Department (Te Tari Tāke) number) (thanks Leandro Regueiro) - CUI (Cédula Única de Identidad, Peruvian identity number) - RUC (Registro Único de Contribuyentes, Peruvian company tax number) - RUC number (Registro Único de Contribuyentes, Paraguay tax number) (thanks Leandro Regueiro) - VKN (Vergi Kimlik Numarası, Turkish tax identification number) (thanks Leandro Regueiro) - RUT (Registro Único Tributario, Uruguay tax number) (Leandro Regueiro) - RIF (Registro de Identificación Fiscal, Venezuelan VAT number) (thanks Kevin Kaiser) - TIN (South African Tax Identification Number) (thanks Leandro Regueiro) * Support GTIN (EAN-14) validation as part of EAN (thanks Sergi Almacellas Abellana) * Support Dominican Republic e-CF within NCF (thanks Jeffry Jesus De La Rosa) * Fix Dominican Republic DGII lookups of NCF (thanks Jeffry Jesus De La Rosa) * Fix German Handelsregisternummer to not confuse Hamburg with Homburg and to accept shorter numbers (thanks Kevin Kaiser) * Support lookups of German Handelsregisternummer in OffeneRegister.de web service * Handle - and + sign correctly in Swedish Personnummer (thanks Amin Solhizadeh) * Provide various personalid and vat aliases for existing numbers (thanks Andreas Häber) * Improve descriptions of Spanish codes (thanks Gerard Dalmau) * Fix handling and normalisation of various Unicode digit representations (thanks Helge Munk Jacobsen) changes from 1.10 to 1.11 ------------------------- * Add modules for the following number formats: - DNI (Documento Nacional de Identidad, Argentinian national identity nr.) - VNR, SVNR, VSNR (Versicherungsnummer, Austrian social security number) - NI (Número de identidad, Cuban identity card numbers) - AMKA (Αριθμός Μητρώου Κοινωνικής Ασφάλισης, Greek social security number) - Asmens kodas (Lithuanian, personal numbers) - MAC address (Media Access Control address) - IDNO (Moldavian company identification number) - CURP (Clave Única de Registro de Población, Mexican personal ID) - Fødselsnummer (Norwegian birth number, the national identity number) (thanks Ilya Vihtinsky) - New Zealand bank account number - Personnummer (Swedish personal identity number) (thanks Ilya Vihtinsky) * Code style improvements * Change Dominican Republic DGII check URL to HTTPS (thanks Gustavo Valverde) * Support Ecuadorian Cedula and RUC of foreigners (thanks Christopher Ormaza) * Add format() function for Argentinian CUIT number (thanks Mario Puntin) * Support passing formatted numbers to all get_birth_date() and similar functions * Handle Dominican Republic DGII lookup returning multiple entities (thanks Andrés R) changes from 1.9 to 1.10 ------------------------ * Add modules for the following number formats: - Bitcoin address - ISO 11649 (Structured Creditor Reference) - ID number (Mauritian national identifier) - Norwegian IBAN (International Bank Account Number) - Konto nr. (Norwegian bank account number) * Fix a bug in handling of Mexican tax numbers * Improve Spanish CIF and NIF validation * Update Dominican Republic NCF numbers online check * Improve Unicode conversion for bytestrings * Improvements to some corner cases in IBAN validation * Documentation improvements * Add stdnum.ru.vat as an alias for stdnum.ru.inn changes from 1.8.1 to 1.9 ------------------------- * Add modules for the following number formats: - Postleitzahl (Austrian postal code) - Abgabenkontonummer (Austrian tax identification number) - Belgian IBAN (International Bank Account Number) - Handelsregisternummer (German company register number) - St.-Nr. (Steuernummer, German tax number) - FIGI (Financial Instrument Global Identifier) - Montenegro IBAN (International Bank Account Number) * Have documentation rebuilt reproducibly (thanks Chris Lamb) * Allow configuring the SOAP request timeout * Support spaces in ISO 9362 (SWIFT) BIC codes * Add check_dgii() to stdnum.do.cedula module * Add validation for "individual" part of hetu (thanks Esa Halsti) * Support new style of Dominican Republic NCF numbers * Fix issue when using PySimpleSOAP for DGII lookups * Fix an issue in splitting certain IMSI values * Support building a universal wheel * Documentation and code style improvements changes from 1.8 to 1.8.1 ------------------------- * Fix a packaging issue in the long description changes from 1.7 to 1.8 ----------------------- * Add modules for the following number formats: - NCF (Números de Comprobante Fiscal, Dominican Republic receipt number) - Euro banknote serial numbers - CAS RN (Chemical Abstracts Service Registry Number) - Aadhaar (Indian digital resident personal identity number) (thanks Srikanth Lakshmanan) - PAN (Permanent Account Number, Indian income tax identifier) (thanks Srikanth Lakshmanan) * Add functions for using the Dominican Republic DGII web service to validate and search for RNC and NCF numbers * Add/update whitelists for Dominican Republic RNC and Cedula * Support zeep as preferred SOAP library (suds and pysimplesoap are tried as fallback) * Rename stdnum.iso9362 to stdnum.bic (iso9362 is deprecated but still available for compatibility) * Add tests for web services (not normally run to avoid unnecessary load) * Fixes and improvement to the sample online validation service Development of the NCF format validation and DGII web service validation was funded by iterativo | http://iterativo.do changes from 1.6 to 1.7 ----------------------- * Add modules for the following number formats: - BN (Canadian Business Number) - SIN (Canadian Social Insurance Number) - IdNr (Steuerliche Identifikationsnummer, German personal tax number) (thanks Mohammed Salman of Holvi) - Registrikood (Estonian organisation registration code) (thanks Mohammed Salman of Holvi) - Veronumero (Finnish individual tax number) (thanks Mohammed Salman of Holvi) - UPN (English Unique Pupil Number) * Fix a bug in the Czech DIČ check digit calculation * Fix conversion of 9 digit ISBN to ISBN13 * Fix a bug in the Damm is_valid() function * More validation of 13-digit ISBN values * More validation of ISMN values * Various code and test improvements (100% branch coverage now) * Documentation improvements changes from 1.5 to 1.6 ----------------------- * Add modules for the following number formats: - CBU (Clave Bancaria Uniforme, Argentine bank account number) (thanks Luciano Rossi) - EIC (European Energy Identification Code) - NACE (classification for businesses in the European Union) - LEI (Legal Entity Identifier) - n° TVA (taxe sur la valeur ajoutée, Monacan VAT number) - PIB (Poreski Identifikacioni Broj, Serbian tax identification number) * Add online check example that finds valid formats for a given number * Fix support for Ñ in Spanish Referencia Catastral * Updates to U.S. Employer Identification Number (thanks Greg Kuwaye) * Various minor improvements changes from 1.4 to 1.5 ----------------------- * Add modules for the following number formats: - ABN (Australian Business Number) - ACN (Australian Company Number) - TFN (Australian Tax File Number) - CCC (Código Cuenta Corriente, Spanish Bank Account Code) - CUPS (Código Unificado de Punto de Suministro, Supply Point Unified Code) - Spanish IBAN (International Bank Account Number) - Referencia Catastral (Spanish real estate property id) * The IBAN module now support validating the country-specific part * The Belgian VAT number is now also referenced as businessid * Add a Tox configuration file changes from 1.3 to 1.4 ----------------------- * Add modules for the following number formats: - NIF (Numéro d'Immatriculation Fiscale, French tax identification number) provided by Dimitri Papadopoulos - NIR (French personal identification number) provided by Dimitri Papadopoulos - SIRET (a French company establishment identification number) provided by Yoann Aubineau - NHS (United Kingdom National Health Service patient identifier) - T.C. Kimlik No. (Turkish personal identification number) * Add an implementation of the Damm algorithm * Ensure data files are properly closed * Documentation improvements * Extend test suite * A number of minor bug fixes and improvements changes from 1.2 to 1.3 ----------------------- * Fix ISO 6346 check digit calculation (thanks Ronald Paloschi) * Fix problem with check_vies_approx() (thanks Lionel Elie Mamane) * Fix problem with SOAP client when using suds * Include documentation that was previously on the Trac wiki changes from 1.1 to 1.2 ----------------------- * Add modules for the following number formats: - Austrian Company Register Numbers - CNPJ (Cadastro Nacional da Pessoa Jurídica, Brazilian company identifier) - UID (Unternehmens-Identifikationsnummer, Swiss business identifier) - VAT, MWST, TVA, IVA, TPV (Mehrwertsteuernummer, the Swiss VAT number) - CUSIP number (financial security identification number) - Wertpapierkennnummer (German securities identification code) - Isikukood (Estonian Personcal ID number) - Finnish Association Identifier - Y-tunnus (Finnish business identifier) - SEDOL number (Stock Exchange Daily Official List number) - IMO number (International Maritime Organization number) - ISIN (International Securities Identification Number) - RFC (Registro Federal de Contribuyentes, Mexican tax number) - PESEL (Polish national identification number) - REGON (Rejestr Gospodarki Narodowej, Polish register of economic units) - ИНН (Идентификационный номер налогоплательщика, Russian tax identifier) * Add an alternate VIES check (check_vies_approx()) that includes a proof (certificate) that the check was performed * Fall back to pysimplesoap if suds is unavailable * Test and code quality improvements changes from 1.0 to 1.1 ----------------------- * Add number formats based on the implementation in the vatnumber module: - NIPT (Numri i Identifikimit për Personin e Tatueshëm, Albanian VAT number) - CUIT (Código Único de Identificación Tributaria, Argentinian tax number) - RUT (Rol Único Tributario, Chilean national tax number) - NIT (Número De Identificación Tributaria, Colombian identity code) - COE (Codice operatore economico, San Marino national tax number) * Add modules for the following number formats: - Cedula (Dominican Republic national identification number) - RNC (Registro Nacional del Contribuyente, Dominican Republic tax number) - Kennitala (Icelandic personal and organisation identity code, provided by Tuomas Toivonen) - VSK number (Virðisaukaskattsnúmer, Icelandic VAT number, provided by Tuomas Toivonen) - ISO 9362 (Business identifier codes, provided by Tony Bajan) - MVA (Merverdiavgift, Norwegian VAT number, provided by Tuomas Toivonen) - Orgnr (Organisasjonsnummer, Norwegian organisation number, provided by Tuomas Toivonen) - Orgnr (Organisationsnummer, Swedish company number, provided by Tomas Thor Jonsson) * Add Croatia to list of EU VAT numbers * Update getcnloc script * Various small fixes and additional tests for existing modules changes from 0.9 to 1.0 ----------------------- * Add modules for the following number formats: - Swiss social security number ("Sozialversicherungsnummer") - RIC No. (Chinese Resident Identity Card Number) - CI (Cédula de identidad, Ecuadorian personal identity code) - RUC (Registro Único de Contribuyentes, Ecuadorian company tax number) - SEPA Identifier of the Creditor (AT-02) - ISO 6346 (International standard for container identification) - Codice Fiscale (Italian tax code for individuals) - RTN (Routing transport number) * Add support for 2013 extension of Irish PPS Numbers * Update getisbn script * Update getmybp URLs for Malaysian code lists * Various other minor improvements changes from 0.8.1 to 0.9 ------------------------- * Add modules for the following number formats: - Brin number (Dutch number for schools) - Postcode (Dutch postal code) - ATIN (U.S. Adoption Taxpayer Identification Number) - EIN (U.S. Employer Identification Number) - ITIN (U.S. Individual Taxpayer Identification Number) - PTIN (U.S. Preparer Tax Identification Number) - TIN (U.S. Taxpayer Identification Number) * Try to replace Unicode characters with similar-looking ASCII characters * Update getimsi script (thanks eneq123) * Update getiban script * Add proxy support to the stdnum.eu.vat.check_vies() function (thanks Cédric Krier) * Support newer United Kingdom VAT numbers changes from 0.8 to 0.8.1 ------------------------- * Include some files that were missing from the source tarball changes from 0.7 to 0.8 ----------------------- * Add modules for the following number formats: - NRIC No. (Malaysian National Registration Identity Card Number) * All modules now provide a validate() function that throws an exception that contains more information on the failure reason * Documentation improvements * Remove add_check_digit parameter from GRid's format() function * Improvements to the tests * Re-add Python3 support (now tested with Python 2.7, 3.2 and 3.3) changes from 0.6 to 0.7 ----------------------- * Add modules for the following number formats: - Onderwijsnummer (Dutch school number) - BTW-nummer (Omzetbelastingnummer, the Dutch VAT number) - HETU (Finnish personal identity code) as provided by Jussi Judin (#5) - RČ (Rodné číslo, the Czech and Slovak birth numbers) - SIREN (a French company identification number) - FPA, ΦΠΑ (Foros Prostithemenis Aksias, the Greek VAT number) - Ust ID Nr. (Umsatzsteur Identifikationnummer, the German VAT number) - BTW, TVA, NWSt (Belgian VAT number) - DNI (Documento nacional de identidad, Spanish personal identity codes) - NIE (Número de Identificación de Extranjeros, Spanish foreigner number) - CIF (Certificado de Identificación Fiscal, Spanish company tax number) - NIF (Número de Identificación Fiscal, Spanish VAT number) - PVN (Pievienotās vērtības nodokļa, Latvian VAT number) - CVR (Momsregistreringsnummer, Danish VAT number) - TVA (taxe sur la valeur ajoutée, Luxembourgian VAT number) - CNP (Cod Numeric Personal, Romanian Numerical Personal Code) - CF (Cod de înregistrare în scopuri de TVA, Romanian VAT number) - Partita IVA (Italian VAT number) - Αριθμός Εγγραφής Φ.Π.Α. (Cypriot VAT number) - UID (Umsatzsteuer-Identifikationsnummer, Austrian VAT number) - NIF (Número de identificação fiscal, Portuguese VAT number) - IČ DPH (IČ pre daň z pridanej hodnoty, Slovak VAT number) - ALV nro (Arvonlisäveronumero, Finnish VAT number) - DIČ (Daňové identifikační číslo, Czech VAT number) - ANUM (Közösségi adószám, Hungarian VAT number) - VAT (Irish VAT number) - KMKR (Käibemaksukohuslase, Estonian VAT number) - PVM (Pridėtinės vertės mokestis mokėtojo kodas, Lithuanian VAT number) - n° TVA (taxe sur la valeur ajoutée, French VAT number) - VAT (Maltese VAT number) - NIP (Numer Identyfikacji Podatkowej, Polish VAT number) - ID za DDV (Davčna številka, Slovenian VAT number) - VAT (Moms, Mervärdesskatt, Swedish VAT number) - VAT (United Kingdom (and Isle of Man) VAT registration number) - EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes) - PNF (ЛНЧ, Личен номер на чужденец, Bulgarian number of a foreigner) - VAT (Идентификационен номер по ДДС, Bulgarian VAT number) - VAT (European Union VAT number) - OIB (Osobni identifikacijski broj, Croatian identification number) - PPS No (Personal Public Service Number, Irish personal number) - CPR (personnummer, the Danish citizen number) * Additional tests for robustness and use introspection to test all modules * Some code refactoring with the introduction of an internal utility module * Improvements to the docstring documentation * Generate API documentation using Sphinx changes from 0.5 to 0.6 ----------------------- * Fix a problem with handling an ISBN13 with a valid check digit but with an unknown bookland prefix * Add an IMSI (International Mobile Subscriber Identity) module * Implement a conversion function from ISBN13 to ISBN10 * Implement an ismn.ismn_type() function * Implement an imei.split() function that splits the number into a TAC, serial number and checksum or software version * Source code layout changes to better follow PEP8 changes from 0.4 to 0.5 ----------------------- * Add modules for the following number formats: - EAN (International Article Number) * Refactoring to use the EAN check digit code for ISBN and ISMN checks * Implement a conversion function from ISSN to EAN * Support Python3 with the same codebase * Python 2.5 compatibility improvement changes from 0.3 to 0.4 ----------------------- * Add modules for the following number formats: - CPF (Cadastro de Pessoas Físicas, the Brazilian national identification number) - IBAN (International Bank Account Number) - ISIL (International Standard Identifier for Libraries and Related Organizations) - SSN (U.S. Social Security Number) * Implement an internal module to store and handle hierarchically organised data structures efficiently * Regional-specific numbers are now in ISO 3166 packages (the BSN module is now in stdnum.nl.bsn) * ISBN module functions now have a convert flag to convert to ISBN-13 on the fly changes from 0.2 to 0.3 ----------------------- * Add modules for the following number formats: - ISMN (International Standard Music Number) - ISAN (International Standard Audiovisual Number) - IMEI (International Mobile Equipment Identity) - MEID (Mobile Equipment Identifier) - GRid (Global Release Identifier) * Add modules for handling the following check digit algorithms: - the Verhoeff algorithm - the Luhn and Luhn mod N algorithms - some algorithms described in ISO/IEC 7064: Mod 11, 2, Mod 37, 2, Mod 97, 10, Mod 11, 10 and Mod 37, 36 * Added more unit tests changes from 0.1 to 0.2 ----------------------- * Rename validate() function to is_valid() for all modules * Handle wrong types passed to is_valid() more gracefully * Add more tests and fix some minor bugs python-stdnum-1.13/ChangeLog0000644000000000000000000045667413611057552016032 0ustar rootroot000000000000002020-01-19 Arthur de Jong * [334e907] online_check/stdnum.wsgi: Fix online check to be Python 3 compatible 2020-01-18 Arthur de Jong * [53d9934] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, stdnum/nz/banks.dat, stdnum/oui.dat, update/iban.py: Update database files 2020-01-18 Arthur de Jong * [f23c549] stdnum/za/idnr.py, tests/test_za_idnr.doctest: Add South African Identity Document number Closes https://github.com/arthurdejong/python-stdnum/issues/126 2020-01-12 Arthur de Jong * [42e096e] stdnum/isin.py, tests/test_isin.doctest: Add temporary and internal ISIN country codes This adds a few temporary and internal country codes that are used by various agencies so that they can also be validated. This does not mean that all these numbers are globally valid. Closes https://github.com/arthurdejong/python-stdnum/issues/158 2019-12-06 anwarbaroudi * [87c195f] stdnum/isin.py, tests/test_isin.doctest: Add three country codes to ISIN This adds three missing country codes: 'AN' for 'Netherlands Antilles', 'CS' for 'Serbia and Montenegro' and 'XK' for 'Kosovo'. Closes https://github.com/arthurdejong/python-stdnum/issues/173 Closes https://github.com/arthurdejong/python-stdnum/pull/174 Closes https://github.com/arthurdejong/python-stdnum/pull/176 2020-01-09 Emmanuel Arias * [0b30c4b] stdnum/ar/cuit.py, tests/test_ar_cuit.doctest: Test Argentinian CUIT type The first two digits of the CUIT indicate the type of CUIT (personal, company or international) and can only have certain values. Closes https://github.com/arthurdejong/python-stdnum/issues/179 Closes https://github.com/arthurdejong/python-stdnum/pull/181 2020-01-09 Arthur de Jong * [a9b3e90] stdnum/nl/btw.py, tests/test_eu_vat.doctest: Support new btw-identificatienummer The btw-identificatienummer has been introduced on January 1st 2020 in the Netherlands as an alternative to the btw-nummer that contains the BSN personal identifier. The number has the same structure and function but does not contain a BSN and uses a different check digit algorithm. Thanks to Cas Vissers, Jeroen van Heiningen, Jerome Hanke, Nicolas Martinelli, Ronald Portier and Tim Muller for contributing to the fix. More information: * http://kleineondernemer.nl/index.php/nieuw-btw-identificatienummer-vanaf-1-januari-2020-voor-eenmanszaken * https://nl.wikipedia.org/wiki/Btw-nummer_(Nederland) * https://www.belastingdienst.nl/wps/wcm/connect/bldcontenten/belastingdienst/business/vat/new-vat-id/ * https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/zakelijk/btw/administratie_bijhouden/btw_nummers_controleren/uw_btw_nummer Closes https://github.com/arthurdejong/python-stdnum/issues/182 Closes https://github.com/arthurdejong/python-stdnum/pull/183 Closes https://github.com/arthurdejong/python-stdnum/pull/184 Closes https://github.com/arthurdejong/python-stdnum/pull/185 2020-01-04 Arthur de Jong * [9605dbe] stdnum/it/codicefiscale.py, tests/test_it_codicefiscale.doctest: The Italian IVA is also a Codice Fiscale Closes https://github.com/arthurdejong/python-stdnum/issues/180 2019-12-18 Sergi Almacellas Abellana * [087c668] .travis.yml, setup.py, tox.ini: Add support for Python 3.8 Closes https://github.com/arthurdejong/python-stdnum/pull/177 2019-12-27 Arthur de Jong * [922505a] stdnum/eu/nace.py: Broaden noqa docstring exclusion Nowadays flake8 seems to report this as D401 (First line should be in imperative mood) while before it was D402 (First line should not be the function’s signature). 2019-12-27 Arthur de Jong * [de50109] stdnum/do/ncf.py: Switch to using lxml for HTML parsing This avoids an extra dependency on BeautifulSoup and makes the code more consistent. 2019-11-12 Jakub Wilk * [831c669] NEWS, README, stdnum/br/__init__.py, stdnum/br/cnpj.py, stdnum/br/cpf.py: Fix typos Closes https://github.com/arthurdejong/python-stdnum/pull/172 2019-11-04 Kurt Keller * [388bac9] stdnum/iso11649.py: Add format to iso11649 Closes https://github.com/arthurdejong/python-stdnum/pull/171 2019-11-02 Kurt Keller * [a45d4f7] stdnum/ch/esr.py, tests/test_ch_esr.doctest: Add Swiss ESR/ISR/QR-reference Closes https://github.com/arthurdejong/python-stdnum/pull/170 2019-10-27 Arthur de Jong * [41b9c94] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.ad.nrt.rst, docs/stdnum.cr.cpf.rst, docs/stdnum.cr.cpj.rst, docs/stdnum.cr.cr.rst, docs/stdnum.gt.nit.rst, docs/stdnum.il.idnr.rst, docs/stdnum.jp.cn.rst, docs/stdnum.kr.rrn.rst, docs/stdnum.nz.ird.rst, docs/stdnum.pe.cui.rst, docs/stdnum.pe.ruc.rst, docs/stdnum.py.ruc.rst, docs/stdnum.tr.vkn.rst, docs/stdnum.uy.rut.rst, docs/stdnum.ve.rif.rst, docs/stdnum.za.tin.rst, stdnum/__init__.py: Get files ready for 1.12 release 2019-10-27 Arthur de Jong * [6ca5b53] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, stdnum/my/bp.dat, stdnum/nz/banks.dat, stdnum/oui.dat, stdnum/us/ein.dat, tests/test_be_iban.doctest: Update database files The BIC for some former Record Bank accounts (now ING Belgium) was changed from HBKABE22 to BBRUBEBB (that of ING). 2019-10-27 Arthur de Jong * [5b835bb] update/imsi.py: Parse multiple Wikipedia pages for full MCC/MNC list 2019-10-27 Arthur de Jong * [29de83e] update/oui.py: Make the IEEE OUI data more compact This groups consecutive assignments into a range to make the dat file a little more readable. 2019-10-27 Arthur de Jong * [67b747b] update/at_postleitzahl.py, update/be_banks.py, update/cn_loc.py, update/do_whitelists.py, update/iban.py, update/imsi.py, update/isil.py, update/my_bp.py, update/numlist.py, update/nz_banks.py, update/oui.py: Switch update scripts to Python 3 2019-10-27 Arthur de Jong * [0915b55] update/at_postleitzahl.py, update/be_banks.py, update/cn_loc.py, update/do_whitelists.py, update/eu_nace.py, update/iban.py, update/imsi.py, update/isbn.py, update/isil.py, update/oui.py: Switch update scripts to use requests This makes the scripts more consistent. 2019-10-27 Arthur de Jong * [40961fc] update/at_postleitzahl.py, update/eu_nace.py, update/isbn.py, update/isil.py, update/my_bp.py, update/requirements.txt: Switch update scripts to lxml This avoids an extra dependency on Beautiful Soup and makes the scripts more consistent. This also includes a fix in the ISIL because of website changes. 2019-10-27 Arthur de Jong * [c4ad714] update/my_bp.crt, update/my_bp.py: Work around incorrect jpn.gov.my certificate chain The intermediate certificate for jpn.gov.my is missing from the certificate chain that is returned by the server since the server switched to HTTPS. 2019-10-27 Arthur de Jong * [c9ad8d3] update/nz_banks.py: Fix New Zealand Bank Branch Register update script There is now a direct URL for the XLS file and there is no longer a need to search the page for a link. 2019-10-16 Gerard Dalmau * [7f3dcf0] stdnum/es/cif.py, stdnum/es/cups.py, stdnum/es/dni.py, stdnum/es/nie.py, stdnum/es/nif.py: Improve descriptions of Spanish codes Closes https://github.com/arthurdejong/python-stdnum/pull/169 2019-10-14 Arthur de Jong * [54218b1] stdnum/kr/rrn.py: Fix rrn documentation This also fixes Python 2.6 compatibility. Fixes 790a052 2019-10-14 Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com> * [790a052] stdnum/kr/__init__.py, stdnum/kr/rrn.py, tests/test_kr_rrn.doctest: Add South Korean Resident Registration Numbers 2019-10-13 Andreas Häber * [63a643f] stdnum/au/__init__.py: AU: Provide vat as alias from tfn Closes https://github.com/arthurdejong/python-stdnum/pull/167 2019-10-13 Andreas Häber * [6119590] stdnum/at/__init__.py: AT: Provide personalid as an alias from vnr Closes https://github.com/arthurdejong/python-stdnum/pull/166 2019-10-13 Arthur de Jong * [3aedb1f] tests/test_ar_cbu.doctest, tests/test_ar_cuit.doctest, tests/test_au_abn.doctest, tests/test_bg_vat.doctest: Add various test numbers 2019-09-27 Andreas Häber * [d43ad77] stdnum/is_/__init__.py: IS: Provide personalid as an alias from kennitala 2019-09-27 Andreas Häber * [e5d7d9f] stdnum/dk/__init__.py: DK: Provide personalid as an alias from cpr 2019-09-18 Alan Hettinger * [37e6032] stdnum/jp/__init__.py, stdnum/jp/cn.py, tests/test_jp_cn.doctest: Add Japan Corporate Number Closes https://github.com/arthurdejong/python-stdnum/pull/157 2019-10-09 Amin Solhizadeh * [5441ffa] stdnum/se/personnummer.py, tests/test_se_personnummer.doctest: Handle - and + sign correctly in Swedish Personnummer For people aged 100 and up, the minus/dash in the personnummer is changed to a plus, on new year's eve the year they turn 100. See Folkbokföringslagen (1991:481), §18. This makes the - or + sign part of the number. Closes https://github.com/arthurdejong/python-stdnum/issues/156 Closes https://github.com/arthurdejong/python-stdnum/pull/160 2019-08-29 Jeffry Jesus De La Rosa * [9c18ac5] stdnum/do/ncf.py: Fix broken links to DGII documentation DGII has changed its page, all the link have been broken, so they changed some URL. Closes https://github.com/arthurdejong/python-stdnum/pull/153 2019-10-11 Jeffry Jesus De La Rosa * [ac50afa] stdnum/do/ncf.py: Change DGII form parameters DGII has changed their validation mechanism, so we first exract the __EVENTVALIDATION and __VIEWSTATE from the form and put them in the post request for validation. Closes https://github.com/arthurdejong/python-stdnum/pull/165 2019-10-13 Arthur de Jong * [aadf121] .travis.yml: Avoid skipping missing interpreters on Travis 2019-08-12 Arthur de Jong * [8cb71f2] tox.ini: Drop pinning of pydocstyle now flake8-docstrings has been fixed Reverts 61c762d 2019-08-02 Arthur de Jong * [d9b4818] setup.cfg: Show missing lines in coverage report 2019-08-02 Arthur de Jong * [d5bf6e5] .travis.yml: Fix Travis build to use trusty for some Python versions Python 2.6 is not available xenial which is the default now. The coverage also does not seem to work for pypy3. 2019-06-23 Leandro Regueiro * [2f38aaf] stdnum/gt/__init__.py, stdnum/gt/nit.py, tests/test_gt_nit.doctest: Add Guatemalan NIT Closes https://github.com/arthurdejong/python-stdnum/pull/149 Closes https://github.com/arthurdejong/python-stdnum/issues/132 2019-07-21 Arthur de Jong * [db89d38] stdnum/de/handelsregisternummer.py, tests/test_de_handelsregisternummer.doctest: Fix the Handelsregisternummer number matching This ensures that numbers of 1 digit are also accepted and that trailing characters are not silently discardede in the validation. This also adds a few test cases for this and makes "Paderborn früher Höxter" an alias for "Paderborn". Closes https://github.com/arthurdejong/python-stdnum/issues/143 2019-07-21 Arthur de Jong * [e75b1bf] stdnum/de/handelsregisternummer.py, tests/test_de_handelsregisternummer.py: Lookup German Handelsregisternummer in OffeneRegister.de This supports looking up the German Handelsregisternummer using the online OffeneRegister.de web service. 2019-07-21 Arthur de Jong * [fb72550] tox.ini: Do not require Python 2 for building Sphinx docs This results in tox using Python 3, mostly to work around https://sourceforge.net/p/docutils/bugs/365/ 2019-07-21 Arthur de Jong * [61c762d] tox.ini: Avoid newer pydocstyle Do not install the latest pydocstyle because it currently breaks flake8-docstring. This pinning should be removed as soon as https://gitlab.com/pycqa/flake8-docstrings/issues/36 is resolved. 2019-07-14 Arthur de Jong * [ad96b15] stdnum/util.py: Support normalising quotes See https://github.com/arthurdejong/python-stdnum/issues/150 2019-06-23 Leandro Regueiro * [4ad2d9c] stdnum/ad/__init__.py, stdnum/ad/nrt.py, tests/test_ad_nrt.doctest: Add Andorran TIN Closes https://github.com/arthurdejong/python-stdnum/pull/145 Closes https://github.com/arthurdejong/python-stdnum/issues/119 2019-06-15 Leandro Regueiro * [510a46a] stdnum/cr/cr.py, tests/test_cr_cr.doctest: Add Costa Rica foreigners identification number Part of https://github.com/arthurdejong/python-stdnum/issues/141 Closes https://github.com/arthurdejong/python-stdnum/pull/140 2019-06-15 Leandro Regueiro * [4b10f56] stdnum/cr/cpf.py, tests/test_cr_cpf.doctest: Add Costa Rica Cédula de Identidad Closes https://github.com/arthurdejong/python-stdnum/issues/139 2019-06-15 Leandro Regueiro * [d0da884] stdnum/cr/__init__.py, stdnum/cr/cpj.py, tests/test_cr_cpj.doctest: Add Costa Rica TIN number Closes https://github.com/arthurdejong/python-stdnum/issues/109 2019-06-10 Leandro Regueiro * [1e814ce] stdnum/za/__init__.py, stdnum/za/tin.py, tests/test_za_tin.doctest: Add South Africa TIN number Closes https://github.com/arthurdejong/python-stdnum/pull/129 Closes https://github.com/arthurdejong/python-stdnum/issues/108 2019-06-09 Leandro Regueiro * [8c1015a] stdnum/py/__init__.py, stdnum/py/ruc.py, tests/test_py_ruc.doctest: Add Paraguay RUC number This supports RUC number validation of rphysical persons, non-juridical persons and foreigners. Closes https://github.com/arthurdejong/python-stdnum/issues/122 Closes https://github.com/arthurdejong/python-stdnum/pull/123 2019-06-14 Jeffry Jesus De La Rosa * [e1ea8db] stdnum/do/ncf.py: Update Dominican Republic e-CF documents types The document type values are different from the NCF document types https://dgii.gov.do/contribuyentes/personasFisicas/inicioOperaciones/ComprobantesFiscales/Paginas/comprobantesFiscalesElectronicos.aspx Closes https://github.com/arthurdejong/python-stdnum/pull/138 2019-06-06 Leandro Regueiro * [817c177] stdnum/uy/__init__.py, stdnum/uy/rut.py, tests/test_uy_rut.doctest: Add Uruguay RUT number Closes https://github.com/arthurdejong/python-stdnum/pull/121 Closes https://github.com/arthurdejong/python-stdnum/issues/110 2019-06-14 Arthur de Jong * [51e00da] stdnum/de/handelsregisternummer.py, tests/test_de_handelsregisternummer.doctest: Fix handelsregisternummer to not turn Hamburg into Homburg This changes the minimisation function that is used for comparison and canonicalisation to not reduce Hamburg and Homburg to the same string. This makes the function slightly more strict in which encoding differences to accept. This also adds a few aliases to the court names. Closes https://github.com/arthurdejong/python-stdnum/issues/136 2019-06-10 Jeffry Jesus De La Rosa * [5d0f288] stdnum/do/ncf.py, tests/test_do_ncf.doctest: Support Dominican Republic e-CF within NCF e-CF is the new way of DGII document, is the same as NCF, but the difference one to another, is that e-CF has 13 digit and is electronic invoice, with this change it will validate the correct NCF and e-CF. Closes https://github.com/arthurdejong/python-stdnum/pull/135 2019-06-06 Leandro Regueiro * [7fb390e] .gitignore: .gitignore: Also exclude some editor backup files 2019-06-02 Leandro Regueiro * [7211ccb] stdnum/nz/ird.py, tests/test_nz_ird.doctest: Add New Zealand IRD number Closes https://github.com/arthurdejong/python-stdnum/pull/112 Closes https://github.com/arthurdejong/python-stdnum/issues/104 2019-06-02 Arthur de Jong * [c969fc8] stdnum/eu/nace.py: Ignore wrong docstring detection Fixes 170e599 2019-06-02 Arthur de Jong * [170e599] docs/stdnum.eu.nace.rst, stdnum/eu/nace.py: Rename stdnum.eu.nace.label() to get_label() To be more consistent with other similar functions. This deprecates the old function which now is a wrapper around get_label(). 2019-06-02 Arthur de Jong * [6988d91] stdnum/tr/tckimlik.py, stdnum/tr/vkn.py, tests/test_tr_vkn.doctest: Add Vergi Kimlik Numarası Closes https://github.com/arthurdejong/python-stdnum/issues/99 2019-05-23 Sergi Almacellas Abellana * [8292779] stdnum/ean.py: Add GTIN (EAN-14) validation 2019-05-12 Arthur de Jong * [4ac84c5] stdnum/ve/__init__.py, stdnum/ve/rif.py, tests/test_ve_rif.doctest: Add Venezuelan RIF (VAT number) Closes https://github.com/arthurdejong/python-stdnum/issues/97 2019-05-01 Arthur de Jong * [a6521e6] tests/test_isbn.doctest, tox.ini: Fix remaining issue with encoding This also sets the python 2.6 interpreter explicityly because sometimes tox seems to get the wrong one. Fixes 680a95f 2019-04-29 Arthur de Jong * [b1af986] tests/test_isbn.doctest: Re-add Python 2.6 support Fixes 48ff92e 2019-04-28 Arthur de Jong * [8307b94] setup.cfg: Don't force "" strings to avoid escaping quotes Fixes test failures with recent flake8-quotes. 2019-04-28 Arthur de Jong * [c1fb46a] stdnum/util.py, tests/test_util.doctest: Convert various reasonable unicode digits This converts many of the "reasonable" unicode digits that are just variations on ASCII 0-9 to their ASCII counterparts. 2019-04-28 Arthur de Jong * [48ff92e] stdnum/ar/cbu.py, stdnum/ar/cuit.py, stdnum/ar/dni.py, stdnum/at/businessid.py, stdnum/at/postleitzahl.py, stdnum/at/tin.py, stdnum/at/uid.py, stdnum/at/vnr.py, stdnum/au/abn.py, stdnum/au/acn.py, stdnum/au/tfn.py, stdnum/be/vat.py, stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, stdnum/br/cnpj.py, stdnum/br/cpf.py, stdnum/ca/bn.py, stdnum/ca/sin.py, stdnum/casrn.py, stdnum/ch/uid.py, stdnum/cl/rut.py, stdnum/cn/ric.py, stdnum/co/nit.py, stdnum/cu/ni.py, stdnum/cy/vat.py, stdnum/cz/dic.py, stdnum/cz/rc.py, stdnum/de/idnr.py, stdnum/de/stnr.py, stdnum/de/vat.py, stdnum/dk/cpr.py, stdnum/dk/cvr.py, stdnum/do/cedula.py, stdnum/do/ncf.py, stdnum/do/rnc.py, stdnum/ean.py, stdnum/ec/ci.py, stdnum/ec/ruc.py, stdnum/ee/ik.py, stdnum/ee/kmkr.py, stdnum/ee/registrikood.py, stdnum/es/ccc.py, stdnum/es/cif.py, stdnum/es/cups.py, stdnum/es/dni.py, stdnum/es/nie.py, stdnum/es/nif.py, stdnum/eu/banknote.py, stdnum/eu/nace.py, stdnum/fi/alv.py, stdnum/fi/associationid.py, stdnum/fi/veronumero.py, stdnum/figi.py, stdnum/fr/nif.py, stdnum/fr/nir.py, stdnum/fr/siren.py, stdnum/fr/siret.py, stdnum/fr/tva.py, stdnum/gb/nhs.py, stdnum/gb/sedol.py, stdnum/gb/upn.py, stdnum/gb/vat.py, stdnum/gr/amka.py, stdnum/gr/vat.py, stdnum/hr/oib.py, stdnum/hu/anum.py, stdnum/ie/vat.py, stdnum/il/idnr.py, stdnum/imei.py, stdnum/imo.py, stdnum/imsi.py, stdnum/in_/pan.py, stdnum/is_/vsk.py, stdnum/isbn.py, stdnum/issn.py, stdnum/it/iva.py, stdnum/lt/asmens.py, stdnum/lt/pvm.py, stdnum/lu/tva.py, stdnum/lv/pvn.py, stdnum/md/idno.py, stdnum/meid.py, stdnum/mt/vat.py, stdnum/mu/nid.py, stdnum/my/nric.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/no/fodselsnummer.py, stdnum/no/kontonr.py, stdnum/no/orgnr.py, stdnum/nz/bankaccount.py, stdnum/pe/cui.py, stdnum/pe/ruc.py, stdnum/pl/nip.py, stdnum/pl/pesel.py, stdnum/pl/regon.py, stdnum/pt/nif.py, stdnum/ro/cf.py, stdnum/ro/cnp.py, stdnum/rs/pib.py, stdnum/ru/inn.py, stdnum/se/orgnr.py, stdnum/se/personnummer.py, stdnum/se/vat.py, stdnum/si/ddv.py, stdnum/sk/dph.py, stdnum/sm/coe.py, stdnum/tr/tckimlik.py, stdnum/us/rtn.py, stdnum/util.py, tests/test_cn_ric.doctest, tests/test_isbn.doctest, tests/test_robustness.doctest, tests/test_util.doctest: Use an internal isdigits() function instead of str.isdigit() The problem with the latter is that it will also accept all kinds of unicode digits that are not the ASCII 0-9 digits causing all kinds of problems in check digit calculations. Some of these unicode characters are also considered digits by int() but some are not (such as the SUPERSCRIPT TWO unicode character). Closes https://github.com/arthurdejong/python-stdnum/issues/96 2019-04-04 Arthur de Jong * [3aeec68] stdnum/il/__init__.py, stdnum/il/idnr.py: Add Israeli identity number 2019-03-24 Arthur de Jong * [e07a0e2] stdnum/pe/cui.py, tests/test_pe_cui.doctest: Add Peruvian CUI (DNI) 2019-03-23 Arthur de Jong * [2e87251] stdnum/pe/__init__.py, stdnum/pe/ruc.py, tests/test_pe_ruc.doctest: Add Peruvian RUC 2019-03-10 Arthur de Jong * [72cbfb8] ChangeLog, NEWS, README, docs/changes.rst, docs/conf.py, docs/index.rst, docs/stdnum.ar.dni.rst, docs/stdnum.at.vnr.rst, docs/stdnum.cu.ni.rst, docs/stdnum.gr.amka.rst, docs/stdnum.lt.asmens.rst, docs/stdnum.mac.rst, docs/stdnum.md.idno.rst, docs/stdnum.mx.curp.rst, docs/stdnum.no.fodselsnummer.rst, docs/stdnum.nz.bankaccount.rst, docs/stdnum.se.personnummer.rst, stdnum/__init__.py: Get files ready for 1.11 release This also adds the release notes to the generated documentation. 2019-03-10 Arthur de Jong * [fdeeb9a] stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, stdnum/oui.dat: Update database files 2019-03-10 Arthur de Jong * [fbbb550] update/at_postleitzahl.py, update/isil.py, update/my_bp.py, update/requirements.txt: Switch update scripts to beautifulsoup4 2019-02-27 Arthur de Jong * [61a8a94] stdnum/ee/ik.py: Add documentation 2018-12-27 Arthur de Jong * [151e0d8] stdnum/ar/cbu.py: Remove broken link 2019-03-10 Arthur de Jong * [3f953f3] stdnum/nz/__init__.py, stdnum/nz/bankaccount.py, stdnum/nz/banks.dat, tests/test_nz_bankaccount.doctest, update/nz_banks.py: Add New Zealand bank account number 2019-03-03 Arthur de Jong * [4e25e31] stdnum/md/__init__.py, stdnum/md/idno.py, tests/test_md_idno.doctest: Add Moldavian IDNO 2019-03-03 Arthur de Jong * [d5d812b] tests/test_bg_egn.doctest: Add more tests for Bulgarian EGN 2019-03-03 Arthur de Jong * [60cb887] stdnum/mac.py, tests/test_mac.doctest: Rename MAC check_manufacturer to validate_manufacturer For consistency with the other validation modules that have an extra argument to disable or enable certain parts of the validation. 2019-03-03 Arthur de Jong * [39b8ace] stdnum/lt/asmens.py, tests/test_lt_asmens.doctest: Add Lithuanian Asmens kodas 2019-02-27 Arthur de Jong * [ab91d87] stdnum/gr/amka.py, tests/test_gr_amka.doctest: Add Greek AMKA social security number 2019-02-20 Arthur de Jong * [6eadca1] setup.cfg, setup.py, stdnum/__init__.py, stdnum/bic.py, stdnum/cl/__init__.py, stdnum/co/__init__.py, stdnum/eu/at_02.py, stdnum/iso6346.py, stdnum/iso9362.py, stdnum/numdb.py, stdnum/sk/rc.py, stdnum/us/tin.py, tox.ini, update/at_postleitzahl.py, update/do_whitelists.py, update/my_bp.py, update/numlist.py: Switch from import-order to isort 2019-02-17 Arthur de Jong * [9daa1b0] stdnum/ar/cbu.py, stdnum/at/uid.py, stdnum/iban.py, update/iban.py: Fix typos 2019-02-17 Arthur de Jong * [cc6ffec] stdnum/de/handelsregisternummer.py, stdnum/de/stnr.py, stdnum/do/cedula.py, stdnum/numdb.py: Improvements reported by pylint 2019-02-17 Arthur de Jong * [be8e258] stdnum/cu/__init__.py, stdnum/cu/ni.py: Add Cuban número de identidad 2019-02-11 Andrés R * [0fc0c30] stdnum/do/rnc.py: Return only first response from DGII lookup This fixes an issue when response for check_dgii() comes with 2 records instead of one for same RNC. Closes https://github.com/arthurdejong/python-stdnum/pull/95 2019-02-10 Arthur de Jong * [b4773ae] .travis.yml, setup.py, tox.ini: Add Python 3.7 tests 2019-02-05 Arthur de Jong * [50874a9] stdnum/mx/__init__.py, stdnum/mx/curp.py, tests/test_mx_curp.doctest: Add Mexican CURP 2019-01-29 Arthur de Jong * [4cb44aa] stdnum/bg/egn.py, stdnum/cz/rc.py, stdnum/dk/cpr.py, stdnum/lv/pvn.py, stdnum/ro/cnp.py: Call compact in get_birth_date() functions This ensures that formatting characters are also removed when formatted numbers are passed to the get_birth_date() functions. Closes https://github.com/arthurdejong/python-stdnum/issues/94 2018-12-28 Arthur de Jong * [3f4a08a] stdnum/mac.py, stdnum/oui.dat, tests/test_mac.doctest, update/oui.py: Add MAC address This adds validation of MAC (Ethernet) addresses. It will perform lookups in the IEEE registry for manufacturer names for universally administered addresses. Closes https://github.com/arthurdejong/python-stdnum/issues/93 2018-12-27 Arthur de Jong * [d7f7b8e] stdnum/ar/__init__.py, stdnum/ar/dni.py: Add Argentinian DNI Closes https://github.com/arthurdejong/python-stdnum/issues/90 2018-12-26 Arthur de Jong * [375f63b] stdnum/at/vnr.py: Add Austrian Versicherungsnummer 2018-11-27 Ilya Vihtinsky * [b77c9cd] stdnum/se/__init__.py, stdnum/se/personnummer.py, tests/test_se_personnummer.doctest: Add Swedish Personnummer Closes https://github.com/arthurdejong/python-stdnum/pull/88 2018-11-27 Ilya Vihtinsky * [d11e5c4] stdnum/no/__init__.py, stdnum/no/fodselsnummer.py, tests/test_no_fodselsnummer.doctest: Add Norwegian Fødselsnummer Closes https://github.com/arthurdejong/python-stdnum/pull/88 2018-12-07 Mario Puntin * [bb24c2f] stdnum/ar/cuit.py: Add format for Argentinian CUIT number Closes https://github.com/arthurdejong/python-stdnum/pull/89 2018-11-24 Christopher Ormaza * [069279a] stdnum/ec/ci.py, stdnum/ec/ruc.py: Support Cedula and RUC of foreigners Add the case of Cedulas and RUCs of foreigners in Ecuador, as Venezuelans and Colombians Closes https://github.com/arthurdejong/python-stdnum/pull/87 2018-11-12 Gustavo Valverde * [e31ff95] stdnum/do/ncf.py, stdnum/do/rnc.py: Use HTTPS for WSDL as HTTP was deprecated The regulator changed their site to use HTTPS by default; making this resource unavailable through HTTP. Closes https://github.com/arthurdejong/python-stdnum/pull/85 2018-11-11 Arthur de Jong * [8677d04] setup.cfg: Make the multi-line operator place explicit Recent versions of flake8 changed the defaults of the errors to ignore. 2018-10-14 Arthur de Jong * [a68f3ca] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.bitcoin.rst, docs/stdnum.iso11649.rst, docs/stdnum.mu.nid.rst, docs/stdnum.no.iban.rst, docs/stdnum.no.kontonr.rst, stdnum/__init__.py, stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/imsi.dat, stdnum/isbn.dat, update/my_bp.py: Get files ready for 1.10 release 2018-10-14 Arthur de Jong * [6b85f91] stdnum/iban.py, tests/test_iban.doctest: Raise InvalidComponent on unknown IBAN country This partially reverts 58ea7b2. Closes https://github.com/arthurdejong/python-stdnum/issues/82 2018-10-09 Arthur de Jong * [58ea7b2] stdnum/iban.py, tests/test_iban.doctest: Fix issue with minimal IBAN This ensures that an IBAN with a missing bban part and unknown country code (while still having a valid MOD 97,10 checksum) is considered valid. Closes https://github.com/arthurdejong/python-stdnum/issues/84 2018-09-30 Arthur de Jong * [54c3650] stdnum/bitcoin.py, tests/test_bitcoin.doctest: Bitcoin address This adds validation of Bitcoin addresses. No check is done that the addresses actually exist but only that they are syntactically correct. Closes https://github.com/arthurdejong/python-stdnum/issues/80 2018-09-21 Levin Rickert * [510ee93] stdnum/ru/__init__.py: Add vat alias for Russia 2018-08-30 Gerard Dalmau * [e58c09a] tests/test_es_cups.doctest, tests/test_es_referenciacatastral.doctest: Fix ES test descriptions 2018-08-30 Gerard Dalmau * [4a76779] stdnum/es/cif.py, stdnum/es/nif.py, tests/test_es_nif.doctest: Improve CIF and NIF validation NIF starting with K, L or M are NIF instead of CIF. This also adds NIF-DNI-CIF-NIE classification tests. Closes https://github.com/arthurdejong/python-stdnum/pull/81 2018-08-22 Arthur de Jong * [5af712b] stdnum/no/iban.py, stdnum/no/kontonr.py, tests/test_iban.doctest: Add Norwegian bank account number This includes validation of Norwegian bank account numbers and conversion to IBAN. Closes https://github.com/arthurdejong/python-stdnum/issues/79 2018-08-08 Arthur de Jong * [ec39d86] stdnum/mu/__init__.py, stdnum/mu/nid.py, tests/test_mu_nid.doctest: Add Mauritian national ID number Thans to Bradley Smith for providing the needed information to implement this. See https://lists.arthurdejong.org/python-stdnum-users/2018/msg00003.html 2018-05-24 Esben Toke Christensen * [676d62c] stdnum/iso11649.py, tests/test_iso11649.doctest: Add iso11649 structured creditor reference Closes https://github.com/arthurdejong/python-stdnum/pull/72 2018-06-18 PanderMusubi * [65b5bfe] README, stdnum/nl/brin.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/nl/postcode.py: Improved texts and added links Closes https://github.com/arthurdejong/python-stdnum/pull/75 2018-05-19 Arthur de Jong * [6e776ae] stdnum/do/ncf.py, tests/test_do_ncf.py: Switch the NCF online check to the new form This tries to screen-scrape the new DGII form that is used to validate the new format of NCF numbers. Closes https://github.com/arthurdejong/python-stdnum/issues/71 2018-05-01 Arthur de Jong * [04f78fb] online_check/stdnum.wsgi: Fix encoding issues in online check This ensures that all text is unicode internally and encoded to UTF-8 on response. 2018-05-01 Arthur de Jong * [bae6f19] stdnum/mx/rfc.py, tests/test_mx_rfc.doctest: Fix an issue with format of Mexican tax numbers Fix an issue where the format accepted a mix of personal and company numberer in validation causing in a raised ValueError exception. 2018-05-01 Arthur de Jong * [08d1053] stdnum/es/referenciacatastral.py, stdnum/mx/rfc.py, stdnum/util.py, tests/test_util.doctest: Make unicode conversion standard A few modules use non-ASCII characters in numbers. This introduces a to_unicode() function in util so that it can be used by multiple modules. 2018-04-14 Arthur de Jong * [d9defc8] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.at.postleitzahl.rst, docs/stdnum.at.tin.rst, docs/stdnum.be.iban.rst, docs/stdnum.de.handelsregisternummer.rst, docs/stdnum.de.stnr.rst, docs/stdnum.figi.rst, docs/stdnum.me.iban.rst, setup.py, stdnum/__init__.py, stdnum/at/postleitzahl.dat, stdnum/be/banks.dat, stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, stdnum/us/ein.dat, update/isil.py: Get files ready for 1.9 release 2018-04-12 Arthur de Jong * [e200656] stdnum/iban.py, tests/test_be_iban.doctest: Add an extra test for Belgian IBANs A Belgian IBAN should not end with 00. This also fixes a docstring and comment in the IBAN module. 2018-04-10 Arthur de Jong * [e6739be] stdnum/imsi.dat, stdnum/imsi.py, tests/test_imsi.doctest, update/imsi.py: Correctly split IMSI with multi-length MNC Ensures that imsi.split() will correctly split the IMSI into an MCC, MNC and MSIN even if not all MNCs within a single MCC have the same length. This has the downside of not being able to guess the MNC length in some cases. This also omits empty information from the data file and updates the data file from Wikipedia. Closes https://github.com/arthurdejong/python-stdnum/issues/68 2018-04-09 Arthur de Jong * [2541a22] online_check/check.js: Improve online check animation This speeds up the animation, collapsing the list before performing the server request and disable the slide animation on history navigation. 2018-04-09 Arthur de Jong * [147b84b] online_check/stdnum.wsgi: Ensure API requests are cached separately This ensures that requests that browsers make using XMLHttpRequest (they set the X-Requested-With header) are cached separately from normal requests. 2018-04-09 Arthur de Jong * [8204ac6] stdnum/do/ncf.py: Support new style of NCF numbers This adds support for validating Dominican Republic invoice numbers that should be used since from 2018-05-01. http://www.dgii.gov.do/contribuyentes/personasFisicas/inicioOperaciones/ComprobantesFiscales/Paginas/SecuenciaDeNCF.aspx Closes https://github.com/arthurdejong/python-stdnum/issues/69 2018-03-25 Arthur de Jong * [918d483] stdnum/figi.py, tests/test_figi.doctest: Add Financial Instrument Global Identifier 2018-03-23 Arthur de Jong * [ceb3c62] stdnum/de/__init__.py, stdnum/de/handelsregisternummer.py, tests/test_de_handelsregisternummer.doctest: Add German company registry numbers Based on the implementation provided by Markus Törnqvist and Lari Haataja of Holvi Payment Services. 2018-03-19 Arthur de Jong * [fec1685] stdnum/at/tin.py: Also ignore other letters with possible umlaut Fixes 98d11a3 Closes https://github.com/arthurdejong/python-stdnum/pull/67 2018-03-18 Arthur de Jong * [98d11a3] stdnum/at/fa.dat, stdnum/at/tin.py, tests/test_at_tin.doctest: Add Austrian Abgabenkontonummer Based on the implementation provided by Mohammed Salman of Holvi. Closes https://github.com/arthurdejong/python-stdnum/pull/50 2018-03-17 Arthur de Jong * [ab15e20] stdnum/at/__init__.py: Fix import order Fixes ee263a5 2018-03-17 Arthur de Jong * [ee263a5] setup.cfg, stdnum/at/__init__.py, stdnum/at/postleitzahl.dat, stdnum/at/postleitzahl.py, stdnum/nl/__init__.py, update/at_postleitzahl.py: Add Austrian postal code This also fixes the name of the Dutch postal_code alias and tunes the tests. 2018-03-17 Arthur de Jong * [8c29fbf] stdnum/me/__init__.py, stdnum/me/iban.py, tests/test_iban.doctest: Add support for Montenegro IBAN format This adds further checks to the country-specific part of the IBAN for Montenegro IBANs. 2018-03-11 Arthur de Jong * [647dfea] stdnum/de/stnr.py, tests/test_de_stnr.doctest: Add German Steuernummer Based on the implementation provided by Mohammed Salman of Holvi. This is the old tax number that is being replaced by the Steuerliche Identifikationsnummer. The number has a regional form (which is used most often) and a national form. Closes https://github.com/arthurdejong/python-stdnum/pull/49 2018-02-28 Esa Halsti * [6e30cf5] stdnum/fi/hetu.py, tests/test_fi_hetu.doctest: Add validation for "individual" part of hetu The range between 900 and 999 is reserved for temporary identifiers and is not given to any real person. Closes https://github.com/arthurdejong/python-stdnum/pull/66 2018-03-10 Arthur de Jong * [70dc091] setup.cfg: Support building a universal wheel 2018-02-19 Arthur de Jong * [75138a4] stdnum/do/cedula.py, tests/test_do_cedula.py: Add check_dgii() to stdnum.do.cedula module This exposes the stdnum.do.rnc.check_dgii() in the stdnum.do.cedula module with but rename the rnc result entry to cedula. Closes https://github.com/arthurdejong/python-stdnum/issues/63 2018-02-19 Arthur de Jong * [92d751c] stdnum/do/ncf.py, stdnum/do/rnc.py: Fix PySimpleSOAP DGII result parsing issue This strips the wrapper that PySimpleSOAP puts around results from the DGII PySimpleSOAP SOAP call. Closes https://github.com/arthurdejong/python-stdnum/issues/64 Closes https://github.com/arthurdejong/python-stdnum/issues/65 2018-02-19 Arthur de Jong * [81947a2] docs/index.rst: Improve get_cc_module() documentation 2018-02-14 Arthur de Jong * [5cbba25] setup.cfg, stdnum/al/__init__.py, stdnum/ar/__init__.py, stdnum/at/__init__.py, stdnum/be/__init__.py, stdnum/be/iban.py, stdnum/cl/__init__.py, stdnum/co/__init__.py, stdnum/cz/__init__.py, stdnum/dk/__init__.py, stdnum/do/__init__.py, stdnum/ec/__init__.py, stdnum/ee/__init__.py, stdnum/es/__init__.py, stdnum/exceptions.py, stdnum/fi/__init__.py, stdnum/fr/__init__.py, stdnum/hr/__init__.py, stdnum/hu/__init__.py, stdnum/is_/__init__.py, stdnum/it/__init__.py, stdnum/lt/__init__.py, stdnum/lu/__init__.py, stdnum/lv/__init__.py, stdnum/mc/__init__.py, stdnum/mx/__init__.py, stdnum/nl/__init__.py, stdnum/no/__init__.py, stdnum/pl/__init__.py, stdnum/pt/__init__.py, stdnum/ro/__init__.py, stdnum/rs/__init__.py, stdnum/si/__init__.py, stdnum/sk/__init__.py, stdnum/sm/__init__.py, tests/test_do_ncf.py, tests/test_do_rnc.py, update/be_banks.py, update/numlist.py: Update the flake8 ignore list Re-enable the flake8 test for unused imports by explicitly marking imports for namespace purposes. This allows us to remove a few unused imports. A few more cleanups that allow us to reduce the number of ignored flake8 ignored tests. The remaining ignored tests are now documented. Ignore a flake8 warning about print statements because we use print in the update scripts. 2018-02-11 Arthur de Jong * [201960c] stdnum/be/iban.py, stdnum/bic.py, stdnum/iban.py, tests/test_be_iban.doctest: Add test for Belgian IBANs This adds a test for IBANs that were found online together with a BIC code to test the IBAN to swift code mapping. This also supports some extra separators in IBAN and BIC numbers and fixes a check digit calculation issue in the Belgian account number check digits. 2018-02-10 Arthur de Jong * [56002fa] stdnum/be/banks.dat, stdnum/be/iban.py, tests/test_iban.doctest, update/be_banks.py, update/requirements.txt: Add support for Belgian IBAN format This adds further checks to the country-specific part of the IBAN for Belgian IBANs. Closes https://github.com/arthurdejong/python-stdnum/issues/62 2018-02-10 Arthur de Jong * [c611b27] stdnum/bic.py: Support spaces in BIC codes BIC codes are sometimes written in a space-separated form this correctly cleans the spaces for compact representation. 2018-02-06 Arthur de Jong * [5fd1ae0] stdnum/do/ncf.py, stdnum/do/rnc.py, stdnum/eu/vat.py, stdnum/tr/tckimlik.py, stdnum/util.py: Allow configuring SOAP request timeout This adds a timeout parameter to all checks that use a SOAP web service to reduce the blocking time. The default timeout for all checks is 30 seconds. 2018-01-07 Chris Lamb * [c113613] stdnum/eu/vat.py: Exclude EU country codes from documentation Whilst working on the Reproducible Builds effort [0], we noticed that python-stdnum could not be built reproducibly as it relies on a stable set ordering when generating the documentation. This has been filed in Debian as #88652 [0] https://reproducible-builds.org/ [1] https://bugs.debian.org/886522 Closes: https://github.com/arthurdejong/python-stdnum/pull/61 Signed-off-by: Chris Lamb 2018-01-06 Arthur de Jong * [9841bae] ChangeLog, NEWS, stdnum/__init__.py: Get files ready for 1.8.1 release 2018-01-06 Arthur de Jong * [820c233] README: Fix feedback section in README to be valid RST 2018-01-06 Arthur de Jong * [ab8a871] setup.py: Update long description in compatible way This ensures that the README is read correctly on all supported Python interpreters. Fixes 1304122 2018-01-05 5j9 <5j9@users.noreply.github.com> * [1304122] setup.py: setup.py: Open README with utf-8 encoding Fixes #59 2018-01-03 Arthur de Jong * [ae89e82] ChangeLog, MANIFEST.in, NEWS, README, docs/conf.py, docs/index.rst, docs/stdnum.casrn.rst, docs/stdnum.do.ncf.rst, docs/stdnum.eu.banknote.rst, docs/stdnum.in_.aadhaar.rst, docs/stdnum.in_.pan.rst, setup.cfg, stdnum/__init__.py, update/numlist.py: Get files ready for 1.8 release 2018-01-03 Arthur de Jong * [db9b278] tox.ini: Fix Sphinx dependency name 2018-01-03 Arthur de Jong * [fbb9d24] docs/index.rst, stdnum/__init__.py: Move get_cc_module() function to package for public use 2018-01-03 Arthur de Jong * [7bb0e5f] setup.py, stdnum/util.py: Try the non-caching zeep client on older versions This uses the "normal" Client class from zeep if CachingClient is not available (this is the case on older zeep versions). This also records (and documents) the dependencies for SOAP libraries in setup.py. 2018-01-01 Arthur de Jong * [6d7ba46] .travis.yml: Add a Travis configuration file 2018-01-01 Arthur de Jong * [db7be06] stdnum/do/ncf.py, stdnum/do/rnc.py, tox.ini: Fix Python 2.6 compatibility 2018-01-01 Arthur de Jong * [8107f08] stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/us/ein.dat: Update database files Note that the Swift IBAN Registry in txt format is currently unavailable so hasn't been updated. 2018-01-01 Arthur de Jong * [e781eee] MANIFEST.in, tox.ini, update/README, update/cn_loc.py, update/do_whitelists.py, update/eu_nace.py, update/iban.py, update/imsi.py, update/isbn.py, update/isil.py, update/my_bp.py, update/numlist.py, update/requirements.txt: Move update scripts to own directory This moves all the update scripts to their own directory so they don't clutter the toplevel directory. This also ensures that the scripts are passed through flake8 and makes some adjustments for that alongside a few other cleanups. 2017-12-01 srikanthlogic * [442aa82] stdnum/in_/pan.py, tests/test_in_pan.doctest: Add Indian PAN Closes https://github.com/arthurdejong/python-stdnum/pull/57 2017-12-31 Arthur de Jong * [8a34b4e] stdnum/util.py: Correctly quote regular expression Fixes a6ae1d0. 2017-12-31 Arthur de Jong * [271b9e4] docs/stdnum.is_.kennitala.rst, docs/stdnum.is_.vsk.rst, tox.ini: Add Sphinx documentation checks This also fixes an escaping issue in the automatically generated documentation for modules that end with an underscore. 2017-12-06 Arthur de Jong * [be094f8] README, docs/conf.py, docs/index.rst, getnumlist.py, setup.py, stdnum/__init__.py: Use README as package long description This also shortens the stdnum module docstring and updates the Sphinx configuration. 2017-12-01 srikanthlogic * [c576bc4] stdnum/in_/__init__.py, stdnum/in_/aadhaar.py: Add Indian Aadhaar Closes https://github.com/arthurdejong/python-stdnum/pull/56 2017-11-26 Arthur de Jong * [bafdb70] stdnum/casrn.py, tests/test_casrn.doctest: Add CAS Registry Number This adds validation of the Chemical Abstracts Service Registry Number. 2017-11-24 Arthur de Jong * [d5f97e9] online_check/check.js, online_check/stdnum.wsgi: Change output of online lookups This puts the number before the number name to make it a little clearer. 2017-11-24 Arthur de Jong * [f7b4615] online_check/check.js: Store online check numbers in history This updates the browser history with with the numbers that were checked so that you can easily go back and forth between checked number. 2017-11-24 Arthur de Jong * [7cb114b] online_check/stdnum.wsgi: Correctly escape number for use in attribute 2017-11-26 Arthur de Jong * [90067f7] tests/test_eu_banknote.doctest: Fix incorrect banknote test Also add a few verified correct numbers. Fixes b7b812c. 2017-11-22 Arthur de Jong * [b7b812c] stdnum/eu/banknote.py, tests/test_eu_banknote.doctest: Add Euro bank notes serial number This adds validation of serial numbers that appear on Euro bills. 2017-11-02 Arthur de Jong * [a6ae1d0] docs/index.rst, docs/stdnum.bic.rst, docs/stdnum.iso9362.rst, stdnum/bic.py, stdnum/iso9362.py, stdnum/util.py: Rename stdnum.iso9362 to stdnum.bic The new name is more descriptive and easier to remember. This makes stdnum.iso9362 a compatibility module that can be imported with the old name but provides a deprecation warning. 2017-10-22 Arthur de Jong * [6be1754] stdnum/util.py: Support zeep as preferred SOAP library This tries zeep, suds (suds-jurko) and falls back to using pysimplesoap for performing the SOAP requests. From those zeep seems to be the best supported implementation. 2017-10-22 Arthur de Jong * [9ab1d66] stdnum/eu/vat.py, tests/test_eu_vat.py: Add tests for the VIES VAT validation functions These tests are not normally run as part of the normal test suite and have to be explicitly enabled by setting the ONLINE_TESTS environment variable to avoid overloading these online services. 2017-10-18 Arthur de Jong * [ab21159] stdnum/do/ncf.py, tests/test_do_ncf.py: Add stdnum.do.ncf.check_dgii() This adds functions for querying the Dirección General de Impuestos Internos (DGII) API to check if the RNC and NCF combination provided is valid. 2017-10-18 Arthur de Jong * [6b09c5d] stdnum/do/rnc.py, tests/test_do_rnc.py, tox.ini: Add stdnum.do.rnc.check_dgii() and search_dgii() This adds functions for querying the Dirección General de Impuestos Internos (DGII) API to validate the RNC and search the register by keyword. 2017-10-16 Arthur de Jong * [665bf7a] stdnum/do/ncf.py, tests/test_do_ncf.doctest: Add Dominican Republic receipt number (NCF) This number does not have a check digit but uses a distinctive enough format that it should not be too great of a problem. 2017-10-14 Arthur de Jong * [4ab1e3b] stdnum/eu/vat.py, stdnum/tr/tckimlik.py, stdnum/util.py: Cache SOAP client in get_soap_client() This caches the instantiated SOAP client classes in the util module instead of doing the caching in every module that performs requests. 2017-10-18 Arthur de Jong * [cecd35c] getdowhitelists.py: Add a script for updating RNC and Cedula whitelists 2017-10-13 Arthur de Jong * [399321b] stdnum/do/rnc.py, tests/test_do_rnc.doctest: Also add a whitelist for Dominican Republic RNC Some RNCs are apparently valid while having an incorrect check digit (though most appear to be inactive). There also appear to be valid RNCs that do not have 9 digits. 2017-10-13 Arthur de Jong * [58511dc] stdnum/do/cedula.py, tests/test_do_cedula.doctest: Add a few new numbers to the Cedula whitelist These numbers were found to be valid but had an invalid check digit nonetheless (though most appear to be inactive). Also there appear to be a few valid Cedula that do not have 11 digits. 2017-10-13 David Arnold * [74c1721] stdnum/util.py, tests/test_util.doctest: Handle unicode arguments in get_cc_module() Closes https://github.com/arthurdejong/python-stdnum/issues/54 2017-09-15 Arthur de Jong * [12cd072] stdnum/eu/at_02.py: Fix spelling errors 2017-09-12 Arthur de Jong * [4496ffe] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.ca.bn.rst, docs/stdnum.ca.sin.rst, docs/stdnum.de.idnr.rst, docs/stdnum.ee.registrikood.rst, docs/stdnum.fi.veronumero.rst, docs/stdnum.gb.upn.rst, stdnum/__init__.py: Get files ready for 1.7 release 2017-09-12 Arthur de Jong * [28092b3] stdnum/damm.py: Add example with custom table to Damm 2017-09-11 Arthur de Jong * [24d4a76] stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files 2017-09-11 Arthur de Jong * [5071636] getisbn.py: Update getisbn to allow TLSv1 The www.isbn-international.org site uses TLSv1 which seems to be blocked by recent Python/OpenSSL combinations unless configured otherwise. 2017-09-11 Arthur de Jong * [edaad05] setup.cfg, tox.ini: Run flake8 from tox 2017-09-10 Arthur de Jong * [0ce5d0b] stdnum/bg/egn.py, stdnum/cz/dic.py, stdnum/dk/cpr.py, stdnum/es/cups.py, stdnum/es/referenciacatastral.py, stdnum/eu/nace.py, stdnum/fr/nir.py, stdnum/fr/siren.py, stdnum/iban.py, stdnum/it/codicefiscale.py, stdnum/lv/pvn.py, stdnum/numdb.py, stdnum/ro/cnp.py, stdnum/util.py: Minor code improvements (mostly PEP8) 2017-09-10 Arthur de Jong * [e468c1b] stdnum/ch/vat.py, stdnum/cn/ric.py, stdnum/do/cedula.py, stdnum/ee/ik.py, stdnum/ee/registrikood.py, stdnum/es/nif.py, stdnum/fi/__init__.py, stdnum/fi/hetu.py, stdnum/gb/nhs.py, stdnum/gb/upn.py, stdnum/gb/vat.py, stdnum/is_/kennitala.py, stdnum/it/codicefiscale.py, stdnum/nl/onderwijsnummer.py, stdnum/numdb.py, stdnum/rs/pib.py, stdnum/sk/rc.py, stdnum/us/tin.py: Make import ordering consistent 2017-09-10 Arthur de Jong * [1c27639] stdnum/al/nipt.py, stdnum/ar/cbu.py, stdnum/ar/cuit.py, stdnum/at/businessid.py, stdnum/at/uid.py, stdnum/au/abn.py, stdnum/au/acn.py, stdnum/au/tfn.py, stdnum/be/vat.py, stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, stdnum/br/cnpj.py, stdnum/br/cpf.py, stdnum/ca/bn.py, stdnum/ca/sin.py, stdnum/ch/ssn.py, stdnum/ch/uid.py, stdnum/ch/vat.py, stdnum/cl/rut.py, stdnum/cn/ric.py, stdnum/co/nit.py, stdnum/cusip.py, stdnum/cy/vat.py, stdnum/cz/dic.py, stdnum/cz/rc.py, stdnum/damm.py, stdnum/de/idnr.py, stdnum/de/vat.py, stdnum/de/wkn.py, stdnum/dk/cpr.py, stdnum/dk/cvr.py, stdnum/do/cedula.py, stdnum/do/rnc.py, stdnum/ean.py, stdnum/ec/ci.py, stdnum/ec/ruc.py, stdnum/ee/ik.py, stdnum/ee/kmkr.py, stdnum/ee/registrikood.py, stdnum/es/ccc.py, stdnum/es/cif.py, stdnum/es/cups.py, stdnum/es/dni.py, stdnum/es/iban.py, stdnum/es/nie.py, stdnum/es/nif.py, stdnum/es/referenciacatastral.py, stdnum/eu/at_02.py, stdnum/eu/eic.py, stdnum/eu/nace.py, stdnum/eu/vat.py, stdnum/fi/alv.py, stdnum/fi/associationid.py, stdnum/fi/hetu.py, stdnum/fi/veronumero.py, stdnum/fi/ytunnus.py, stdnum/fr/nif.py, stdnum/fr/nir.py, stdnum/fr/siren.py, stdnum/fr/siret.py, stdnum/fr/tva.py, stdnum/gb/nhs.py, stdnum/gb/sedol.py, stdnum/gb/upn.py, stdnum/gb/vat.py, stdnum/gr/vat.py, stdnum/grid.py, stdnum/hr/oib.py, stdnum/hu/anum.py, stdnum/iban.py, stdnum/ie/pps.py, stdnum/ie/vat.py, stdnum/imei.py, stdnum/imo.py, stdnum/imsi.py, stdnum/is_/kennitala.py, stdnum/is_/vsk.py, stdnum/isan.py, stdnum/isbn.py, stdnum/isil.py, stdnum/isin.py, stdnum/ismn.py, stdnum/iso6346.py, stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, stdnum/iso9362.py, stdnum/issn.py, stdnum/it/codicefiscale.py, stdnum/it/iva.py, stdnum/lei.py, stdnum/lt/pvm.py, stdnum/lu/tva.py, stdnum/luhn.py, stdnum/lv/pvn.py, stdnum/mc/tva.py, stdnum/meid.py, stdnum/mt/vat.py, stdnum/mx/rfc.py, stdnum/my/nric.py, stdnum/nl/brin.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/nl/postcode.py, stdnum/no/mva.py, stdnum/no/orgnr.py, stdnum/numdb.py, stdnum/pl/nip.py, stdnum/pl/pesel.py, stdnum/pl/regon.py, stdnum/pt/nif.py, stdnum/ro/cf.py, stdnum/ro/cnp.py, stdnum/rs/pib.py, stdnum/ru/inn.py, stdnum/se/orgnr.py, stdnum/se/vat.py, stdnum/si/ddv.py, stdnum/sk/dph.py, stdnum/sm/coe.py, stdnum/tr/__init__.py, stdnum/tr/tckimlik.py, stdnum/us/atin.py, stdnum/us/ein.py, stdnum/us/itin.py, stdnum/us/ptin.py, stdnum/us/rtn.py, stdnum/us/ssn.py, stdnum/us/tin.py, stdnum/verhoeff.py: Docstring improvements 2017-09-08 Arthur de Jong * [2cc39ea] stdnum/cz/dic.py, tests/test_eu_vat.doctest: Fix Czech DIČ check digit calculation This fixes a bug in the check digit calculation for the 9-digit numbers that start with a 6 for individuals without a RČ. This also adds a few tests for Czech VAT numbers. See https://github.com/arthurdejong/python-stdnum/issues/51 2017-09-04 Arthur de Jong * [d24a439] stdnum/ee/registrikood.py, tests/test_ee_registrikood.doctest: Add Estonian Registrikood This is based on what was done by Mohammed Salman of Holvi. This adds more tests and validates the check digit. This uses the check digit algorithm from Isikukood which seems to work with all tested numbers although there is no confirmation that this is the correct algorithm. 2017-08-25 Mohammed Salman * [53cc0dc] stdnum/de/idnr.py, tests/test_de_idnr.doctest: Add support for German tax id number 2017-08-30 Arthur de Jong * [a71a1ac] stdnum/isbn.py, tests/test_isbn.doctest: Check bookland code in ISBN This ensures that an InvalidComponent() exception is raised when an unknown EAN bookland code is found. It will also raise this exception when using to_isbn10() when not using the 978 code. 2017-08-28 Arthur de Jong * [8f6fa7d] setup.cfg, stdnum/iban.py, stdnum/ismn.py, stdnum/meid.py, stdnum/numdb.py, stdnum/util.py, tests/numdb-test.dat, tests/test_util.doctest: Ensure 100% branch coverage This ensures that the tests fail if 100% branch coverage is not achieved. It also adds some pragma statements for code that cannot be covered or is Python version dependent. Furthermore, the get_module_list() function was removed from stdnum.util and more tests were made from stdnum.util and stdnum.numdb. The functionality to call format() in a country-specific IBAN implementation was also dropped because it was not used. 2017-08-27 Arthur de Jong * [fbc92f8] stdnum/gb/upn.py: Add English Unique Pupil Number (UPN) 2017-08-26 Arthur de Jong * [b8389eb] stdnum/ca/bn.py, tests/test_ca_bn.doctest: Add Canadian Business Number (BN) 2017-08-26 Arthur de Jong * [efd2eb9] stdnum/ca/__init__.py, stdnum/ca/sin.py: Add Canadian Social Insurance Number (SIN) 2017-08-24 Arthur de Jong * [b8e12d6] setup.cfg: Ensure all Python files are in coverage report 2017-08-17 Mohammed Salman * [0c91b43] stdnum/fi/veronumero.py: Implement Finnish individual tax number validation 2017-07-11 Arthur de Jong * [bd0c7c7] online_check/check.js, online_check/stdnum.wsgi, online_check/template.html: Include search term in online form This also makes the Javascript regular expression used for highlighting links the same as the Python equivalent. 2017-06-02 Arthur de Jong * [81446fd] stdnum/iso7064/mod_97_10.py: Use slightly more compact code This changes the alphanumeric to numeric translation to be slightly more compact and slightly faster. 2017-04-16 Arthur de Jong * [ed9ac5b] tests/test_isbn.doctest: Add a few ISBNs found online This adds a number of ISBNs found online from various sources to the test suite. 2017-04-15 Arthur de Jong * [57c12d8] stdnum/ismn.py, tests/test_ismn.doctest: An ISMN can only be 10 or 13 digits This also adds the test that an ISMN should start with 9790. 2017-04-15 Arthur de Jong * [6fb2e89] stdnum/isbn.py, tests/test_isbn.doctest: Fix conversion of 9 digit ISBN to ISBN13 2017-04-13 Arthur de Jong * [5604d91] docs/index.rst, setup.py, stdnum/fr/nir.py, stdnum/fr/siren.py, stdnum/gb/nhs.py, stdnum/isil.py, stdnum/iso6346.py, stdnum/lv/pvn.py, stdnum/nl/brin.py, stdnum/us/ein.dat, tests/test_al_nipt.doctest: Switch to HTTPS URLs 2017-04-13 Arthur de Jong * [d14ea3b] online_check/README, online_check/check.js, online_check/stdnum.wsgi: Show possible conversions in online check This shows possible converted values. For example it will show ISBN13 conversions for ISBN10 values. 2017-04-13 Arthur de Jong * [6b588d1] stdnum/damm.py: Fix bug in damm.is_valid() function 2017-04-11 Arthur de Jong * [35542c1] ChangeLog, MANIFEST.in, NEWS, README, docs/index.rst, docs/stdnum.ar.cbu.rst, docs/stdnum.eu.eic.rst, docs/stdnum.eu.nace.rst, docs/stdnum.lei.rst, docs/stdnum.mc.tva.rst, docs/stdnum.rs.pib.rst, stdnum/__init__.py: Get files ready for 1.6 release 2017-04-10 Arthur de Jong * [93459d3] stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat: Update database files 2017-04-10 Arthur de Jong * [bb1712d] online_check/README, online_check/check.js, online_check/jquery-1.7.1.js, online_check/jquery-1.7.1.min.js, online_check/stdnum.wsgi, online_check/template.html: Add simple online check example This adds the code that is used to find formats for which a supplied number is valid. This is the code that is used on https://arthurdejong.org/python-stdnum/check/ 2017-04-10 Arthur de Jong * [5398247] stdnum/lei.py, tests/test_lei.doctest: Add Legal Entity Identifier 2017-04-10 Arthur de Jong * [e844b52] stdnum/iban.py, stdnum/iso7064/mod_97_10.py: Integrate base10 conversion into Mod 97, 10 This moves the conversion of an alphanumeric string to a numeric representation for modulo 97 calculation to the mod_97_10 module because this mechanism seems to be used by multiple formats. 2017-04-10 Arthur de Jong * [1b3d16e] stdnum/es/nie.py: Add missing export (__all__) 2017-04-10 Arthur de Jong * [72f5c6c] stdnum/rs/__init__.py, stdnum/rs/pib.py, tests/test_rs_pib.doctest: Add Serbian Poreski Identifikacioni Broj 2017-04-10 Arthur de Jong * [800205c] tox.ini: Print warnings during tox run 2017-04-07 Arthur de Jong * [7493eca] stdnum/cusip.py, stdnum/ean.py, stdnum/ec/ci.py, stdnum/isin.py, stdnum/tr/tckimlik.py: Use a slightly more readable weight alternation Switch to a slightly more readable syntax for alternating between two weights in checksums calculations. 2017-04-01 Arthur de Jong * [23b2150] stdnum/eu/eic.py, tests/test_eu_eic.doctest: Add European EIC (Energy Identification Code) 2017-03-26 Arthur de Jong * [194f025] stdnum/meid.py, tests/test_robustness.doctest: Add unicode robustness tests This tests a few unicode strings and fixes a bug in the MEID module. 2017-03-26 Arthur de Jong * [d43c394] stdnum/es/referenciacatastral.py, tests/test_es_referenciacatastral.doctest: Add test for Ñ in Referencia Catastral This supports the Referencia Catastral with an Ñ in it for both byte strings (Python 2) and unicode strings (Python 2 and 3). Support for literal unicode strings in Python 2 doctests is flaky so the test is a bit ugly. This also adds a few numbers that were found online. Sadly no real numbers with an Ñ in it have been found so the one in the test was constructed. 2017-03-26 Arthur de Jong * [61d73c1] getnace.py, stdnum/eu/nace.dat, stdnum/eu/nace.py, tests/test_robustness.doctest: Add European NACE classification This number is used to classify business. Validation is done based on a downloaded registry. 2017-03-26 Arthur de Jong * [649f073] stdnum/mc/tva.py: Remove unused import 2017-03-19 Arthur de Jong * [c957318] stdnum/fr/tva.py, stdnum/mc/__init__.py, stdnum/mc/tva.py, tests/test_eu_vat.doctest: Add support for Monaco VAT number The number uses the French TVA number but, unlike normal French VAT numbers, they are not valid French SIREN numbers. See https://github.com/arthurdejong/python-stdnum/issues/46 2016-12-11 Arthur de Jong * [5b43857] stdnum/au/tfn.py: Remove unused import 2016-12-01 Greg Kuwaye * [7d16ea5] stdnum/us/ein.dat: Add new 47 EIN prefix; fix duplicate 46; move 81 47 appears to be a new Internet campus code. Prefix 46 was listed twice, once under the Philadelphia campus and again under the Internet campus. This error may be seen on the IRS website itself. The Wikipedia article on EIN (https://en.wikipedia.org/wiki/Employer_Identification_Number) does not have 46 listed twice. 81 has moved from the Philadelphia campus to the Internet campus. 2016-11-14 Luciano Rossi * [dcde8f4] stdnum/ar/cbu.py, tests/test_ar_cbu.doctest: Implement CBU (unique bank code) of Argentina See https://github.com/arthurdejong/python-stdnum/issues/43 2016-11-14 Arthur de Jong * [da18e3b] setup.py, stdnum/fi/associationid.py, stdnum/meid.py, tests/test_mx_rfc.doctest, tox.ini: Add Python 2.6 support This also brings the list of Python versions in setup.py in line with tox.ini. 2016-11-13 Arthur de Jong * [62ebbce] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.au.abn.rst, docs/stdnum.au.acn.rst, docs/stdnum.au.tfn.rst, docs/stdnum.es.ccc.rst, docs/stdnum.es.cups.rst, docs/stdnum.es.iban.rst, docs/stdnum.es.referenciacatastral.rst, stdnum/__init__.py: Get files ready for 1.5 release 2016-11-13 Arthur de Jong * [c9beb00] stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, tests/test_iban.doctest: Update database files This removes the Costa Rica IBAN test because the format of the IBAN seems to have been changed. The old length still seems to be in use so a more permanent solution is probably required. 2016-11-13 Arthur de Jong * [ac560a7] getisbn.py: Update getisbn to Python3 There were some SSL-related issues with the urllib module. This was the easiest solution. 2016-11-13 Arthur de Jong * [458c310] getiban.py: Update gettin IBAN registry The format of the registry file has changed. Before it was a straightforward CSV file with countries in rows but countries are now in columns. 2016-11-09 Sergi Almacellas Abellana * [45faa7c] .gitignore, tox.ini: Add tox.ini file 2016-11-08 Sergi Almacellas Abellana * [a9e5405] stdnum/eu/at_02.py: Implement calc_check_digits in SEPA Identifier of the Creditor (AT-02) 2016-10-14 Arthur de Jong * [8ea76ba] stdnum/au/tfn.py, tests/test_au_tfn.doctest: Add Australian Tax File Number Based on the implementation provided by Vincent Bastos See https://github.com/arthurdejong/python-stdnum/pull/40 2016-10-14 Arthur de Jong * [8028c3a] stdnum/au/acn.py, tests/test_au_acn.doctest: Add Australian Company Number Based on the implementation provided by Vincent Bastos See https://github.com/arthurdejong/python-stdnum/pull/40 2016-10-14 Arthur de Jong * [70b94ee] stdnum/au/__init__.py, stdnum/au/abn.py, tests/test_au_abn.doctest: Add Australian Business Number Based on the implementation provided by Vincent Bastos See https://github.com/arthurdejong/python-stdnum/pull/40 2016-10-14 Arthur de Jong * [d7cff5d] stdnum/be/__init__.py, stdnum/be/vat.py: Provide businessid as an alias The Belgian company number or enterprise number (ondernemingsnummer) is the new name for what was previously the VAT number. 2016-09-10 Arthur de Jong * [352aa8a] stdnum/es/referenciacatastral.py: Add reference to Referencia Catastral implementation 2016-09-03 Arthur de Jong * [49db553] tests/test_es_referenciacatastral.doctest: Add more tests for Referencia Catastral This adds a number of extra tests for the Spanish Referencia Catastral (stdnum.es.referenciacatastral) module, mostly based on numbers found online. This commit includes some of the documentation on the structure of Referencia Catastral that was in the original pull request. See https://github.com/arthurdejong/python-stdnum/pull/38 2016-08-31 David García Garzón * [2c557a0] stdnum/es/referenciacatastral.py: Add Spansih Referencia Catastral The control digit check algorithm is based on Javascript implementation by Vicente Sancho that can be found at http://trellat.es/validar-la-referencia-catastral-en-javascript/ See https://github.com/arthurdejong/python-stdnum/pull/38 2016-09-10 Arthur de Jong * [b128c8d] tests/test_iban.doctest: Test a few Spanish IBANs found online 2016-09-10 Arthur de Jong * [878e036] stdnum/numdb.py: Avoid leaving open file descriptor in test 2016-09-08 Arthur de Jong * [be24790] stdnum/es/iban.py, tests/test_iban.doctest: Add Spanish IBAN number module This validates the country-specific part of the IBAN. 2016-09-08 Arthur de Jong * [2510932] stdnum/iban.py: Validate country-specific part of IBAN This adds the possible of validating the country-specific part of the IBAN. If the country has an IBAN module, checking is also delegated to that module. 2016-09-06 Arthur de Jong * [d8cca82] stdnum/eu/vat.py, stdnum/util.py: Introduce get_cc_module() utility function This changes the get_vat_module() function to a more generic get_cc_module() function so that it can also be used for other things like IBAN checking. 2016-09-06 Arthur de Jong * [1622873] stdnum/es/ccc.py: Add to_iban() function to Spanish CCC 2016-09-08 Arthur de Jong * [7d969be] stdnum/iban.py: Implement calc_check_digits() in IBAN Introduce a function to calculate the two check digits of an IBAN. Since the check digits are the third and fourth characters in the number, placeholders need to be provided when calling this function. 2016-08-31 David García Garzón * [294f872] stdnum/es/ccc.py: Add Spanish Código Cuenta Corriente (CCC) 2016-08-28 David García Garzón * [466cec8] stdnum/es/cups.py, tests/test_es_cups.doctest: Add Spanish CUPS code 2016-08-28 Arthur de Jong * [d95382f] stdnum/exceptions.py: Properly print error message of exceptions This ensures that the message passed to the constructor is shown in the traceback while falling back to the class default. 2016-07-26 Arthur de Jong * [01a7f34] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.damm.rst, docs/stdnum.fr.nif.rst, docs/stdnum.fr.nir.rst, docs/stdnum.fr.siret.rst, docs/stdnum.gb.nhs.rst, docs/stdnum.tr.tckimlik.rst, stdnum/__init__.py: Get files ready for 1.4 release 2016-07-26 Arthur de Jong * [3e4e9e2] getmybp.py, stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files This also updates the getmybp script to support the new layout. 2016-07-26 Arthur de Jong * [3e344d1] stdnum/iso6346.py: Add formatting of ISO 6346 container codes 2016-07-26 Arthur de Jong * [aa1c298] getnumlist.py, stdnum/damm.py, tests/test_damm.doctest: Implement Damm algorithm This is a generic check digit algorithm. 2016-07-26 Arthur de Jong * [411d038] stdnum/fr/nif.py: Fix French NIF format test Fixes 2409ee9. 2016-07-26 Arthur de Jong * [06e4165] stdnum/ch/ssn.py: Improve validation to Swiss SSN number The EAN-13 number should start with 756. 2016-07-26 Arthur de Jong * [1907c67] stdnum/br/cpf.py: Add documentation to Brazillian CPF 2016-07-26 Arthur de Jong * [cf428ac] stdnum/iso6346.py: Add pointer to ISO 6346 information 2016-07-26 Arthur de Jong * [011c0f0] stdnum/gb/nhs.py: Fix copyright notice 2016-05-22 Dimitri Papadopoulos * [2409ee9] stdnum/fr/nif.py: Add NIF - French tax identification number Add module for NIF also known as SPI number. 2016-07-26 Arthur de Jong * [43b58d3] stdnum/fr/nir.py: Move NIR check digit calculation to function This also fixes a number of formatting issues, improves the module description and adds tests for the 2A and 2B departments. 2016-05-29 Dimitri Papadopoulos * [879f2d3] stdnum/fr/nir.py: Improve French NIR validation Please note that the 7th character of the NIR might be 'A' or 'B'. Other than that the NIR contains digits only. 2016-07-25 Arthur de Jong * [fd9f953] stdnum/fr/siren.py, stdnum/fr/siret.py, tests/test_fr_siren.doctest, tests/test_fr_siret.doctest: Add extra tests for SIREN and SIRET This adds tests for a few numbers that have been found online and allows the dot as a seprator because those numbers were found. It also ensures that the SIREN validation is also called for SIRET and adds a SIRET formatting function. 2016-05-27 Yoann Aubineau * [5ba3a87] stdnum/fr/siret.py: Add French SIRET number Add a SIRET (Système d'Identification du Répertoire des ETablissements, a French company etablishment identification number) module. 2016-05-29 Arthur de Jong * [dc708f0] stdnum/isil.py, tests/test_isil.doctest: Add more ISIL tests This moves a few of the tests from the module to a dedicated test file and adds tests for a number of ISIL numbers found online. 2016-05-29 Arthur de Jong * [4a57d84] stdnum/us/tin.py: Fix formatting of bulleted list 2016-05-28 Arthur de Jong * [9b74840] stdnum/ch/ssn.py, tests/test_ch_ssn.doctest: Fix bug in Swiss SSN validation The validation was delegated to the EAN module but the number is supposed to be an EAN-13 only and and EAN-8 was also accepted. This also reformats the docstring. 2016-05-28 Arthur de Jong * [f3c2491] stdnum/ie/vat.py, tests/test_ie_vat.doctest: Fix bug in Irish VAT number validation The last digits of the number that should be letters were not tested to be letters which could result in ValueError being raised for certain validations. This also clarifies the documentation and adds a convert() function to convert numbers from the old format (where the second character would be a letter or symbol) to the new format (7 digits followed by 1 or 2 letters). 2016-05-28 Arthur de Jong * [b5397ed] tests/test_robustness.doctest: Small improvements to tests This includes a formatting fix and removes an unused variable from a test. 2016-05-28 Arthur de Jong * [d85b27f] stdnum/util.py: Fix get_module_description() This fixes the initial implementation in 3f6d52a. 2016-05-22 Dimitri Papadopoulos * [a1afa76] stdnum/fr/nir.py: Add French NIR Add module for NIR also known as social security number. 2016-05-09 Arthur de Jong * [0a2f39e] stdnum/gb/nhs.py: Add United Kingdom NHS number Add module for United Kingdom National Health Service patient identifier. 2016-05-09 Arthur de Jong * [2126947] stdnum/numdb.py: Read numdb files in context manager This ensures that the file is explicitly closed in the function to avoid "unclosed file" warnings. See: https://github.com/arthurdejong/python-stdnum/issues/33 2016-04-11 Arthur de Jong * [e28b5e1] stdnum/ch/uid.py, stdnum/ch/vat.py, stdnum/cusip.py, stdnum/dk/cpr.py, stdnum/iban.py, stdnum/imei.py, stdnum/isbn.py, stdnum/isil.py, stdnum/isin.py, stdnum/issn.py, stdnum/mx/rfc.py, stdnum/nl/bsn.py, stdnum/nl/onderwijsnummer.py, stdnum/pl/regon.py, stdnum/tr/tckimlik.py, stdnum/us/ssn.py, stdnum/verhoeff.py: Make more information links consistent Also fix a docstring in stdnum.nl.bsn and add a pointer to stdnum.nl.onderwijsnummer. 2016-04-09 Arthur de Jong * [feab917] stdnum/eu/vat.py, stdnum/tr/tckimlik.py, stdnum/util.py: Implement online TC Kimlik check This refactors out the SOAP client function that was implemented for VIES to the stdnum.utils module. 2016-04-09 Arthur de Jong * [619b097] stdnum/tr/__init__.py, stdnum/tr/tckimlik.py, tests/test_tr_tckimlik.doctest: Add Turkish personal identification number 2016-04-01 Arthur de Jong * [095dcbb] stdnum/mx/rfc.py, tests/test_mx_rfc.doctest: Document accuracy of RFC check digit test There is an online service that allows validating RFC numbers. It seems there are a lot of numbers that do not match the check digit algorithm which confirms disabling the check digit test by default is a good idea. Also see https://github.com/arthurdejong/python-stdnum/issues/32 2016-03-05 Arthur de Jong * [41cecb5] ChangeLog, NEWS, getnumlist.py, setup.py, stdnum/__init__.py: Get files ready for 1.3 release 2016-03-03 Arthur de Jong * [6457734] getcnloc.py, getiban.py, stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files This also updates the getcnloc and getiban scripts to use new URLs. 2015-10-30 Arthur de Jong * [0061564] stdnum/dk/cpr.py, stdnum/iban.py, stdnum/imei.py, stdnum/isbn.py, stdnum/isil.py, stdnum/issn.py, stdnum/nl/bsn.py, stdnum/us/ssn.py, stdnum/verhoeff.py: Integrate information from the wiki This adds the information that was previously in the Trac wiki into the source docstrings because the Trac instance is being phased out. This also includes small updates to the ISIL module. 2015-10-28 Arthur de Jong * [96c8151] stdnum/eu/vat.py: Fix SOAP client re-use This fixes a bug when checking re-use of the global SOAP client object. The object could not be evaluated in boolean context so is no explicitly compared to None. For suds a MethodNotFound exception would be raised for __nonzero__() (which Python uses for boolean comparison). 2015-10-28 Lionel Elie Mamane * [2881b86] stdnum/eu/vat.py: Fix problem with check_vies_approx() 2015-10-15 Ronald Paloschi * [fb0efe0] stdnum/iso6346.py, tests/test_iso6346.doctest: Fix for when ISO 6346 checksum is 10 Bug fix for when the checksum is 10, it was compared to 0 and failed. New doctest exposing the bug that passes after the fix is applied. See: https://github.com/arthurdejong/python-stdnum/pull/30 2015-10-11 Arthur de Jong * [1361817] ChangeLog, MANIFEST.in, NEWS, README, docs/index.rst, docs/stdnum.at.businessid.rst, docs/stdnum.br.cnpj.rst, docs/stdnum.ch.uid.rst, docs/stdnum.ch.vat.rst, docs/stdnum.cusip.rst, docs/stdnum.de.wkn.rst, docs/stdnum.ee.ik.rst, docs/stdnum.fi.associationid.rst, docs/stdnum.fi.ytunnus.rst, docs/stdnum.gb.sedol.rst, docs/stdnum.imo.rst, docs/stdnum.isin.rst, docs/stdnum.mx.rfc.rst, docs/stdnum.pl.pesel.rst, docs/stdnum.pl.regon.rst, docs/stdnum.ru.inn.rst, setup.py, stdnum/__init__.py: Get files ready for 1.2 release 2015-10-11 Arthur de Jong * [1327045] getcnloc.py, stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files This also updates the script to download updated Chinese location names. 2015-10-11 Arthur de Jong * [a891c60] stdnum/al/nipt.py, stdnum/co/nit.py, stdnum/iban.py, stdnum/ie/pps.py, stdnum/imei.py, stdnum/isan.py, stdnum/iso6346.py, stdnum/it/codicefiscale.py, stdnum/meid.py, stdnum/nl/postcode.py, stdnum/numdb.py, stdnum/pt/nif.py, stdnum/us/atin.py, stdnum/us/ein.py, stdnum/us/itin.py, stdnum/us/ptin.py, stdnum/us/ssn.py, stdnum/util.py: Code style improvements Ensure that regular expressions are r'' strings, avoid too long lines and fix line wrapping. Also avoid catching toplevel Exception when possible and use binascii for hex to binary conversion which is available in both Python 2 and 3. 2015-10-11 Arthur de Jong * [3c7a302] stdnum/cusip.py, stdnum/de/wkn.py, stdnum/gb/sedol.py, stdnum/isin.py: Convert security ids to ISIN Allow conversion from national securities identifiers to the international ISIN. 2015-10-11 Arthur de Jong * [c565517] stdnum/de/wkn.py, tests/test_de_wkn.doctest: Add German Wertpapierkennnummer The format itself is pretty simple (no check digit) but this module is more for completeness sake. 2015-10-10 Arthur de Jong * [961815f] stdnum/gb/sedol.py, tests/test_gb_sedol.doctest: Add SEDOL number 2015-10-10 Arthur de Jong * [fb91775] stdnum/ru/__init__.py: Add information to Russian package 2015-10-10 Arthur de Jong * [ebb5c07] MANIFEST.in, stdnum/numdb.py, tests/numdb-test.dat: Move numdb test file This places the test database file in the tests directory. 2015-10-10 Arthur de Jong * [fa8099e] stdnum/imo.py: Add int. maritime org. number (IMO) This adds checks for the International Maritime Organization number used to identify ships. However, there seem to be a lot of ships with an IMO number that does not follow these rules (different check digits or even length). 2015-10-10 Arthur de Jong * [111b4fd] stdnum/isan.py, tests/test_isan.doctest: Fix handling of strip_check_digits in ISAN This fixes the compact() function to honor the strip_check_digits argument and does not validate the check digits if they are passed to validate together with strip_check_digits. 2015-10-10 Arthur de Jong * [9f9d13c] stdnum/isin.py, tests/test_isin.doctest: Add international securities id (ISIN) This adds support for handling ISINs (International Securities Identification Number). The can contain a CUSIP but performing this additional validation is currently not performed. 2015-10-09 Arthur de Jong * [522611c] stdnum/cusip.py, tests/test_cusip.doctest: Add CUSIP number 2015-10-08 Arthur de Jong * [320ecea] stdnum/ch/uid.py, stdnum/ch/vat.py, tests/test_ch_uid.doctest, tests/test_ch_vat.doctest: Add Swiss UID and VAT numbers The Swiss VAT number (MWST, TVA, IVA, TPV) is the UID (Unternehmens-Identifikationsnummer) followed by one of the VAT abbreviations. 2015-10-05 Arthur de Jong * [ec9bcb0] stdnum/mx/__init__.py, stdnum/mx/rfc.py, tests/test_mx_rfc.doctest: Add Mexican RFC number This adds support for the Mexican tax number RFC (Registro Federal de Contribuyentes). This module includes a number of checks on the number but the validation of the last check digit is disabled by default because a large number of numbers were found that were otherwise valid but had an invalid check digit. 2015-10-04 Arthur de Jong * [fd0cfd9] stdnum/eu/vat.py, stdnum/util.py: Move finding VAT module to util This moves the finding of a VAT module to the util module so that it can be more easily re-used for non-EU countries. 2015-10-04 Arthur de Jong * [38ed9c0] stdnum/co/nit.py, tests/test_co_nit.doctest: Update Colombian NIT checks This adds a number of tests for numbers found online. The length check has also been revisited because both shorter numbers and longer number have been found. This also updates the format() function to handle arbitrary length numbers. 2015-10-02 Arthur de Jong * [d413f95] stdnum/isbn.py: Fix comment 2015-10-02 Arthur de Jong * [3d1dbbb] stdnum/ar/cuit.py, stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, stdnum/co/nit.py, stdnum/dk/cpr.py, stdnum/dk/cvr.py, stdnum/do/rnc.py, stdnum/ec/ruc.py, stdnum/ee/kmkr.py, stdnum/fi/alv.py, stdnum/gb/vat.py, stdnum/hu/anum.py, stdnum/is_/kennitala.py, stdnum/lv/pvn.py, stdnum/mt/vat.py, stdnum/no/orgnr.py, stdnum/pl/nip.py, stdnum/pl/pesel.py, stdnum/pl/regon.py, stdnum/ro/cf.py, stdnum/ro/cnp.py: Use zip() instead of enumerate() Makes the code slightly simpler and more compact. 2015-10-01 Sergio Isidoro * [222a87e] stdnum/fi/__init__.py: Add alias to hetu in for finnish personal id code 2015-09-27 Arthur de Jong * [e045c71] tests/test_eu_vat.doctest: Add more numbers found online 2015-09-07 Dariusz Choruzy * [36217ac] stdnum/pl/regon.py, tests/test_pl_regon.doctest: Add Polish REGON number 2015-09-06 Dariusz Choruzy * [a0cb61f] stdnum/pl/pesel.py: Add Polish PESEL number 2015-08-16 Arthur de Jong * [5ab8d24] stdnum/ru/__init__.py, stdnum/ru/inn.py, tests/test_ru_inn.doctest: Add Russioan ИНН (INN) tax ID This adds a basic implementation of the Russian Идентификационный номер налогоплательщика (tax identification number). This currently only checks the format, length and check digits but not whether each of the parts of the number are valid (e.g. valid region specified). 2015-08-16 Arthur de Jong * [714fa60] stdnum/br/cnpj.py, tests/test_br_cnpj.doctest: Add Brazillian CNPJ business identifier Add module for Cadastro Nacional da Pessoa Jurídica, the Brazillian company identifier. 2015-08-16 Arthur de Jong * [b939099] getiban.py, stdnum/iban.dat, tests/test_iban.doctest: Update IBAN tests This updates the iban.dat file from the IBAN registry, includes a fix for handling spaces in the BBAN and adds some more IBAN examples from the IBAN registry. 2015-08-16 Arthur de Jong * [7714db7] stdnum/iso9362.py: Make uppercase in compact() This changes the compact() function of the ISO 9362 module to make all the letters uppercase. 2015-08-16 Arthur de Jong * [6afa875] setup.cfg, stdnum/imei.py, stdnum/isbn.py, stdnum/isil.py, stdnum/ismn.py, stdnum/meid.py, stdnum/us/atin.py, stdnum/us/ein.py, stdnum/us/itin.py: Turn on and improve branch coverage 2015-08-16 Arthur de Jong * [e88ba0b] stdnum/dk/cpr.py, stdnum/is_/kennitala.py, stdnum/it/codicefiscale.py: Small typo and code style fixes 2015-08-03 Tomas Karasek * [243e50f] stdnum/ee/ik.py, tests/test_ee_ik.doctest: Add validation of Estonian personal ID 2015-06-12 Lari Haataja * [7f9c94f] stdnum/at/businessid.py: Add company register number validation for Austria 2015-07-12 Arthur de Jong * [0cbba6e] : Merge Finnish numbers provided by Holvi This merges the Finnish numbers provided by Holvi Payment Services Oy as found here: https://github.com/holvi/python-stdnum 2015-07-12 Arthur de Jong * [320326e] stdnum/fi/ytunnus.py: Split out format() function This uses the stdnum.fi.alv module more extensively and ensures that validate() returns a compact representation and a separate format() function is available. 2015-06-23 Lari Haataja * [37f7fa6] stdnum/fi/__init__.py, stdnum/fi/ytunnus.py: Add validation for Finnish y-tunnus (business identifier) 2015-07-12 Arthur de Jong * [db24746] stdnum/fi/associationid.py: Add a whitelist for short numbers and fix API This implements separate functions compact() and format() and fixes the doctests. This also implements a whitelist of registered short numbers to avoid accidentally validating just any number. 2015-06-16 Lari Haataja * [8d30992] stdnum/fi/associationid.py: Validation for Finnish association identifier 2015-07-12 Arthur de Jong * [e107457] : Merge changes to use CN Open Data 2015-07-12 Arthur de Jong * [a1a134e] stdnum/eu/vat.py: Fall back to pysimplesoap if suds is unavailable Initial testing seems to suggest that proxy-support is not complete with pysimplesoap (at least httplib2 and PySocks seem to be required). 2015-04-28 Lionel Elie Mamane * [8fe44f9] stdnum/eu/vat.py: Implement alternate VIES check Add a function to stdnum.eu.vat so that when one does a VIES VAT number check, one gets a proof (certificate) that one did the check, as defence against the VAT administration later putting this in doubt. This certificate is provided by the VIES service, if one provides one's own VAT number. 2015-06-08 Jiangge Zhang * [6308261] stdnum/cn/loc.dat: Download and generate latest Chinese location data. 2015-06-08 Jiangge Zhang * [12ba352] getcnloc.py: Download GB2260 data from github.com/cn. 2015-04-27 Arthur de Jong * [8925ae2] tests/test_iso6346.doctest: Fix copyright header 2015-04-27 Arthur de Jong * [58775d9] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.al.nipt.rst, docs/stdnum.ar.cuit.rst, docs/stdnum.cl.rut.rst, docs/stdnum.co.nit.rst, docs/stdnum.do.cedula.rst, docs/stdnum.do.rnc.rst, docs/stdnum.is_.kennitala.rst, docs/stdnum.is_.vsk.rst, docs/stdnum.iso9362.rst, docs/stdnum.no.mva.rst, docs/stdnum.no.orgnr.rst, docs/stdnum.se.orgnr.rst, docs/stdnum.sm.coe.rst, setup.py, stdnum/__init__.py: Get files ready for 1.1 release 2015-04-27 Arthur de Jong * [583b066] getcnloc.py, stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files This also updates the script to download updated Chinese location names. 2014-10-24 Tomas Thor Jonsson * [dd309e4] stdnum/se/orgnr.py, stdnum/se/vat.py: Add support for SE orgnr This also delegates some of the validation for the Swedish VAT module to the orgnr module. 2015-04-27 Arthur de Jong * [23882e2] tests/test_ec_ruc.doctest: Add extra tests for the stdnum.ec.ruc module These numbers were found in various online sources. 2015-04-25 Arthur de Jong * [eac4d63] stdnum/fr/tva.py: Add extra test for French TVA 2014-10-14 P. Christeas * [9934f76] stdnum/gr/vat.py: Change description of Greek FPA number In Greece, our VAT number is used as a generic "tax registration" num. Update the docstring to reflect that name. 2015-04-22 Arthur de Jong * [4d7163c] stdnum/ar/__init__.py, stdnum/ar/cuit.py, tests/test_ar_cuit.doctest: Add Argentinian CUIT (VAT) number Based partially on the implementation in the vatnumber module. 2015-04-18 Arthur de Jong * [ba894d7] stdnum/sm/__init__.py, stdnum/sm/coe.py: Add San Marino COE (VAT) number Based partially on the implementation in the vatnumber module. 2015-04-18 Arthur de Jong * [144e1a4] stdnum/co/__init__.py, stdnum/co/nit.py: Add Colombian NIT/RUT (VAT) code Based on the implementation in the vatnumber module. 2015-04-18 Arthur de Jong * [c69c8f0] stdnum/cl/__init__.py, stdnum/cl/rut.py, tests/test_cl_rut.doctest: Add Chilean national tax number (RUT) Based on the implementation in the vatnumber module. 2015-04-18 Arthur de Jong * [3db826c] stdnum/al/__init__.py, stdnum/al/nipt.py, tests/test_al_nipt.doctest: Add Albanian NIPT (VAT) number Partially based on the implementation in the vatnumber module. Some valid numbers appear to start with an L so those are allowed as well. 2015-04-23 Arthur de Jong * [88d1af3] stdnum/do/cedula.py: Extend the list of valid Cedula This is based on the list of Cedula found at http://prd.org.do/2013/07/30/lista-del-cen-del-prd-actualizada-y-registrada-en-la-junta-central-electoral/ (link provided by José Arturo García) 2015-04-17 Arthur de Jong * [49d1e69] stdnum/do/cedula.py, tests/test_do_cedula.doctest: Add Dominican Republic Cedula number The Cedule is a Dominican Republic national identification number for persons. The number uses the Luhn checksum but apparently there are a lof of valid numbers in use that do not match the checksum. For this a whitelist is used. 2015-04-17 Arthur de Jong * [d003ac3] stdnum/do/__init__.py, stdnum/do/rnc.py, tests/test_do_rnc.doctest: Add Dominican Republic RNC number The RNC (Registro Nacional del Contribuyente) is the Dominican Republic taxpayer registration number for companies. 2015-04-19 Arthur de Jong * [9e94ab8] tests/test_no_mva.doctest: Add more stdnum.no.mva tests 2015-04-18 Arthur de Jong * [c334bcf] stdnum/is_/kennitala.py, tests/test_is_kennitala.doctest: Add more tests for Kennitala 2015-04-11 Tuomas Toivonen * [84620f8] stdnum/is_/__init__.py, stdnum/is_/kennitala.py, stdnum/is_/vsk.py: Support Icelandic personal, organisation and VAT identifiers The package is named "is_" because "is" is a reserved word. 2015-04-11 Tuomas Toivonen * [699b340] stdnum/no/__init__.py, stdnum/no/mva.py, stdnum/no/orgnr.py: Add support for Norwegian organisation and VAT numbers This commit also includes changes from Tomas Thor Jonsson . 2015-02-09 Tony Bajan * [75bcef0] stdnum/iso9362.py: Add ISO 9362 (BIC) support 2015-04-17 Arthur de Jong * [2574f89] stdnum/imsi.py: Raise InvalidComponent for unregistered IMSI 2014-12-23 Emiliano Castro * [9883c72] stdnum/eu/vat.py, stdnum/hr/__init__.py: Adding HR (Croatia) to the list of available countries 2014-11-01 Arthur de Jong * [3a7c9f7] stdnum/bg/vat.py, stdnum/eu/at_02.py, stdnum/iban.py, stdnum/isan.py, stdnum/meid.py, stdnum/numdb.py: Fix common spelling mistake 2014-10-31 Matt McDonald * [6e332b1] stdnum/meid.py, tests/test_meid.doctest: Fix for invalidating MEIDs with invalid decimal bit length See: http://arthurdejong.org/trac/python-stdnum/ticket/10 2014-10-20 Arthur de Jong * [3fa795d] getnumlist.py: Restore section for on homepage 2014-10-19 Arthur de Jong * [147eeb1] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.ch.ssn.rst, docs/stdnum.cn.ric.rst, docs/stdnum.ec.ci.rst, docs/stdnum.ec.ruc.rst, docs/stdnum.eu.at_02.rst, docs/stdnum.iso6346.rst, docs/stdnum.it.codicefiscale.rst, docs/stdnum.us.rtn.rst, getnumlist.py, setup.py, stdnum/__init__.py: Get files ready for 1.0 release 2014-10-19 Arthur de Jong * [72c0ff1] stdnum/iso6346.py: Remove unused import 2014-10-19 Arthur de Jong * [e713cc7] stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files 2014-10-13 Denis Krienbühl * [256aa49] stdnum/ch/__init__.py, stdnum/ch/ssn.py: Adds the Swiss social security number Also known as "Sozialversicherungsnummer" / "Neue AHV Nummer". 2014-10-18 Arthur de Jong * [2cc50e2] stdnum/eu/at_02.py, stdnum/iban.py, stdnum/imei.py, stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, stdnum/luhn.py, stdnum/util.py, stdnum/verhoeff.py: Only catch Exception 2014-10-17 Arthur de Jong * [e2948bb] : Add Ecuadorian CI and RUC numbers Add modules for Ecuadorian Identification Card (CI - Cédula de identidad) and Fiscal Numbers (RUC - Registro Único de Contribuyentes) See: https://github.com/arthurdejong/python-stdnum/pull/12 2014-10-17 Arthur de Jong * [e5250be] stdnum/ec/ci.py, stdnum/ec/ruc.py, tests/test_ec_ci.doctest, tests/test_ec_ruc.doctest: Validate parts of numbers This raises exceptions when the provice or establishment number part of the number contains invalid values. 2014-10-17 Arthur de Jong * [10a044f] stdnum/ec/ci.py, stdnum/ec/ruc.py: Refactor checksum functions Use the CI checks from within the RUC module for natural RUC numbers (thereby eliminating a bug in the RUC checksum calculation) and simplify the checksum functions. 2014-10-17 Arthur de Jong * [f61b855] stdnum/ec/ci.py, stdnum/ec/ruc.py, tests/test_ec_ci.doctest, tests/test_ec_ruc.doctest: Use dedicated doctests This moves a number of the existing test cases to dedicated doctest files and extend the tests with more numbers and corner cases. This also fixes a few docstrings. 2014-10-12 Jonathan Finlay * [e8f1ca6] stdnum/ec/__init__.py, stdnum/ec/ci.py, stdnum/ec/ruc.py: Add Ecuadorian CI and RUC numbers Add modules for Ecuadorian Identification Card (CI - Cédula de identidad) and Fiscal Numbers (RUC - Registro Único de Contribuyentes) 2014-10-06 Arthur de Jong * [2700b7a] : Add Chinese Resident Identity Card Number 2014-10-06 Jiangge Zhang * [141d576] stdnum/cn/ric.py, tests/test_cn_ric.doctest: Support the Resident Identity Card Number of People's Republic China 2014-10-05 Jiangge Zhang * [10ae548] getcnloc.py, stdnum/cn/loc.dat: Download locations from the China (PRC) government site 2014-10-05 Jiangge Zhang * [e9eb546] stdnum/cn/__init__.py: Add stdnum.cn package for Chinese (PRC) numbers 2014-10-05 Arthur de Jong * [97ac94d] stdnum/my/nric.py, tests/test_my_nric.doctest: Update NRIC tests 2014-10-05 Arthur de Jong * [123e9cb] getmybp.py, stdnum/my/bp.dat: Update URLs for Malaysian code lists This updates the URLs for the state and country codes as published by the National Registration Department of Malaysia and changes the parsing to the new page layout. This also updates the data file. https://github.com/arthurdejong/python-stdnum/issues/14 2014-09-01 Tony Bajan * [86f60a2] stdnum/us/rtn.py: Add US bank routing transit numbers 2014-07-05 Arthur de Jong * [fbb0316] getisbn.py: Use ElementTree for simpler XML parsing 2014-07-05 Arthur de Jong * [03e4f97] getisbn.py, stdnum/isbn.dat: Fix getisbn script and update ISBN data file 2014-04-11 Arthur de Jong * [26517fe] getnumlist.py, stdnum/__init__.py: Improve package docstring formatting and show example 2014-03-18 Sharoon Thomas * [85dd6f2] stdnum/iso6346.py, tests/test_iso6346.doctest: Add support for ISO6346 Add validation and creation of check digit for ISO6346 codes. See: https://github.com/arthurdejong/python-stdnum/pull/9 2014-03-05 Jussi Räsänen * [2405c89] stdnum/eu/vat.py: Added a simple backwards compability check 2014-02-17 Arthur de Jong * [a4012f5] stdnum/ie/pps.py, stdnum/ie/vat.py, tests/test_eu_vat.doctest: Add support for 2013 extension of Irish PPS Numbers References: - https://www.welfare.ie/en/Pages/PPSN.aspx - http://www.citizensinformation.ie/en/social_welfare/irish_social_welfare_system/personal_public_service_number.html 2014-02-06 Arthur de Jong * [71d9837] stdnum/eu/at_02.py: Rename AT-02 module to stdnum.eu.at_02 2014-02-05 Sergi Almacellas Abellana * [099078e] stdnum/at_02.py: Add SEPA Creditor identifier (AT-02) 2014-02-02 Arthur de Jong * [1ac00a0] stdnum/it/codicefiscale.py, tests/test_it_codicefiscale.doctest: Add an Italian Codice Fiscale module This module validates 16 digit Italian tax codes for individuals. https://en.wikipedia.org/wiki/Italian_fiscal_code_card It is based on the pycodicefiscale module that can be found here: https://github.com/baxeico/pycodicefiscale Functions have been renamed to follow the stdnum naming scheme: isvalid() -> is_valid(), control_code -> calc_check_digit(), get_birthday() -> get_birth_date(), get_sex() -> get_gender(). The build() function for generating tax codes (based on name, birth place and date) has been left out because this number cannot be uniquely constructed with this information alone (numbers are issued by the Italian tax office with a mechanism handle duplicates). Addresses trac ticket #9. 2014-01-01 Arthur de Jong * [c3d669c] setup.py: Remove requirement on distribute This accidentally slipped into 907e410. 2013-12-31 Arthur de Jong * [d933aab] .gitignore, ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.my.nric.rst, docs/stdnum.nl.brin.rst, docs/stdnum.nl.postcode.rst, docs/stdnum.us.atin.rst, docs/stdnum.us.ein.rst, docs/stdnum.us.itin.rst, docs/stdnum.us.ptin.rst, docs/stdnum.us.tin.rst, getiban.py, getimsi.py, stdnum/__init__.py: Get files ready for 0.9 release 2013-12-31 Arthur de Jong * [5c1765e] stdnum/iban.dat, stdnum/isbn.dat: Update database files 2013-12-31 Arthur de Jong * [4217c35] stdnum/isan.py, stdnum/meid.py, stdnum/util.py: Add pragma: no cover for Python 3 Some statements are not covered in Python 3 tests. 2013-12-31 Arthur de Jong * [6c49ca8] getiban.py: Update getiban script This switches to use the csv module to support multi-line column values. This also handles some problems in the BBAN structure column that would contain an IBAN structure. 2013-12-31 Arthur de Jong * [0ee74e5] ChangeLog: Generate Changelog with different formatter git log --date=short --name-only \ --format="%x0c%ad %aN <%aE>%n%n%x09* [%h]%x00%s%n%x00%+b%x00" | \ awk 'BEGIN { RS="\f"; FS="\0" } { if ($1) { gsub(/\n*$/, "", $4); gsub(/^\n*/, "", $4); gsub(/\n/, ", ", $4); gsub(/\ngit-svn-id.*/, "", $3); gsub(/\n/, "\n\t ", $3); print $1 " " $4 ": "; print "\t " $2 $3 }}' | \ fmt --width=78 -c > ChangeLog 2013-12-30 Cédric Krier * [a148835] stdnum/gb/vat.py, tests/test_gb_vat.doctest: Add some new VAT numbers for GB Add support for restarting from November 2009 using 9755. Add support for EU format of health authorities See: https://github.com/arthurdejong/python-stdnum/pull/4 2013-12-12 eneq123 * [4609a22] getimsi.py, stdnum/imsi.dat: Update parsing in getimsi script This updates the regexes and includes seom optimizations. See: https://github.com/arthurdejong/python-stdnum/issues/1 2013-12-30 Cédric Krier * [9ec3cb0] stdnum/eu/vat.py: Add support for proxy 2013-12-04 Arthur de Jong * [7f30979] getimsi.py, stdnum/imsi.dat: Update getimsi script This updates the script due to the Wikipedia article change and removes the code for getting the data from ITU for now. See: https://github.com/arthurdejong/python-stdnum/issues/1 2013-11-09 Arthur de Jong * [b0c47d5] stdnum/nl/__init__.py, stdnum/nl/postcode.py: Add a Dutch postal code module The Dutch postal code (postcode) consists of four digits followed by two characters and together with the house number should uniquely identify any address. Addresses trac ticket #7. 2013-11-09 Arthur de Jong * [73d05b0] stdnum/nl/brin.py: Add a Dutch Brin number module The Brin (Basis Registratie Instellingen) is a number to identify schools and related institutions. Addresses trac ticket #6. 2013-11-09 Arthur de Jong * [73330a1] stdnum/nl/onderwijsnummer.py: Clarify onderwijsnummer description 2013-11-09 Arthur de Jong * [188d3ea] : Add various United States Tax number modules This adds modules for the Individual Taxpayer Identification Number (ITIN), the Employer Identification Number (EIN), Adoption Taxpayer Identification Number (ATIN) and Preparer Tax Identification Number (PTIN) that together with the Social Security Number (SSN) are valid Taxpayer Identification Numbers (TIN) 2013-10-12 Arthur de Jong * [9530635] stdnum/us/tin.py: Add a United States TIN module The Taxpayer Identification Number is used used for tax purposes in the United States. This module uses the SSN, ITIN, EIN, PTIN and ATIN modules to determine validitiy of the TIN. 2013-10-11 Arthur de Jong * [316e3f2] stdnum/us/ptin.py: Add a United States PTIN module A Preparer Tax Identification Number (PTIN) is United States identification number for tax return preparers. It is an eight-digit number prefixed with a capital P. 2013-10-11 Arthur de Jong * [47ea6ea] stdnum/us/atin.py: Add a United States ATIN module An Adoption Taxpayer Identification Number (ATIN) is a temporary nine-digit number issued by the United States IRS for a child for whom the adopting parents cannot obtain a Social Security Number. 2013-10-11 Arthur de Jong * [b1c9ba5] stdnum/us/ein.dat, stdnum/us/ein.py: Add a United States EIN module The Employer Identification Number (EIN), also known as Federal Employer Identification Number (FEIN), is used to identify a business entity in the United States. It is issued to anyone that has to pay withholding taxes on employees. 2013-10-11 Arthur de Jong * [19039f7] stdnum/us/itin.py: Add a United States ITIN module The ITIN (Individual Taxpayer Identification Number) is issued by the United States IRS to individuals who are required to have a taxpayer identification number but who are not eligible to obtain a Social Security Number. 2013-10-11 Arthur de Jong * [70b974b] stdnum/meid.py: Remove unused import 2013-11-08 Arthur de Jong * [f122c88] stdnum/util.py: Try to replace Unicode characters with ASCII This changes the stdnum.util.clean() method that is used by all modules to replace alternative Unicode dashes, dots, etc. by their ASCII equivalent so the numbers will be automatically converted and validated. Inspiration for this change came from https://github.com/JNRowe/pyisbn/pull/6 2013-06-14 Arthur de Jong * [c042f02] ChangeLog, NEWS, stdnum/__init__.py: Get files ready for 0.8.1 release 2013-06-14 Arthur de Jong * [31e5e81] MANIFEST.in, setup.py: Ensure that all used files are included in the sdist 2013-06-09 Arthur de Jong * [7fa9822] ChangeLog, NEWS, README, docs/index.rst, getnumlist.py, setup.py, stdnum/__init__.py: Get files ready for 0.8 release 2013-06-09 Arthur de Jong * [9597010] stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files We manually tweak the Finland IBAN entry. We should probably change the parsing so that it uses the IBAN structure instead of the BBAN structure. 2013-06-09 Arthur de Jong * [19cbb3c] stdnum/my/nric.py: Fix NRIC module description 2013-06-08 Arthur de Jong * [46a7996] getmybp.py, stdnum/my/__init__.py, stdnum/my/bp.dat, stdnum/my/nric.py, tests/test_my_nric.doctest: Add a Malaysian NRIC No. module NRIC No. (National Registration Identity Card Number) is the unique identifier for issued to Malaysian citizens and permanent residents. 2013-06-08 Arthur de Jong * [999f2c3] : Provide a validate() function in all modules This provides an additional means of doing number validation that allows applications calling this library to get more information about why the validation failed and present more informative messages to the user. This introduces a collection of exceptions which will be raised by the validate() function in each module. All modules have been updated to provide this new function. 2013-05-22 Arthur de Jong * [cb69921] README, docs/index.rst, docs/stdnum.exceptions.rst: Document the validate() function and exceptions 2013-05-18 Arthur de Jong * [e00744c] stdnum/util.py: Use validate() in stdnum.util 2013-05-17 Arthur de Jong * [3d3a97d] stdnum/us/ssn.py: Implement validate() for U.S. Social Security Number 2013-05-17 Arthur de Jong * [4bfce3f] stdnum/eu/vat.py, tests/test_eu_vat.doctest: Implement validate() for European VAT numbers 2013-05-17 Arthur de Jong * [1aaf902] stdnum/sk/dph.py, stdnum/sk/rc.py: Implement validate() for Slovak numbers 2013-05-17 Arthur de Jong * [8982d1e] stdnum/si/ddv.py: Implement validate() for Slovenian VAT numbers 2013-05-17 Arthur de Jong * [522a599] stdnum/se/vat.py: Implement validate() for Swedish VAT numbers 2013-05-17 Arthur de Jong * [8e7d807] stdnum/pt/nif.py: Implement validate() for Portuguese VAT numbers 2013-05-17 Arthur de Jong * [7e865db] stdnum/pl/nip.py: Implement validate() for Polish numbers 2013-05-17 Arthur de Jong * [96c5080] stdnum/mt/vat.py: Implement validate() for Maltese numbers 2013-05-17 Arthur de Jong * [2ff4950] stdnum/lv/pvn.py: Implement validate() for Latvian numbers 2013-05-17 Arthur de Jong * [9845b0a] stdnum/lu/tva.py: Implement validate() for Luxembourgian numbers 2013-05-17 Arthur de Jong * [04cfb84] stdnum/lt/pvm.py: Implement validate() for Lithuanian numbers 2013-05-17 Arthur de Jong * [b1d5a72] stdnum/it/iva.py: Implement validate() for Italian numbers 2013-05-17 Arthur de Jong * [083993b] stdnum/ie/pps.py, stdnum/ie/vat.py: Implement validate() for Irish numbers 2013-05-17 Arthur de Jong * [301ba25] stdnum/hu/anum.py: Implement validate() for Hungarian numbers 2013-05-17 Arthur de Jong * [31f2684] stdnum/hr/oib.py: Implement validate() for Croatian numbers 2013-05-17 Arthur de Jong * [1932f69] stdnum/gr/vat.py: Implement validate() for Greek numbers 2013-05-17 Arthur de Jong * [10710dc] stdnum/gb/vat.py, tests/test_gb_vat.doctest: Implement validate() for United Kingdom numbers 2013-05-17 Arthur de Jong * [4753c09] stdnum/fi/alv.py, stdnum/fi/hetu.py, tests/test_fi_hetu.doctest: Implement validate() for Finnish numbers 2013-05-17 Arthur de Jong * [2259cbb] stdnum/es/cif.py, stdnum/es/dni.py, stdnum/es/nie.py, stdnum/es/nif.py: Implement validate() for Spanish numbers 2013-05-17 Arthur de Jong * [07c66e1] stdnum/ee/kmkr.py: Implement validate() for Estonian numbers 2013-05-17 Arthur de Jong * [8caecc5] stdnum/dk/cpr.py, stdnum/dk/cvr.py: Implement validate() for Danish numbers 2013-05-17 Arthur de Jong * [360480b] stdnum/de/vat.py: Implement validate() for German numbers 2013-05-17 Arthur de Jong * [fce6196] stdnum/cy/vat.py: Implement validate() for Cypriot numbers 2013-05-17 Arthur de Jong * [14e382f] stdnum/cz/dic.py, stdnum/cz/rc.py: Implement validate() for Czech numbers 2013-05-17 Arthur de Jong * [54ce2d7] stdnum/br/cpf.py: Implement validate() for Brazillian numbers 2013-05-17 Arthur de Jong * [6080907] stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, tests/test_bg_vat.doctest: Implement validate() for Bulgarian numbers 2013-05-17 Arthur de Jong * [33ce4e9] stdnum/be/vat.py: Implement validate() for Belgian numbers 2013-05-17 Arthur de Jong * [66d6259] stdnum/at/uid.py: Implement validate() for Austrian numbers 2013-05-11 Arthur de Jong * [05547a4] stdnum/ro/cf.py, stdnum/ro/cnp.py: Implement validate() for Romanian numbers 2013-05-17 Arthur de Jong * [fc1432c] stdnum/fr/siren.py, stdnum/fr/tva.py: Implement validate() for French numbers 2013-05-05 Arthur de Jong * [62cafb4] stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py: Implement validate() for Dutch numbers 2013-05-04 Arthur de Jong * [cf88e23] stdnum/meid.py, tests/test_meid.doctest: Implement validate() for MEID 2013-05-04 Arthur de Jong * [c6f41f6] stdnum/issn.py: Implement validate() for ISSN 2013-05-04 Arthur de Jong * [21f07b3] stdnum/ismn.py, tests/test_ismn.doctest: Implement validate() for ISMN 2013-05-04 Arthur de Jong * [c07609f] stdnum/isil.py: Implement validate() for ISIL 2013-05-04 Arthur de Jong * [a18f1ac] stdnum/isan.py, tests/test_isan.doctest: Implement validate() for ISAN 2013-05-01 Arthur de Jong * [3ac8164] stdnum/iban.py: Implement validate() for IBAN 2013-05-03 Arthur de Jong * [12bd684] stdnum/grid.py: Implement validate() for GRid numbers 2013-05-04 Arthur de Jong * [9cee495] stdnum/imsi.py: Implement validate() for IMSI 2013-05-04 Arthur de Jong * [6e4bb71] stdnum/imei.py, tests/test_imei.doctest: Implement validate() for IMEI numbers 2013-05-04 Arthur de Jong * [efa2550] stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, tests/test_iso7064.doctest: Implement validate() for ISO 7064 algorithms 2013-05-03 Arthur de Jong * [5c9090b] stdnum/verhoeff.py, tests/test_verhoeff.doctest: Implement validate() for the Verhoeff checksum 2013-05-03 Arthur de Jong * [9ad5139] stdnum/luhn.py, tests/test_luhn.doctest: Implement validate() for the Luhn algorithms 2013-05-03 Arthur de Jong * [9580046] stdnum/isbn.py, tests/test_isbn.doctest: Implement validate() for ISBN 2013-05-03 Arthur de Jong * [fa1864f] stdnum/ean.py, tests/test_ean.doctest: Implement validate() for EAN 2013-06-07 Arthur de Jong * [8b9ef8f] stdnum/util.py: Raise a proper exception if cleaning fails 2013-06-07 Arthur de Jong * [1ac5437] setup.cfg, stdnum/exceptions.py: Provide a module with validation exceptions This introduces a new module for switching the validation scheme. Instead of using the is_valid() function that returns a boolean a validate() function either returns the sanitised number or raises an exception that should indicate the kind of validation failure. This should make it easier for applications calling this library to present more informative messages to the user. 2013-06-07 Arthur de Jong * [99586c9] stdnum/__init__.py, stdnum/de/vat.py, stdnum/nl/bsn.py, stdnum/util.py: Revert generating stdnum docstring dynamically Generating the docstring dynamically results in all stdnum modules being imported for every import from any stdnum module which is a performance hit. So we switch back to a manually generated list, using: from stdnum.util import get_module_list print '\n'.join(get_module_list()) This also shortens a few short descriptions to attempt to fit things on one line. 2013-06-07 Arthur de Jong * [a655e82] docs/conf.py, docs/index.rst: Documentation consistency improvements 2013-06-07 Arthur de Jong * [37a2afd] tests/test_iso7064.doctest: The robustness test were moved to the general tests 2013-06-07 Arthur de Jong * [90b7c4a] stdnum/numdb.py: Remove empty line 2013-06-07 Arthur de Jong * [bcb0a0b] stdnum/grid.py: GRid's format() function shouldn't have add_check_digit parameter 2013-04-26 Arthur de Jong * [2d956eb] stdnum/util.py: Use a cleaner way to get all stdnum modules This mechanism should work from Python 2.6 up to and including Python 3.3. 2013-04-26 Arthur de Jong * [30c832f] stdnum/numdb.py: Fix doctest to not be dependant on dict ordering 2013-04-26 Arthur de Jong * [51a55be] .gitignore: Add a .gitignore file 2012-09-22 Arthur de Jong * [3f6d52a] stdnum/__init__.py, stdnum/util.py: generate part of the stdnum docstring based on introspection of the modules 2012-06-16 Arthur de Jong * [af7e837] : set svn:ignore properly 2012-02-26 Arthur de Jong * [8f2e44c] stdnum/bg/egn.py, stdnum/cz/rc.py, stdnum/dk/cpr.py, stdnum/fi/hetu.py, stdnum/isan.py, stdnum/lv/pvn.py, stdnum/meid.py, stdnum/ro/cnp.py, tests/test_isan.doctest, tests/test_ismn.doctest, tests/test_robustness.doctest: re-add Python3 support 2012-02-26 Arthur de Jong * [3325052] ChangeLog, NEWS, stdnum/__init__.py: get files ready for 0.7 release 2012-02-26 Arthur de Jong * [a3ba206] stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: update data files 2012-02-26 Arthur de Jong * [c240eff] getnumlist.py: also generate a list of modules for use in the Spinx documentation 2012-02-26 Arthur de Jong * [54b0f47] README, getnumlist.py, stdnum/__init__.py: use a script to generate the list of number formats in stdnum 2012-02-26 Arthur de Jong * [dada6a4] stdnum/eu/vat.py, stdnum/gb/vat.py, stdnum/gr/vat.py, stdnum/grid.py, stdnum/hr/oib.py, stdnum/hu/anum.py, stdnum/iban.py, stdnum/ie/pps.py, stdnum/ie/vat.py, stdnum/imei.py, stdnum/isan.py, stdnum/iso7064/__init__.py, stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, stdnum/lt/pvm.py, stdnum/luhn.py, stdnum/meid.py, stdnum/verhoeff.py: some more documentation improvements 2012-02-26 Arthur de Jong * [13218a0] setup.py: make script executable 2012-02-26 Arthur de Jong * [c2f0ea2] stdnum/fr/siren.py: add a to_vta() function to the stdnum.fr.siren module 2012-02-26 Arthur de Jong * [902a656] stdnum/__init__.py, stdnum/at/uid.py, stdnum/be/vat.py, stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, stdnum/br/cpf.py, stdnum/cy/vat.py, stdnum/cz/dic.py, stdnum/cz/rc.py, stdnum/de/vat.py, stdnum/dk/cpr.py, stdnum/dk/cvr.py, stdnum/ean.py, stdnum/ee/kmkr.py, stdnum/es/cif.py, stdnum/es/dni.py, stdnum/es/nie.py, stdnum/es/nif.py, stdnum/eu/vat.py, stdnum/fi/alv.py, stdnum/fi/hetu.py, stdnum/fr/siren.py, stdnum/fr/tva.py, stdnum/gb/vat.py, stdnum/gr/vat.py, stdnum/grid.py, stdnum/hr/oib.py, stdnum/hu/anum.py, stdnum/iban.py, stdnum/ie/pps.py, stdnum/ie/vat.py, stdnum/imei.py, stdnum/imsi.py, stdnum/isan.py, stdnum/isbn.py, stdnum/isil.py, stdnum/ismn.py, stdnum/iso7064/__init__.py, stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, stdnum/issn.py, stdnum/it/iva.py, stdnum/lt/pvm.py, stdnum/lu/tva.py, stdnum/luhn.py, stdnum/lv/pvn.py, stdnum/meid.py, stdnum/mt/vat.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/numdb.py, stdnum/pl/nip.py, stdnum/pt/nif.py, stdnum/ro/cf.py, stdnum/ro/cnp.py, stdnum/se/vat.py, stdnum/si/ddv.py, stdnum/sk/dph.py, stdnum/sk/rc.py, stdnum/us/ssn.py, stdnum/util.py, stdnum/verhoeff.py: ensure that the module docstrings are in a somewhat more usable format 2012-02-25 Arthur de Jong * [907e410] setup.py: add the optional dependency on suds for the stdnum.eu.vat.check_vies() function 2012-02-24 Arthur de Jong * [ae9268b] stdnum/cz/rc.py: make the get_birth_date() function publically available 2012-02-24 Arthur de Jong * [4dfc8d7] docs/_templates/autosummary/module.rst, docs/conf.py, docs/index.rst, docs/stdnum.at.uid.rst, docs/stdnum.be.vat.rst, docs/stdnum.bg.egn.rst, docs/stdnum.bg.pnf.rst, docs/stdnum.bg.vat.rst, docs/stdnum.br.cpf.rst, docs/stdnum.cy.vat.rst, docs/stdnum.cz.dic.rst, docs/stdnum.cz.rc.rst, docs/stdnum.de.vat.rst, docs/stdnum.dk.cpr.rst, docs/stdnum.dk.cvr.rst, docs/stdnum.ean.rst, docs/stdnum.ee.kmkr.rst, docs/stdnum.es.cif.rst, docs/stdnum.es.dni.rst, docs/stdnum.es.nie.rst, docs/stdnum.es.nif.rst, docs/stdnum.eu.vat.rst, docs/stdnum.fi.alv.rst, docs/stdnum.fi.hetu.rst, docs/stdnum.fr.siren.rst, docs/stdnum.fr.tva.rst, docs/stdnum.gb.vat.rst, docs/stdnum.gr.vat.rst, docs/stdnum.grid.rst, docs/stdnum.hr.oib.rst, docs/stdnum.hu.anum.rst, docs/stdnum.iban.rst, docs/stdnum.ie.pps.rst, docs/stdnum.ie.vat.rst, docs/stdnum.imei.rst, docs/stdnum.imsi.rst, docs/stdnum.isan.rst, docs/stdnum.isbn.rst, docs/stdnum.isil.rst, docs/stdnum.ismn.rst, docs/stdnum.iso7064.rst, docs/stdnum.issn.rst, docs/stdnum.it.iva.rst, docs/stdnum.lt.pvm.rst, docs/stdnum.lu.tva.rst, docs/stdnum.luhn.rst, docs/stdnum.lv.pvn.rst, docs/stdnum.meid.rst, docs/stdnum.mt.vat.rst, docs/stdnum.nl.bsn.rst, docs/stdnum.nl.btw.rst, docs/stdnum.nl.onderwijsnummer.rst, docs/stdnum.pl.nip.rst, docs/stdnum.pt.nif.rst, docs/stdnum.ro.cf.rst, docs/stdnum.ro.cnp.rst, docs/stdnum.se.vat.rst, docs/stdnum.si.ddv.rst, docs/stdnum.sk.dph.rst, docs/stdnum.sk.rc.rst, docs/stdnum.us.ssn.rst, docs/stdnum.verhoeff.rst, setup.cfg: generate documentation using Sphinx 2012-02-23 Arthur de Jong * [093b1a1] README, stdnum/__init__.py, stdnum/dk/cpr.py: add a CPR (personnummer, the Danish citizen number) module 2012-02-23 Arthur de Jong * [89e4d78] README, stdnum/__init__.py, stdnum/ie/pps.py: add a PPS No (Personal Public Service Number, Irish personal number) module 2012-02-22 Arthur de Jong * [3a9c407] README, stdnum/__init__.py, stdnum/hr/__init__.py, stdnum/hr/oib.py: add an OIB (Osobni identifikacijski broj, Croatian personal identification number) module 2012-02-20 Arthur de Jong * [680b7d1] numdb-test.dat, stdnum/numdb.py: rename numdb test file 2012-02-20 Arthur de Jong * [68f62bf] stdnum/eu/vat.py: add a stdnum.eu.vat.check_vies() function to do an on-line check of the VAT number 2012-02-19 Arthur de Jong * [e640e3b] stdnum/iban.py, stdnum/numdb.py: add "pragma: no cover" statements to code that isn't expected to be covered 2012-02-19 Arthur de Jong * [b561d59] README, stdnum/__init__.py, stdnum/eu/__init__.py, stdnum/eu/vat.py, tests/test_eu_vat.doctest: add a VAT (European Union VAT number) module 2012-02-19 Arthur de Jong * [61af19d] README, stdnum/__init__.py: make number description consistent 2012-02-19 Arthur de Jong * [eeb5c61] stdnum/at/__init__.py, stdnum/cz/__init__.py, stdnum/dk/__init__.py, stdnum/ee/__init__.py, stdnum/es/__init__.py, stdnum/fi/__init__.py, stdnum/fr/__init__.py, stdnum/hu/__init__.py, stdnum/it/__init__.py, stdnum/lt/__init__.py, stdnum/lu/__init__.py, stdnum/lv/__init__.py, stdnum/nl/__init__.py, stdnum/pl/__init__.py, stdnum/pt/__init__.py, stdnum/ro/__init__.py, stdnum/si/__init__.py, stdnum/sk/__init__.py: for all countries, provide vat as an alias for the local vat identifier 2012-02-19 Arthur de Jong * [6755b94] stdnum/at/__init__.py, stdnum/be/__init__.py, stdnum/bg/__init__.py, stdnum/br/__init__.py, stdnum/cy/__init__.py, stdnum/cz/__init__.py, stdnum/de/__init__.py, stdnum/dk/__init__.py, stdnum/ee/__init__.py, stdnum/es/__init__.py, stdnum/fi/__init__.py, stdnum/fr/__init__.py, stdnum/gb/__init__.py, stdnum/gr/__init__.py, stdnum/hu/__init__.py, stdnum/ie/__init__.py, stdnum/it/__init__.py, stdnum/lt/__init__.py, stdnum/lu/__init__.py, stdnum/lv/__init__.py, stdnum/mt/__init__.py, stdnum/nl/__init__.py, stdnum/pl/__init__.py, stdnum/pt/__init__.py, stdnum/ro/__init__.py, stdnum/se/__init__.py, stdnum/si/__init__.py, stdnum/sk/__init__.py, stdnum/us/__init__.py: give all packages a description 2012-02-19 Arthur de Jong * [6d74fe9] stdnum/nl/vat.py: remove stdnum.nl.vat alias module 2012-02-19 Arthur de Jong * [528901d] stdnum/util.py, tests/test_robustness.doctest: use introspection to find number modules and test them 2012-02-18 Arthur de Jong * [2d80a24] README, stdnum/__init__.py, stdnum/bg/vat.py, tests/test_bg_vat.doctest, tests/test_robustness.doctest: add a VAT (Идентификационен номер по ДДС, Bulgarian VAT numbers) module 2012-02-18 Arthur de Jong * [1384488] README, stdnum/__init__.py, stdnum/bg/pnf.py, tests/test_robustness.doctest: add a PNF (ЛНЧ, Личен номер на чужденец, Bulgarian personal number of a foreigner) module 2012-02-18 Arthur de Jong * [a24e98e] README, stdnum/__init__.py, stdnum/bg/__init__.py, stdnum/bg/egn.py, tests/test_robustness.doctest: add an EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes) module 2012-02-18 Arthur de Jong * [4ac3fe7] tests/test_robustness.doctest: explicitly test for False 2012-02-18 Arthur de Jong * [0c78d90] stdnum/lt/pvm.py: explicitly return False if no rule matches 2012-02-18 Arthur de Jong * [cddb5f9] README, stdnum/__init__.py, stdnum/gb/__init__.py, stdnum/gb/vat.py, tests/test_gb_vat.doctest, tests/test_robustness.doctest: add a VAT (United Kingdom (and Isle of Man) VAT registration number) module 2012-02-18 Arthur de Jong * [6c436ec] tests/test_fi_hetu.doctest: fix typo 2012-02-18 Arthur de Jong * [aa39c92] README, stdnum/__init__.py, stdnum/se/__init__.py, stdnum/se/vat.py, tests/test_robustness.doctest: add a VAT (Moms, Mervärdesskatt, Swedish VAT number) module 2012-02-18 Arthur de Jong * [3a7a91c] README, stdnum/__init__.py, stdnum/si/__init__.py, stdnum/si/ddv.py, tests/test_robustness.doctest: add a ID za DDV (Davčna številka, Slovenian VAT number) module 2012-02-18 Arthur de Jong * [ebbd1af] README, stdnum/__init__.py, stdnum/pl/__init__.py, stdnum/pl/nip.py, tests/test_robustness.doctest: add a NIP (Numer Identyfikacji Podatkowej, Polish VAT number) module 2012-02-18 Arthur de Jong * [c75f072] README, stdnum/__init__.py, stdnum/mt/__init__.py, stdnum/mt/vat.py, tests/test_robustness.doctest: add a VAT (Maltese VAT number) module 2012-02-17 Arthur de Jong * [0922f3c] stdnum/it/iva.py: strip a few more separators 2012-02-17 Arthur de Jong * [b708920] README, stdnum/__init__.py, stdnum/fr/tva.py, tests/test_robustness.doctest: add a TVA (Numéro d'identification à la taxe sur la valeur ajoutée, French VAT number) module 2012-02-17 Arthur de Jong * [dc8e9a3] README, stdnum/__init__.py, stdnum/lt/__init__.py, stdnum/lt/pvm.py, tests/test_robustness.doctest: add a PVM (Pridėtinės vertės mokestis mokėtojo kodas, Lithuanian VAT number) module 2012-02-17 Arthur de Jong * [20296ef] README, stdnum/__init__.py, stdnum/ee/__init__.py, stdnum/ee/kmkr.py, tests/test_robustness.doctest: add a KMKR (Käibemaksukohuslase, Estonian VAT number) module 2012-02-17 Arthur de Jong * [2100c28] README, stdnum/__init__.py, stdnum/ie/__init__.py, stdnum/ie/vat.py, tests/test_robustness.doctest: add a VAT (Irish VAT number) module 2012-02-17 Arthur de Jong * [d2f1348] README, stdnum/__init__.py, stdnum/hu/__init__.py, stdnum/hu/anum.py, tests/test_robustness.doctest: add an ANUM (Közösségi adószám, Hungarian VAT number) module 2012-02-17 Arthur de Jong * [d803443] README, stdnum/__init__.py, stdnum/cz/dic.py, tests/test_robustness.doctest: add a DIČ (Daňové identifikační číslo, Czech VAT number) module 2012-02-17 Arthur de Jong * [0d2e4cc] README, stdnum/__init__.py, stdnum/fi/alv.py, tests/test_robustness.doctest: add an ALV nro (Arvonlisäveronumero, Finnish VAT number) module 2012-02-17 Arthur de Jong * [03eccc4] README, stdnum/__init__.py, stdnum/sk/dph.py, tests/test_robustness.doctest: add IČ DPH (Identifikačné číslo pre daň z pridanej hodnoty, Slovak VAT number) module 2012-02-16 Arthur de Jong * [389c306] README, stdnum/__init__.py, stdnum/pt/__init__.py, stdnum/pt/nif.py, tests/test_robustness.doctest: add a NIF (Número de identificação fiscal, Portuguese VAT number) module 2012-02-13 Arthur de Jong * [cdc7f96] README, stdnum/__init__.py, stdnum/at/__init__.py, stdnum/at/uid.py, tests/test_robustness.doctest: add a UID (Umsatzsteuer-Identifikationsnummer, Austrian VAT number) module 2012-02-13 Arthur de Jong * [e0bb4e8] README, stdnum/__init__.py, stdnum/cy/__init__.py, stdnum/cy/vat.py, tests/test_robustness.doctest: add a Αριθμός Εγγραφής Φ.Π.Α. (Cypriot VAT number) module 2012-02-12 Arthur de Jong * [402a0d5] stdnum/es/cif.py, stdnum/it/iva.py, stdnum/util.py: use the luhn module where possible 2012-02-12 Arthur de Jong * [1c2b4c3] tests/test_robustness.doctest: fix typo in header 2012-02-12 Arthur de Jong * [09ef54d] README, stdnum/__init__.py, stdnum/it/__init__.py, stdnum/it/iva.py, tests/test_robustness.doctest: add a Partita IVA (Italian VAT number) module 2012-02-12 Arthur de Jong * [ffc824b] README, stdnum/__init__.py, stdnum/ro/cf.py, tests/test_robustness.doctest: add a CF (Cod de înregistrare în scopuri de TVA, Romanian VAT number) module 2012-02-12 Arthur de Jong * [9d65f6a] README, stdnum/__init__.py, stdnum/ro/__init__.py, stdnum/ro/cnp.py, tests/test_robustness.doctest: add a CNP (Cod Numeric Personal, Romanian Numerical Personal Code) module 2012-02-12 Arthur de Jong * [60533cd] stdnum/gr/vat.py: also strip : as seen in some numbers 2012-02-11 Arthur de Jong * [74c4c71] README, stdnum/__init__.py, stdnum/lu/__init__.py, stdnum/lu/tva.py, tests/test_robustness.doctest: add a TVA (Numéro d'identification à la taxe sur la valeur ajoutée, Luxembourgian VAT number) module 2012-02-11 Arthur de Jong * [74f4e2a] README, stdnum/__init__.py, stdnum/dk/__init__.py, stdnum/dk/cvr.py, tests/test_robustness.doctest: add a CVR (Momsregistreringsnummer, Danish VAT number) module 2012-02-11 Arthur de Jong * [3c64f1e] stdnum/be/vat.py: add missing test 2012-02-11 Arthur de Jong * [b8c3ba6] stdnum/be/vat.py: clean up numbers starting with (0) 2012-02-11 Arthur de Jong * [8a10861] README, stdnum/__init__.py, stdnum/lv/__init__.py, stdnum/lv/pvn.py, tests/test_robustness.doctest: add a PVN (Pievienotās vērtības nodokļa, Latvian VAT number) module 2012-02-11 Arthur de Jong * [a3610a3] README, stdnum/__init__.py, stdnum/es/nif.py, tests/test_robustness.doctest: add a NIF (Número de Identificación Fiscal, Spanish VAT number) module 2012-02-11 Arthur de Jong * [aa90c4f] README, stdnum/__init__.py, stdnum/es/cif.py, tests/test_robustness.doctest: add a CIF (Certificado de Identificación Fiscal, Spanish tax identification number) module 2012-02-11 Arthur de Jong * [a574e6c] stdnum/util.py: implement a digitsum() function to find the sub of all digits in a number 2012-02-11 Arthur de Jong * [84d1ee7] stdnum/es/nie.py: fix description and remove unnecessary import 2012-02-10 Arthur de Jong * [fa2d398] README, stdnum/__init__.py, stdnum/es/nie.py, tests/test_robustness.doctest: add a NIE (Número de Identificación de Extranjeros, Spanish identification number for foreigners) module 2012-02-10 Arthur de Jong * [fe3210f] README, stdnum/__init__.py, stdnum/es/__init__.py, stdnum/es/dni.py, tests/test_robustness.doctest: add a DNI (Documento nacional de identidad, Spanish personal identity codes) module 2012-02-10 Arthur de Jong * [4439f47] README, stdnum/__init__.py, stdnum/be/__init__.py, stdnum/be/vat.py, tests/test_robustness.doctest: add a BTW, TVA, NWSt (Belgian VAT number) module 2012-02-10 Arthur de Jong * [1ab602c] README, stdnum/__init__.py, stdnum/sk/__init__.py, stdnum/sk/rc.py: also make the stdnum.cz.rc module available as stdnum.sk.rc 2012-02-10 Arthur de Jong * [e9e5861] stdnum/nl/vat.py: also make the stdnum.nl.btw module available as stdnum.nl.vat 2012-02-10 Arthur de Jong * [c795b3c] stdnum/nl/btw.py: fix number in test and ensure that number is not all zeroes 2012-02-10 Arthur de Jong * [2bb9231] stdnum/cz/rc.py: add some info to description 2012-02-10 Arthur de Jong * [1aeeaf4] README, stdnum/__init__.py, stdnum/de/__init__.py, stdnum/de/vat.py, tests/test_robustness.doctest: add an Ust ID Nr. (Umsatzsteur Identifikationnummer, the German VAT number) module 2012-02-10 Arthur de Jong * [473b3ca] README, stdnum/__init__.py, stdnum/gr/__init__.py, stdnum/gr/vat.py, tests/test_robustness.doctest: add a FPA, ΦΠΑ (Foros Prostithemenis Aksias, the Greek VAT number) module 2012-02-05 Arthur de Jong * [9f1d47b] README, stdnum/__init__.py, stdnum/fr/__init__.py, stdnum/fr/siren.py, tests/test_robustness.doctest: add a SIREN (Système d'Identification du Répertoire des Entreprises, a French company identification number) module 2012-02-05 Arthur de Jong * [575fc75] README, stdnum/__init__.py, stdnum/cz/__init__.py, stdnum/cz/rc.py, tests/test_robustness.doctest: add a RČ (Rodné číslo, the Czech birth numbers) module 2012-02-04 Arthur de Jong * [41dd815] stdnum/br/cpf.py, stdnum/ean.py, stdnum/grid.py, stdnum/iban.py, stdnum/imei.py, stdnum/imsi.py, stdnum/isan.py, stdnum/isbn.py, stdnum/ismn.py, stdnum/issn.py, stdnum/meid.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/us/ssn.py, stdnum/util.py: implement a stdnum.util module for holding utility functions (for now clean()) 2012-02-04 Arthur de Jong * [54cc207] tests/test_robustness.doctest: some extra rubustness checks 2012-02-04 Arthur de Jong * [b43817c] stdnum/nl/bsn.py, stdnum/nl/onderwijsnummer.py: rename calc_checksum() to checksum() for consistency 2012-02-04 Arthur de Jong * [548f129] stdnum/iso7064/mod_37_36.py: use integer division 2012-02-02 Arthur de Jong * [9efde4f] README, stdnum/__init__.py, stdnum/nl/btw.py, tests/test_robustness.doctest: add a BTW (the Dutch VAT number) module 2012-02-02 Arthur de Jong * [086e509] README, stdnum/__init__.py, stdnum/nl/bsn.py, stdnum/nl/onderwijsnummer.py, tests/test_robustness.doctest: add an onderwijsnummer (Dutch school number) module 2011-12-31 Arthur de Jong * [587c538] setup.py: revert switching to distutils part of r93, keep restructuring part 2011-12-31 Arthur de Jong * [6756d79] setup.cfg, setup.py: switch to distutils 2011-11-07 Arthur de Jong * [e6020b9] README, stdnum/__init__.py, stdnum/fi/__init__.py, stdnum/fi/hetu.py, tests/test_fi_hetu.doctest, tests/test_robustness.doctest: add a HETU (Finnish personal identity code) module as provided by Jussi Judin (#5) 2011-09-30 Arthur de Jong * [77ac8d4] setup.py: fix version number use (fix r86) 2011-09-30 Arthur de Jong * [6cdfb6b] ChangeLog, NEWS, stdnum/__init__.py: get files ready for 0.6 release 2011-09-30 Arthur de Jong * [1451b47] stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: update data files 2011-09-30 Arthur de Jong * [6ec6c7e] setup.py, stdnum/__init__.py: move the version number definition to the stdnum package 2011-09-25 Arthur de Jong * [ae2013d] stdnum/ismn.py: implement an ismn_type() function 2011-09-23 Arthur de Jong * [14b97f9] : ignore __pycache__ directories 2011-09-23 Arthur de Jong * [cbd114e] README, getimsi.py, stdnum/__init__.py, stdnum/imsi.dat, stdnum/imsi.py, tests/test_robustness.doctest: add an IMSI (International Mobile Subscriber Identity) module 2011-09-23 Arthur de Jong * [68c98f0] stdnum/imei.py: implement an imei.split() function that splits the number into a TAC, serial number and checksum or software version 2011-09-23 Arthur de Jong * [e6cd768] getiban.py: remove unneeded import 2011-09-20 Arthur de Jong * [4e8d7e4] stdnum/isbn.py, tests/test_isbn.doctest: implement a conversion function from ISBN13 to ISBN10 2011-09-20 Arthur de Jong * [d6f9ba2] tests/test_imei.doctest, tests/test_isan.doctest, tests/test_isbn.doctest, tests/test_ismn.doctest: fix space before inline comments 2011-09-20 Arthur de Jong * [c4ad099] stdnum/isbn.py, tests/test_isbn.doctest: fix a problem with an ISBN13 with a valid check digit but with an unknown bookland prefix 2011-09-04 Arthur de Jong * [1c7c198] setup.py: fix homepage URL 2011-08-19 Arthur de Jong * [881e8a6] getiban.py, getisbn.py, getisil.py, setup.py, stdnum/br/cpf.py, stdnum/ean.py, stdnum/grid.py, stdnum/iban.py, stdnum/imei.py, stdnum/isan.py, stdnum/isbn.py, stdnum/isil.py, stdnum/ismn.py, stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, stdnum/issn.py, stdnum/luhn.py, stdnum/meid.py, stdnum/nl/bsn.py, stdnum/numdb.py, stdnum/us/ssn.py, stdnum/verhoeff.py: make source code layout follow PEP8 more 2011-07-09 Arthur de Jong * [8dbcedd] ChangeLog, NEWS, setup.py: get files ready for 0.5 release 2011-07-09 Arthur de Jong * [596c7a1] stdnum/iban.dat, stdnum/isbn.dat, stdnum/isil.dat: update data files 2011-06-20 Arthur de Jong * [63b2b0a] stdnum/issn.py: implement a conversion function from ISSN to EAN 2011-06-20 Arthur de Jong * [d101acf] stdnum/isbn.py, stdnum/ismn.py: use the ean module for calculating the check digit 2011-06-20 Arthur de Jong * [f5747bc] README, stdnum/__init__.py, stdnum/ean.py, tests/test_robustness.doctest: add an EAN (International Article Number) module 2011-03-06 Arthur de Jong * [1b904ba] setup.py, stdnum/numdb.py: also support Python3 with the same codebase (see #3) 2011-03-06 Arthur de Jong * [a45079f] setup.py: ensure that data files are always included 2011-03-02 Arthur de Jong * [c17920a] stdnum/verhoeff.py: Python 2.5 compatibility improvement 2011-02-06 Arthur de Jong * [e6ba399] ChangeLog, NEWS, setup.py: get files ready for 0.4 release 2011-02-06 Arthur de Jong * [060dfce] stdnum/isbn.dat: include an updated version 2011-02-06 Arthur de Jong * [8806d2a] README, stdnum/__init__.py, stdnum/us/__init__.py, stdnum/us/ssn.py, tests/test_robustness.doctest: add an SSN (U.S. Social Security Number) module 2011-02-05 Arthur de Jong * [c260626] README, stdnum/__init__.py: add ISIL to the documentation 2011-02-05 Arthur de Jong * [e517903] getisil.py, stdnum/isil.dat, stdnum/isil.py, tests/test_robustness.doctest: add an ISIL (International Standard Identifier for Libraries and Related Organizations) module 2011-02-05 Arthur de Jong * [96f4f7c] stdnum/numdb.py: allow most kind of characters in number ranges 2011-02-05 Arthur de Jong * [33611d1] stdnum/iban.py: move more validation into try/except (specifically the _convert() call) 2011-02-05 Arthur de Jong * [62aa496] tests/test_iban.doctest, tests/test_imei.doctest, tests/test_isan.doctest, tests/test_isbn.doctest, tests/test_ismn.doctest, tests/test_issn.doctest, tests/test_luhn.doctest, tests/test_meid.doctest, tests/test_nl_bsn.doctest, tests/test_robustness.doctest, tests/test_verhoeff.doctest: move all robustness tests into one test file 2011-02-05 Arthur de Jong * [9081e90] tests/test_iso7064.doctest: fix imports of iso7064.mod_*_* modules 2011-02-05 Arthur de Jong * [e5678ca] stdnum/isbn.py: fix typo in r53 2011-02-05 Arthur de Jong * [ea737ff] stdnum/__init__.py: add encoding header 2011-01-31 Arthur de Jong * [cc7a6d8] README, stdnum/__init__.py: get README and package docstring in sync 2011-01-21 Arthur de Jong * [6724e50] stdnum/isbn.py, tests/test_isbn.doctest: add a convert parameter to most isbn functions to automatically convert to ISBN-13 2011-01-17 Arthur de Jong * [411874e] README: add note about CPF and update copyright year 2011-01-16 Arthur de Jong * [db2238c] README, getiban.py, stdnum/iban.dat, stdnum/iban.py, tests/test_iban.doctest: add an IBAN (International Bank Account Number) module 2011-01-16 Arthur de Jong * [2b4aff6] setup.py, stdnum/numdb.py: revert r49 because it wasn't needed after all 2011-01-16 Arthur de Jong * [0bf31c9] setup.py, stdnum/numdb.py: introduce a full parameter that can be used to only return the part that is in the database 2011-01-16 Arthur de Jong * [4fe17ba] stdnum/grid.py, stdnum/isan.py: fix import of iso7064 modules 2011-01-16 Arthur de Jong * [c1f03c2] stdnum/numdb.py, test.dat: add test for partial match 2011-01-15 Arthur de Jong * [81a99d3] tests/test_nl_bsn.doctest: fix comments to refer to the new path of the module 2011-01-15 Arthur de Jong * [fda67ac] stdnum/br/__init__.py, stdnum/br/cpf.py, tests/test_br_cpf.doctest: add a CPF (Cadastro de Pessoas Físicas) module 2011-01-15 Arthur de Jong * [8d3a92c] stdnum/nl/__init__.py, stdnum/nl/bsn.py, tests/test_nl_bsn.doctest: move bsn module inside nl package 2010-11-26 Arthur de Jong * [6ed480c] setup.py, stdnum/__init__.py: move general description to package __init__.py file 2010-11-24 Arthur de Jong * [124c16d] getisbn.py, stdnum/isbn.dat, stdnum/isbn.py, stdnum/isbn/ranges.py, stdnum/numdb.py, test.dat, tests/test_isbn.doctest: implement a new numdb module to hold information on hierarchically organised numbers and switch the isbn module to use this format instead 2010-09-11 Arthur de Jong * [72a0b96] ChangeLog, NEWS, README, setup.py: get files ready for 0.3 release 2010-09-05 Arthur de Jong * [cd844b5] setup.py: have sdist target create a tarball with reasonable permissions 2010-08-29 Arthur de Jong * [2e64eb8] stdnum/bsn.py, stdnum/isan.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/meid.py, stdnum/verhoeff.py, tests/test_bsn.doctest, tests/test_ismn.doctest: spelling check 2010-08-28 Arthur de Jong * [2a7afff] README, stdnum/grid.py: add a GRid (Global Release Identifier) module 2010-08-27 Arthur de Jong * [9970652] README, stdnum/isan.py, tests/test_isan.doctest: add ISAN (International Standard Audiovisual Number) module 2010-08-27 Arthur de Jong * [fda9552] README, stdnum/iso7064/__init__.py, stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, tests/test_iso7064.doctest: implement some ISO/IEC 7064 check digit schemes 2010-08-26 Arthur de Jong * [4017d83] stdnum/isbn/__init__.py, stdnum/ismn.py, stdnum/issn.py, stdnum/verhoeff.py: switch to using enumerate() for looping over numbers where needed 2010-08-21 Arthur de Jong * [8bdb6ef] README, stdnum/ismn.py, tests/test_ismn.doctest: add an ISMN (International Standard Music Number) module 2010-08-21 Arthur de Jong * [97d5280] tests/test_isbn.doctest: simplify ranges tests a bit 2010-08-21 Arthur de Jong * [f3b025b] stdnum/isbn/ranges.py: update ranges from newly downloaded file 2010-08-20 Arthur de Jong * [8748830] README, stdnum/meid.py, tests/test_meid.doctest: add a MEID (Mobile Equipment Identifier) module 2010-08-20 Arthur de Jong * [f125f3e] setup.cfg, tests/test_isbn.doctest, tests/test_issn.doctest: write some more tests (some of which are a bit of a hack) to get coverage to 100% 2010-08-20 Arthur de Jong * [d622d92] stdnum/imei.py, tests/test_imei.doctest: add an add_check_digit option to the format() function to add a check digit if needed and possible 2010-08-20 Arthur de Jong * [a74a6f7] stdnum/luhn.py: make checksum calculation a little more readable 2010-08-20 Arthur de Jong * [6bb04af] README, stdnum/imei.py, tests/test_imei.doctest: add an IMEI (International Mobile Equipment Identity) module 2010-08-20 Arthur de Jong * [ca08995] README, stdnum/luhn.py, tests/test_luhn.doctest: add functions for handling the Luhn and Luhn mod N algorithms 2010-08-20 Arthur de Jong * [7e800c3] stdnum/issn.py: fix typo 2010-08-20 Arthur de Jong * [571dc83] README, stdnum/verhoeff.py, tests/test_verhoeff.doctest: add functions for handling the Verhoeff algorithm 2010-08-16 Arthur de Jong * [9ffa9fd] ChangeLog, NEWS, setup.py: get files ready for 0.2 release 2010-08-16 Arthur de Jong * [19b7d2d] debian/changelog, debian/compat, debian/control, debian/copyright, debian/docs, debian/rules, debian/source/format, debian/watch: debian package configuration is now available at http://svn.debian.org/viewsvn/python-modules/packages/python-stdnum/trunk/ 2010-08-14 Arthur de Jong * [85e9e3b] setup.cfg, tests/test_bsn.doctest, tests/test_isbn.doctest: add more doctests that are not part of the module documentation 2010-07-27 Arthur de Jong * [c536356] README, stdnum/bsn.py, stdnum/isbn/__init__.py, stdnum/issn.py: rename validate() function to is_valid() 2010-07-27 Arthur de Jong * [85a5fc8] stdnum/isbn/ranges.py: fix typo in output() function 2010-07-27 Arthur de Jong * [1071603] stdnum/isbn/ranges.py: fix range detection to handle lookup errors more gracefully 2010-07-27 Arthur de Jong * [a86c4cc] stdnum/bsn.py, stdnum/isbn/__init__.py, stdnum/issn.py: handle wrong types passed to validate() more gracefully 2010-07-26 Arthur de Jong * [9495116] debian/changelog, debian/source/format, debian/watch: make release 0.1-1 2010-07-25 Arthur de Jong * [55a97d4] ChangeLog: get files ready for 0.1 release 2010-07-25 Arthur de Jong * [1e02d5a] debian/changelog, debian/compat, debian/control, debian/copyright, debian/docs, debian/rules, debian/source/format: add Debian packaging 2010-07-25 Arthur de Jong * [14bd2fe] COPYING, ChangeLog, MANIFEST.in, NEWS: include some more files in the source distribution 2010-07-25 Arthur de Jong * [9940cf3] setup.cfg: use nose for testing and ignore generated files and directories 2010-07-25 Arthur de Jong * [967f2ae] setup.py: add a setup.py script for use of setuptools 2010-07-25 Arthur de Jong * [ca5f850] README: add documentation to the README 2010-07-25 Arthur de Jong * [40aff16] stdnum/bsn.py, stdnum/isbn/__init__.py, stdnum/isbn/ranges.py, stdnum/issn.py: spelling check an extra doctest and a simplification 2010-07-23 Arthur de Jong * [6eabbc3] stdnum/bsn.py: add BSN (Burgerservicenummer, the Ducth national identification number) module 2010-07-23 Arthur de Jong * [92e18aa] stdnum/issn.py: add an ISSN (International Standard Serial Number) module 2010-07-23 Arthur de Jong * [31ce783] stdnum/isbn/__init__.py: fix example and fix ISBN13 conversion 2010-07-23 Arthur de Jong * [4b8c10e] stdnum/isbn/__init__.py: get rid of remainders of old code that used exceptions 2010-07-23 Arthur de Jong * [7d2f15a] README, stdnum/__init__.py, stdnum/isbn/__init__.py, stdnum/isbn/ranges.py: make a initial repository layout with an implementation of the isbn module python-stdnum-1.13/tox.ini0000644000000000000000000000145513611057475015556 0ustar rootroot00000000000000[tox] envlist = py{26,27,34,35,36,37,38,py,py3},flake8,docs skip_missing_interpreters = True [testenv] deps = nose coverage commands = nosetests setenv= PYTHONWARNINGS=all [testenv:py26] basepython = python2.6 usedevelop = True commands = nosetests --ignore-file="test_.*.py" [testenv:flake8] skip_install = true deps = flake8 flake8-author flake8-blind-except py{35,36,37,38}: flake8-bugbear flake8-class-newline flake8-commas flake8-deprecated flake8-docstrings flake8-exact-pin flake8-isort flake8-print flake8-quotes flake8-tidy-imports flake8-tuple pep8-naming commands = flake8 stdnum tests update *.py [testenv:docs] deps = Sphinx commands = sphinx-build -N -b html docs {envtmpdir}/sphinx -W python-stdnum-1.13/update/0000755000000000000000000000000013611057640015512 5ustar rootroot00000000000000python-stdnum-1.13/update/numlist.py0000755000000000000000000000410213555400451017556 0ustar rootroot00000000000000#!/usr/bin/env python3 # update/numlist.py - script to get a list of number formats in stdnum # # Copyright (C) 2012-2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This script uses introspection to present a list of number formats suitable to be included in the README and stdnum package description.""" import os.path import sys # Ensure that our local stdnum implementation is used sys.path.insert(0, os.path.normpath( os.path.join(os.path.dirname(os.path.abspath(__file__)), '..'))) from stdnum import util # noqa, isort:skip # these are excluded algortihms = ( 'stdnum.verhoeff', 'stdnum.luhn', 'stdnum.iso7064', 'stdnum.damm') def get_number_modules(): """Provide the number modules that are not algorithms.""" for module in util.get_number_modules(): if module.__name__ not in algortihms and \ not module.__name__.startswith('stdnum.iso7064'): yield module if __name__ == '__main__': print('For README:') print('') for module in get_number_modules(): print(' * %s' % util.get_module_name(module)) print('') print('For docs/index.rst:') print('') for module in get_number_modules(): print(' %s' % module.__name__.replace('stdnum.', '')) print('') print('For formats.xml:') print('') for module in get_number_modules(): print('
  • %s
  • ' % util.get_module_name(module)) python-stdnum-1.13/update/isil.py0000755000000000000000000000503413555400451017030 0ustar rootroot00000000000000#!/usr/bin/env python3 # update/isil.py - script to donwload ISIL agencies # # Copyright (C) 2011-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This script downloads a web page from the ISIL Registration Authority and screen-scrapes the national and non-national ISIL agencies and code prefixes.""" import re import lxml.html import requests spaces_re = re.compile(r'\s+', re.UNICODE) # the web page that holds information on the ISIL authorities download_url = 'https://english.slks.dk/libraries/library-standards/isil/' def clean(td): """Clean up the element removing unneeded stuff from it.""" s = lxml.html.tostring(td, method='text', encoding='utf-8').decode('utf-8') return spaces_re.sub(' ', s.replace(u'\u0096', '')).strip() if __name__ == '__main__': response = requests.get(download_url) response.raise_for_status() print('# generated from ISIL Registration Authority, downloaded from') print('# %s' % download_url) # We hack the HTML to insert missing elements content = response.text.replace('', '') document = lxml.html.document_fromstring(content) # find all table rows for tr in document.findall('.//tr'): # find the rows with four columns of text tds = tr.findall('td') if len(tds) == 4 and clean(tds[0]).lower() != 'code': props = {} cc = clean(tds[0]) if tds[1].find('p') is not None: props['country'] = clean(tds[1]) ra_a = tds[2].find('.//a') if ra_a is not None: props['ra'] = clean(tds[2]) props['ra_url'] = ra_a.get('href') else: props['ra'] = clean(tds[2]) print( '%s$ %s' % ( cc, ' '.join( '%s="%s"' % (x, y) for x, y in sorted(props.items())))) python-stdnum-1.13/update/iban.py0000755000000000000000000000576113611053275017011 0ustar rootroot00000000000000#!/usr/bin/env python3 # update/iban.py - script to download and parse data from the IBAN registry # # Copyright (C) 2011-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This script downloads data from SWIFT (the Society for Worldwide Interbank Financial Telecommunication which is the official IBAN registrar) to get the data needed to correctly parse and validate IBANs.""" import csv from collections import defaultdict import requests # The place where the current version of # swift_standards_infopaper_ibanregistry_1.txt can be downloaded. download_url = 'https://www.swift.com/node/11971' def get_country_codes(line): """Return the list of country codes this line has.""" # simplest case first if len(line['IBAN prefix country code (ISO 3166)']) == 2: return [line['IBAN prefix country code (ISO 3166)']] # fall back to parsing the IBAN structure return [x.strip()[:2] for x in line['iban structure'].split(',')] if __name__ == '__main__': response = requests.get(download_url) response.raise_for_status() print('# generated from swift_standards_infopaper_ibanregistry_1.txt,') print('# downloaded from %s' % download_url) values = defaultdict(dict) # the file is CSV but the data is in columns instead of rows for row in csv.reader(response.iter_lines(decode_unicode=True), delimiter='\t', quotechar='"'): # skip first row if row and row[0] != 'Data element': # first column contains label for i, c in enumerate(row[1:]): values[i][row[0]] = c # output the collected data for i, data in values.items(): bban = data['BBAN structure'] if not(bban) or bban.lower() == 'n/a': bban = data['IBAN structure'] bban = bban.replace(' ', '') cc = data['IBAN prefix country code (ISO 3166)'][:2] cname = data['Name of country'] if bban.startswith(cc + '2!n'): bban = bban[5:] # print country line print('%s country="%s" bban="%s"' % (cc, cname, bban)) # TODO: some countries have a fixed check digit value # TODO: some countries have extra check digits # TODO: use "Bank identifier position within the BBAN" field # to add labels to the ranges (Bank identifier and Branch # Identifier) python-stdnum-1.13/update/do_whitelists.py0000755000000000000000000000653013555400451020753 0ustar rootroot00000000000000#!/usr/bin/env python3 # coding: utf-8 # update/do_whitelists.py - script to update do.rnc and do.cedula whitelists # # Copyright (C) 2017-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This script downloads a ZIP file from the Dirección General de Impuestos Internos (DGII) web site with lists of all RNC and Cedula values and outputs new whitelists for these modules.""" import io import os.path import sys import tempfile import textwrap import zipfile import requests # Ensure that our local stdnum implementation is used sys.path.insert(0, os.path.normpath( os.path.join(os.path.dirname(os.path.abspath(__file__)), '..'))) from stdnum.do import cedula, rnc # noqa, isort:skip # The URL of the zip file with all valid numbers download_url = 'https://www.dgii.gov.do/app/WebApps/Consultas/rnc/DGII_RNC.zip' def handle_zipfile(f): """Parse the ZIP file and return a set of invalid RNC and Cedula.""" # collections of invalid numbers found invalidrnc = set() invalidcedula = set() # read the information from the ZIP file z = zipfile.ZipFile(f, 'r') for line in io.TextIOWrapper(z.open('TMP/DGII_RNC.TXT'), encoding='iso8859-15'): number = line.split('|', 1)[0].strip() if number.isdigit(): if len(number) <= 9: if not rnc.is_valid(number): invalidrnc.add(number) else: if not cedula.is_valid(number): invalidcedula.add(number) # return known but invalid numbers return invalidrnc, invalidcedula if __name__ == '__main__': # Download and read the ZIP file with valid data with tempfile.TemporaryFile() as tmp: # Download the zip file to a temporary file response = requests.get(download_url, stream=True) response.raise_for_status() print('%s: %s' % ( os.path.basename(download_url), response.headers.get('last-modified'))) tmp.write(response.content) # Open the temporary file as a zip file and read contents # (we cannot do this streaming because zipfile requires seek) invalidrnc, invalidcedula = handle_zipfile(tmp) # Output new RNC whitelist if changed if not invalidrnc: print('NO NEW WHITELISTED RNC') else: print('NEW RNC WHITELIST:') print('\n'.join(textwrap.wrap( ' '.join(sorted(rnc.whitelist | invalidrnc)), 77))) # Output new Cedula whitelist if changed if not invalidrnc: print('NO NEW WHITELISTED CEDULA') else: print('NEW CEDULA WHITELIST:') print('\n'.join(textwrap.wrap( ' '.join(sorted(cedula.whitelist | invalidcedula)), 77))) python-stdnum-1.13/update/my_bp.py0000755000000000000000000000657013555400451017204 0ustar rootroot00000000000000#!/usr/bin/env python3 # update/my_bp.py - script to download data from Malaysian government site # # Copyright (C) 2013-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This script downloads the list of states and countries and their birthplace code from the National Registration Department of Malaysia.""" import re from collections import defaultdict import lxml.html import requests # URLs that are downloaded state_list_url = 'https://www.jpn.gov.my/kod-negeri/' country_list_url = 'https://www.jpn.gov.my/en/kod-negara/' # The user agent that will be passed in requests user_agent = 'Mozilla/5.0 (compatible; python-stdnum updater; +https://arthurdejong.org/python-stdnum/)' spaces_re = re.compile(r'\s+', re.UNICODE) def clean(td): """Clean up the element removing unneeded stuff from it.""" s = lxml.html.tostring(td, method='text', encoding='utf-8').decode('utf-8') return spaces_re.sub(' ', s.replace(u'\u0096', '')).strip() def parse(content): """Parse the specified file.""" document = lxml.html.document_fromstring(content) # find all table rows for tr in document.findall('.//div[@class="box-content"]//tr'): tds = [clean(td) for td in tr.findall('td')] # table has two columns if len(tds) >= 2 and tds[0] and tds[1]: yield tds[0], tds[1] if len(tds) >= 4 and tds[2] and tds[3]: yield tds[2], tds[3] if __name__ == '__main__': headers = { 'User-Agent': user_agent, } results = defaultdict(lambda: defaultdict(set)) # read the states response = requests.get(state_list_url, headers=headers, verify='update/my_bp.crt') response.raise_for_status() for state, bps in parse(response.content): for bp in bps.split(','): results[bp.strip()]['state'] = state results[bp.strip()]['countries'].add('Malaysia') # read the countries response = requests.get(country_list_url, headers=headers, verify='update/my_bp.crt') response.raise_for_status() for country, bp in parse(response.content): results[bp]['countries'].add(country) # print the results print('# generated from National Registration Department of Malaysia, downloaded from') print('# %s' % state_list_url) print('# %s' % country_list_url) print('') for bp in sorted(results.keys()): res = bp row = results[bp] if 'state' in row: res += ' state="%s"' % row['state'] countries = list(row['countries']) countries.sort() if len(countries) == 1: res += ' country="%s"' % countries[0] if len(countries) > 0: res += ' countries="%s"' % (', '.join(countries)) print(res) python-stdnum-1.13/update/README0000644000000000000000000000031113555400451016364 0ustar rootroot00000000000000This directory contains update scripts that typically update .dat files that are shipped along with python-stdnum. The dependencies of these scripts are recorded in requirements.txt in this directory. python-stdnum-1.13/update/be_banks.py0000755000000000000000000000543713555400451017643 0ustar rootroot00000000000000#!/usr/bin/env python3 # coding: utf-8 # update/be_banks.py - script to donwload Bank list from Belgian National Bank # # Copyright (C) 2018-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This script downloads the list of banks with bank codes as used in the IBAN and BIC codes as published by the Belgian National Bank.""" import os.path import requests import xlrd # The location of the XLS version of the bank identification codes. Also see # https://www.nbb.be/en/payment-systems/payment-standards/bank-identification-codes download_url = 'https://www.nbb.be/doc/be/be/protocol/current_codes.xls' # List of values that refer to non-existing, reserved or otherwise not- # allocated entries. not_applicable_values = ( '-', 'Indisponible', 'LIBRE', 'NAP', 'NAV', 'NYA', 'Onbeschikbaar', 'VRIJ - LIBRE', 'VRIJ', 'nav', ) def clean(value): """Clean up and convert read values removing various placeholder names.""" value = value.strip() if value not in not_applicable_values: return value return '' def get_values(sheet): """Return values (from, to, bic, bank_name) from the worksheet.""" rows = sheet.get_rows() # skip first two rows next(rows) next(rows) # go over rows with values for row in rows: row = [clean(column.value) for column in row] low, high, bic = row[:3] bank = ([x for x in row[3:] if x] + [''])[0] if bic or bank: yield low, high, bic.replace(' ', ''), bank if __name__ == '__main__': response = requests.get(download_url) response.raise_for_status() workbook = xlrd.open_workbook(file_contents=response.content) sheet = workbook.sheet_by_index(0) version = sheet.cell(0, 0).value print('# generated from %s downloaded from' % os.path.basename(download_url)) print('# %s' % download_url) print('# %s' % version) for low, high, bic, bank in get_values(sheet): info = '%s-%s' % (low, high) if bic: info += ' bic="%s"' % bic if bank: info += ' bank="%s"' % bank print(info) python-stdnum-1.13/update/nz_banks.py0000755000000000000000000000666013555400451017703 0ustar rootroot00000000000000#!/usr/bin/env python3 # coding: utf-8 # update/nz_banks.py - script to download Bank list from Bank Branch Register # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This script downloads the list of banks with bank codes as used in the New Zealand bank account numbers.""" import re from collections import OrderedDict, defaultdict import requests import xlrd # The page that contains a link to the latest XLS version of the codes. download_url = 'https://www.paymentsnz.co.nz/resources/industry-registers/bank-branch-register/download/xls/' def get_values(sheet): """Return rows from the worksheet as a dict per row.""" rows = sheet.get_rows() # the first row has column names columns = [column.value.lower().replace(' ', '_') for column in next(rows)] # go over rows with values for row in rows: yield dict(zip(columns, [column.value for column in row])) def branch_list(branches): """Return a compact representation of a list of branch numbers.""" branches = sorted(int(b) for b in branches) first = None prev = None res = '' for branch in branches: if first is not None and branch == prev + 1: # this branch is consecutive to the previous: make a range if prev > first: res = res[:-5] res += '-%04d' % branch prev = branch else: # this is a new branch, add a new one to the list res += ',%04d' % branch first = prev = branch return res.lstrip(',') if __name__ == '__main__': # parse the download as an XLS response = requests.get(download_url) response.raise_for_status() content_disposition = response.headers.get('content-disposition', '') filename = re.findall(r'filename=?(.+)"?', content_disposition)[0].strip('"') workbook = xlrd.open_workbook(file_contents=response.content) sheet = workbook.sheet_by_index(0) # print header print('# generated from %s downloaded from ' % filename) print('# %s' % download_url) # build banks list from spreadsheet banks = defaultdict(dict) for line in get_values(sheet): banks[line['bank_number']]['bank'] = line['bank_name'] branches = banks[line['bank_number']].setdefault('branches', OrderedDict()) branches.setdefault((line['branch_information'], line['bic']), list()).append(line['branch_number']) # output bank information for bank_number in sorted(banks.keys()): bank = banks[bank_number] print('%s bank="%s"' % (bank_number, bank['bank'])) for (branch, bic), branch_numbers in bank['branches'].items(): print(' %s%s branch="%s"' % ( branch_list(branch_numbers), ' bic="%s"' % bic if bic else '', branch)) python-stdnum-1.13/update/oui.py0000755000000000000000000000673413555400451016674 0ustar rootroot00000000000000#!/usr/bin/env python3 # update/oui.py - script to download and parse data from the IEEE registry # # Copyright (C) 2018-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This script downloads data from the IEEE web site https://regauth.standards.ieee.org/standards-ra-web/pub/view.html and produces data files that can be use by python-stdnum to look up manufacturers by MAC address.""" import csv from collections import defaultdict from itertools import chain import requests # The URLs of the MA-L, MA-M and MA-S registries that are downloaded to # construct a full list of manufacturer prefixes. mal_url = 'http://standards-oui.ieee.org/oui/oui.csv' mam_url = 'http://standards-oui.ieee.org/oui28/mam.csv' mas_url = 'http://standards-oui.ieee.org/oui36/oui36.csv' def download_csv(url): """Download the list from the site and provide assignment and organisation names.""" response = requests.get(url) response.raise_for_status() for row in csv.DictReader(line.decode('utf-8') for line in response.iter_lines()): o = row['Organization Name'].strip().replace('"', '%') if o not in ('IEEE Registration Authority', 'Private'): yield (row['Assignment'], o) def join_items(items): """Join the list of items, combining consecutive numbers.""" length = len(items[0]) items = [int(b, 16) for b in items] first = None prev = None res = '' for item in items: if first is not None and item == prev + 1: # this item is consecutive to the previous: make a range if prev > first: # replace the previous value res = res[:-length - 1] res += '-%%0%dX' % length % item prev = item else: # this is a new item, add a new one to the list res += ',%%0%dX' % length % item first = prev = item return res.strip(',') if __name__ == '__main__': # download the MAC Address Block Large (MA-L) list and group by org toplevel = defaultdict(list) for a, o in download_csv(mal_url): toplevel[o].append(a) # download the MAC Address Block Medium (MA-M) and Small lists nested = defaultdict(dict) for a, o in chain(download_csv(mam_url), download_csv(mas_url)): nested[a[:6]][a[6:]] = o # Generate output print('# list of IEEE MAC Address Block registry entries') print('# %s' % mal_url) print('# %s' % mam_url) print('# %s' % mas_url) # output full-length assignments for a, o in sorted((tuple(sorted(a)), o) for o, a in toplevel.items()): print('%s o="%s"' % (join_items(a), o)) # output assignments that are subdivided for a in sorted(nested.keys()): print('%s' % a) for s, o in sorted(nested[a].items()): print(' %s o="%s"' % (s, o)) python-stdnum-1.13/update/cn_loc.py0000755000000000000000000000600313555400451017322 0ustar rootroot00000000000000#!/usr/bin/env python3 # update/cn_loc.py - script to fetch data from the CN Open Data community # # Copyright (C) 2014-2015 Jiangge Zhang # Copyright (C) 2015-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This script downloads birth place codes from the CN Open Data community on Github.""" from __future__ import print_function, unicode_literals import sys from collections import OrderedDict from datetime import datetime import requests data_url = 'https://github.com/cn/GB2260' data_revisions = [ 'GB2260-2002', 'GB2260-2003', 'GB2260-200306', 'GB2260-2004', 'GB2260-200403', 'GB2260-200409', 'GB2260-2005', 'GB2260-200506', 'GB2260-2006', 'GB2260-2007', 'GB2260-2008', 'GB2260-2009', 'GB2260-2010', 'GB2260-2011', 'GB2260-2012', 'GB2260-2013', 'GB2260-2014', ] def fetch_data(): """Return the data from tab-separated revisions as one code/name dict.""" data_collection = OrderedDict() for revision in data_revisions: response = requests.get('%s/raw/release/%s.txt' % (data_url, revision)) response.raise_for_status() if response.ok: print('%s is fetched' % revision, file=sys.stderr) else: print('%s is missing' % revision, file=sys.stderr) continue for line in response.text.strip().split('\n'): code, name = line.split('\t') data_collection[code.strip()] = name.strip() return data_collection def group_data(data_collection): """Filter the data and return codes with names.""" for code, name in sorted(data_collection.items()): if code.endswith('00'): continue # county only province_code = code[:2] + '0000' prefecture_code = code[:4] + '00' province_name = data_collection[province_code] prefecture_name = data_collection[prefecture_code] yield code, name, prefecture_name, province_name if __name__ == '__main__': """Output a data file in the right format.""" print("# generated from National Bureau of Statistics of the People's") print('# Republic of China, downloaded from %s' % data_url) print('# %s' % datetime.utcnow()) data_collection = fetch_data() for data in group_data(data_collection): print('%s county="%s" prefecture="%s" province="%s"' % data) python-stdnum-1.13/update/isbn.py0000755000000000000000000000565713555400451017036 0ustar rootroot00000000000000#!/usr/bin/env python3 # update/isbn.py - script to get ISBN prefix data # # Copyright (C) 2010-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This script downloads XML data from the International ISBN Agency website and provides a compact form of all group prefixes, and registrant ranges for those prefixes suitable for the numdb module. This data is needed to correctly split ISBNs into an EAN.UCC prefix, a group prefix, a registrant, an item number and a check-digit.""" import lxml.etree import requests # the location of the ISBN Ranges XML file download_url = 'https://www.isbn-international.org/export_rangemessage.xml' def ranges(group): """Provide the ranges for the group.""" for rule in group.findall('./Rules/Rule'): length = int(rule.find('./Length').text.strip()) if length: yield '-'.join( x[:length] for x in rule.find('./Range').text.strip().split('-')) def wrap(text): """Rewrap the provided text into lines.""" while text: i = len(text) if i > 73: i = text.rindex(',', 20, 73) yield text[:i] text = text[i + 1:] if __name__ == '__main__': print('# generated from RangeMessage.xml, downloaded from') print('# %s' % download_url) response = requests.get(download_url) response.raise_for_status() # parse XML document document = lxml.etree.fromstring(response.content) # dump data from document print('# file serial %s' % document.find('./MessageSerialNumber').text.strip()) print('# file date %s' % document.find('./MessageDate').text.strip()) top_groups = dict( (x.find('./Prefix').text.strip(), x) for x in document.findall('./EAN.UCCPrefixes/EAN.UCC')) prevtop = None for group in document.findall('./RegistrationGroups/Group'): top, prefix = group.find('./Prefix').text.strip().split('-') agency = group.find('./Agency').text.strip() if top != prevtop: print(top) for line in wrap(','.join(ranges(top_groups[top]))): print(' %s' % line) prevtop = top print(' %s agency="%s"' % (prefix, agency)) for line in wrap(','.join(ranges(group))): print(' %s' % line) python-stdnum-1.13/update/imsi.py0000755000000000000000000002113513555400451017031 0ustar rootroot00000000000000#!/usr/bin/env python3 # update/imsi.py - script to donwload from Wikipedia to build the database # # Copyright (C) 2011-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This extracts a IMSI country and operator code from Wikipedia.""" import re from collections import defaultdict import requests # The wikipedia pages to download wikipedia_pages = ( 'Mobile country code', 'Mobile Network Codes in ITU region 2xx (Europe)', 'Mobile Network Codes in ITU region 3xx (North America)', 'Mobile Network Codes in ITU region 4xx (Asia)', 'Mobile Network Codes in ITU region 5xx (Oceania)', 'Mobile Network Codes in ITU region 6xx (Africa)', 'Mobile Network Codes in ITU region 7xx (South America)', ) # Sadly the full list requires an account at ITU-T: # https://www.itu.int/net/ITU-T/inrdb/ cleanup_replacements = { 'Anguilla (United Kingdom)': 'Anguilla', 'Argentina|Argentine Republic': 'Argentina', 'Aruba (Kingdom of the Netherlands|Netherlands)': 'Aruba', 'Azerbaijan|Azerbaijani Republic': 'Azerbaijan', 'Bermuda (United Kingdom)': 'Bermuda', 'British Virgin Islands (United Kingdom)': 'British Virgin Islands', 'Brunei|Brunei Darussalam': 'Brunei', 'Cayman Islands': 'Cayman Islands (United Kingdom)', 'Cayman Islands (United Kingdom)': 'Cayman Islands (United Kingdom)', 'Czech Rep.': 'Czech Republic', 'Democratic People\'s Republic of Korea|Korea, North': 'North Korea', 'Denmark (Kingdom of Denmark)': 'Denmark', 'Faroe Islands (Kingdom of Denmark)': 'Faroe Islands (Denmark)', 'French Polynesia (France)': 'French Polynesia', 'Gabon|Gabonese Republic': 'Gabon', 'Georgia (country)|Georgia': 'Georgia', 'Gibraltar': 'Gibraltar (United Kingdom)', 'Gibraltar (United Kingdom)': 'Gibraltar (United Kingdom)', 'Greenland (Kingdom of Denmark)': 'Greenland (Denmark)', 'Guadeloupe': 'Guadeloupe (France)', 'Hong Kong (People\'s Republic of China|PRC)': 'Hong Kong (China)', 'Hong Kong (Special Administrative Region of People\'s Republic of China)': 'Hong Kong (China)', 'Korea (Rep. of)': 'South Korea', 'Kyrgyz Republic': 'Kyrgyzstan', 'Lao People\'s Democratic Republic|Laos': 'Laos', 'Macau (People\'s Republic of China)': 'Macau (China)', 'Macau (People\'s Republic of China|PRC)': 'Macau (China)', 'Martinique': 'Martinique (France)', 'Moldova (Republic of)': 'Moldova', 'Montenegro (Republic of)': 'Montenegro', 'Netherlands (Kingdom of the Netherlands)': 'Netherlands', 'Palestinian Authority': 'Palestinian territories', 'Palestinian territories|Palestine': 'Palestinian territories', 'People\'s Republic of China|China': 'China', 'Puerto Rico (United States)': 'Puerto Rico', 'Republic of Ireland|Ireland': 'Ireland', 'Republic of Korea|Korea, South': 'South Korea', 'Russian Federation': 'Russian Federation', 'Rwanda|Rwandese Republic': 'Rwanda', 'Serbia (Republic of)': 'Serbia', 'Somali Democratic Republic|Somalia': 'Somalia', 'Syrian Arab Republic': 'Syria', 'Syrian Arab Republic|Syria': 'Syria', 'Turks and Caicos Islands (United Kingdom)': 'Turks and Caicos Islands', 'United States': 'United States of America', 'United States Virgin Islands (United States)': 'United States Virgin Islands', 'Venezuela (Bolivarian Republic of)': 'Venezuela', 'Vietnam|Viet Nam': 'Vietnam', } remove_ref_re = re.compile(r'.*?') remove_comment_re = re.compile(r'{{.*?}}') quotes = u'\xab\xbb\u201c\u201d\u2018\u2019' remove_href_re = re.compile(r'(?i)\b((?:https?://|www\d{0,3}[.]|[a-z0-9.\-]+' + r'[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|' + r'(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|' + r'(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>' + r'?' + quotes + ']))') def cleanup_value(val): """Remove unneeded markup from the value.""" # remove uninteresting things from value val = remove_comment_re.sub('', val) val = remove_ref_re.sub('', val) val = remove_href_re.sub('', val) val = val.replace('[', '').replace(']', '').replace('\'\'', '').strip() val = val.split('|')[-1] # replace value val = val.replace('Unknown', '') val = val.replace('United Kingdom|UK', 'United Kingdom') val = val.replace('United States|US', 'United States') val = val.replace('New Zealand|NZ', 'New Zealand').strip() return cleanup_replacements.get(val, val) def update_mncs(data, mcc, mnc, **kwargs): """Merge provided mnc information with the data that is already stored in mccs.""" data[mcc][mnc].update(dict((k, cleanup_value(v)) for k, v in kwargs.items() if v)) # This matches a heading on the Wikipedia page, e.g. # ==== [[Albania]] - AL ==== _mnc_country_re = re.compile( r'^[=]{2,4}\s+(?P.*?)(\s+-\s+(?P[^\s]{2}))?\s+[=]{2,4}$') # This matches a line containing a MCC/MNC, e.g. # | 232 || 02 || || A1 Telekom Austria || Reserved || || _mnc_line_re = re.compile( r'^\|\s*(?P[0-9]+)' + r'\s*\\\\\s*(?P[0-9]+)' + r'(\s*\\\\\s*(?P[^\\]*)' + r'(\s*\\\\\s*(?P[^\\]*)' + r'(\s*\\\\\s*(?P[^\\]*)' + r'(\s*\\\\\s*(?P[^\\]*)' + r'(\s*\\\\\s*(?P[^\\]*)' + r')?)?)?)?)?') def get_mncs_from_wikipedia(data): """Update the collection of Mobile Country Codes from Wikipedia. This parses a Wikipedia page to extract the MCC and MNC, the first part of any IMSI, and stores the results.""" for page in wikipedia_pages: url = 'https://en.wikipedia.org/w/index.php?title=%s&action=raw' % ( page.replace(' ', '_')) response = requests.get(url) response.raise_for_status() country = cc = '' for line in response.iter_lines(decode_unicode=True): line = line.strip() match = _mnc_country_re.match(line) if match: country = match.group('country') cc = (match.group('cc') or '').lower() if '||' not in line: continue line = line.replace('||', '\\\\') match = _mnc_line_re.match(line) if match: for mnc in str2range(match.group('mnc')): update_mncs(data, match.group('mcc'), mnc, country=country, cc=cc, brand=match.group('brand'), operator=match.group('operator'), status=match.group('status'), bands=match.group('bands')) def str2range(x): """Convert the comma-separated list of ranges to a list of numbers.""" result = [] for part in x.split(','): if '-' in part: a, b = part.split('-') f = '%0' + str(len(b)) + 'd' a, b = int(a), int(b) for i in range(a, b + 1): result.append(f % (i)) else: result.append(part) return result if __name__ == '__main__': # download/parse the information data = defaultdict(lambda: defaultdict(dict)) get_mncs_from_wikipedia(data) # print header print('# generated from various sources') print('# https://en.wikipedia.org/wiki/Mobile_country_code') # build an ordered list of mccs mcc_list = list(data.keys()) mcc_list.sort() # go over mccs for mcc in mcc_list: print('%s' % mcc) # build an ordered list of mncs mnc_list = sorted(data[mcc].keys()) for mnc in mnc_list: info = data[mcc][mnc] infokeys = sorted(info.keys()) print(' %s%s' % (mnc, ''.join([' %s="%s"' % (k, info[k]) for k in infokeys if info[k]]))) # try to get the length of mncs try: length = len(mnc_list[0]) if all(len(x) == length for x in mnc_list): print(' %s-%s' % (length * '0', length * '9')) except IndexError: pass # ignore python-stdnum-1.13/update/eu_nace.py0000755000000000000000000000503713555400451017472 0ustar rootroot00000000000000#!/usr/bin/env python3 # update/eu_nace.py - script to get the NACE v2 catalogue # # Copyright (C) 2017-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This script downloads XML data from the European commission RAMON Eurostat Metadata Server and extracts the information that is used for validating NACE codes.""" import re import lxml.etree import requests # the location of the Statistical Classification file download_url = 'https://ec.europa.eu/eurostat/ramon/nomenclatures/index.cfm?TargetUrl=ACT_OTH_CLS_DLD&StrNom=NACE_REV2&StrFormat=XML&StrLanguageCode=EN' if __name__ == '__main__': response = requests.get(download_url) response.raise_for_status() content_disposition = response.headers.get('content-disposition', '') filename = re.findall(r'filename=?(.+)"?', content_disposition)[0].strip('"') print('# generated from %s, downloaded from' % filename) print('# %s' % download_url) # parse XML document document = lxml.etree.fromstring(response.content) # output header print('# %s: %s' % ( document.find('./Classification').get('id'), document.find('./Classification/Label/LabelText[@language="EN"]').text)) for item in document.findall('./Classification/Item'): number = item.get('id') level = int(item.get('idLevel', 0)) label = item.find('./Label/LabelText[@language="EN"]').text isic = item.find( './Property[@genericName="ISIC4_REF"]/PropertyQualifier/PropertyText').text if level == 1: section = number print('%s label="%s" isic="%s"' % (number, label, isic)) elif level == 2: print('%s section="%s" label="%s" isic="%s"' % ( number, section, label, isic)) else: print('%s%s label="%s" isic="%s"' % ( ' ' * (level - 2), number[level], label, isic)) python-stdnum-1.13/update/requirements.txt0000644000000000000000000000002313555400451020770 0ustar rootroot00000000000000lxml requests xlrd python-stdnum-1.13/update/at_postleitzahl.py0000755000000000000000000000632413555400451021301 0ustar rootroot00000000000000#!/usr/bin/env python3 # coding: utf-8 # update/at_postleitzahl.py - download list of Austrian postal codes # # Copyright (C) 2018-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """This download list of postal codes from Austrian Post.""" from __future__ import print_function, unicode_literals import os import os.path import lxml.html import requests import xlrd try: from urllib.parse import urljoin except ImportError: from urlparse import urljoin # The page that contains a link to the downloadable spreadsheet with current # Austrian postal codes base_url = 'https://www.post.at/en/business_advertise_products_and_services_addresses_postcodes.php' # The list of regions that can be used in the document. regions = { 'B': 'Burgenland', 'K': 'Kärnten', 'N': 'Niederösterreich', 'O': 'Oberösterreich', 'Sa': 'Salzburg', 'St': 'Steiermark', 'T': 'Tirol', 'V': 'Vorarlberg', 'W': 'Wien', } def find_download_url(): """Extract the spreadsheet URL from the Austrian Post website.""" response = requests.get(base_url) response.raise_for_status() document = lxml.html.document_fromstring(response.content) url = [ a.get('href') for a in document.findall('.//a[@href]') if '/downloads/PLZ_Verzeichnis' in a.get('href')][0] return urljoin(base_url, url.split('?')[0]) def get_postal_codes(download_url): """Download the Austrian postal codes spreadsheet.""" response = requests.get(download_url) response.raise_for_status() workbook = xlrd.open_workbook( file_contents=response.content, logfile=open(os.devnull, 'w')) sheet = workbook.sheet_by_index(0) rows = sheet.get_rows() # the first row contains the column names columns = [column.value.lower() for column in next(rows)] # the other rows contain data for row in rows: data = dict(zip( columns, [column.value for column in row])) if data['adressierbar'].lower() == 'ja': yield ( data['plz'], data['ort'], regions.get(data['bundesland'])) if __name__ == '__main__': # download/parse the information download_url = find_download_url() # print header print('# generated from %s downloaded from' % os.path.basename(download_url)) print('# %s' % base_url) # build an ordered list of postal codes for code, location, region in sorted(get_postal_codes(download_url)): print('%s location="%s" region="%s"' % (code, location, region)) python-stdnum-1.13/README0000644000000000000000000003173513611057523015121 0ustar rootroot00000000000000python-stdnum ============= A Python module to parse, validate and reformat standard numbers and codes in different formats. It contains a large collection of number formats. Basically any number or code that has some validation mechanism available or some common formatting is eligible for inclusion in this library. https://arthurdejong.org/python-stdnum/ Available formats ----------------- Currently this package supports the following formats: * NRT (Número de Registre Tributari, Andorra tax number) * NIPT (Numri i Identifikimit për Personin e Tatueshëm, Albanian VAT number) * CBU (Clave Bancaria Uniforme, Argentine bank account number) * CUIT (Código Único de Identificación Tributaria, Argentinian tax number) * DNI (Documento Nacional de Identidad, Argentinian national identity nr.) * Austrian Company Register Numbers * Postleitzahl (Austrian postal code) * Abgabenkontonummer (Austrian tax identification number) * UID (Umsatzsteuer-Identifikationsnummer, Austrian VAT number) * VNR, SVNR, VSNR (Versicherungsnummer, Austrian social security number) * ABN (Australian Business Number) * ACN (Australian Company Number) * TFN (Australian Tax File Number) * Belgian IBAN (International Bank Account Number) * BTW, TVA, NWSt, ondernemingsnummer (Belgian enterprise number) * EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes) * PNF (ЛНЧ, Личен номер на чужденец, Bulgarian number of a foreigner) * VAT (Идентификационен номер по ДДС, Bulgarian VAT number) * BIC (ISO 9362 Business identifier codes) * Bitcoin address * CNPJ (Cadastro Nacional da Pessoa Jurídica, Brazilian company identifier) * CPF (Cadastro de Pessoas Físicas, Brazilian national identifier) * BN (Canadian Business Number) * SIN (Canadian Social Insurance Number) * CAS RN (Chemical Abstracts Service Registry Number) * ESR, ISR, QR-reference (reference number on Swiss payment slips) * Swiss social security number ("Sozialversicherungsnummer") * UID (Unternehmens-Identifikationsnummer, Swiss business identifier) * VAT, MWST, TVA, IVA, TPV (Mehrwertsteuernummer, the Swiss VAT number) * RUT (Rol Único Tributario, Chilean national tax number) * RIC No. (Chinese Resident Identity Card Number) * NIT (Número De Identificación Tributaria, Colombian identity code) * CPF (Cédula de Persona Física, Costa Rica physical person ID number) * CPJ (Cédula de Persona Jurídica, Costa Rica tax number) * CR (Cédula de Residencia, Costa Rica foreigners ID number) * NI (Número de identidad, Cuban identity card numbers) * CUSIP number (financial security identification number) * Αριθμός Εγγραφής Φ.Π.Α. (Cypriot VAT number) * DIČ (Daňové identifikační číslo, Czech VAT number) * RČ (Rodné číslo, the Czech birth number) * Handelsregisternummer (German company register number) * IdNr (Steuerliche Identifikationsnummer, German personal tax number) * St.-Nr. (Steuernummer, German tax number) * Ust ID Nr. (Umsatzsteur Identifikationnummer, German VAT number) * Wertpapierkennnummer (German securities identification code) * CPR (personnummer, the Danish citizen number) * CVR (Momsregistreringsnummer, Danish VAT number) * Cedula (Dominican Republic national identification number) * NCF (Números de Comprobante Fiscal, Dominican Republic receipt number) * RNC (Registro Nacional del Contribuyente, Dominican Republic tax number) * EAN (International Article Number) * CI (Cédula de identidad, Ecuadorian personal identity code) * RUC (Registro Único de Contribuyentes, Ecuadorian company tax number) * Isikukood (Estonian Personcal ID number) * KMKR (Käibemaksukohuslase, Estonian VAT number) * Registrikood (Estonian organisation registration code) * CCC (Código Cuenta Corriente, Spanish Bank Account Code) * CIF (Código de Identificación Fiscal, Spanish company tax number) * CUPS (Código Unificado de Punto de Suministro, Spanish meter point number) * DNI (Documento Nacional de Identidad, Spanish personal identity codes) * Spanish IBAN (International Bank Account Number) * NIE (Número de Identificación de Extranjero, Spanish foreigner number) * NIF (Número de Identificación Fiscal, Spanish VAT number) * Referencia Catastral (Spanish real estate property id) * SEPA Identifier of the Creditor (AT-02) * Euro banknote serial numbers * EIC (European Energy Identification Code) * NACE (classification for businesses in the European Union) * VAT (European Union VAT number) * ALV nro (Arvonlisäveronumero, Finnish VAT number) * Finnish Association Identifier * HETU (Henkilötunnus, Finnish personal identity code) * Veronumero (Finnish individual tax number) * Y-tunnus (Finnish business identifier) * FIGI (Financial Instrument Global Identifier) * NIF (Numéro d'Immatriculation Fiscale, French tax identification number) * NIR (French personal identification number) * SIREN (a French company identification number) * SIRET (a French company establishment identification number) * n° TVA (taxe sur la valeur ajoutée, French VAT number) * NHS (United Kingdom National Health Service patient identifier) * SEDOL number (Stock Exchange Daily Official List number) * UPN (English Unique Pupil Number) * VAT (United Kingdom (and Isle of Man) VAT registration number) * AMKA (Αριθμός Μητρώου Κοινωνικής Ασφάλισης, Greek social security number) * FPA, ΦΠΑ, ΑΦΜ (Αριθμός Φορολογικού Μητρώου, the Greek VAT number) * GRid (Global Release Identifier) * NIT (Número de Identificación Tributaria, Guatemala tax number) * OIB (Osobni identifikacijski broj, Croatian identification number) * ANUM (Közösségi adószám, Hungarian VAT number) * IBAN (International Bank Account Number) * PPS No (Personal Public Service Number, Irish personal number) * VAT (Irish tax reference number) * Identity Number (Mispar Zehut, מספר זהות, Israeli identity number) * IMEI (International Mobile Equipment Identity) * IMO number (International Maritime Organization number) * IMSI (International Mobile Subscriber Identity) * Aadhaar (Indian digital resident personal identity number) * PAN (Permanent Account Number, Indian income tax identifier) * Kennitala (Icelandic personal and organisation identity code) * VSK number (Virðisaukaskattsnúmer, Icelandic VAT number) * ISAN (International Standard Audiovisual Number) * ISBN (International Standard Book Number) * ISIL (International Standard Identifier for Libraries) * ISIN (International Securities Identification Number) * ISMN (International Standard Music Number) * ISO 11649 (Structured Creditor Reference) * ISO 6346 (International standard for container identification) * ISSN (International Standard Serial Number) * Codice Fiscale (Italian tax code for individuals) * Partita IVA (Italian VAT number) * CN (法人番号, hōjin bangō, Japanese Corporate Number) * RRN (South Korean resident registration number) * LEI (Legal Entity Identifier) * Asmens kodas (Lithuanian, personal numbers) * PVM (Pridėtinės vertės mokestis mokėtojo kodas, Lithuanian VAT number) * TVA (taxe sur la valeur ajoutée, Luxembourgian VAT number) * PVN (Pievienotās vērtības nodokļa, Latvian VAT number) * MAC address (Media Access Control address) * n° TVA (taxe sur la valeur ajoutée, Monacan VAT number) * IDNO (Moldavian company identification number) * Montenegro IBAN (International Bank Account Number) * MEID (Mobile Equipment Identifier) * VAT (Maltese VAT number) * ID number (Mauritian national identifier) * CURP (Clave Única de Registro de Población, Mexican personal ID) * RFC (Registro Federal de Contribuyentes, Mexican tax number) * NRIC No. (Malaysian National Registration Identity Card Number) * BRIN number (the Dutch school identification number) * BSN (Burgerservicenummer, the Dutch citizen identification number) * Btw-identificatienummer (Omzetbelastingnummer, the Dutch VAT number) * Onderwijsnummer (the Dutch student identification number) * Postcode (the Dutch postal code) * Fødselsnummer (Norwegian birth number, the national identity number) * Norwegian IBAN (International Bank Account Number) * Konto nr. (Norwegian bank account number) * MVA (Merverdiavgift, Norwegian VAT number) * Orgnr (Organisasjonsnummer, Norwegian organisation number) * New Zealand bank account number * IRD number (New Zealand Inland Revenue Department (Te Tari Tāke) number) * CUI (Cédula Única de Identidad, Peruvian identity number) * RUC (Registro Único de Contribuyentes, Peruvian company tax number) * NIP (Numer Identyfikacji Podatkowej, Polish VAT number) * PESEL (Polish national identification number) * REGON (Rejestr Gospodarki Narodowej, Polish register of economic units) * NIF (Número de identificação fiscal, Portuguese VAT number) * RUC number (Registro Único de Contribuyentes, Paraguay tax number) * CF (Cod de înregistrare în scopuri de TVA, Romanian VAT number) * CNP (Cod Numeric Personal, Romanian Numerical Personal Code) * PIB (Poreski Identifikacioni Broj, Serbian tax identification number) * ИНН (Идентификационный номер налогоплательщика, Russian tax identifier) * Orgnr (Organisationsnummer, Swedish company number) * Personnummer (Swedish personal identity number) * VAT (Moms, Mervärdesskatt, Swedish VAT number) * ID za DDV (Davčna številka, Slovenian VAT number) * IČ DPH (IČ pre daň z pridanej hodnoty, Slovak VAT number) * RČ (Rodné číslo, the Slovak birth number) * COE (Codice operatore economico, San Marino national tax number) * T.C. Kimlik No. (Turkish personal identification number) * VKN (Vergi Kimlik Numarası, Turkish tax identification number) * ATIN (U.S. Adoption Taxpayer Identification Number) * EIN (U.S. Employer Identification Number) * ITIN (U.S. Individual Taxpayer Identification Number) * PTIN (U.S. Preparer Tax Identification Number) * RTN (Routing transport number) * SSN (U.S. Social Security Number) * TIN (U.S. Taxpayer Identification Number) * RUT (Registro Único Tributario, Uruguay tax number) * RIF (Registro de Identificación Fiscal, Venezuelan VAT number) * ID number (South African Identity Document number) * TIN (South African Tax Identification Number) Furthermore a number of generic check digit algorithms are available: * the Verhoeff algorithm * the Damm algorithm * the Luhn and Luhn mod N algorithms * some algorithms described in ISO/IEC 7064: Mod 11, 2, Mod 37, 2, Mod 97, 10, Mod 11, 10 and Mod 37, 36 Basically any number or code that has some validation mechanism available or some common formatting is eligible for inclusion into this library. These modules generally do not provide background information on the meaning and use of the specified numbers, only parsing and handling functions. Interface --------- All modules implement a common interface. For example for ISBN validation: >>> from stdnum import isbn >>> isbn.validate('978-9024538270') '9789024538270' >>> isbn.validate('978-9024538271') Traceback (most recent call last): ... InvalidChecksum: ... Most of these modules implement the following functions: * `validate()` validate the correctness of the passed number and return a compact representation of the number invalid numbers are rejected with one of the exceptions from the stdnum.exceptions module * `compact()` return a compact representation of the number or code this function generally does not do validation but may raise exceptions for wildly incorrect numbers * `format()` return a formatted version of the number in the preferred format this function generally expects to be passed a valid number or code Apart from the above, the module may add extra parsing, validation or conversion functions. Requirements ------------ The modules should not require any external Python modules and should be pure Python. The modules are developed and tested with Python 2.7 and 3.6 but may also work with older versions of Python. Copyright --------- Copyright (C) 2010-2020 Arthur de Jong and others This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Feedback and bug reports ------------------------ If you have any questions regarding python-stdnum, would like to report a bug or request addition of a format please send an email to Patches and code contributions are more than welcome. python-stdnum-1.13/MANIFEST.in0000644000000000000000000000033113555400446015766 0ustar rootroot00000000000000include README NEWS ChangeLog COPYING *.py tox.ini recursive-include tests *.doctest *.dat *.py recursive-include docs *.rst *.py recursive-include online_check * recursive-include update README requirements.txt *.py python-stdnum-1.13/PKG-INFO0000644000000000000000000004103113611057640015324 0ustar rootroot00000000000000Metadata-Version: 2.1 Name: python-stdnum Version: 1.13 Summary: Python module to handle standardized numbers and codes Home-page: https://arthurdejong.org/python-stdnum/ Author: Arthur de Jong Author-email: arthur@arthurdejong.org License: LGPL Description: python-stdnum ============= A Python module to parse, validate and reformat standard numbers and codes in different formats. It contains a large collection of number formats. Basically any number or code that has some validation mechanism available or some common formatting is eligible for inclusion in this library. https://arthurdejong.org/python-stdnum/ Available formats ----------------- Currently this package supports the following formats: * NRT (Número de Registre Tributari, Andorra tax number) * NIPT (Numri i Identifikimit për Personin e Tatueshëm, Albanian VAT number) * CBU (Clave Bancaria Uniforme, Argentine bank account number) * CUIT (Código Único de Identificación Tributaria, Argentinian tax number) * DNI (Documento Nacional de Identidad, Argentinian national identity nr.) * Austrian Company Register Numbers * Postleitzahl (Austrian postal code) * Abgabenkontonummer (Austrian tax identification number) * UID (Umsatzsteuer-Identifikationsnummer, Austrian VAT number) * VNR, SVNR, VSNR (Versicherungsnummer, Austrian social security number) * ABN (Australian Business Number) * ACN (Australian Company Number) * TFN (Australian Tax File Number) * Belgian IBAN (International Bank Account Number) * BTW, TVA, NWSt, ondernemingsnummer (Belgian enterprise number) * EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes) * PNF (ЛНЧ, Личен номер на чужденец, Bulgarian number of a foreigner) * VAT (Идентификационен номер по ДДС, Bulgarian VAT number) * BIC (ISO 9362 Business identifier codes) * Bitcoin address * CNPJ (Cadastro Nacional da Pessoa Jurídica, Brazilian company identifier) * CPF (Cadastro de Pessoas Físicas, Brazilian national identifier) * BN (Canadian Business Number) * SIN (Canadian Social Insurance Number) * CAS RN (Chemical Abstracts Service Registry Number) * ESR, ISR, QR-reference (reference number on Swiss payment slips) * Swiss social security number ("Sozialversicherungsnummer") * UID (Unternehmens-Identifikationsnummer, Swiss business identifier) * VAT, MWST, TVA, IVA, TPV (Mehrwertsteuernummer, the Swiss VAT number) * RUT (Rol Único Tributario, Chilean national tax number) * RIC No. (Chinese Resident Identity Card Number) * NIT (Número De Identificación Tributaria, Colombian identity code) * CPF (Cédula de Persona Física, Costa Rica physical person ID number) * CPJ (Cédula de Persona Jurídica, Costa Rica tax number) * CR (Cédula de Residencia, Costa Rica foreigners ID number) * NI (Número de identidad, Cuban identity card numbers) * CUSIP number (financial security identification number) * Αριθμός Εγγραφής Φ.Π.Α. (Cypriot VAT number) * DIČ (Daňové identifikační číslo, Czech VAT number) * RČ (Rodné číslo, the Czech birth number) * Handelsregisternummer (German company register number) * IdNr (Steuerliche Identifikationsnummer, German personal tax number) * St.-Nr. (Steuernummer, German tax number) * Ust ID Nr. (Umsatzsteur Identifikationnummer, German VAT number) * Wertpapierkennnummer (German securities identification code) * CPR (personnummer, the Danish citizen number) * CVR (Momsregistreringsnummer, Danish VAT number) * Cedula (Dominican Republic national identification number) * NCF (Números de Comprobante Fiscal, Dominican Republic receipt number) * RNC (Registro Nacional del Contribuyente, Dominican Republic tax number) * EAN (International Article Number) * CI (Cédula de identidad, Ecuadorian personal identity code) * RUC (Registro Único de Contribuyentes, Ecuadorian company tax number) * Isikukood (Estonian Personcal ID number) * KMKR (Käibemaksukohuslase, Estonian VAT number) * Registrikood (Estonian organisation registration code) * CCC (Código Cuenta Corriente, Spanish Bank Account Code) * CIF (Código de Identificación Fiscal, Spanish company tax number) * CUPS (Código Unificado de Punto de Suministro, Spanish meter point number) * DNI (Documento Nacional de Identidad, Spanish personal identity codes) * Spanish IBAN (International Bank Account Number) * NIE (Número de Identificación de Extranjero, Spanish foreigner number) * NIF (Número de Identificación Fiscal, Spanish VAT number) * Referencia Catastral (Spanish real estate property id) * SEPA Identifier of the Creditor (AT-02) * Euro banknote serial numbers * EIC (European Energy Identification Code) * NACE (classification for businesses in the European Union) * VAT (European Union VAT number) * ALV nro (Arvonlisäveronumero, Finnish VAT number) * Finnish Association Identifier * HETU (Henkilötunnus, Finnish personal identity code) * Veronumero (Finnish individual tax number) * Y-tunnus (Finnish business identifier) * FIGI (Financial Instrument Global Identifier) * NIF (Numéro d'Immatriculation Fiscale, French tax identification number) * NIR (French personal identification number) * SIREN (a French company identification number) * SIRET (a French company establishment identification number) * n° TVA (taxe sur la valeur ajoutée, French VAT number) * NHS (United Kingdom National Health Service patient identifier) * SEDOL number (Stock Exchange Daily Official List number) * UPN (English Unique Pupil Number) * VAT (United Kingdom (and Isle of Man) VAT registration number) * AMKA (Αριθμός Μητρώου Κοινωνικής Ασφάλισης, Greek social security number) * FPA, ΦΠΑ, ΑΦΜ (Αριθμός Φορολογικού Μητρώου, the Greek VAT number) * GRid (Global Release Identifier) * NIT (Número de Identificación Tributaria, Guatemala tax number) * OIB (Osobni identifikacijski broj, Croatian identification number) * ANUM (Közösségi adószám, Hungarian VAT number) * IBAN (International Bank Account Number) * PPS No (Personal Public Service Number, Irish personal number) * VAT (Irish tax reference number) * Identity Number (Mispar Zehut, מספר זהות, Israeli identity number) * IMEI (International Mobile Equipment Identity) * IMO number (International Maritime Organization number) * IMSI (International Mobile Subscriber Identity) * Aadhaar (Indian digital resident personal identity number) * PAN (Permanent Account Number, Indian income tax identifier) * Kennitala (Icelandic personal and organisation identity code) * VSK number (Virðisaukaskattsnúmer, Icelandic VAT number) * ISAN (International Standard Audiovisual Number) * ISBN (International Standard Book Number) * ISIL (International Standard Identifier for Libraries) * ISIN (International Securities Identification Number) * ISMN (International Standard Music Number) * ISO 11649 (Structured Creditor Reference) * ISO 6346 (International standard for container identification) * ISSN (International Standard Serial Number) * Codice Fiscale (Italian tax code for individuals) * Partita IVA (Italian VAT number) * CN (法人番号, hōjin bangō, Japanese Corporate Number) * RRN (South Korean resident registration number) * LEI (Legal Entity Identifier) * Asmens kodas (Lithuanian, personal numbers) * PVM (Pridėtinės vertės mokestis mokėtojo kodas, Lithuanian VAT number) * TVA (taxe sur la valeur ajoutée, Luxembourgian VAT number) * PVN (Pievienotās vērtības nodokļa, Latvian VAT number) * MAC address (Media Access Control address) * n° TVA (taxe sur la valeur ajoutée, Monacan VAT number) * IDNO (Moldavian company identification number) * Montenegro IBAN (International Bank Account Number) * MEID (Mobile Equipment Identifier) * VAT (Maltese VAT number) * ID number (Mauritian national identifier) * CURP (Clave Única de Registro de Población, Mexican personal ID) * RFC (Registro Federal de Contribuyentes, Mexican tax number) * NRIC No. (Malaysian National Registration Identity Card Number) * BRIN number (the Dutch school identification number) * BSN (Burgerservicenummer, the Dutch citizen identification number) * Btw-identificatienummer (Omzetbelastingnummer, the Dutch VAT number) * Onderwijsnummer (the Dutch student identification number) * Postcode (the Dutch postal code) * Fødselsnummer (Norwegian birth number, the national identity number) * Norwegian IBAN (International Bank Account Number) * Konto nr. (Norwegian bank account number) * MVA (Merverdiavgift, Norwegian VAT number) * Orgnr (Organisasjonsnummer, Norwegian organisation number) * New Zealand bank account number * IRD number (New Zealand Inland Revenue Department (Te Tari Tāke) number) * CUI (Cédula Única de Identidad, Peruvian identity number) * RUC (Registro Único de Contribuyentes, Peruvian company tax number) * NIP (Numer Identyfikacji Podatkowej, Polish VAT number) * PESEL (Polish national identification number) * REGON (Rejestr Gospodarki Narodowej, Polish register of economic units) * NIF (Número de identificação fiscal, Portuguese VAT number) * RUC number (Registro Único de Contribuyentes, Paraguay tax number) * CF (Cod de înregistrare în scopuri de TVA, Romanian VAT number) * CNP (Cod Numeric Personal, Romanian Numerical Personal Code) * PIB (Poreski Identifikacioni Broj, Serbian tax identification number) * ИНН (Идентификационный номер налогоплательщика, Russian tax identifier) * Orgnr (Organisationsnummer, Swedish company number) * Personnummer (Swedish personal identity number) * VAT (Moms, Mervärdesskatt, Swedish VAT number) * ID za DDV (Davčna številka, Slovenian VAT number) * IČ DPH (IČ pre daň z pridanej hodnoty, Slovak VAT number) * RČ (Rodné číslo, the Slovak birth number) * COE (Codice operatore economico, San Marino national tax number) * T.C. Kimlik No. (Turkish personal identification number) * VKN (Vergi Kimlik Numarası, Turkish tax identification number) * ATIN (U.S. Adoption Taxpayer Identification Number) * EIN (U.S. Employer Identification Number) * ITIN (U.S. Individual Taxpayer Identification Number) * PTIN (U.S. Preparer Tax Identification Number) * RTN (Routing transport number) * SSN (U.S. Social Security Number) * TIN (U.S. Taxpayer Identification Number) * RUT (Registro Único Tributario, Uruguay tax number) * RIF (Registro de Identificación Fiscal, Venezuelan VAT number) * ID number (South African Identity Document number) * TIN (South African Tax Identification Number) Furthermore a number of generic check digit algorithms are available: * the Verhoeff algorithm * the Damm algorithm * the Luhn and Luhn mod N algorithms * some algorithms described in ISO/IEC 7064: Mod 11, 2, Mod 37, 2, Mod 97, 10, Mod 11, 10 and Mod 37, 36 Basically any number or code that has some validation mechanism available or some common formatting is eligible for inclusion into this library. These modules generally do not provide background information on the meaning and use of the specified numbers, only parsing and handling functions. Interface --------- All modules implement a common interface. For example for ISBN validation: >>> from stdnum import isbn >>> isbn.validate('978-9024538270') '9789024538270' >>> isbn.validate('978-9024538271') Traceback (most recent call last): ... InvalidChecksum: ... Most of these modules implement the following functions: * `validate()` validate the correctness of the passed number and return a compact representation of the number invalid numbers are rejected with one of the exceptions from the stdnum.exceptions module * `compact()` return a compact representation of the number or code this function generally does not do validation but may raise exceptions for wildly incorrect numbers * `format()` return a formatted version of the number in the preferred format this function generally expects to be passed a valid number or code Apart from the above, the module may add extra parsing, validation or conversion functions. Requirements ------------ The modules should not require any external Python modules and should be pure Python. The modules are developed and tested with Python 2.7 and 3.6 but may also work with older versions of Python. Copyright --------- Copyright (C) 2010-2020 Arthur de Jong and others This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Feedback and bug reports ------------------------ If you have any questions regarding python-stdnum, would like to report a bug or request addition of a format please send an email to Patches and code contributions are more than welcome. Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Financial and Insurance Industry Classifier: Intended Audience :: Information Technology Classifier: Intended Audience :: Telecommunications Industry Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+) Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Office/Business :: Financial Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: Text Processing :: General Provides-Extra: SOAP Provides-Extra: SOAP-ALT Provides-Extra: SOAP-FALLBACK python-stdnum-1.13/docs/0000755000000000000000000000000013611057636015165 5ustar rootroot00000000000000python-stdnum-1.13/docs/stdnum.mac.rst0000644000000000000000000000007613555400446017771 0ustar rootroot00000000000000stdnum.mac ========== .. automodule:: stdnum.mac :members:python-stdnum-1.13/docs/stdnum.cr.cpf.rst0000644000000000000000000000010713555401015020370 0ustar rootroot00000000000000stdnum.cr.cpf ============= .. automodule:: stdnum.cr.cpf :members:python-stdnum-1.13/docs/stdnum.tr.vkn.rst0000644000000000000000000000010713555401015020437 0ustar rootroot00000000000000stdnum.tr.vkn ============= .. automodule:: stdnum.tr.vkn :members:python-stdnum-1.13/docs/stdnum.es.referenciacatastral.rst0000644000000000000000000000016713555400446023642 0ustar rootroot00000000000000stdnum.es.referenciacatastral ============================= .. automodule:: stdnum.es.referenciacatastral :members:python-stdnum-1.13/docs/stdnum.eu.vat.rst0000644000000000000000000000011013555400446020420 0ustar rootroot00000000000000stdnum.eu.vat ============= .. automodule:: stdnum.eu.vat :members: python-stdnum-1.13/docs/stdnum.fi.associationid.rst0000644000000000000000000000014513555400446022454 0ustar rootroot00000000000000stdnum.fi.associationid ======================= .. automodule:: stdnum.fi.associationid :members:python-stdnum-1.13/docs/stdnum.es.dni.rst0000644000000000000000000000011013555400446020376 0ustar rootroot00000000000000stdnum.es.dni ============= .. automodule:: stdnum.es.dni :members: python-stdnum-1.13/docs/stdnum.imo.rst0000644000000000000000000000007613555400446020015 0ustar rootroot00000000000000stdnum.imo ========== .. automodule:: stdnum.imo :members:python-stdnum-1.13/docs/stdnum.ee.registrikood.rst0000644000000000000000000000014213555400446022320 0ustar rootroot00000000000000stdnum.ee.registrikood ====================== .. automodule:: stdnum.ee.registrikood :members:python-stdnum-1.13/docs/stdnum.za.tin.rst0000644000000000000000000000010713555401015020420 0ustar rootroot00000000000000stdnum.za.tin ============= .. automodule:: stdnum.za.tin :members:python-stdnum-1.13/docs/stdnum.us.ptin.rst0000644000000000000000000000011313555400446020621 0ustar rootroot00000000000000stdnum.us.ptin ============== .. automodule:: stdnum.us.ptin :members: python-stdnum-1.13/docs/stdnum.eu.eic.rst0000644000000000000000000000010713555400446020374 0ustar rootroot00000000000000stdnum.eu.eic ============= .. automodule:: stdnum.eu.eic :members:python-stdnum-1.13/docs/stdnum.ie.pps.rst0000644000000000000000000000011013555400446020414 0ustar rootroot00000000000000stdnum.ie.pps ============= .. automodule:: stdnum.ie.pps :members: python-stdnum-1.13/docs/stdnum.isan.rst0000644000000000000000000000010213555400446020151 0ustar rootroot00000000000000stdnum.isan =========== .. automodule:: stdnum.isan :members: python-stdnum-1.13/docs/stdnum.meid.rst0000644000000000000000000000010213555400446020135 0ustar rootroot00000000000000stdnum.meid =========== .. automodule:: stdnum.meid :members: python-stdnum-1.13/docs/stdnum.lu.tva.rst0000644000000000000000000000011013555400446020427 0ustar rootroot00000000000000stdnum.lu.tva ============= .. automodule:: stdnum.lu.tva :members: python-stdnum-1.13/docs/stdnum.za.idnr.rst0000644000000000000000000000011213610635553020566 0ustar rootroot00000000000000stdnum.za.idnr ============== .. automodule:: stdnum.za.idnr :members:python-stdnum-1.13/docs/stdnum.cusip.rst0000644000000000000000000000010413555400446020344 0ustar rootroot00000000000000stdnum.cusip ============ .. automodule:: stdnum.cusip :members:python-stdnum-1.13/docs/stdnum.eu.at_02.rst0000644000000000000000000000011613555400446020541 0ustar rootroot00000000000000stdnum.eu.at_02 =============== .. automodule:: stdnum.eu.at_02 :members: python-stdnum-1.13/docs/stdnum.mt.vat.rst0000644000000000000000000000011013555400446020427 0ustar rootroot00000000000000stdnum.mt.vat ============= .. automodule:: stdnum.mt.vat :members: python-stdnum-1.13/docs/stdnum.in_.pan.rst0000644000000000000000000000011413555400446020544 0ustar rootroot00000000000000stdnum.in\_.pan =============== .. automodule:: stdnum.in_.pan :members:python-stdnum-1.13/docs/stdnum.lei.rst0000644000000000000000000000007613555400446020002 0ustar rootroot00000000000000stdnum.lei ========== .. automodule:: stdnum.lei :members:python-stdnum-1.13/docs/stdnum.do.rnc.rst0000644000000000000000000000010713555400446020407 0ustar rootroot00000000000000stdnum.do.rnc ============= .. automodule:: stdnum.do.rnc :members:python-stdnum-1.13/docs/stdnum.ve.rif.rst0000644000000000000000000000010713555401015020406 0ustar rootroot00000000000000stdnum.ve.rif ============= .. automodule:: stdnum.ve.rif :members:python-stdnum-1.13/docs/stdnum.no.fodselsnummer.rst0000644000000000000000000000014513555400446022524 0ustar rootroot00000000000000stdnum.no.fodselsnummer ======================= .. automodule:: stdnum.no.fodselsnummer :members:python-stdnum-1.13/docs/stdnum.ee.kmkr.rst0000644000000000000000000000011313555400446020555 0ustar rootroot00000000000000stdnum.ee.kmkr ============== .. automodule:: stdnum.ee.kmkr :members: python-stdnum-1.13/docs/stdnum.issn.rst0000644000000000000000000000010213555400446020173 0ustar rootroot00000000000000stdnum.issn =========== .. automodule:: stdnum.issn :members: python-stdnum-1.13/docs/stdnum.ar.cuit.rst0000644000000000000000000000011213555400446020565 0ustar rootroot00000000000000stdnum.ar.cuit ============== .. automodule:: stdnum.ar.cuit :members:python-stdnum-1.13/docs/stdnum.at.businessid.rst0000644000000000000000000000013413555400446021777 0ustar rootroot00000000000000stdnum.at.businessid ==================== .. automodule:: stdnum.at.businessid :members:python-stdnum-1.13/docs/stdnum.fr.tva.rst0000644000000000000000000000011013555400446020416 0ustar rootroot00000000000000stdnum.fr.tva ============= .. automodule:: stdnum.fr.tva :members: python-stdnum-1.13/docs/stdnum.sk.dph.rst0000644000000000000000000000011013555400446020405 0ustar rootroot00000000000000stdnum.sk.dph ============= .. automodule:: stdnum.sk.dph :members: python-stdnum-1.13/docs/stdnum.fi.hetu.rst0000644000000000000000000000011313555400446020563 0ustar rootroot00000000000000stdnum.fi.hetu ============== .. automodule:: stdnum.fi.hetu :members: python-stdnum-1.13/docs/stdnum.gb.upn.rst0000644000000000000000000000010713555400446020415 0ustar rootroot00000000000000stdnum.gb.upn ============= .. automodule:: stdnum.gb.upn :members:python-stdnum-1.13/docs/stdnum.cz.rc.rst0000644000000000000000000000010513555400446020241 0ustar rootroot00000000000000stdnum.cz.rc ============ .. automodule:: stdnum.cz.rc :members: python-stdnum-1.13/docs/stdnum.fr.nir.rst0000644000000000000000000000010713555400446020422 0ustar rootroot00000000000000stdnum.fr.nir ============= .. automodule:: stdnum.fr.nir :members:python-stdnum-1.13/docs/stdnum.de.stnr.rst0000644000000000000000000000011213555400446020575 0ustar rootroot00000000000000stdnum.de.stnr ============== .. automodule:: stdnum.de.stnr :members:python-stdnum-1.13/docs/stdnum.ee.ik.rst0000644000000000000000000000010413555400446020214 0ustar rootroot00000000000000stdnum.ee.ik ============ .. automodule:: stdnum.ee.ik :members:python-stdnum-1.13/docs/stdnum.de.vat.rst0000644000000000000000000000011013555400446020377 0ustar rootroot00000000000000stdnum.de.vat ============= .. automodule:: stdnum.de.vat :members: python-stdnum-1.13/docs/stdnum.bic.rst0000644000000000000000000000007613555400446017766 0ustar rootroot00000000000000stdnum.bic ========== .. automodule:: stdnum.bic :members:python-stdnum-1.13/docs/stdnum.br.cnpj.rst0000644000000000000000000000011213555400446020554 0ustar rootroot00000000000000stdnum.br.cnpj ============== .. automodule:: stdnum.br.cnpj :members:python-stdnum-1.13/docs/stdnum.mc.tva.rst0000644000000000000000000000010713555400446020414 0ustar rootroot00000000000000stdnum.mc.tva ============= .. automodule:: stdnum.mc.tva :members:python-stdnum-1.13/docs/stdnum.gb.sedol.rst0000644000000000000000000000011513555400446020720 0ustar rootroot00000000000000stdnum.gb.sedol =============== .. automodule:: stdnum.gb.sedol :members:python-stdnum-1.13/docs/stdnum.gb.nhs.rst0000644000000000000000000000010713555400446020403 0ustar rootroot00000000000000stdnum.gb.nhs ============= .. automodule:: stdnum.gb.nhs :members:python-stdnum-1.13/docs/stdnum.iso11649.rst0000644000000000000000000000011513555400446020422 0ustar rootroot00000000000000stdnum.iso11649 =============== .. automodule:: stdnum.iso11649 :members:python-stdnum-1.13/docs/stdnum.al.nipt.rst0000644000000000000000000000011213555400446020565 0ustar rootroot00000000000000stdnum.al.nipt ============== .. automodule:: stdnum.al.nipt :members:python-stdnum-1.13/docs/stdnum.ch.uid.rst0000644000000000000000000000010713555400446020376 0ustar rootroot00000000000000stdnum.ch.uid ============= .. automodule:: stdnum.ch.uid :members:python-stdnum-1.13/docs/stdnum.lt.pvm.rst0000644000000000000000000000011013555400446020436 0ustar rootroot00000000000000stdnum.lt.pvm ============= .. automodule:: stdnum.lt.pvm :members: python-stdnum-1.13/docs/conf.py0000644000000000000000000001434513555400446016471 0ustar rootroot00000000000000# -*- coding: utf-8 -*- # # python-stdnum documentation build configuration file, created by # sphinx-quickstart # # This file is execfile()d with the current directory set to its containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. import sys, os import stdnum # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. #sys.path.insert(0, os.path.abspath('..')) # -- General configuration ----------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. #needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = [ 'sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.autosummary' ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' # The encoding of source files. source_encoding = 'utf-8' # The master toctree document. master_doc = 'index' # General information about the project. project = u'python-stdnum' copyright = u'2013-2019, Arthur de Jong' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. version = stdnum.__version__ # The full version, including alpha/beta/rc tags. release = version # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. #language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: #today = '' # Else, today_fmt is used as the format for a strftime call. #today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = ['_*', '.svn', '.git'] # The reST default role (used for this markup: `text`) to use for all documents. #default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. #add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). #add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. #show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. modindex_common_prefix = ['stdnum.', ] # Automatically generate stub pages for autosummary entries. autosummary_generate = True # -- Options for HTML output --------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. html_theme = 'default' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. #html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. #html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". #html_title = None # A shorter title for the navigation bar. Default is the same as html_title. #html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. #html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. #html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". #html_static_path = ['_static'] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. html_last_updated_fmt = '%Y-%m-%d' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. #html_use_smartypants = True # Custom sidebar templates, maps document names to template names. #html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. #html_additional_pages = {} # If false, no module index is generated. #html_domain_indices = True # If false, no index is generated. #html_use_index = True # If true, the index is split into individual pages for each letter. #html_split_index = False # If true, links to the reST sources are added to the pages. html_show_sourcelink = False # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. #html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. #html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. #html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). #html_file_suffix = None # Suffix for generated links to HTML files. #html_link_suffix = '' # Output file base name for HTML help builder. htmlhelp_basename = 'python-stdnumdoc' # -- Options for manual page output -------------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ ('index', 'python-stdnum', u'python-stdnum Documentation', [u'Arthur de Jong'], 1) ] # If true, show URL addresses after external links. #man_show_urls = False intersphinx_mapping = {'python': ('https://docs.python.org/3', None)} python-stdnum-1.13/docs/_templates/0000755000000000000000000000000013611057635017321 5ustar rootroot00000000000000python-stdnum-1.13/docs/_templates/autosummary/0000755000000000000000000000000013611057636021710 5ustar rootroot00000000000000python-stdnum-1.13/docs/_templates/autosummary/module.rst0000644000000000000000000000011413555400446023721 0ustar rootroot00000000000000{{ fullname }} {{ underline }} .. automodule:: {{ fullname }} :members: python-stdnum-1.13/docs/stdnum.pl.pesel.rst0000644000000000000000000000011513555400446020745 0ustar rootroot00000000000000stdnum.pl.pesel =============== .. automodule:: stdnum.pl.pesel :members:python-stdnum-1.13/docs/stdnum.us.tin.rst0000644000000000000000000000011013555400446020436 0ustar rootroot00000000000000stdnum.us.tin ============= .. automodule:: stdnum.us.tin :members: python-stdnum-1.13/docs/stdnum.eu.banknote.rst0000644000000000000000000000012613555400446021436 0ustar rootroot00000000000000stdnum.eu.banknote ================== .. automodule:: stdnum.eu.banknote :members:python-stdnum-1.13/docs/stdnum.ro.cnp.rst0000644000000000000000000000011013555400446020415 0ustar rootroot00000000000000stdnum.ro.cnp ============= .. automodule:: stdnum.ro.cnp :members: python-stdnum-1.13/docs/stdnum.ean.rst0000644000000000000000000000007713555400446017775 0ustar rootroot00000000000000stdnum.ean ========== .. automodule:: stdnum.ean :members: python-stdnum-1.13/docs/stdnum.cl.rut.rst0000644000000000000000000000010713555400446020433 0ustar rootroot00000000000000stdnum.cl.rut ============= .. automodule:: stdnum.cl.rut :members:python-stdnum-1.13/docs/stdnum.au.acn.rst0000644000000000000000000000010713555400446020371 0ustar rootroot00000000000000stdnum.au.acn ============= .. automodule:: stdnum.au.acn :members:python-stdnum-1.13/docs/stdnum.si.ddv.rst0000644000000000000000000000011013555400446020405 0ustar rootroot00000000000000stdnum.si.ddv ============= .. automodule:: stdnum.si.ddv :members: python-stdnum-1.13/docs/stdnum.uy.rut.rst0000644000000000000000000000010713555401015020463 0ustar rootroot00000000000000stdnum.uy.rut ============= .. automodule:: stdnum.uy.rut :members:python-stdnum-1.13/docs/stdnum.sk.rc.rst0000644000000000000000000000010513555400446020242 0ustar rootroot00000000000000stdnum.sk.rc ============ .. automodule:: stdnum.sk.rc :members: python-stdnum-1.13/docs/stdnum.damm.rst0000644000000000000000000000010113555400446020134 0ustar rootroot00000000000000stdnum.damm =========== .. automodule:: stdnum.damm :members:python-stdnum-1.13/docs/stdnum.ru.inn.rst0000644000000000000000000000010713555400446020435 0ustar rootroot00000000000000stdnum.ru.inn ============= .. automodule:: stdnum.ru.inn :members:python-stdnum-1.13/docs/stdnum.imei.rst0000644000000000000000000000010213555400446020142 0ustar rootroot00000000000000stdnum.imei =========== .. automodule:: stdnum.imei :members: python-stdnum-1.13/docs/stdnum.exceptions.rst0000644000000000000000000000143213555400446021407 0ustar rootroot00000000000000stdnum.exceptions ================= .. automodule:: stdnum.exceptions :show-inheritance: :member-order: bysource :members: The exceptions are organised hierarchically in the following structure: :: ValidationError +-- InvalidFormat | +-- InvalidLength +-- InvalidChecksum +-- InvalidComponent It is possible to change the exception messages by setting the `message` class property. This allows localisation and application-specific error messages. >>> raise InvalidFormat() Traceback (most recent call last): ... InvalidChecksum: The number has an invalid format. >>> InvalidFormat.message = 'UNKNOWN' >>> raise InvalidFormat() Traceback (most recent call last): ... InvalidChecksum: UNKNOWN python-stdnum-1.13/docs/stdnum.dk.cvr.rst0000644000000000000000000000011013555400446020405 0ustar rootroot00000000000000stdnum.dk.cvr ============= .. automodule:: stdnum.dk.cvr :members: python-stdnum-1.13/docs/stdnum.ar.cbu.rst0000644000000000000000000000010713555400446020376 0ustar rootroot00000000000000stdnum.ar.cbu ============= .. automodule:: stdnum.ar.cbu :members:python-stdnum-1.13/docs/stdnum.jp.cn.rst0000644000000000000000000000010413555401015020222 0ustar rootroot00000000000000stdnum.jp.cn ============ .. automodule:: stdnum.jp.cn :members:python-stdnum-1.13/docs/stdnum.es.cups.rst0000644000000000000000000000011213555400446020600 0ustar rootroot00000000000000stdnum.es.cups ============== .. automodule:: stdnum.es.cups :members:python-stdnum-1.13/docs/stdnum.it.iva.rst0000644000000000000000000000011013555400446020410 0ustar rootroot00000000000000stdnum.it.iva ============= .. automodule:: stdnum.it.iva :members: python-stdnum-1.13/docs/stdnum.figi.rst0000644000000000000000000000010113555400446020134 0ustar rootroot00000000000000stdnum.figi =========== .. automodule:: stdnum.figi :members:python-stdnum-1.13/docs/stdnum.cr.cr.rst0000644000000000000000000000010413555401015020221 0ustar rootroot00000000000000stdnum.cr.cr ============ .. automodule:: stdnum.cr.cr :members:python-stdnum-1.13/docs/stdnum.se.personnummer.rst0000644000000000000000000000014213555400446022363 0ustar rootroot00000000000000stdnum.se.personnummer ====================== .. automodule:: stdnum.se.personnummer :members:python-stdnum-1.13/docs/stdnum.ch.vat.rst0000644000000000000000000000010713555400446020407 0ustar rootroot00000000000000stdnum.ch.vat ============= .. automodule:: stdnum.ch.vat :members:python-stdnum-1.13/docs/stdnum.es.cif.rst0000644000000000000000000000011013555400446020365 0ustar rootroot00000000000000stdnum.es.cif ============= .. automodule:: stdnum.es.cif :members: python-stdnum-1.13/docs/stdnum.de.handelsregisternummer.rst0000644000000000000000000000017513555400446024227 0ustar rootroot00000000000000stdnum.de.handelsregisternummer =============================== .. automodule:: stdnum.de.handelsregisternummer :members:python-stdnum-1.13/docs/stdnum.ar.dni.rst0000644000000000000000000000010713555400446020377 0ustar rootroot00000000000000stdnum.ar.dni ============= .. automodule:: stdnum.ar.dni :members:python-stdnum-1.13/docs/stdnum.gb.vat.rst0000644000000000000000000000011013555400446020377 0ustar rootroot00000000000000stdnum.gb.vat ============= .. automodule:: stdnum.gb.vat :members: python-stdnum-1.13/docs/stdnum.isil.rst0000644000000000000000000000010213555400446020157 0ustar rootroot00000000000000stdnum.isil =========== .. automodule:: stdnum.isil :members: python-stdnum-1.13/docs/stdnum.cz.dic.rst0000644000000000000000000000011013555400446020370 0ustar rootroot00000000000000stdnum.cz.dic ============= .. automodule:: stdnum.cz.dic :members: python-stdnum-1.13/docs/stdnum.imsi.rst0000644000000000000000000000010213555400446020160 0ustar rootroot00000000000000stdnum.imsi =========== .. automodule:: stdnum.imsi :members: python-stdnum-1.13/docs/stdnum.se.orgnr.rst0000644000000000000000000000011513555400446020760 0ustar rootroot00000000000000stdnum.se.orgnr =============== .. automodule:: stdnum.se.orgnr :members:python-stdnum-1.13/docs/stdnum.is_.vsk.rst0000644000000000000000000000011413555400446020576 0ustar rootroot00000000000000stdnum.is\_.vsk =============== .. automodule:: stdnum.is_.vsk :members:python-stdnum-1.13/docs/stdnum.cn.ric.rst0000644000000000000000000000011013555400446020372 0ustar rootroot00000000000000stdnum.cn.ric ============= .. automodule:: stdnum.cn.ric :members: python-stdnum-1.13/docs/stdnum.us.atin.rst0000644000000000000000000000011313555400446020602 0ustar rootroot00000000000000stdnum.us.atin ============== .. automodule:: stdnum.us.atin :members: python-stdnum-1.13/docs/stdnum.de.wkn.rst0000644000000000000000000000010713555400446020412 0ustar rootroot00000000000000stdnum.de.wkn ============= .. automodule:: stdnum.de.wkn :members:python-stdnum-1.13/docs/stdnum.bg.egn.rst0000644000000000000000000000011013555400446020356 0ustar rootroot00000000000000stdnum.bg.egn ============= .. automodule:: stdnum.bg.egn :members: python-stdnum-1.13/docs/stdnum.iso6346.rst0000644000000000000000000000011313555400446020336 0ustar rootroot00000000000000stdnum.iso6346 ============== .. automodule:: stdnum.iso6346 :members: python-stdnum-1.13/docs/stdnum.no.kontonr.rst0000644000000000000000000000012313555400446021327 0ustar rootroot00000000000000stdnum.no.kontonr ================= .. automodule:: stdnum.no.kontonr :members:python-stdnum-1.13/docs/stdnum.no.orgnr.rst0000644000000000000000000000011513555400446020765 0ustar rootroot00000000000000stdnum.no.orgnr =============== .. automodule:: stdnum.no.orgnr :members:python-stdnum-1.13/docs/stdnum.grid.rst0000644000000000000000000000010213555400446020144 0ustar rootroot00000000000000stdnum.grid =========== .. automodule:: stdnum.grid :members: python-stdnum-1.13/docs/stdnum.nz.ird.rst0000644000000000000000000000010713555401015020421 0ustar rootroot00000000000000stdnum.nz.ird ============= .. automodule:: stdnum.nz.ird :members:python-stdnum-1.13/docs/stdnum.fi.veronumero.rst0000644000000000000000000000013413555400446022022 0ustar rootroot00000000000000stdnum.fi.veronumero ==================== .. automodule:: stdnum.fi.veronumero :members:python-stdnum-1.13/docs/stdnum.ch.esr.rst0000644000000000000000000000010713611057523020403 0ustar rootroot00000000000000stdnum.ch.esr ============= .. automodule:: stdnum.ch.esr :members:python-stdnum-1.13/docs/stdnum.at.tin.rst0000644000000000000000000000010713555400446020421 0ustar rootroot00000000000000stdnum.at.tin ============= .. automodule:: stdnum.at.tin :members:python-stdnum-1.13/docs/stdnum.dk.cpr.rst0000644000000000000000000000011013555400446020377 0ustar rootroot00000000000000stdnum.dk.cpr ============= .. automodule:: stdnum.dk.cpr :members: python-stdnum-1.13/docs/stdnum.es.iban.rst0000644000000000000000000000011213555400446020537 0ustar rootroot00000000000000stdnum.es.iban ============== .. automodule:: stdnum.es.iban :members:python-stdnum-1.13/docs/stdnum.br.cpf.rst0000644000000000000000000000011013555400446020370 0ustar rootroot00000000000000stdnum.br.cpf ============= .. automodule:: stdnum.br.cpf :members: python-stdnum-1.13/docs/stdnum.se.vat.rst0000644000000000000000000000011013555400446020416 0ustar rootroot00000000000000stdnum.se.vat ============= .. automodule:: stdnum.se.vat :members: python-stdnum-1.13/docs/stdnum.iban.rst0000644000000000000000000000010213555400446020130 0ustar rootroot00000000000000stdnum.iban =========== .. automodule:: stdnum.iban :members: python-stdnum-1.13/docs/stdnum.it.codicefiscale.rst0000644000000000000000000000014613555400446022417 0ustar rootroot00000000000000stdnum.it.codicefiscale ======================= .. automodule:: stdnum.it.codicefiscale :members: python-stdnum-1.13/docs/stdnum.in_.aadhaar.rst0000644000000000000000000000013013555400446021345 0ustar rootroot00000000000000stdnum.in\_.aadhaar =================== .. automodule:: stdnum.in_.aadhaar :members:python-stdnum-1.13/docs/index.rst0000644000000000000000000001121513611057523017021 0ustar rootroot00000000000000.. module:: stdnum .. include:: ../README :end-before: Available formats Common Interface ---------------- Most of the number format modules implement the following functions: .. function:: module.validate(number) Validate the number and return a compact, consistent representation of the number or code. If the validation fails, :mod:`an exception <.exceptions>` is raised that indicates the type of error. .. function:: module.is_valid(number) Return either ``True`` or ``False`` depending on whether the passed number is in any supported and valid form and passes all embedded checks of the number. This function should never raise an exception. .. function:: module.compact(number) Return a compact representation of the number or code. This function generally does not do validation but may raise exceptions for wildly invalid numbers. .. function:: module.format(number) Return a formatted version of the number in the preferred format. This function generally expects to be passed a valid number or code and may raise exceptions for invalid numbers. The check digit modules generally also provide the following functions: .. function:: module.checksum(number) Calculate the checksum over the provided number. This is generally a number that can be used to determine whether the provided number is valid. It depends on the algorithm which checksum is considered valid. .. function:: module.calc_check_digit(number) Calculate the check digit that should be added to the number to make it valid. Apart from the above, the modules may add extra parsing, validation or conversion functions. Helper functions and modules ---------------------------- .. autosummary:: :toctree: exceptions .. autofunction:: get_cc_module Searches the stdnum collection of modules for a number format for a particular country. `name` may be an aliased name. For example: >>> from stdnum import get_cc_module >>> mod = get_cc_module('nl', 'vat') >>> mod >>> mod.validate('004495445B01') '004495445B01' Will return ``None`` if no module could be found. The generic names that are currently in use: * ``'vat'`` for value added tax numbers * ``'businessid'`` for generic business identifiers (although some countries may have multiple) * ``'personalid'`` for generic personal identifiers (some countries may have multiple, especially for tax purposes) * ``'postcal_code'`` for address postal codes Generic check digit algorithms ------------------------------ .. autosummary:: :toctree: damm iso7064 luhn verhoeff Available formats ----------------- .. autosummary:: :toctree: ad.nrt al.nipt ar.cbu ar.cuit ar.dni at.businessid at.postleitzahl at.tin at.uid at.vnr au.abn au.acn au.tfn be.iban be.vat bg.egn bg.pnf bg.vat bic bitcoin br.cnpj br.cpf ca.bn ca.sin casrn ch.esr ch.ssn ch.uid ch.vat cl.rut cn.ric co.nit cr.cpf cr.cpj cr.cr cu.ni cusip cy.vat cz.dic cz.rc de.handelsregisternummer de.idnr de.stnr de.vat de.wkn dk.cpr dk.cvr do.cedula do.ncf do.rnc ean ec.ci ec.ruc ee.ik ee.kmkr ee.registrikood es.ccc es.cif es.cups es.dni es.iban es.nie es.nif es.referenciacatastral eu.at_02 eu.banknote eu.eic eu.nace eu.vat fi.alv fi.associationid fi.hetu fi.veronumero fi.ytunnus figi fr.nif fr.nir fr.siren fr.siret fr.tva gb.nhs gb.sedol gb.upn gb.vat gr.amka gr.vat grid gt.nit hr.oib hu.anum iban ie.pps ie.vat il.idnr imei imo imsi in_.aadhaar in_.pan is_.kennitala is_.vsk isan isbn isil isin ismn iso11649 iso6346 issn it.codicefiscale it.iva jp.cn kr.rrn lei lt.asmens lt.pvm lu.tva lv.pvn mac mc.tva md.idno me.iban meid mt.vat mu.nid mx.curp mx.rfc my.nric nl.brin nl.bsn nl.btw nl.onderwijsnummer nl.postcode no.fodselsnummer no.iban no.kontonr no.mva no.orgnr nz.bankaccount nz.ird pe.cui pe.ruc pl.nip pl.pesel pl.regon pt.nif py.ruc ro.cf ro.cnp rs.pib ru.inn se.orgnr se.personnummer se.vat si.ddv sk.dph sk.rc sm.coe tr.tckimlik tr.vkn us.atin us.ein us.itin us.ptin us.rtn us.ssn us.tin uy.rut ve.rif za.idnr za.tin Changes in python-stdnum ------------------------ .. toctree:: :maxdepth: 2 changes python-stdnum-1.13/docs/stdnum.ec.ruc.rst0000644000000000000000000000011013555400446020375 0ustar rootroot00000000000000stdnum.ec.ruc ============= .. automodule:: stdnum.ec.ruc :members: python-stdnum-1.13/docs/stdnum.ca.bn.rst0000644000000000000000000000010413555400446020202 0ustar rootroot00000000000000stdnum.ca.bn ============ .. automodule:: stdnum.ca.bn :members:python-stdnum-1.13/docs/stdnum.iso7064.rst0000644000000000000000000000123113555400446020336 0ustar rootroot00000000000000stdnum.iso7064 ============== .. automodule:: stdnum.iso7064 :members: Mod 11, 10 ---------- :mod:`stdnum.iso7064.mod_11_10` .. automodule:: stdnum.iso7064.mod_11_10 :members: Mod 11, 2 --------- :mod:`stdnum.iso7064.mod_11_2` .. automodule:: stdnum.iso7064.mod_11_2 :members: Mod 37, 2 (Mod x, 2) -------------------- :mod:`stdnum.iso7064.mod_37_2` .. automodule:: stdnum.iso7064.mod_37_2 :members: Mod 37, 36 (Mod x+1, x) ----------------------- :mod:`stdnum.iso7064.mod_37_36` .. automodule:: stdnum.iso7064.mod_37_36 :members: Mod 97, 10 ---------- :mod:`stdnum.iso7064.mod_97_10` .. automodule:: stdnum.iso7064.mod_97_10 :members: python-stdnum-1.13/docs/stdnum.au.abn.rst0000644000000000000000000000010713555400446020370 0ustar rootroot00000000000000stdnum.au.abn ============= .. automodule:: stdnum.au.abn :members:python-stdnum-1.13/docs/stdnum.my.nric.rst0000644000000000000000000000011313555400446020600 0ustar rootroot00000000000000stdnum.my.nric ============== .. automodule:: stdnum.my.nric :members: python-stdnum-1.13/docs/stdnum.mx.rfc.rst0000644000000000000000000000010713555400446020421 0ustar rootroot00000000000000stdnum.mx.rfc ============= .. automodule:: stdnum.mx.rfc :members:python-stdnum-1.13/docs/stdnum.rs.pib.rst0000644000000000000000000000010713555400446020421 0ustar rootroot00000000000000stdnum.rs.pib ============= .. automodule:: stdnum.rs.pib :members:python-stdnum-1.13/docs/stdnum.mu.nid.rst0000644000000000000000000000010713555400446020416 0ustar rootroot00000000000000stdnum.mu.nid ============= .. automodule:: stdnum.mu.nid :members:python-stdnum-1.13/docs/stdnum.gr.vat.rst0000644000000000000000000000011013555400446020417 0ustar rootroot00000000000000stdnum.gr.vat ============= .. automodule:: stdnum.gr.vat :members: python-stdnum-1.13/docs/stdnum.fi.alv.rst0000644000000000000000000000011013555400446020375 0ustar rootroot00000000000000stdnum.fi.alv ============= .. automodule:: stdnum.fi.alv :members: python-stdnum-1.13/docs/stdnum.ch.ssn.rst0000644000000000000000000000011013555400446020412 0ustar rootroot00000000000000stdnum.ch.ssn ============= .. automodule:: stdnum.ch.ssn :members: python-stdnum-1.13/docs/stdnum.at.vnr.rst0000644000000000000000000000010713555400446020434 0ustar rootroot00000000000000stdnum.at.vnr ============= .. automodule:: stdnum.at.vnr :members:python-stdnum-1.13/docs/stdnum.do.ncf.rst0000644000000000000000000000010713555400446020373 0ustar rootroot00000000000000stdnum.do.ncf ============= .. automodule:: stdnum.do.ncf :members:python-stdnum-1.13/docs/stdnum.bg.vat.rst0000644000000000000000000000011013555400446020377 0ustar rootroot00000000000000stdnum.bg.vat ============= .. automodule:: stdnum.bg.vat :members: python-stdnum-1.13/docs/stdnum.py.ruc.rst0000644000000000000000000000010713555401015020435 0ustar rootroot00000000000000stdnum.py.ruc ============= .. automodule:: stdnum.py.ruc :members:python-stdnum-1.13/docs/stdnum.no.iban.rst0000644000000000000000000000011213555400446020544 0ustar rootroot00000000000000stdnum.no.iban ============== .. automodule:: stdnum.no.iban :members:python-stdnum-1.13/docs/stdnum.cr.cpj.rst0000644000000000000000000000010713555401015020374 0ustar rootroot00000000000000stdnum.cr.cpj ============= .. automodule:: stdnum.cr.cpj :members:python-stdnum-1.13/docs/stdnum.me.iban.rst0000644000000000000000000000011213555400446020531 0ustar rootroot00000000000000stdnum.me.iban ============== .. automodule:: stdnum.me.iban :members:python-stdnum-1.13/docs/stdnum.fi.ytunnus.rst0000644000000000000000000000012313555400446021344 0ustar rootroot00000000000000stdnum.fi.ytunnus ================= .. automodule:: stdnum.fi.ytunnus :members:python-stdnum-1.13/docs/stdnum.lv.pvn.rst0000644000000000000000000000011013555400446020441 0ustar rootroot00000000000000stdnum.lv.pvn ============= .. automodule:: stdnum.lv.pvn :members: python-stdnum-1.13/docs/stdnum.gr.amka.rst0000644000000000000000000000011213555400446020540 0ustar rootroot00000000000000stdnum.gr.amka ============== .. automodule:: stdnum.gr.amka :members:python-stdnum-1.13/docs/stdnum.ca.sin.rst0000644000000000000000000000010713555400446020377 0ustar rootroot00000000000000stdnum.ca.sin ============= .. automodule:: stdnum.ca.sin :members:python-stdnum-1.13/docs/stdnum.pl.regon.rst0000644000000000000000000000011513555400446020747 0ustar rootroot00000000000000stdnum.pl.regon =============== .. automodule:: stdnum.pl.regon :members:python-stdnum-1.13/docs/stdnum.at.postleitzahl.rst0000644000000000000000000000014213555400446022350 0ustar rootroot00000000000000stdnum.at.postleitzahl ====================== .. automodule:: stdnum.at.postleitzahl :members:python-stdnum-1.13/docs/stdnum.es.nie.rst0000644000000000000000000000011013555400446020377 0ustar rootroot00000000000000stdnum.es.nie ============= .. automodule:: stdnum.es.nie :members: python-stdnum-1.13/docs/stdnum.mx.curp.rst0000644000000000000000000000011213555400446020614 0ustar rootroot00000000000000stdnum.mx.curp ============== .. automodule:: stdnum.mx.curp :members:python-stdnum-1.13/docs/stdnum.hu.anum.rst0000644000000000000000000000011313555400446020574 0ustar rootroot00000000000000stdnum.hu.anum ============== .. automodule:: stdnum.hu.anum :members: python-stdnum-1.13/docs/stdnum.fr.siret.rst0000644000000000000000000000011513555400446020757 0ustar rootroot00000000000000stdnum.fr.siret =============== .. automodule:: stdnum.fr.siret :members:python-stdnum-1.13/docs/stdnum.tr.tckimlik.rst0000644000000000000000000000012613555400446021460 0ustar rootroot00000000000000stdnum.tr.tckimlik ================== .. automodule:: stdnum.tr.tckimlik :members:python-stdnum-1.13/docs/stdnum.es.nif.rst0000644000000000000000000000011013555400446020400 0ustar rootroot00000000000000stdnum.es.nif ============= .. automodule:: stdnum.es.nif :members: python-stdnum-1.13/docs/stdnum.pl.nip.rst0000644000000000000000000000011013555400446020416 0ustar rootroot00000000000000stdnum.pl.nip ============= .. automodule:: stdnum.pl.nip :members: python-stdnum-1.13/docs/stdnum.cy.vat.rst0000644000000000000000000000011013555400446020422 0ustar rootroot00000000000000stdnum.cy.vat ============= .. automodule:: stdnum.cy.vat :members: python-stdnum-1.13/docs/stdnum.fr.nif.rst0000644000000000000000000000010713555400446020406 0ustar rootroot00000000000000stdnum.fr.nif ============= .. automodule:: stdnum.fr.nif :members:python-stdnum-1.13/docs/stdnum.nl.brin.rst0000644000000000000000000000011313555400446020563 0ustar rootroot00000000000000stdnum.nl.brin ============== .. automodule:: stdnum.nl.brin :members: python-stdnum-1.13/docs/stdnum.nl.btw.rst0000644000000000000000000000011013555400446020422 0ustar rootroot00000000000000stdnum.nl.btw ============= .. automodule:: stdnum.nl.btw :members: python-stdnum-1.13/docs/stdnum.us.ein.rst0000644000000000000000000000011013555400446020417 0ustar rootroot00000000000000stdnum.us.ein ============= .. automodule:: stdnum.us.ein :members: python-stdnum-1.13/docs/changes.rst0000644000000000000000000000011013555400446017315 0ustar rootroot00000000000000Changes in python-stdnum ======================== .. include:: ../NEWS python-stdnum-1.13/docs/stdnum.casrn.rst0000644000000000000000000000010413555400446020327 0ustar rootroot00000000000000stdnum.casrn ============ .. automodule:: stdnum.casrn :members:python-stdnum-1.13/docs/stdnum.nl.postcode.rst0000644000000000000000000000012713555400446021456 0ustar rootroot00000000000000stdnum.nl.postcode ================== .. automodule:: stdnum.nl.postcode :members: python-stdnum-1.13/docs/stdnum.us.itin.rst0000644000000000000000000000011313555400446020612 0ustar rootroot00000000000000stdnum.us.itin ============== .. automodule:: stdnum.us.itin :members: python-stdnum-1.13/docs/stdnum.isbn.rst0000644000000000000000000000010213555400446020152 0ustar rootroot00000000000000stdnum.isbn =========== .. automodule:: stdnum.isbn :members: python-stdnum-1.13/docs/stdnum.isin.rst0000644000000000000000000000010113555400446020160 0ustar rootroot00000000000000stdnum.isin =========== .. automodule:: stdnum.isin :members:python-stdnum-1.13/docs/stdnum.be.iban.rst0000644000000000000000000000011213555400446020516 0ustar rootroot00000000000000stdnum.be.iban ============== .. automodule:: stdnum.be.iban :members:python-stdnum-1.13/docs/stdnum.no.mva.rst0000644000000000000000000000010713555400446020422 0ustar rootroot00000000000000stdnum.no.mva ============= .. automodule:: stdnum.no.mva :members:python-stdnum-1.13/docs/stdnum.nz.bankaccount.rst0000644000000000000000000000013713555400446022145 0ustar rootroot00000000000000stdnum.nz.bankaccount ===================== .. automodule:: stdnum.nz.bankaccount :members:python-stdnum-1.13/docs/stdnum.us.ssn.rst0000644000000000000000000000011013555400446020447 0ustar rootroot00000000000000stdnum.us.ssn ============= .. automodule:: stdnum.us.ssn :members: python-stdnum-1.13/docs/stdnum.nl.onderwijsnummer.rst0000644000000000000000000000015413555400446023066 0ustar rootroot00000000000000stdnum.nl.onderwijsnummer ========================= .. automodule:: stdnum.nl.onderwijsnummer :members: python-stdnum-1.13/docs/stdnum.kr.rrn.rst0000644000000000000000000000010713555401015020431 0ustar rootroot00000000000000stdnum.kr.rrn ============= .. automodule:: stdnum.kr.rrn :members:python-stdnum-1.13/docs/stdnum.pt.nif.rst0000644000000000000000000000011013555400446020414 0ustar rootroot00000000000000stdnum.pt.nif ============= .. automodule:: stdnum.pt.nif :members: python-stdnum-1.13/docs/stdnum.ec.ci.rst0000644000000000000000000000010513555400446020203 0ustar rootroot00000000000000stdnum.ec.ci ============ .. automodule:: stdnum.ec.ci :members: python-stdnum-1.13/docs/stdnum.ad.nrt.rst0000644000000000000000000000010713555401015020403 0ustar rootroot00000000000000stdnum.ad.nrt ============= .. automodule:: stdnum.ad.nrt :members:python-stdnum-1.13/docs/stdnum.cu.ni.rst0000644000000000000000000000010413555400446020235 0ustar rootroot00000000000000stdnum.cu.ni ============ .. automodule:: stdnum.cu.ni :members:python-stdnum-1.13/docs/stdnum.ro.cf.rst0000644000000000000000000000010513555400446020231 0ustar rootroot00000000000000stdnum.ro.cf ============ .. automodule:: stdnum.ro.cf :members: python-stdnum-1.13/docs/stdnum.eu.nace.rst0000644000000000000000000000014613555400446020545 0ustar rootroot00000000000000stdnum.eu.nace ============== .. automodule:: stdnum.eu.nace :members: :exclude-members: label python-stdnum-1.13/docs/stdnum.be.vat.rst0000644000000000000000000000011013555400446020375 0ustar rootroot00000000000000stdnum.be.vat ============= .. automodule:: stdnum.be.vat :members: python-stdnum-1.13/docs/stdnum.is_.kennitala.rst0000644000000000000000000000013613555400446021745 0ustar rootroot00000000000000stdnum.is\_.kennitala ===================== .. automodule:: stdnum.is_.kennitala :members:python-stdnum-1.13/docs/stdnum.fr.siren.rst0000644000000000000000000000011613555400446020752 0ustar rootroot00000000000000stdnum.fr.siren =============== .. automodule:: stdnum.fr.siren :members: python-stdnum-1.13/docs/stdnum.au.tfn.rst0000644000000000000000000000010713555400446020417 0ustar rootroot00000000000000stdnum.au.tfn ============= .. automodule:: stdnum.au.tfn :members:python-stdnum-1.13/docs/stdnum.md.idno.rst0000644000000000000000000000011213555400446020550 0ustar rootroot00000000000000stdnum.md.idno ============== .. automodule:: stdnum.md.idno :members:python-stdnum-1.13/docs/stdnum.ie.vat.rst0000644000000000000000000000011013555400446020404 0ustar rootroot00000000000000stdnum.ie.vat ============= .. automodule:: stdnum.ie.vat :members: python-stdnum-1.13/docs/stdnum.ismn.rst0000644000000000000000000000010213555400446020165 0ustar rootroot00000000000000stdnum.ismn =========== .. automodule:: stdnum.ismn :members: python-stdnum-1.13/docs/stdnum.bg.pnf.rst0000644000000000000000000000011013555400446020370 0ustar rootroot00000000000000stdnum.bg.pnf ============= .. automodule:: stdnum.bg.pnf :members: python-stdnum-1.13/docs/stdnum.bitcoin.rst0000644000000000000000000000011213555400446020647 0ustar rootroot00000000000000stdnum.bitcoin ============== .. automodule:: stdnum.bitcoin :members:python-stdnum-1.13/docs/stdnum.us.rtn.rst0000644000000000000000000000011013555400446020447 0ustar rootroot00000000000000stdnum.us.rtn ============= .. automodule:: stdnum.us.rtn :members: python-stdnum-1.13/docs/stdnum.co.nit.rst0000644000000000000000000000010713555400446020416 0ustar rootroot00000000000000stdnum.co.nit ============= .. automodule:: stdnum.co.nit :members:python-stdnum-1.13/docs/stdnum.nl.bsn.rst0000644000000000000000000000011013555400446020410 0ustar rootroot00000000000000stdnum.nl.bsn ============= .. automodule:: stdnum.nl.bsn :members: python-stdnum-1.13/docs/stdnum.hr.oib.rst0000644000000000000000000000011013555400446020377 0ustar rootroot00000000000000stdnum.hr.oib ============= .. automodule:: stdnum.hr.oib :members: python-stdnum-1.13/docs/stdnum.il.idnr.rst0000644000000000000000000000011213555401015020550 0ustar rootroot00000000000000stdnum.il.idnr ============== .. automodule:: stdnum.il.idnr :members:python-stdnum-1.13/docs/stdnum.do.cedula.rst0000644000000000000000000000012013555400446021055 0ustar rootroot00000000000000stdnum.do.cedula ================ .. automodule:: stdnum.do.cedula :members:python-stdnum-1.13/docs/stdnum.verhoeff.rst0000644000000000000000000000011613555400446021030 0ustar rootroot00000000000000stdnum.verhoeff =============== .. automodule:: stdnum.verhoeff :members: python-stdnum-1.13/docs/stdnum.gt.nit.rst0000644000000000000000000000010713555401015020420 0ustar rootroot00000000000000stdnum.gt.nit ============= .. automodule:: stdnum.gt.nit :members:python-stdnum-1.13/docs/stdnum.pe.ruc.rst0000644000000000000000000000010713555401015020411 0ustar rootroot00000000000000stdnum.pe.ruc ============= .. automodule:: stdnum.pe.ruc :members:python-stdnum-1.13/docs/stdnum.es.ccc.rst0000644000000000000000000000010713555400446020362 0ustar rootroot00000000000000stdnum.es.ccc ============= .. automodule:: stdnum.es.ccc :members:python-stdnum-1.13/docs/stdnum.lt.asmens.rst0000644000000000000000000000012013555400446021123 0ustar rootroot00000000000000stdnum.lt.asmens ================ .. automodule:: stdnum.lt.asmens :members:python-stdnum-1.13/docs/stdnum.de.idnr.rst0000644000000000000000000000011213555400446020543 0ustar rootroot00000000000000stdnum.de.idnr ============== .. automodule:: stdnum.de.idnr :members:python-stdnum-1.13/docs/stdnum.at.uid.rst0000644000000000000000000000011013555400446020402 0ustar rootroot00000000000000stdnum.at.uid ============= .. automodule:: stdnum.at.uid :members: python-stdnum-1.13/docs/stdnum.pe.cui.rst0000644000000000000000000000010713555401015020400 0ustar rootroot00000000000000stdnum.pe.cui ============= .. automodule:: stdnum.pe.cui :members:python-stdnum-1.13/docs/stdnum.sm.coe.rst0000644000000000000000000000010713555400446020410 0ustar rootroot00000000000000stdnum.sm.coe ============= .. automodule:: stdnum.sm.coe :members:python-stdnum-1.13/docs/stdnum.luhn.rst0000644000000000000000000000010213555400446020165 0ustar rootroot00000000000000stdnum.luhn =========== .. automodule:: stdnum.luhn :members: python-stdnum-1.13/setup.cfg0000644000000000000000000000204113611057640016046 0ustar rootroot00000000000000[metadata] license_file = COPYING [sdist] owner = root group = root [bdist_wheel] universal = 1 [nosetests] with-doctest = true doctest-extension = doctest doctest-options = +IGNORE_EXCEPTION_DETAIL,+NORMALIZE_WHITESPACE with-coverage = true cover-branches = true cover-package = stdnum cover-inclusive = true cover-erase = true cover-html = true cover-html-dir = coverage cover-min-percentage = 100 [coverage:report] fail_under = 100 show_missing = true [build_sphinx] all_files = 1 [flake8] ignore = D205,D209,D400 # our docstrings are multi-line blobs D302 # We don't care about Unicode docstrings E501 # ignore long lines E731 # we occasionally use lambda F403,F405 # we use * imports Q001 # we use '''...''' multi-line strings Q003 # don't force "" strings to avoid escaping quotes T001 # we use print statements in the update scripts W504 # we put the binary operator on the preceding line max-complexity = 15 max-line-length = 120 [isort] lines_after_imports = 2 multi_line_output = 4 [egg_info] tag_build = tag_date = 0 python-stdnum-1.13/stdnum/0000755000000000000000000000000013611057636015547 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/ro/0000755000000000000000000000000013611057637016170 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/ro/__init__.py0000644000000000000000000000165713555400450020302 0ustar rootroot00000000000000# __init__.py - collection of Romanian numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Romanian numbers.""" # provide vat as an alias from stdnum.ro import cf as vat # noqa: F401 python-stdnum-1.13/stdnum/ro/cf.py0000644000000000000000000000514413555400450017126 0ustar rootroot00000000000000# cf.py - functions for handling Romanian CF (VAT) numbers # coding: utf-8 # # Copyright (C) 2012-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CF (Cod de înregistrare în scopuri de TVA, Romanian VAT number). The Romanian CF is used for VAT purposes and can be from 2 to 10 digits long. >>> validate('RO 185 472 90') '18547290' >>> validate('185 472 91') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('1630615123457') # personal code '1630615123457' """ from stdnum.exceptions import * from stdnum.ro import cnp from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('RO'): number = number[2:] return number def calc_check_digit(number): """Calculate the check digit for organisations. The number passed should not have the check digit included.""" weights = (7, 5, 3, 2, 1, 7, 5, 3, 2) number = (9 - len(number)) * '0' + number check = 10 * sum(w * int(n) for w, n in zip(weights, number)) return str(check % 11 % 10) def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number) or number[0] == '0': raise InvalidFormat() if len(number) == 13: # apparently a CNP can also be used (however, not all sources agree) cnp.validate(number) elif 2 <= len(number) <= 10: if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() else: raise InvalidLength() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ro/cnp.py0000644000000000000000000000662513555400450017323 0ustar rootroot00000000000000# cnp.py - functions for handling Romanian CNP numbers # coding: utf-8 # # Copyright (C) 2012-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CNP (Cod Numeric Personal, Romanian Numerical Personal Code). The CNP is a 13 digit number that includes information on the person's gender, birth date and country zone. >>> validate('1630615123457') '1630615123457' >>> validate('8800101221144') # invalid first digit Traceback (most recent call last): ... InvalidFormat: ... >>> validate('1632215123457') # invalid date Traceback (most recent call last): ... InvalidComponent: ... >>> validate('1630615123458') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... """ import datetime from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').upper().strip() def calc_check_digit(number): """Calculate the check digit for personal codes. The number passed should not have the check digit included.""" # note that this algorithm has not been confirmed by an independent source weights = (2, 7, 9, 1, 4, 6, 3, 5, 8, 2, 7, 9) check = sum(w * int(n) for w, n in zip(weights, number)) % 11 return '1' if check == 10 else str(check) def get_birth_date(number): """Split the date parts from the number and return the birth date.""" number = compact(number) centuries = { '1': 1900, '2': 1900, '3': 1800, '4': 1800, '5': 2000, '6': 2000, } # we assume 1900 for the others in order to try to construct a date year = int(number[1:3]) + centuries.get(number[0], 1900) month = int(number[3:5]) day = int(number[5:7]) try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) # first digit should be a known one (9=foreigner) if not isdigits(number) or number[0] not in '1234569': raise InvalidFormat() if len(number) != 13: raise InvalidLength() # check if birth date is valid get_birth_date(number) # TODO: check that the birth date is not in the future # number[7:9] is the county, we ignore it for now, just check last digit if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/luhn.py0000644000000000000000000000520513555400450017062 0ustar rootroot00000000000000# luhn.py - functions for performing the Luhn and Luhn mod N algorithms # # Copyright (C) 2010, 2011, 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """The Luhn and Luhn mod N algorithms. The Luhn algorithm is used to detect most accidental errors in various identification numbers. >>> validate('7894') Traceback (most recent call last): ... InvalidChecksum: ... >>> checksum('7894') 6 >>> calc_check_digit('7894') '9' >>> validate('78949') '78949' An alternative alphabet can be provided to use the Luhn mod N algorithm. The default alphabet is '0123456789'. >>> validate('1234', alphabet='0123456789abcdef') Traceback (most recent call last): ... InvalidChecksum: ... >>> checksum('1234', alphabet='0123456789abcdef') 14 """ from stdnum.exceptions import * def checksum(number, alphabet='0123456789'): """Calculate the Luhn checksum over the provided number. The checksum is returned as an int. Valid numbers should have a checksum of 0.""" n = len(alphabet) number = tuple(alphabet.index(i) for i in reversed(str(number))) return (sum(number[::2]) + sum(sum(divmod(i * 2, n)) for i in number[1::2])) % n def validate(number, alphabet='0123456789'): """Check if the number provided passes the Luhn checksum.""" if not bool(number): raise InvalidFormat() try: valid = checksum(number, alphabet) == 0 except Exception: raise InvalidFormat() if not valid: raise InvalidChecksum() return number def is_valid(number, alphabet='0123456789'): """Check if the number passes the Luhn checksum.""" try: return bool(validate(number, alphabet)) except ValidationError: return False def calc_check_digit(number, alphabet='0123456789'): """Calculate the extra digit that should be appended to the number to make it a valid number.""" ck = checksum(str(number) + alphabet[0], alphabet) return alphabet[-ck] python-stdnum-1.13/stdnum/dk/0000755000000000000000000000000013611057637016146 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/dk/cpr.py0000644000000000000000000000751513555400447017312 0ustar rootroot00000000000000# cpr.py - functions for handling Danish CPR numbers # # Copyright (C) 2012-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CPR (personnummer, the Danish citizen number). The CPR is the national number to identify Danish citizens and is stored in the Det Centrale Personregister (Civil Registration System). The number consists of 10 digits in the format DDMMYY-SSSS where the first part represents the birth date and the second a sequence number. The first digit of the sequence number indicates the century. The numbers used to validate using a checksum but since the sequence numbers ran out this was abandoned in 2007. It is also not possible to use the checksum only for numbers that have a birth date before that because the numbers are also assigned to immigrants. More information: * https://en.wikipedia.org/wiki/Personal_identification_number_(Denmark) * https://da.wikipedia.org/wiki/CPR-nummer * https://cpr.dk/ >>> validate('211062-5629') '2110625629' >>> checksum('2110625629') 0 >>> validate('511062-5629') # invalid date Traceback (most recent call last): ... InvalidComponent: ... >>> get_birth_date('2110620629') datetime.date(1962, 10, 21) >>> get_birth_date('2110525629') datetime.date(2052, 10, 21) >>> format('2110625629') '211062-5629' """ import datetime from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip() def checksum(number): """Calculate the checksum. Note that the checksum isn't actually used any more. Valid numbers used to have a checksum of 0.""" weights = (4, 3, 2, 7, 6, 5, 4, 3, 2, 1) return sum(w * int(n) for w, n in zip(weights, number)) % 11 def get_birth_date(number): """Split the date parts from the number and return the birth date.""" number = compact(number) day = int(number[0:2]) month = int(number[2:4]) year = int(number[4:6]) if number[6] in '5678' and year >= 58: year += 1800 elif number[6] in '0123' or (number[6] in '49' and year >= 37): year += 1900 else: year += 2000 try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def validate(number): """Check if the number provided is a valid CPR number. This checks the length, formatting, embedded date and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 10: raise InvalidLength() # check if birth date is valid get_birth_date(number) # TODO: check that the birth date is not in the future return number def is_valid(number): """Check if the number provided is a valid CPR number. This checks the length, formatting, embedded date and check digit.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join((number[:6], number[6:])) python-stdnum-1.13/stdnum/dk/__init__.py0000644000000000000000000000173213555400447020260 0ustar rootroot00000000000000# __init__.py - collection of Danish numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Danish numbers.""" # provide aliases from stdnum.dk import cpr as personalid # noqa: F401 from stdnum.dk import cvr as vat # noqa: F401 python-stdnum-1.13/stdnum/dk/cvr.py0000644000000000000000000000434413555400447017315 0ustar rootroot00000000000000# cvr.py - functions for handling Danish CVR numbers # # Copyright (C) 2012-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CVR (Momsregistreringsnummer, Danish VAT number). The CVR (Momsregistreringsnummer, VAT) is an 8 digit number with a straightforward check mechanism. >>> validate('DK 13585628') '13585628' >>> validate('DK 13585627') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -.,/:').upper().strip() if number.startswith('DK'): number = number[2:] return number def checksum(number): """Calculate the checksum.""" weights = (2, 7, 6, 5, 4, 3, 2, 1) return sum(w * int(n) for w, n in zip(weights, number)) % 11 def validate(number): """Check if the number provided is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number) or number[0] == '0': raise InvalidFormat() if len(number) != 8: raise InvalidLength() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid VAT number. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/casrn.py0000644000000000000000000000456113555400447017234 0ustar rootroot00000000000000# casrn.py - functions for handling CAS Registry Numbers # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CAS RN (Chemical Abstracts Service Registry Number). The CAS Registry Number is a unique identifier assigned by the Chemical Abstracts Service (CAS) to a chemical substance. More information: * https://en.wikipedia.org/wiki/CAS_Registry_Number >>> validate('87-86-5') '87-86-5' >>> validate('87-86-6') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation.""" number = clean(number, ' ').strip() if '-' not in number: number = '-'.join((number[:-3], number[-3:-1], number[-1:])) return number def calc_check_digit(number): """Calculate the check digit for the number. The passed number should not have the check digit included.""" number = number.replace('-', '') return str( sum((i + 1) * int(n) for i, n in enumerate(reversed(number))) % 10) def validate(number): """Check if the number provided is a valid CAS RN.""" number = compact(number) if not 7 <= len(number) <= 12: raise InvalidLength() if not isdigits(number[:-5]) or not isdigits(number[-4:-2]): raise InvalidFormat() if number[-2] != '-' or number[-5] != '-': raise InvalidFormat() if number[-1] != calc_check_digit(number[:-1]): raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid CAS RN.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/cz/0000755000000000000000000000000013611057636016163 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/cz/rc.py0000644000000000000000000000731213555400447017143 0ustar rootroot00000000000000# rc.py - functions for handling Czech birth numbers # coding: utf-8 # # Copyright (C) 2012-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """RČ (Rodné číslo, the Czech birth number). The birth number (RČ, Rodné číslo) is the Czech national identifier. The number can be 9 or 10 digits long. Numbers given out after January 1st 1954 should have 10 digits. The number includes the birth date of the person and their gender. This number is identical to the Slovak counterpart. >>> validate('710319/2745') '7103192745' >>> validate('991231123') '991231123' >>> validate('7103192746') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('1103492745') # invalid date Traceback (most recent call last): ... InvalidComponent: ... >>> validate('590312/123') # 9 digit number in 1959 Traceback (most recent call last): ... InvalidLength: ... >>> format('7103192745') '710319/2745' """ import datetime from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' /').upper().strip() def get_birth_date(number): """Split the date parts from the number and return the birth date.""" number = compact(number) year = 1900 + int(number[0:2]) # females have 50 added to the month value, 20 is added when the serial # overflows (since 2004) month = int(number[2:4]) % 50 % 20 day = int(number[4:6]) # 9 digit numbers were used until January 1st 1954 if len(number) == 9: if year >= 1980: year -= 100 if year > 1953: raise InvalidLength('No 9 digit birth numbers after 1953.') elif year < 1954: year += 100 try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def validate(number): """Check if the number is a valid birth number. This checks the length, formatting, embedded date and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) not in (9, 10): raise InvalidLength() # check if birth date is valid birth_date = get_birth_date(number) # TODO: check that the birth date is not in the future # check the check digit (10 digit numbers only) if len(number) == 10: check = int(number[:-1]) % 11 # before 1985 the checksum could be 0 or 10 if birth_date < datetime.date(1985, 1, 1): check = check % 10 if number[-1] != str(check): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid birth number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return number[:6] + '/' + number[6:] python-stdnum-1.13/stdnum/cz/__init__.py0000644000000000000000000000165213555400447020277 0ustar rootroot00000000000000# __init__.py - collection of Czech numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Czech numbers.""" # provide vat as an alias from stdnum.cz import dic as vat # noqa: F401 python-stdnum-1.13/stdnum/cz/dic.py0000644000000000000000000000662013555400447017277 0ustar rootroot00000000000000# dic.py - functions for handling Czech VAT numbers # coding: utf-8 # # Copyright (C) 2012-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """DIČ (Daňové identifikační číslo, Czech VAT number). The number is an 8, 9 or 10 digit code that includes a check digit and is used to uniquely identify taxpayers for VAT (DPH in Czech). The number can refer to legal entities (8 digit numbers), individuals with a RČ (the 9 or 10 digit Czech birth number) or individuals without a RČ (9 digit numbers that begin with a 6). >>> compact('CZ 25123891') '25123891' >>> validate('25123891') # legal entity '25123891' >>> validate('25123890') # incorrect check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('7103192745') # RČ '7103192745' >>> validate('640903926') # special case '640903926' """ from stdnum.cz import rc from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' /').upper().strip() if number.startswith('CZ'): number = number[2:] return number def calc_check_digit_legal(number): """Calculate the check digit for 8 digit legal entities. The number passed should not have the check digit included.""" check = (11 - sum((8 - i) * int(n) for i, n in enumerate(number))) % 11 return str((check or 1) % 10) def calc_check_digit_special(number): """Calculate the check digit for special cases. The number passed should not have the first and last digits included.""" check = sum((8 - i) * int(n) for i, n in enumerate(number)) % 11 return str((8 - (10 - check) % 11) % 10) def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) == 8: # legal entities if number.startswith('9'): raise InvalidComponent() if calc_check_digit_legal(number[:-1]) != number[-1]: raise InvalidChecksum() elif len(number) == 9 and number.startswith('6'): # special cases (skip first digit in calculation) if calc_check_digit_special(number[1:-1]) != number[-1]: raise InvalidChecksum() elif len(number) in (9, 10): # 9 or 10 digit individual rc.validate(number) else: raise InvalidLength() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/cu/0000755000000000000000000000000013611057636016156 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/cu/ni.py0000644000000000000000000000576613555400447017153 0ustar rootroot00000000000000# ni.py - functions for handling Cuban identity card numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NI (Número de identidad, Cuban identity card numbers). Número de carnet de identidad is the Cuban national identifier that is assigned to residents. The number consists of 11 digits and include the date of birth of the person and gender. More information: * http://www.postdata.club/issues/201609/es-usted-unico-en-cuba.html >>> validate('91021027775') '91021027775' >>> validate('9102102777A') Traceback (most recent call last): ... InvalidFormat: ... >>> get_birth_date('91021027775') datetime.date(1991, 2, 10) >>> get_gender('91021027775') 'F' >>> get_birth_date('72062506561') datetime.date(1972, 6, 25) >>> get_gender('72062506561') 'M' >>> get_birth_date('85020291531') datetime.date(1885, 2, 2) >>> get_birth_date('02023061531') Traceback (most recent call last): ... InvalidComponent: ... """ import datetime from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips surrounding whitespace and separation dash.""" return clean(number, ' ').strip() def get_birth_date(number): """Split the date parts from the number and return the date of birth.""" number = compact(number) year = int(number[0:2]) month = int(number[2:4]) day = int(number[4:6]) if number[6] == '9': year += 1800 elif '0' <= number[6] <= '5': year += 1900 else: year += 2000 try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def get_gender(number): """Get the gender (M/F) from the person's NI.""" number = compact(number) if int(number[9]) % 2: return 'F' else: return 'M' def validate(number): """Check if the number is a valid NI. This checks the length, formatting and check digit.""" number = compact(number) if len(number) != 11: raise InvalidLength() if not isdigits(number): raise InvalidFormat() get_birth_date(number) return number def is_valid(number): """Check if the number is a valid NI.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/cu/__init__.py0000644000000000000000000000154013555400447020266 0ustar rootroot00000000000000# __init__.py - collection of Cuban numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Cuban numbers.""" python-stdnum-1.13/stdnum/imsi.dat0000644000000000000000000115362013611053275017205 0ustar rootroot00000000000000# generated from various sources # https://en.wikipedia.org/wiki/Mobile_country_code 001 001 bands="any" brand="TEST" country="Test networks" operator="Test Network" status="Operational" 01 bands="any" brand="TEST" country="Test networks" operator="Test Network" status="Operational" 202 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Cosmote" cc="gr" country="Greece" operator="COSMOTE - Mobile Telecommunications S.A." status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Cosmote" cc="gr" country="Greece" operator="COSMOTE - Mobile Telecommunications S.A." status="Operational" 03 cc="gr" country="Greece" operator="OTE" 04 bands="GSM-R" cc="gr" country="Greece" operator="OSE" 05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Vodafone" cc="gr" country="Greece" operator="Vodafone Greece" status="Operational" 06 cc="gr" country="Greece" operator="Cosmoline" status="Not operational" 07 cc="gr" country="Greece" operator="AMD Telecom" 09 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Wind" cc="gr" country="Greece" operator="Wind Hellas Telecommunications S.A." status="Operational" 10 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Wind" cc="gr" country="Greece" operator="Wind Hellas Telecommunications S.A." status="Operational" 11 cc="gr" country="Greece" operator="interConnect" 12 bands="MVNO" cc="gr" country="Greece" operator="Yuboto" status="Operational" 13 cc="gr" country="Greece" operator="Compatel Limited" 14 bands="MVNO" brand="Cyta Hellas" cc="gr" country="Greece" operator="CYTA" status="Operational" 15 cc="gr" country="Greece" operator="BWS" 16 bands="MVNO" cc="gr" country="Greece" operator="Inter Telecom" status="Operational" 00-99 204 01 cc="nl" country="Netherlands" operator="RadioAccess Network Services" 02 bands="LTE 800 / LTE 2600" brand="Tele2" cc="nl" country="Netherlands" operator="Tele2 Nederland B.V." status="Operational" 03 bands="MVNE / PrivateGSM 1800" brand="Voiceworks" cc="nl" country="Netherlands" operator="Voiceworks B.V." status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Vodafone" cc="nl" country="Netherlands" operator="Vodafone Libertel B.V." status="Operational" 05 cc="nl" country="Netherlands" operator="Elephant Talk Communications Premium Rate Services" 06 bands="MVNO" brand="Vectone Mobile" cc="nl" country="Netherlands" operator="Mundio Mobile (Netherlands) Ltd" status="Operational" 07 bands="MVNE" cc="nl" country="Netherlands" operator="Teleena (MVNE)" status="Operational" 08 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="KPN" cc="nl" country="Netherlands" operator="KPN Mobile The Netherlands B.V." status="Operational" 09 bands="MVNO" brand="Lycamobile" cc="nl" country="Netherlands" operator="Lycamobile Netherlands Limited" status="Operational" 10 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="KPN" cc="nl" country="Netherlands" operator="KPN B.V." status="Operational" 11 cc="nl" country="Netherlands" operator="VoipIT B.V." 12 brand="Telfort" cc="nl" country="Netherlands" operator="KPN Mobile The Netherlands B.V." status="Operational" 13 cc="nl" country="Netherlands" operator="Unica Installatietechniek B.V." 14 cc="nl" country="Netherlands" operator="6GMOBILE B.V." status="Reserved" 15 bands="LTE 2600" brand="Ziggo" cc="nl" country="Netherlands" operator="Ziggo B.V." status="Operational" 16 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="T-Mobile (BEN)" cc="nl" country="Netherlands" operator="T-Mobile Netherlands B.V" status="Operational" 17 bands="MVNE" brand="Intercity Zakelijk" cc="nl" country="Netherlands" operator="Intercity Mobile Communications B.V." status="Operational" 18 bands="MVNO" brand="upc" cc="nl" country="Netherlands" operator="UPC Nederland B.V." status="Operational" 19 cc="nl" country="Netherlands" operator="Mixe Communication Solutions B.V." 20 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="T-Mobile" cc="nl" country="Netherlands" operator="T-Mobile Netherlands B.V" status="Operational" 21 bands="GSM-R 900" cc="nl" country="Netherlands" operator="ProRail B.V." status="Operational" 22 cc="nl" country="Netherlands" operator="Ministerie van Defensie" 23 bands="MVNE" cc="nl" country="Netherlands" operator="Wyless Nederland B.V." status="Operational" 24 cc="nl" country="Netherlands" operator="Private Mobility Nederland B.V." 25 bands="PrivateGSM 1800" cc="nl" country="Netherlands" operator="CapX B.V." status="Operational" 26 cc="nl" country="Netherlands" operator="SpeakUp B.V." 27 cc="nl" country="Netherlands" operator="Breezz Nederland B.V." 28 cc="nl" country="Netherlands" operator="Lancelot B.V." 29 cc="nl" country="Netherlands" operator="Private Mobile Ltd" 60 cc="nl" country="Netherlands" operator="Nextgen Mobile Ltd" 61 bands="MVNO" cc="nl" country="Netherlands" operator="BodyTrace Netherlands B.V." status="Operational" 62 bands="MVNO" brand="Voxbone" cc="nl" country="Netherlands" operator="Voxbone mobile" status="Operational" 64 cc="nl" country="Netherlands" operator="Zetacom B.V." 65 cc="nl" country="Netherlands" operator="AGMS Netherlands B.V." 66 bands="CDMA 450" cc="nl" country="Netherlands" operator="Utility Connect B.V." status="Operational" 67 bands="PrivateGSM 1800" cc="nl" country="Netherlands" operator="Koning en Hartman B.V." status="Operational" 68 cc="nl" country="Netherlands" operator="Roamware (Netherlands) B.V." 69 cc="nl" country="Netherlands" operator="KPN Mobile The Netherlands B.V." 00-99 206 00 brand="Proximus" cc="be" country="Belgium" operator="Belgacom Mobile" status="Not operational" 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Proximus" cc="be" country="Belgium" operator="Belgacom Mobile" status="Operational" 02 bands="GSM-R" cc="be" country="Belgium" operator="Infrabel" status="Operational" 05 bands="MVNO" brand="Telenet" cc="be" country="Belgium" operator="Telenet" status="Operational" 06 bands="MVNO" brand="Lycamobile" cc="be" country="Belgium" operator="Lycamobile sprl" status="Operational" 07 bands="MVNO" brand="Vectone Mobile" cc="be" country="Belgium" operator="Mundio Mobile Belgium nv" status="Reserved" 08 cc="be" country="Belgium" status="Not operational" 09 bands="MVNO" brand="Voxbone" cc="be" country="Belgium" operator="Voxbone mobile" status="Not operational" 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Orange Belgium" cc="be" country="Belgium" operator="Orange S.A." status="Operational" 15 cc="be" country="Belgium" operator="Elephant Talk Communications Schweiz GmbH" status="Not operational" 16 cc="be" country="Belgium" operator="NextGen Mobile Ltd." status="Not operational" 20 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Base" cc="be" country="Belgium" operator="Telenet" status="Operational" 25 bands="TD-LTE 2600" cc="be" country="Belgium" operator="Dense Air Belgium SPRL" 28 cc="be" country="Belgium" operator="BICS" 30 bands="MVNO" brand="Mobile Vikings" cc="be" country="Belgium" operator="Unleashed NV" status="Operational" 33 cc="be" country="Belgium" operator="Ericsson NV" 40 bands="MVNO" brand="JOIN" cc="be" country="Belgium" operator="JOIN Experience (Belgium)" status="Not operational" 50 bands="MVNO" cc="be" country="Belgium" operator="IP Nexia" status="Not operational" 00-99 208 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600" brand="Orange" cc="fr" country="France" operator="Orange S.A." status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="Orange" cc="fr" country="France" operator="Orange S.A." status="Operational" 03 bands="MVNO" brand="MobiquiThings" cc="fr" country="France" operator="MobiquiThings" status="Operational" 04 bands="MVNO" brand="Sisteer" cc="fr" country="France" operator="Societe d'ingenierie systeme telecom et reseaux" status="Operational" 05 bands="Satellite" cc="fr" country="France" operator="Globalstar Europe" status="Operational" 06 bands="Satellite" cc="fr" country="France" operator="Globalstar Europe" status="Operational" 07 bands="Satellite" cc="fr" country="France" operator="Globalstar Europe" status="Operational" 08 bands="MVNO" brand="SFR" cc="fr" country="France" operator="Altice" status="Operational" 09 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="SFR" cc="fr" country="France" operator="Altice" status="Operational" 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 LTE 2600" brand="SFR" cc="fr" country="France" operator="Altice" status="Operational" 11 bands="UMTS 2100" brand="SFR" cc="fr" country="France" operator="Altice" status="Operational" 12 bands="MVNO" brand="Truphone" cc="fr" country="France" operator="Truphone France" status="Operational" 13 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="SFR" cc="fr" country="France" operator="Altice" status="Operational" 14 bands="GSM-R" brand="SNCF Réseau" cc="fr" country="France" operator="SNCF Réseau" status="Operational" 15 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Free Mobile" cc="fr" country="France" operator="Iliad" status="Operational" 16 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Free Mobile" cc="fr" country="France" operator="Iliad" status="Operational" 17 brand="LEGOS" cc="fr" country="France" operator="Local Exchange Global Operation Services" 18 bands="MVNO" brand="Voxbone" cc="fr" country="France" operator="Voxbone mobile" status="Not operational" 19 bands="LTE" cc="fr" country="France" operator="Haute-Garonne numérique" status="Operational" 20 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 800 / LTE 1800 / LTE 2600" brand="Bouygues" cc="fr" country="France" operator="Bouygues Telecom" status="Operational" 21 bands="GSM 900 / GSM 1800 / UMTS 2100 / UMTS 900" brand="Bouygues" cc="fr" country="France" operator="Bouygues Telecom" 22 bands="MVNO" brand="Transatel Mobile" cc="fr" country="France" operator="Transatel" 23 bands="TD-LTE" cc="fr" country="France" operator="Syndicat mixte ouvert Charente Numérique" status="Operational" 24 bands="MVNO" brand="MobiquiThings" cc="fr" country="France" operator="MobiquiThings" status="Operational" 25 bands="MVNO" brand="LycaMobile" cc="fr" country="France" operator="LycaMobile" status="Operational" 26 bands="MVNO" brand="NRJ Mobile" cc="fr" country="France" operator="Euro-Information Telecom SAS" status="Operational" 27 bands="MVNO" cc="fr" country="France" operator="Coriolis Telecom" status="Operational" 28 cc="fr" country="France" operator="Airbus Defence and Space SAS" 29 bands="MVNO" cc="fr" country="France" operator="Cubic télécom France" status="Operational" 30 bands="MVNO" cc="fr" country="France" operator="Syma Mobile" status="Operational" 31 bands="MVNO" brand="Vectone Mobile" cc="fr" country="France" operator="Mundio Mobile" status="Operational" 32 brand="Orange" cc="fr" country="France" operator="Orange S.A." 33 bands="WiMAX" cc="fr" country="France" operator="Département des Pyrénées-Atlantiques" 34 bands="MVNO" cc="fr" country="France" operator="Cellhire France" status="Operational" 50 cc="fr" country="France" operator="EDF" 70 cc="fr" country="France" operator="Weaccess group" 86 cc="fr" country="France" operator="SEM@FOR77" 87 brand="RATP" cc="fr" country="France" operator="Régie autonome des transports parisiens" 88 bands="GSM 900 / GSM 1800" brand="Bouygues" cc="fr" country="France" operator="Bouygues Telecom" status="Operational" 89 cc="fr" country="France" operator="Fondation b-com" status="Not operational" 90 cc="fr" country="France" operator="Images & Réseaux" status="Not operational" 91 cc="fr" country="France" operator="Orange S.A." 92 bands="TD-LTE 2300 / LTE 2600" brand="Com4Innov" cc="fr" country="France" operator="Association Plate-forme Télécom" status="Not operational" 93 cc="fr" country="France" operator="Thales Communications & Security SAS" 94 cc="fr" country="France" operator="Halys" 95 cc="fr" country="France" operator="Orange S.A." 96 bands="LTE" cc="fr" country="France" operator="Région Bourgogne-Franche-Comté" status="Operational" 97 cc="fr" country="France" operator="Thales Communications & Security SAS" 98 cc="fr" country="France" operator="Société Air France" 00-99 212 10 bands="GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Office des Telephones" cc="mc" country="Monaco" operator="Monaco Telecom" status="Operational" 00-99 213 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Mobiland" cc="ad" country="Andorra" operator="Servei De Tele. DAndorra" status="Operational" 00-99 214 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="Vodafone" cc="es" country="Spain" operator="Vodafone Spain" status="Operational" 02 bands="TD-LTE 2600" brand="Altecom/Fibracat" cc="es" country="Spain" operator="Alta Tecnologia en Comunicacions SL" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Orange" cc="es" country="Spain" operator="Orange Espagne S.A.U" status="Operational" 04 bands="LTE 1800 / LTE 2100" brand="Yoigo" cc="es" country="Spain" operator="Xfera Moviles SA" status="Operational" 05 bands="MVNO" brand="Movistar" cc="es" country="Spain" operator="Telefónica Móviles España" status="Operational" 06 bands="MVNO" brand="Vodafone" cc="es" country="Spain" operator="Vodafone Spain" status="Operational" 07 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Movistar" cc="es" country="Spain" operator="Telefónica Móviles España" status="Operational" 08 bands="MVNO" brand="Euskaltel" cc="es" country="Spain" status="Operational" 09 bands="MVNO" brand="Orange" cc="es" country="Spain" operator="Orange Espagne S.A.U" status="Operational" 10 cc="es" country="Spain" operator="ZINNIA TELECOMUNICACIONES, S.L.U." 11 cc="es" country="Spain" operator="TELECOM CASTILLA-LA MANCHA, S.A." 12 cc="es" country="Spain" operator="SAC CONVERGENT AGGREGATION SERVICES, S.L.U." 13 bands="MVNO" cc="es" country="Spain" operator="SYMA MOBILE ESPAÑA, S.L." 14 cc="es" country="Spain" operator="Incotel Servicioz Avanzados SL" status="Not operational" 15 bands="MVNO" brand="BT" cc="es" country="Spain" operator="BT Group España Compañia de Servicios Globales de Telecomunicaciones S.A.U." status="Not operational" 16 bands="MVNO" brand="TeleCable" cc="es" country="Spain" operator="R Cable y Telecomunicaciones Galicia S.A." status="Operational" 17 bands="MVNO" brand="Móbil R" cc="es" country="Spain" operator="R Cable y Telecomunicaciones Galicia S.A." status="Operational" 18 bands="MVNO" brand="ONO" cc="es" country="Spain" operator="Vodafone Spain" status="Not operational" 19 bands="MVNO" brand="Simyo" cc="es" country="Spain" operator="Orange España Virtual Sl." status="Operational" 20 bands="MVNO" brand="Fonyou" cc="es" country="Spain" operator="Fonyou Telecom S.L." status="Not operational" 21 bands="MVNO" brand="Jazztel" cc="es" country="Spain" operator="Orange Espagne S.A.U." status="Operational" 22 bands="MVNO" brand="DIGI mobil" cc="es" country="Spain" operator="Best Spain Telecom" status="Operational" 23 cc="es" country="Spain" operator="Xfera Moviles S.A.U." 24 bands="MVNO" cc="es" country="Spain" operator="VODAFONE ESPAÑA, S.A.U." status="Operational" 25 bands="MVNO" brand="Lycamobile" cc="es" country="Spain" operator="LycaMobile S.L." status="Operational" 26 cc="es" country="Spain" operator="Lleida Networks Serveis Telemátics, SL" 27 bands="MVNO" brand="Truphone" cc="es" country="Spain" operator="SCN Truphone, S.L." status="Operational" 28 bands="TD-LTE 2600" brand="Murcia4G" cc="es" country="Spain" operator="Consorcio de Telecomunicaciones Avanzadas, S.A." status="Operational" 29 bands="TD-LTE 3500" cc="es" country="Spain" operator="Xfera Moviles S.A.U." status="Operational" 30 cc="es" country="Spain" operator="Compatel Limited" 31 cc="es" country="Spain" operator="Red Digital De Telecomunicaciones de las Islas Baleares, S.L." 32 bands="MVNO" brand="Tuenti" cc="es" country="Spain" operator="Telefónica Móviles España" status="Operational" 33 bands="WiMAX" cc="es" country="Spain" operator="Xfera Móviles, S.A.U." 34 bands="LTE 2600" cc="es" country="Spain" operator="Aire Networks del Mediterráneo, S.L.U." status="Operational" 35 bands="MVNO" cc="es" country="Spain" operator="INGENIUM OUTSOURCING SERVICES, S.L." 36 bands="MVNO" cc="es" country="Spain" operator="ALAI OPERADOR DE TELECOMUNICACIONES, S.L" 37 cc="es" country="Spain" operator="Vodafone Spain" status="Not operational" 38 cc="es" country="Spain" operator="Telefónica Móviles España, S.A.U." 51 bands="GSM-R" brand="ADIF" cc="es" country="Spain" operator="Administrador de Infraestructuras Ferroviarias" status="Operational" 00-99 216 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Telenor Hungary" cc="hu" country="Hungary" operator="Telenor Magyarország Zrt." status="Operational" 02 bands="LTE 450" cc="hu" country="Hungary" operator="MVM Net Ltd." status="Operational" 03 bands="LTE 1800 / TD-LTE 3700" brand="DIGI" cc="hu" country="Hungary" operator="DIGI Telecommunication Ltd." status="Operational" 04 cc="hu" country="Hungary" operator="Invitech ICT Services Ltd." status="Not operational" 30 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="T-Mobile" cc="hu" country="Hungary" operator="Magyar Telekom Plc" status="Operational" 70 bands="GSM 900 / GSM 1800 / UMTS 2100 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Vodafone" cc="hu" country="Hungary" operator="Vodafone Magyarország Zrt." status="Operational" 71 bands="MVNO" brand="upc" cc="hu" country="Hungary" operator="UPC Hungary Ltd." status="Operational" 99 bands="GSM-R 900" brand="MAV GSM-R" cc="hu" country="Hungary" operator="Magyar Államvasutak" status="Planned" 00-99 218 03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="HT-ERONET" cc="ba" country="Bosnia and Herzegovina" operator="Public Enterprise Croatian Telecom Ltd." status="Operational" 05 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="m:tel BiH" cc="ba" country="Bosnia and Herzegovina" operator="RS Telecommunications JSC Banja Luka" status="Operational" 90 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE" brand="BH Mobile" cc="ba" country="Bosnia and Herzegovina" operator="BH Telecom" status="Operational" 00-99 219 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="T-Mobile" cc="hr" country="Croatia" operator="T-Hrvatski Telekom" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Tele2" cc="hr" country="Croatia" operator="Tele2" status="Operational" 10 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="A1" cc="hr" country="Croatia" operator="A1 Hrvatska" status="Operational" 12 bands="MVNO" cc="hr" country="Croatia" operator="TELE FOCUS d.o.o." 00-99 220 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Telenor" cc="rs" country="Serbia" operator="Telenor Serbia" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Telenor" cc="rs" country="Serbia" operator="Telenor Montenegro" status="Not operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / TETRA" brand="mts" cc="rs" country="Serbia" operator="Telekom Srbija" status="Operational" 04 bands="GSM" brand="T-Mobile" cc="rs" country="Serbia" operator="T-Mobile Montenegro LLC" status="Not operational" 05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="VIP" cc="rs" country="Serbia" operator="VIP Mobile" status="Operational" 07 bands="CDMA 450" cc="rs" country="Serbia" operator="Orion Telekom" status="Operational" 09 bands="MVNO" brand="Vectone Mobile" cc="rs" country="Serbia" operator="MUNDIO MOBILE d.o.o." status="Not operational" 11 bands="MVNO" brand="GLOBALTEL" cc="rs" country="Serbia" operator="GLOBALTEL d.o.o." status="Operational" 00-99 221 01 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 1800" brand="Vala" cc="xk" country="Kosovo" operator="Telecom of Kosovo J.S.C." status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 1800" brand="IPKO" cc="xk" country="Kosovo" operator="IPKO" status="Operational" 06 bands="MVNO" brand="Z Mobile" cc="xk" country="Kosovo" operator="Dardaphone.Net LLC" status="Operational" 07 bands="MVNO" brand="D3 Mobile" cc="xk" country="Kosovo" operator="Dukagjini Telecommunications LLC" status="Operational" 00-99 222 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1500 / LTE 1800 / LTE 2600" brand="TIM" cc="it" country="Italy" operator="Telecom Italia S.p.A" status="Operational" 02 bands="Satellite (Globalstar)" brand="Elsacom" cc="it" country="Italy" status="Not operational" 04 brand="Intermatica" cc="it" country="Italy" 05 brand="Telespazio" cc="it" country="Italy" 06 bands="5G 3500" brand="Vodafone" cc="it" country="Italy" operator="Vodafone Italia S.p.A." status="Operational" 07 bands="MVNO" brand="Kena Mobile" cc="it" country="Italy" operator="Noverca" status="Operational" 08 bands="MVNO" brand="Fastweb" cc="it" country="Italy" operator="Fastweb S.p.A." status="Operational" 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1500 / LTE 1800 / LTE 2100 / LTE 2600" brand="Vodafone" cc="it" country="Italy" operator="Vodafone Italia S.p.A." status="Operational" 30 bands="GSM-R 900" brand="RFI" cc="it" country="Italy" operator="Rete Ferroviaria Italiana" status="Operational" 33 bands="MVNO" brand="Poste Mobile" cc="it" country="Italy" operator="Poste Mobile S.p.A." status="Operational" 34 bands="MVNO" brand="BT Italia" cc="it" country="Italy" operator="BT Italia" status="Operational" 35 bands="MVNO" brand="Lycamobile" cc="it" country="Italy" operator="Lycamobile" status="Operational" 36 bands="MVNO" brand="Digi Mobil" cc="it" country="Italy" operator="Digi Italy S.r.l." status="Operational" 37 brand="3 Italia" cc="it" country="Italy" operator="Wind Tre" 38 bands="TD-LTE 3500" brand="LINKEM" cc="it" country="Italy" operator="Linkem S.p.A." status="Operational" 39 brand="SMS Italia" cc="it" country="Italy" operator="SMS Italia S.r.l." 43 bands="5G 3500" brand="TIM" cc="it" country="Italy" operator="Telecom Italia S.p.A." status="Operational" 47 bands="TD-LTE 3500" brand="Tiscali" cc="it" country="Italy" operator="Tiscali S.p.A." status="Operational" 48 brand="TIM" cc="it" country="Italy" operator="Telecom Italia S.p.A." 49 bands="MVNO" brand="Vianova" cc="it" country="Italy" operator="Welcome Italia S.p.A." 50 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Iliad" cc="it" country="Italy" operator="Iliad Italia" status="Operational" 53 bands="MVNO" brand="COOP Voce" cc="it" country="Italy" operator="COOP Voce" status="Not Operational" 54 bands="MVNO" brand="Plintron" cc="it" country="Italy" status="Operational" 56 bands="MVNO" cc="it" country="Italy" operator="Mass Response GMBH" status="Not operational" 77 bands="UMTS 2100" brand="IPSE 2000" cc="it" country="Italy" status="Not operational" 88 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Wind" cc="it" country="Italy" operator="Wind Tre" status="Operational" 98 bands="GSM 900" brand="BLU" cc="it" country="Italy" operator="BLU S.p.A." status="Not operational" 99 bands="UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="3 Italia" cc="it" country="Italy" operator="Wind Tre" status="Operational" 00-99 226 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / TD-LTE 2600 / 5G 3500" brand="Vodafone" cc="ro" country="Romania" operator="Vodafone România" status="Operational" 02 bands="CDMA 420" brand="Clicknet Mobile" cc="ro" country="Romania" operator="Telekom Romania" status="Not operational" 03 bands="GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2600" brand="Telekom" cc="ro" country="Romania" operator="Telekom Romania" status="Operational" 04 bands="CDMA 450" brand="Cosmote/Zapp" cc="ro" country="Romania" operator="Telekom Romania" status="Not operational" 05 bands="UMTS 900 / UMTS 2100 / LTE 900 / LTE 2100 / TD-LTE 2600 / 5G 3500" brand="Digi.Mobil" cc="ro" country="Romania" operator="RCS&RDS" status="Operational" 06 bands="UMTS 900 / UMTS 2100" brand="Telekom/Zapp" cc="ro" country="Romania" operator="Telekom Romania" status="Operational" 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Orange" cc="ro" country="Romania" operator="Orange România" status="Operational" 11 bands="MVNO" cc="ro" country="Romania" operator="Enigma-System" 15 bands="WiMAX / TD-LTE 2600" brand="Idilis" cc="ro" country="Romania" operator="Idilis" status="Operational" 16 bands="MVNO" brand="Lycamobile" cc="ro" country="Romania" operator="Lycamobile Romania" status="Operational" 00-99 228 01 bands="GSM 900 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="Swisscom" cc="ch" country="Switzerland" operator="Swisscom AG" status="Operational" 02 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="Sunrise" cc="ch" country="Switzerland" operator="Sunrise Communications AG" status="Operational" 03 bands="GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Salt" cc="ch" country="Switzerland" operator="Salt Mobile SA" status="Operational" 05 cc="ch" country="Switzerland" operator="Comfone AG" status="Not operational" 06 bands="GSM-R 900" brand="SBB-CFF-FFS" cc="ch" country="Switzerland" operator="SBB AG" status="Operational" 07 bands="GSM 1800" brand="IN&Phone" cc="ch" country="Switzerland" operator="IN&Phone SA" status="Not operational" 08 bands="GSM 1800" brand="Tele4u" cc="ch" country="Switzerland" operator="TelCommunication Services AG" status="Operational" 09 cc="ch" country="Switzerland" operator="Comfone AG" 10 cc="ch" country="Switzerland" operator="Stadt Polizei Zürich" status="Operational" 11 cc="ch" country="Switzerland" operator="Swisscom Broadcast AG" 12 brand="Sunrise" cc="ch" country="Switzerland" operator="Sunrise Communications AG" status="Not operational" 50 bands="UMTS 2100" cc="ch" country="Switzerland" operator="3G Mobile AG" status="Not operational" 51 bands="MVNO" cc="ch" country="Switzerland" operator="relario AG" status="Operational" 52 brand="Barablu" cc="ch" country="Switzerland" operator="Barablu" status="Not operational" 53 bands="MVNO" brand="upc cablecom" cc="ch" country="Switzerland" operator="UPC Schweiz GmbH" status="Operational" 54 bands="MVNO" brand="Lycamobile" cc="ch" country="Switzerland" operator="Lycamobile AG" status="Operational" 55 cc="ch" country="Switzerland" operator="WeMobile SA" 56 cc="ch" country="Switzerland" operator="SMSRelay AG" status="Not operational" 57 cc="ch" country="Switzerland" operator="Mitto AG" 58 bands="MVNO" brand="beeone" cc="ch" country="Switzerland" operator="Beeone Communications SA" status="Operational" 59 bands="MVNO" brand="Vectone" cc="ch" country="Switzerland" operator="Mundio Mobile Limited" status="Not operational" 60 brand="Sunrise" cc="ch" country="Switzerland" operator="Sunrise Communications AG" 61 cc="ch" country="Switzerland" operator="Compatel Ltd." 62 bands="MVNO" cc="ch" country="Switzerland" operator="Telecom26 AG" status="Operational" 63 brand="FTS" cc="ch" country="Switzerland" operator="Fink Telecom Services" status="Operational" 64 bands="MVNO" cc="ch" country="Switzerland" operator="Nth AG" status="Operational" 99 cc="ch" country="Switzerland" operator="Swisscom Broadcast AG" status="Not operational" 00-99 230 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="T-Mobile" cc="cz" country="Czech Republic" operator="T-Mobile Czech Republic" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="O2" cc="cz" country="Czech Republic" operator="O2 Czech Republic" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="Vodafone" cc="cz" country="Czech Republic" operator="Vodafone Czech Republic" status="Operational" 04 bands="MVNO / LTE 410" cc="cz" country="Czech Republic" operator="Nordic Telecom s.r.o." status="Operational" 05 bands="TD-LTE 3700" cc="cz" country="Czech Republic" operator="PODA a.s." 06 bands="TD-LTE 3700" cc="cz" country="Czech Republic" operator="Nordic Telecom 5G a.s." status="Operational" 07 bands="MVNO" cc="cz" country="Czech Republic" operator="ASTELNET, s.r.o." status="Not operational" 08 cc="cz" country="Czech Republic" operator="Compatel s.r.o." 09 bands="MVNO" brand="Vectone Mobile" cc="cz" country="Czech Republic" operator="Mundio Distribution Czech Republic s.r.o." status="Not operational" 98 bands="GSM-R 900" cc="cz" country="Czech Republic" operator="Správa železniční dopravní cesty, s.o." status="Operational" 99 bands="GSM 1800" brand="Vodafone" cc="cz" country="Czech Republic" operator="Vodafone Czech Republic" status="Not operational" 00-99 231 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600" brand="Orange" cc="sk" country="Slovakia" operator="Orange Slovensko" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / TD-LTE 3700" brand="Telekom" cc="sk" country="Slovakia" operator="Slovak Telekom" status="Operational" 03 bands="LTE 1800 / TD-LTE 3500 / TD-LTE 3700" brand="4ka" cc="sk" country="Slovakia" operator="SWAN Mobile, a.s." status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Telekom" cc="sk" country="Slovakia" operator="Slovak Telekom" status="Operational" 05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="Orange" cc="sk" country="Slovakia" operator="Orange Slovensko" status="Operational" 06 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / TD-LTE 3500 / TD-LTE 3700" brand="O2" cc="sk" country="Slovakia" operator="O2 Slovakia" status="Operational" 07 cc="sk" country="Slovakia" operator="Towercom, a. s." 08 cc="sk" country="Slovakia" operator="IPfon, s.r.o." 09 cc="sk" country="Slovakia" operator="DSI DATA, a.s." 10 cc="sk" country="Slovakia" operator="HMZ RÁDIOKOMUNIKÁCIE, spol. s r.o." 99 bands="GSM-R" brand="ŽSR" cc="sk" country="Slovakia" operator="Železnice Slovenskej Republiky" status="Operational" 00-99 232 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="A1.net" cc="at" country="Austria" operator="A1 Telekom Austria" status="Operational" 02 cc="at" country="Austria" operator="A1 Telekom Austria" status="Reserved" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="Magenta" cc="at" country="Austria" operator="T-Mobile Austria GmbH" status="Operational" 04 brand="Magenta" cc="at" country="Austria" operator="T-Mobile Austria GmbH" 05 bands="GSM 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="3" cc="at" country="Austria" operator="Hutchison Drei Austria" status="Operational" 06 brand="Orange AT" cc="at" country="Austria" operator="Orange Austria GmbH" status="Not operational" 07 bands="MVNO" brand="tele.ring" cc="at" country="Austria" operator="T-Mobile Austria" status="Operational" 08 bands="MVNO" brand="Lycamobile" cc="at" country="Austria" operator="Lycamobile Austria" status="Operational" 09 bands="MVNO" brand="Tele2Mobil" cc="at" country="Austria" operator="A1 Telekom Austria" status="Operational" 10 bands="UMTS 2100 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="3" cc="at" country="Austria" operator="Hutchison Drei Austria" status="Operational" 11 bands="MVNO" brand="bob" cc="at" country="Austria" operator="A1 Telekom Austria" status="Operational" 12 bands="MVNO" brand="yesss!" cc="at" country="Austria" operator="A1 Telekom Austria" status="Operational" 13 bands="MVNO" brand="Magenta" cc="at" country="Austria" operator="T-Mobile Austria GmbH" status="Operational" 14 cc="at" country="Austria" operator="Hutchison Drei Austria" status="Reserved" 15 bands="MVNO" brand="Vectone Mobile" cc="at" country="Austria" operator="Mundio Mobile Austria" status="Operational" 16 cc="at" country="Austria" operator="Hutchison Drei Austria" status="Reserved" 17 cc="at" country="Austria" operator="MASS Response Service GmbH" 18 bands="MVNO" cc="at" country="Austria" operator="smartspace GmbH" 19 cc="at" country="Austria" operator="Hutchison Drei Austria" 20 bands="MVNO" brand="m:tel" cc="at" country="Austria" operator="MTEL Austrija GmbH" status="Operational" 21 cc="at" country="Austria" operator="Salzburg AG für Energie, Verkehr und Telekommunikation" 22 bands="MVNO" cc="at" country="Austria" operator="Plintron Austria Limited" 23 brand="Magenta" cc="at" country="Austria" operator="T-Mobile Austria GmbH" 24 cc="at" country="Austria" operator="Smartel Services GmbH" 91 bands="GSM-R" brand="GSM-R A" cc="at" country="Austria" operator="ÖBB" status="Operational" 92 bands="CDMA450 / LTE450" brand="ArgoNET" cc="at" country="Austria" operator="ArgoNET GmbH" status="Operational" 00-99 234 00 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="BT" cc="gb" country="United Kingdom" operator="BT Group" status="Operational" 01 bands="MVNO" brand="Vectone Mobile" cc="gb" country="United Kingdom" operator="Mundio Mobile Limited" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / 5G 3500" brand="O2 (UK)" cc="gb" country="United Kingdom" operator="Telefónica Europe" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Airtel-Vodafone" cc="gb" country="United Kingdom" operator="Jersey Airtel Ltd" status="Operational" 04 bands="GSM 1800" brand="FMS Solutions Ltd" cc="gb" country="United Kingdom" operator="FMS Solutions Ltd" status="Reserved" 05 cc="gb" country="United Kingdom" operator="COLT Mobile Telecommunications Limited" status="Not operational" 06 cc="gb" country="United Kingdom" operator="Internet Computer Bureau Limited" status="Not operational" 07 bands="GSM 1800" brand="Vodafone UK" cc="gb" country="United Kingdom" operator="Vodafone" status="Not operational" 08 bands="MVNO" brand="BT OnePhone" cc="gb" country="United Kingdom" operator="BT OnePhone (UK) Ltd" status="Operational" 09 cc="gb" country="United Kingdom" operator="Tismi BV" 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / 5G 3500" brand="O2 (UK)" cc="gb" country="United Kingdom" operator="Telefónica Europe" status="Operational" 11 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2300 / 5G 3500" brand="O2 (UK)" cc="gb" country="United Kingdom" operator="Telefónica Europe" status="Operational" 12 bands="GSM-R" brand="Railtrack" cc="gb" country="United Kingdom" operator="Network Rail Infrastructure Ltd" status="Operational" 13 bands="GSM-R" brand="Railtrack" cc="gb" country="United Kingdom" operator="Network Rail Infrastructure Ltd" status="Operational" 14 bands="GSM 1800" brand="Hay Systems Ltd" cc="gb" country="United Kingdom" operator="Hay Systems Ltd" status="Operational" 15 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600 / 5G 3500" brand="Vodafone UK" cc="gb" country="United Kingdom" operator="Vodafone" status="Operational" 16 bands="MVNO" brand="Talk Talk" cc="gb" country="United Kingdom" operator="TalkTalk Communications Limited" status="Operational" 17 cc="gb" country="United Kingdom" operator="FleXtel Limited" status="Not operational" 18 bands="MVNO" brand="Cloud9" cc="gb" country="United Kingdom" operator="Cloud9" status="Operational" 19 bands="GSM 1800" brand="Private Mobile Networks PMN" cc="gb" country="United Kingdom" operator="Teleware plc" status="Operational" 20 bands="UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / 5G 3500" brand="3" cc="gb" country="United Kingdom" operator="Hutchison 3G UK Ltd" status="Operational" 21 cc="gb" country="United Kingdom" operator="LogicStar Ltd" status="Not operational" 22 cc="gb" country="United Kingdom" operator="Telesign Mobile Limited" 23 cc="gb" country="United Kingdom" operator="Icron Network Limited" 24 bands="MVNO" brand="Greenfone" cc="gb" country="United Kingdom" operator="Stour Marine Limited" status="Operational" 25 bands="MVNO" brand="Truphone" cc="gb" country="United Kingdom" operator="Truphone" status="Operational" 26 bands="MVNO" brand="Lycamobile" cc="gb" country="United Kingdom" operator="Lycamobile UK Limited" status="Operational" 27 bands="MVNE" cc="gb" country="United Kingdom" operator="Teleena UK Limited" status="Operational" 28 bands="MVNO" cc="gb" country="United Kingdom" operator="Marathon Telecom Limited" status="Operational" 29 brand="aql" cc="gb" country="United Kingdom" operator="(aq) Limited" 30 bands="GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="T-Mobile UK" cc="gb" country="United Kingdom" operator="EE" status="Operational" 31 bands="GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="T-Mobile UK" cc="gb" country="United Kingdom" operator="EE" status="Allocated" 32 bands="GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="T-Mobile UK" cc="gb" country="United Kingdom" operator="EE" status="Allocated" 33 bands="GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Orange" cc="gb" country="United Kingdom" operator="EE" status="Operational" 34 bands="GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Orange" cc="gb" country="United Kingdom" operator="EE" status="Operational" 35 cc="gb" country="United Kingdom" operator="JSC Ingenium (UK) Limited" status="Not operational" 36 bands="GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2100" brand="Sure Mobile" cc="gb" country="United Kingdom" operator="Sure Isle of Man Ltd." status="Operational" 37 cc="gb" country="United Kingdom" operator="Synectiv Ltd" 38 brand="Virgin Mobile" cc="gb" country="United Kingdom" operator="Virgin Media" 39 cc="gb" country="United Kingdom" operator="Gamma Telecom Holdings Ltd." 50 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="JT" cc="gb" country="United Kingdom" operator="JT Group Limited" status="Operational" 51 bands="TD-LTE 3500 / TD-LTE 3700" brand="Relish" cc="gb" country="United Kingdom" operator="UK Broadband Limited" status="Operational" 52 cc="gb" country="United Kingdom" operator="Shyam Telecom UK Ltd" 53 bands="MVNO" cc="gb" country="United Kingdom" operator="Limitless Mobile Ltd" status="Operational" 54 bands="MVNO" brand="iD Mobile" cc="gb" country="United Kingdom" operator="The Carphone Warehouse Limited" status="Operational" 55 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Sure Mobile" cc="gb" country="United Kingdom" operator="Sure (Guernsey) Limited" status="Operational" 56 cc="gb" country="United Kingdom" operator="CESG" 57 cc="gb" country="United Kingdom" operator="Sky UK Limited" 58 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Pronto GSM" cc="gb" country="United Kingdom" operator="Manx Telecom" status="Operational" 59 bands="MVNO" cc="gb" country="United Kingdom" operator="Limitless Mobile Ltd" status="Operational" 70 cc="gb" country="United Kingdom" operator="AMSUK Ltd." status="Not operational" 71 cc="gb" country="United Kingdom" operator="Home Office" 72 bands="MVNO" brand="Hanhaa Mobile" cc="gb" country="United Kingdom" operator="Hanhaa Limited" status="Operational" 73 bands="TD-LTE 3500" cc="gb" country="United Kingdom" operator="Bluewave Communications Ltd" status="Operational" 76 bands="GSM 900 / GSM 1800" brand="BT" cc="gb" country="United Kingdom" operator="BT Group" status="Operational" 78 bands="TETRA" brand="Airwave" cc="gb" country="United Kingdom" operator="Airwave Solutions Ltd" status="Operational" 86 cc="gb" country="United Kingdom" operator="EE" 00-99 235 01 cc="gb" country="United Kingdom" operator="EE" 02 cc="gb" country="United Kingdom" operator="EE" 03 brand="Relish" cc="gb" country="United Kingdom" operator="UK Broadband Limited" 04 cc="gb" country="United Kingdom" operator="University of Strathclyde" 06 cc="gb" country="United Kingdom" operator="University of Strathclyde" 07 cc="gb" country="United Kingdom" operator="University of Strathclyde" 77 brand="BT" cc="gb" country="United Kingdom" operator="BT Group" 88 bands="LTE" cc="gb" country="United Kingdom" operator="Telet Research (N.I.) Limited" 91 brand="Vodafone UK" cc="gb" country="United Kingdom" operator="Vodafone United Kingdom" 92 brand="Vodafone UK" cc="gb" country="United Kingdom" operator="Vodafone United Kingdom" status="Not operational" 94 cc="gb" country="United Kingdom" operator="Hutchison 3G UK Ltd" 95 bands="GSM-R" cc="gb" country="United Kingdom" operator="Network Rail Infrastructure Limited" status="Test Network" 00-99 238 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="TDC" cc="dk" country="Denmark" operator="TDC A/S" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Telenor" cc="dk" country="Denmark" operator="Telenor Denmark" status="Operational" 03 cc="dk" country="Denmark" operator="Syniverse Technologies" 04 cc="dk" country="Denmark" operator="NextGen Mobile Ltd T/A CardBoardFish" status="Not operational" 05 bands="TETRA" brand="TetraNet" cc="dk" country="Denmark" operator="Dansk Beredskabskommunikation A/S" status="Operational" 06 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="3" cc="dk" country="Denmark" operator="Hi3G Denmark ApS" status="Operational" 07 bands="MVNO" brand="Vectone Mobile" cc="dk" country="Denmark" operator="Mundio Mobile (Denmark) Limited" status="Not operational" 08 bands="MVNO" brand="Voxbone" cc="dk" country="Denmark" operator="Voxbone mobile" status="Operational" 09 bands="TETRA" brand="SINE" cc="dk" country="Denmark" operator="Dansk Beredskabskommunikation A/S" status="Operational" 10 brand="TDC" cc="dk" country="Denmark" operator="TDC A/S" status="Operational" 11 bands="TETRA" brand="SINE" cc="dk" country="Denmark" operator="Dansk Beredskabskommunikation A/S" status="Operational" 12 bands="MVNO" brand="Lycamobile" cc="dk" country="Denmark" operator="Lycamobile Denmark Ltd" status="Operational" 13 cc="dk" country="Denmark" operator="Compatel Limited" 14 cc="dk" country="Denmark" operator="Monty UK Global Limited" 15 bands="LTE 450" brand="Net 1" cc="dk" country="Denmark" operator="Ice Danmark ApS" status="Operational" 16 cc="dk" country="Denmark" operator="Tismi B.V." 17 cc="dk" country="Denmark" operator="Gotanet AB" 18 cc="dk" country="Denmark" operator="Cubic Telecom" 20 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Telia" cc="dk" country="Denmark" operator="Telia" status="Operational" 23 bands="GSM-R" brand="GSM-R DK" cc="dk" country="Denmark" operator="Banedanmark" status="Operational" 25 bands="MVNO" brand="Viahub" cc="dk" country="Denmark" operator="SMS Provider Corp." 28 cc="dk" country="Denmark" operator="LINK Mobile A/S" 30 cc="dk" country="Denmark" operator="Interactive digital media GmbH" 40 cc="dk" country="Denmark" operator="Ericsson Danmark A/S" status="Not operational" 42 cc="dk" country="Denmark" operator="Greenwave Mobile IoT ApS" 43 cc="dk" country="Denmark" operator="MobiWeb Limited" status="Not operational" 66 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" cc="dk" country="Denmark" operator="TT-Netværket P/S" status="Operational" 73 cc="dk" country="Denmark" operator="Onomondo ApS" 77 bands="GSM 900 / GSM 1800" brand="Telenor" cc="dk" country="Denmark" operator="Telenor Denmark" status="Operational" 96 brand="Telia" cc="dk" country="Denmark" operator="Telia Danmark" 00-99 240 01 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2600" brand="Telia" cc="se" country="Sweden" operator="Telia Sverige AB" status="Operational" 02 bands="UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600 / TD-LTE 2600" brand="3" cc="se" country="Sweden" operator="HI3G Access AB" status="Operational" 03 bands="LTE 450" brand="Net 1" cc="se" country="Sweden" operator="Netett Sverige AB" status="Operational" 04 bands="UMTS 2100" brand="SWEDEN" cc="se" country="Sweden" operator="3G Infrastructure Services AB" status="Operational" 05 bands="UMTS 2100" brand="Sweden 3G" cc="se" country="Sweden" operator="Svenska UMTS-Nät AB" status="Operational" 06 bands="UMTS 2100" brand="Telenor" cc="se" country="Sweden" operator="Telenor Sverige AB" status="Operational" 07 bands="UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600" brand="Tele2" cc="se" country="Sweden" operator="Tele2 Sverige AB" status="Operational" 08 bands="GSM 900 / GSM 1800" brand="Telenor" cc="se" country="Sweden" operator="Telenor Sverige AB" status="Not operational" 09 brand="Com4" cc="se" country="Sweden" operator="Communication for Devices in Sweden AB" 10 brand="Spring Mobil" cc="se" country="Sweden" operator="Tele2 Sverige AB" status="Operational" 11 cc="se" country="Sweden" operator="ComHem AB" 12 bands="MVNO" brand="Lycamobile" cc="se" country="Sweden" operator="Lycamobile Sweden Limited" status="Operational" 13 cc="se" country="Sweden" operator="Alltele Företag Sverige AB" 14 cc="se" country="Sweden" operator="Tele2 Business AB" 15 cc="se" country="Sweden" operator="Sierra Wireless Sweden AB" 16 bands="GSM" cc="se" country="Sweden" operator="42 Telecom AB" status="Operational" 17 bands="MVNO" brand="Gotanet" cc="se" country="Sweden" operator="Götalandsnätet AB" status="Operational" 18 cc="se" country="Sweden" operator="Generic Mobile Systems Sweden AB" 19 bands="MVNO" brand="Vectone Mobile" cc="se" country="Sweden" operator="Mundio Mobile (Sweden) Limited" status="Operational" 20 bands="GSM" cc="se" country="Sweden" operator="Wireless Maingate Messaging Services AB" status="Operational" 21 bands="GSM-R 900" brand="MobiSir" cc="se" country="Sweden" operator="Trafikverket ICT" status="Operational" 22 cc="se" country="Sweden" operator="EuTel AB" 23 cc="se" country="Sweden" operator="Infobip Limited (UK)" status="Not operational" 24 bands="GSM 900 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600" brand="Sweden 2G" cc="se" country="Sweden" operator="Net4Mobility HB" status="Operational" 25 cc="se" country="Sweden" operator="Monty UK Global Ltd" 26 cc="se" country="Sweden" operator="Twilio Sweden AB" 27 bands="MVNO" cc="se" country="Sweden" operator="GlobeTouch AB" status="Operational" 28 cc="se" country="Sweden" operator="LINK Mobile A/S" 29 cc="se" country="Sweden" operator="Mercury International Carrier Services" 30 cc="se" country="Sweden" operator="NextGen Mobile Ltd." status="Not operational" 31 cc="se" country="Sweden" operator="RebTel Network AB" 32 cc="se" country="Sweden" operator="Compatel Limited" 33 cc="se" country="Sweden" operator="Mobile Arts AB" 34 cc="se" country="Sweden" operator="Trafikverket centralfunktion IT" 35 cc="se" country="Sweden" operator="42 Telecom LTD" 36 cc="se" country="Sweden" operator="interactive digital media GmbH" 37 cc="se" country="Sweden" operator="CLX Networks AB" status="Operational" 38 bands="MVNO" brand="Voxbone" cc="se" country="Sweden" operator="Voxbone mobile" status="Operational" 39 cc="se" country="Sweden" operator="Borderlight AB" 40 cc="se" country="Sweden" operator="Netmore Group AB" 41 cc="se" country="Sweden" operator="Shyam Telecom UK Ltd." status="Not operational" 42 cc="se" country="Sweden" operator="Telenor Connexion AB" 43 cc="se" country="Sweden" operator="MobiWeb Ltd." 44 cc="se" country="Sweden" operator="Telenabler AB" 45 cc="se" country="Sweden" operator="Spirius AB" 46 bands="MVNO" brand="Viahub" cc="se" country="Sweden" operator="SMS Provider Corp." 47 cc="se" country="Sweden" operator="Viatel Sweden AB" 48 bands="MVNO" cc="se" country="Sweden" operator="Tismi BV" 60 cc="se" country="Sweden" operator="Telefonaktiebolaget LM Ericsson" 61 cc="se" country="Sweden" operator="MessageBird B.V." 63 brand="FTS" cc="se" country="Sweden" operator="Fink Telecom Services" status="Operational" 00-99 242 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Telenor" cc="no" country="Norway" operator="Telenor Norge AS" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Telia" cc="no" country="Norway" operator="Telia Norge AS" status="Operational" 03 cc="no" country="Norway" operator="Televerket AS" status="Not operational" 04 bands="MVNO" brand="Tele2" cc="no" country="Norway" operator="Tele2 (Mobile Norway AS)" status="Not operational" 05 bands="GSM 900 / UMTS 900 / UMTS 2100" brand="Telia" cc="no" country="Norway" operator="Telia Norge AS" status="Not operational" 06 bands="LTE 450" brand="ice" cc="no" country="Norway" operator="ICE Norge AS" status="Operational" 07 bands="MVNO" brand="Phonero" cc="no" country="Norway" operator="Phonero AS" status="Not operational" 08 bands="MVNO" brand="Telia" cc="no" country="Norway" operator="Telia Norge AS" status="Operational" 09 bands="MVNO" brand="Com4" cc="no" country="Norway" operator="Com4 AS" status="Operational" 10 cc="no" country="Norway" operator="Norwegian Communications Authority" 11 bands="Test" brand="SystemNet" cc="no" country="Norway" operator="SystemNet AS" 12 brand="Telenor" cc="no" country="Norway" operator="Telenor Norge AS" 14 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="ice" cc="no" country="Norway" operator="ICE Communication Norge AS" status="Operational" 15 bands="MVNO" cc="no" country="Norway" operator="eRate Norway AS" status="Operational" 20 bands="GSM-R 900" cc="no" country="Norway" operator="Jernbaneverket AS" status="Operational" 21 bands="GSM-R 900" cc="no" country="Norway" operator="Jernbaneverket AS" status="Operational" 22 cc="no" country="Norway" operator="Altibox AS" status="Not operational" 23 bands="MVNO" brand="Lycamobile" cc="no" country="Norway" operator="Lyca Mobile Ltd" status="Operational" 24 cc="no" country="Norway" operator="Mobile Norway AS" status="Not operational" 25 cc="no" country="Norway" operator="Forsvarets kompetansesenter KKIS" 90 cc="no" country="Norway" operator="Nokia Solutions and Networks Norge AS" 99 bands="LTE 800 / LTE 1800" cc="no" country="Norway" operator="TampNet AS" status="Operational" 00-99 244 03 bands="GSM 1800" brand="DNA" cc="fi" country="Finland" operator="DNA Oy" status="Operational" 04 brand="DNA" cc="fi" country="Finland" operator="DNA Oy" 05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Elisa" cc="fi" country="Finland" operator="Elisa Oyj" status="Operational" 06 brand="Elisa" cc="fi" country="Finland" operator="Elisa Oyj" status="Not operational" 07 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600 / TD-LTE 2600" brand="Nokia" cc="fi" country="Finland" operator="Nokia Solutions and Networks Oy" status="Operational" 08 bands="GSM 1800 / UMTS 2100" brand="Nokia" cc="fi" country="Finland" operator="Nokia Solutions and Networks Oy" 09 bands="GSM 900" cc="fi" country="Finland" operator="Nokia Solutions and Networks Oy" 10 cc="fi" country="Finland" operator="Traficom" 11 cc="fi" country="Finland" operator="Traficom" 12 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="DNA" cc="fi" country="Finland" operator="DNA Oy" status="Operational" 13 bands="GSM 900 / GSM 1800" brand="DNA" cc="fi" country="Finland" operator="DNA Oy" status="Not operational" 14 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Ålcom" cc="fi" country="Finland" operator="Ålands Telekommunikation Ab" status="Operational" 15 bands="GSM 1800" brand="SAMK" cc="fi" country="Finland" operator="Satakunnan ammattikorkeakoulu Oy" status="Not operational" 16 bands="MVNO" brand="Tele2" cc="fi" country="Finland" operator="Oy Finland Tele2 AB" status="Not operational" 17 bands="GSM-R" cc="fi" country="Finland" operator="Liikennevirasto" status="Operational" 20 cc="fi" country="Finland" operator="Telia Finland Oyj" 21 bands="MVNO" brand="Elisa- Saunalahti" cc="fi" country="Finland" operator="Elisa Oyj" status="Operational" 22 cc="fi" country="Finland" operator="EXFO Oy" status="Not operational" 23 cc="fi" country="Finland" operator="EXFO Oy" status="Not operational" 24 cc="fi" country="Finland" operator="TTY-säätiö" status="Not operational" 25 cc="fi" country="Finland" operator="Fortum Power and Heat Oy" 26 bands="MVNO" brand="Compatel" cc="fi" country="Finland" operator="Compatel Ltd" status="Operational" 27 cc="fi" country="Finland" operator="Teknologian tutkimuskeskus VTT Oy" 28 cc="fi" country="Finland" operator="Teknologian tutkimuskeskus VTT Oy" 29 bands="MVNO" cc="fi" country="Finland" operator="SCNL Truphone" status="Not operational" 30 bands="MVNO" brand="Vectone Mobile" cc="fi" country="Finland" operator="Mundio Mobile Oy" status="Not operational" 31 bands="MVNO" brand="Kuiri" cc="fi" country="Finland" operator="Ukko Mobile Oy" status="Not operational" 32 bands="MVNO" brand="Voxbone" cc="fi" country="Finland" operator="Voxbone SA" status="Operational" 33 bands="TETRA" brand="VIRVE" cc="fi" country="Finland" operator="Suomen Virveverkko Oy" status="Operational" 34 bands="MVNO" brand="Bittium Wireless" cc="fi" country="Finland" operator="Bittium Wireless Oy" status="Operational" 35 bands="LTE 450 / TD-LTE 2600" brand="Ukko Mobile" cc="fi" country="Finland" operator="Ukkoverkot Oy" status="Operational" 36 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Telia / DNA" cc="fi" country="Finland" operator="Telia Finland Oyj / Suomen Yhteisverkko Oy" status="Operational" 37 bands="MVNO" brand="Tismi" cc="fi" country="Finland" operator="Tismi BV" status="Operational" 38 cc="fi" country="Finland" operator="Nokia Solutions and Networks Oy" 39 cc="fi" country="Finland" operator="Nokia Solutions and Networks Oy" 40 cc="fi" country="Finland" operator="Nokia Solutions and Networks Oy" 41 cc="fi" country="Finland" operator="Nokia Solutions and Networks Oy" 42 cc="fi" country="Finland" operator="SMS Provider Corp." 43 cc="fi" country="Finland" operator="Telavox AB / Telavox Oy" 44 cc="fi" country="Finland" operator="Turun ammattikorkeakoulu Oy" 50 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" 51 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" 52 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" 53 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" 54 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" 55 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" 56 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" 57 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" 58 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" 59 cc="fi" country="Finland" operator="Aalto-korkeakoulusäätiö sr" 91 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 800 / LTE 1800 / LTE 2600" brand="Telia" cc="fi" country="Finland" operator="Telia Finland Oyj" status="Operational" 92 brand="Sonera" cc="fi" country="Finland" operator="TeliaSonera Finland Oyj" status="Not operational" 00-99 246 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Telia" cc="lt" country="Lithuania" operator="Telia Lietuva" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="BITĖ" cc="lt" country="Lithuania" operator="UAB Bitė Lietuva" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Tele2" cc="lt" country="Lithuania" operator="UAB Tele2 (Tele2 AB, Sweden)" status="Operational" 04 cc="lt" country="Lithuania" operator="Ministry of the Interior)" 05 bands="GSM-R 900" brand="LitRail" cc="lt" country="Lithuania" operator="Lietuvos geležinkeliai (Lithuanian Railways)" status="Operational" 06 brand="Mediafon" cc="lt" country="Lithuania" operator="UAB Mediafon" status="Operational" 07 cc="lt" country="Lithuania" operator="Compatel Ltd." 08 bands="WiMAX 3500 / TD-LTE 2300" brand="MEZON" cc="lt" country="Lithuania" operator="Lietuvos radijo ir televizijos centras" status="Operational" 09 cc="lt" country="Lithuania" operator="Interactive Digital Media GmbH" 11 cc="lt" country="Lithuania" operator="DATASIM OU" 00-99 247 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="LMT" cc="lv" country="Latvia" operator="Latvian Mobile Telephone" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Tele2" cc="lv" country="Latvia" operator="Tele2" status="Operational" 03 bands="CDMA 450" brand="TRIATEL" cc="lv" country="Latvia" operator="Telekom Baltija" status="Operational" 04 cc="lv" country="Latvia" operator="Beta Telecom" status="Not operational" 05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Bite" cc="lv" country="Latvia" operator="Bite Latvija" status="Operational" 06 cc="lv" country="Latvia" operator="Rigatta" status="Not operational" 07 bands="MVNO" cc="lv" country="Latvia" operator="SIA "MEGATEL"" status="Operational" 08 bands="MVNO" brand="IZZI" cc="lv" country="Latvia" operator="IZZI" status="Not operational" 09 bands="MVNO" brand="Xomobile" cc="lv" country="Latvia" operator="Camel Mobile" status="Operational" 00-99 248 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Telia" cc="ee" country="Estonia" operator="Telia Eesti" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Elisa" cc="ee" country="Estonia" operator="Elisa Eesti" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Tele2" cc="ee" country="Estonia" operator="Tele2 Eesti" status="Operational" 04 bands="MVNO" brand="Top Connect" cc="ee" country="Estonia" operator="OY Top Connect" status="Operational" 05 cc="ee" country="Estonia" operator="CSC Telecom Estonia OÜ" 06 bands="UMTS 2100" cc="ee" country="Estonia" operator="Progroup Holding" status="Not operational" 07 bands="CDMA2000 450" brand="Kou" cc="ee" country="Estonia" operator="Televõrgu AS" status="Not operational" 08 bands="MVNO" brand="VIVEX" cc="ee" country="Estonia" operator="VIVEX OU" status="Not operational" 09 cc="ee" country="Estonia" operator="Bravo Telecom" status="Not operational" 10 cc="ee" country="Estonia" operator="Telcotrade OÜ" status="Not operational" 11 cc="ee" country="Estonia" operator="UAB Raystorm Eesti filiaal" 12 cc="ee" country="Estonia" operator="Ntel Solutions OÜ" 13 cc="ee" country="Estonia" operator="Telia Eesti AS" 14 cc="ee" country="Estonia" operator="Estonian Crafts OÜ" 15 cc="ee" country="Estonia" operator="Premium Net International S.R.L. Eesti filiaal" status="Not operational" 16 bands="MVNO" brand="dzinga" cc="ee" country="Estonia" operator="SmartTel Plus OÜ" status="Operational" 71 cc="ee" country="Estonia" operator="Siseministeerium (Ministry of Interior)" 00-99 250 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / TD-LTE 2600" brand="MTS" cc="ru" country="Russian Federation" operator="Mobile TeleSystems" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="MegaFon" cc="ru" country="Russian Federation" operator="MegaFon PJSC" status="Operational" 03 bands="GSM 900 / GSM 1800" brand="NCC" cc="ru" country="Russian Federation" operator="Nizhegorodskaya Cellular Communications" status="Not operational" 04 bands="GSM 900" brand="Sibchallenge" cc="ru" country="Russian Federation" operator="Sibchallenge" status="Not operational" 05 bands="GSM 900 / GSM 1800 / UMTS 2100 / CDMA2000 450" brand="ETK" cc="ru" country="Russian Federation" operator="Yeniseytelecom" status="Not operational" 06 bands="CDMA2000 450" brand="Skylink" cc="ru" country="Russian Federation" operator="CJSC Saratov System of Cellular Communications" status="Operational" 07 bands="GSM 900 / GSM 1800" brand="SMARTS" cc="ru" country="Russian Federation" operator="Zao SMARTS" status="Not operational" 08 bands="GSM 900 / GSM 1800 / LTE 2300" brand="Vainah Telecom" cc="ru" country="Russian Federation" operator="CS "VainahTelecom"" status="Operational" 09 bands="CDMA2000 450" brand="Skylink" cc="ru" country="Russian Federation" operator="Khabarovsky Cellular Phone" status="Operational" 10 bands="GSM 900" brand="DTC" cc="ru" country="Russian Federation" operator="Dontelekom" status="Not operational" 11 bands="MVNO" brand="Yota" cc="ru" country="Russian Federation" operator="Scartel" status="Operational" 12 bands="GSM 1800" brand="Akos" cc="ru" country="Russian Federation" operator="Baykal Westcom / New Telephone Company / Far Eastern Cellular" status="Not operational" 13 bands="GSM 900 / GSM 1800" brand="KUGSM" cc="ru" country="Russian Federation" operator="Kuban GSM" status="Not operational" 14 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / TD-LTE 2600" brand="MegaFon" cc="ru" country="Russian Federation" operator="MegaFon OJSC" status="Not operational" 15 bands="GSM 1800" brand="SMARTS" cc="ru" country="Russian Federation" operator="SMARTS Ufa, SMARTS Uljanovsk" status="Not operational" 16 bands="MVNO" brand="Miatel" cc="ru" country="Russian Federation" operator="Miatel" status="Operational" 17 bands="GSM 900 / GSM 1800" brand="Utel" cc="ru" country="Russian Federation" operator="JSC Uralsvyazinform" status="Not operational" 18 bands="TD-LTE 2300" brand="Osnova Telecom" cc="ru" country="Russian Federation" status="Not operational" 19 bands="GSM 1800" brand="INDIGO" cc="ru" country="Russian Federation" operator="INDIGO" status="Not operational" 20 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 450 / LTE 1800 / LTE 2600" brand="Tele2" cc="ru" country="Russian Federation" operator="Tele2" status="Operational" 21 bands="Satellite" brand="GlobalTel" cc="ru" country="Russian Federation" operator="JSC "GlobalTel"" status="Operational" 22 bands="TD-LTE 2300" cc="ru" country="Russian Federation" operator="Vainakh Telecom" status="Operational" 23 bands="Satellite MVNO" brand="Thuraya" cc="ru" country="Russian Federation" operator="GTNT" status="Operational" 27 bands="GSM 1800 / LTE 1800" brand="Letai" cc="ru" country="Russian Federation" operator="Tattelecom" status="Operational" 28 bands="GSM 900" brand="Beeline" cc="ru" country="Russian Federation" operator="Beeline" status="Not operational" 29 bands="Satellite MVNO" brand="Iridium" cc="ru" country="Russian Federation" operator="Iridium Communications" status="Operational" 32 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Win Mobile" cc="ru" country="Russian Federation" operator="K-Telecom" status="Operational" 33 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Sevmobile" cc="ru" country="Russian Federation" operator="Sevtelekom" status="Operational" 34 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Krymtelekom" cc="ru" country="Russian Federation" operator="Krymtelekom" status="Operational" 35 bands="GSM 1800 / LTE 1800" brand="MOTIV" cc="ru" country="Russian Federation" operator="EKATERINBURG-2000" status="Operational" 38 bands="GSM 900 / GSM 1800" brand="Tambov GSM" cc="ru" country="Russian Federation" operator="Central Telecommunication Company" status="Not operational" 39 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / TD-LTE 2300 / LTE 2600" brand="Rostelecom" cc="ru" country="Russian Federation" operator="ROSTELECOM" status="Not operational" 44 cc="ru" country="Russian Federation" operator="Stavtelesot / North Caucasian GSM" status="Not operational" 50 bands="MVNO" brand="MTS" cc="ru" country="Russian Federation" operator="Bezlimitno.ru" status="Operational" 54 bands="LTE 1800" brand="TTK" cc="ru" country="Russian Federation" operator="Tattelecom" status="Not operational" 60 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Volna mobile" cc="ru" country="Russian Federation" operator="KTK Telecom" status="Operational" 61 bands="CDMA 800" brand="Intertelecom" cc="ru" country="Russian Federation" operator="Intertelecom" status="Not operational" 62 bands="MVNO" brand="Tinkoff Mobile" cc="ru" country="Russian Federation" operator="Tinkoff Mobile" status="Operational" 811 bands="AMPS / DAMPS / GSM 1800" cc="ru" country="Russian Federation" operator="Votek Mobile" status="Not operational" 91 bands="GSM 1800" brand="Sonic Duo" cc="ru" country="Russian Federation" operator="Sonic Duo CJSC" status="Not operational" 92 cc="ru" country="Russian Federation" operator="Primtelefon" status="Not operational" 93 cc="ru" country="Russian Federation" operator="Telecom XXI" status="Not operational" 99 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Beeline" cc="ru" country="Russian Federation" operator="OJSC Vimpel-Communications" status="Operational" 255 00 bands="CDMA 450 / CDMA 800" brand="IDC" cc="md" country="Moldova" operator="Interdnestrcom" status="Operational" 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Vodafone" cc="ua" country="Ukraine" operator="PRJSC “VF Ukraine"" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Kyivstar" cc="ua" country="Ukraine" operator="PRJSC “Kyivstar"" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Kyivstar" cc="ua" country="Ukraine" operator="PRJSC “Kyivstar"" status="Operational" 04 bands="CDMA 800" brand="Intertelecom" cc="ua" country="Ukraine" operator="Intertelecom LLC" status="Operational" 05 bands="GSM 1800" brand="Kyivstar" cc="ua" country="Ukraine" operator="PRJSC “Kyivstar"" status="Not operational" 06 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600" brand="lifecell" cc="ua" country="Ukraine" operator="lifecell LLC" status="Operational" 07 bands="UMTS 2100" brand="3Mob; Lycamobile" cc="ua" country="Ukraine" operator="Trimob LLC" status="Operational" 08 cc="ua" country="Ukraine" operator="JSC Ukrtelecom" status="Not operational" 09 cc="ua" country="Ukraine" operator="PRJSC "Farlep-Invest"" status="Not operational" 10 cc="ua" country="Ukraine" operator="Atlantis Telecom LLC" 21 bands="CDMA 800" brand="PEOPLEnet" cc="ua" country="Ukraine" operator="PRJSC “Telesystems of Ukraine"" status="Operational" 23 bands="CDMA 800" brand="CDMA Ukraine" cc="ua" country="Ukraine" operator="Intertelecom LLC" status="Not operational" 25 bands="CDMA 800" brand="NEWTONE" cc="ua" country="Ukraine" operator="PRJSC “Telesystems of Ukraine"" status="Not operational" 99 bands="LTE 800" brand="Phoenix" cc="ua" country="Ukraine" operator="Phoenix" status="Operational" 00-99 257 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="A1" cc="by" country="Belarus" operator="A1 Belarus" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="MTS" cc="by" country="Belarus" operator="Mobile TeleSystems" status="Operational" 03 bands="CDMA 450" brand="DIALLOG" cc="by" country="Belarus" operator="BelCel" status="Not operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="life:)" cc="by" country="Belarus" operator="Belarusian Telecommunications Network" status="Operational" 05 bands="WiMAX 3500" brand="byfly" cc="by" country="Belarus" operator="Beltelecom" status="Not operational" 06 bands="LTE 1800 / LTE 2600" brand="beCloud" cc="by" country="Belarus" operator="Belorussian Cloud Technologies" status="Operational" 00-99 259 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Orange" cc="md" country="Moldova" operator="Orange Moldova" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Moldcell" cc="md" country="Moldova" status="Operational" 03 bands="CDMA 450" brand="Unité" cc="md" country="Moldova" operator="Moldtelecom" status="Operational" 04 bands="GSM 900 / GSM 1800" brand="Eventis" cc="md" country="Moldova" operator="Eventis Telecom" status="Not operational" 05 bands="UMTS 900 / UMTS 2100 / LTE 1800" brand="Unité" cc="md" country="Moldova" operator="Moldtelecom" status="Operational" 15 bands="LTE 800" brand="IDC" cc="md" country="Moldova" operator="Interdnestrcom" status="Operational" 99 bands="UMTS 2100" brand="Unité" cc="md" country="Moldova" operator="Moldtelecom" status="Operational" 00-99 260 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600" brand="Plus" cc="pl" country="Poland" operator="Polkomtel Sp. z o.o." status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 2100" brand="T-Mobile" cc="pl" country="Poland" operator="T-Mobile Polska S.A." status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 2100" brand="Orange" cc="pl" country="Poland" operator="Polska Telefonia Komórkowa Centertel Sp. z o.o." status="Operational" 04 brand="Aero2" cc="pl" country="Poland" operator="Aero 2 Sp. z o.o." status="Not operational" 05 bands="UMTS 2100" brand="Orange" cc="pl" country="Poland" operator="Polska Telefonia Komórkowa Centertel Sp. z o.o." status="Not operational" 06 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="Play" cc="pl" country="Poland" operator="P4 Sp. z o.o." status="Operational" 07 bands="MVNO" brand="Netia" cc="pl" country="Poland" operator="Netia S.A." status="Operational" 08 cc="pl" country="Poland" operator="E-Telko Sp. z o.o." status="Not operational" 09 bands="MVNO" brand="Lycamobile" cc="pl" country="Poland" operator="Lycamobile Sp. z o.o." status="Operational" 10 brand="T-Mobile" cc="pl" country="Poland" operator="T-Mobile Polska S.A." 11 bands="CDMA2000 420" brand="Nordisk Polska" cc="pl" country="Poland" operator="Nordisk Polska Sp. z o.o." status="Operational" 12 bands="MVNO" brand="Cyfrowy Polsat" cc="pl" country="Poland" operator="Cyfrowy Polsat S.A." status="Operational" 13 bands="MVNO" cc="pl" country="Poland" operator="Move Telecom S.A." status="Operational" 14 cc="pl" country="Poland" operator="Telco Leaders Ltd" 15 bands="LTE 1800" brand="Aero2" cc="pl" country="Poland" operator="Aero 2 Sp. z o.o." status="Operational" 16 bands="LTE 1800" brand="Aero2" cc="pl" country="Poland" operator="Aero 2 Sp. z o.o." status="Operational" 17 bands="UMTS 900 / TD-LTE 2600" brand="Aero2" cc="pl" country="Poland" operator="Aero 2 Sp. z o.o." status="Operational" 18 brand="AMD Telecom" cc="pl" country="Poland" operator="AMD Telecom S.A." 19 bands="MVNO" cc="pl" country="Poland" operator="SIA NetBalt" 20 cc="pl" country="Poland" operator="Wysyłaj SMS Polska Sp. z o.o." 21 brand="Exteri" cc="pl" country="Poland" operator="Exteri Sp. z o.o." status="Not operational" 22 brand="Arcomm" cc="pl" country="Poland" operator="Arcomm Sp. z o.o." status="Not operational" 23 cc="pl" country="Poland" operator="PGE Systemy S.A." 24 cc="pl" country="Poland" operator="IT Partners Telco Sp. z o.o." 25 cc="pl" country="Poland" operator="Polskie Sieci Radiowe Sp. z o.o. Sp. k.a." status="Not operational" 26 brand="ATE" cc="pl" country="Poland" operator="Advanced Technology & Experience Sp. z o.o." status="Not operational" 27 cc="pl" country="Poland" operator="SIA Ntel Solutions" 28 brand="PhoneNet" cc="pl" country="Poland" operator="PhoneNet Sp. z o.o." status="Not operational" 29 brand="Interfonica" cc="pl" country="Poland" operator="Interfonica Sp. z o.o." status="Not operational" 30 brand="GrandTel" cc="pl" country="Poland" operator="GrandTel Sp. z o.o." status="Not operational" 31 brand="Phone IT" cc="pl" country="Poland" operator="Phone IT Sp. z o.o." status="Not operational" 32 cc="pl" country="Poland" operator="Compatel Limited" 33 bands="MVNO" brand="Truphone" cc="pl" country="Poland" operator="Truphone Poland Sp. z o.o." status="Operational" 34 bands="LTE 800 / LTE 2600" brand="NetWorkS!" cc="pl" country="Poland" operator="T-Mobile Polska S.A." status="Operational" 35 bands="GSM-R" cc="pl" country="Poland" operator="PKP Polskie Linie Kolejowe S.A." status="Operational" 36 bands="MVNO" brand="Vectone Mobile" cc="pl" country="Poland" operator="Mundio Mobile" status="Not operational" 37 cc="pl" country="Poland" operator="NEXTGEN MOBILE LTD" status="Not operational" 38 cc="pl" country="Poland" operator="CALLFREEDOM Sp. z o.o." status="Not operational" 39 bands="MVNO" brand="Voxbone" cc="pl" country="Poland" operator="VOXBONE SA" status="Operational" 40 cc="pl" country="Poland" operator="Interactive Digital Media GmbH" 41 cc="pl" country="Poland" operator="EZ PHONE MOBILE Sp. z o.o." 42 cc="pl" country="Poland" operator="MobiWeb Telecom Limited" 43 cc="pl" country="Poland" operator="Smart Idea International Sp. z o.o." 44 cc="pl" country="Poland" operator="Rebtel Poland Sp. z o.o." status="Not operational" 45 bands="MVNO" cc="pl" country="Poland" operator="Virgin Mobile Polska Sp. z o.o." status="Operational" 46 cc="pl" country="Poland" operator="Terra Telekom Sp. z o.o." 47 cc="pl" country="Poland" operator="SMShighway Limited" 48 cc="pl" country="Poland" operator="AGILE TELECOM S.P.A." 49 cc="pl" country="Poland" operator="Messagebird B.V." 98 bands="LTE 1800" brand="Play" cc="pl" country="Poland" operator="P4 Sp. z o.o." status="Not operational" 00-99 262 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600 / 5G 3500" brand="Telekom" cc="de" country="Germany" operator="Telekom Deutschland GmbH" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600 / 5G 3500" brand="Vodafone" cc="de" country="Germany" operator="Vodafone D2 GmbH" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="O2" cc="de" country="Germany" operator="Telefónica Germany GmbH & Co. oHG" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Vodafone" cc="de" country="Germany" operator="Vodafone D2 GmbH" status="Reserved" 05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="O2" cc="de" country="Germany" operator="Telefónica Germany GmbH & Co. oHG" status="Reserved" 06 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600" brand="Telekom" cc="de" country="Germany" operator="Telekom Deutschland GmbH" status="Reserved" 07 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="O2" cc="de" country="Germany" operator="Telefónica Germany GmbH & Co. oHG" status="Not operational" 08 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="O2" cc="de" country="Germany" operator="Telefónica Germany GmbH & Co. oHG" status="Reserved" 09 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Vodafone" cc="de" country="Germany" operator="Vodafone D2 GmbH" status="Operational" 10 bands="GSM-R" cc="de" country="Germany" operator="DB Netz AG" status="Operational" 11 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="O2" cc="de" country="Germany" operator="Telefónica Germany GmbH & Co. oHG" status="Reserved" 12 bands="MVNO" brand="Simquadrat" cc="de" country="Germany" operator="sipgate GmbH" status="Operational" 13 bands="UMTS 2100" cc="de" country="Germany" operator="Mobilcom Multimedia" status="Not operational" 14 bands="UMTS 2100" cc="de" country="Germany" operator="Group 3G UMTS" status="Not operational" 15 bands="TD-SCDMA" brand="Airdata" cc="de" country="Germany" status="Operational" 16 bands="MVNO" cc="de" country="Germany" operator="Telogic Germany GmbH" status="Not operational" 17 brand="O2" cc="de" country="Germany" operator="Telefónica Germany GmbH & Co. oHG" 18 bands="MVNO" cc="de" country="Germany" operator="NetCologne" status="Operational" 19 bands="CDMA 450" cc="de" country="Germany" operator="Inquam Deutschland" 20 bands="MVNE" brand="Voiceworks" cc="de" country="Germany" operator="Voiceworks GmbH" status="Operational" 21 cc="de" country="Germany" operator="Multiconnect GmbH" 22 bands="MVNO" cc="de" country="Germany" operator="sipgate Wireless GmbH" 23 bands="MVNO" cc="de" country="Germany" operator="Drillisch Online AG" status="Operational" 24 cc="de" country="Germany" operator="TelcoVillage GmbH" 33 bands="MVNO" brand="simquadrat" cc="de" country="Germany" operator="sipgate GmbH" status="Not operational" 41 cc="de" country="Germany" operator="First Telecom GmbH" status="Not operational" 42 bands="GSM 1800" brand="CCC Event" cc="de" country="Germany" operator="Chaos Computer Club" status="Temporary operational" 43 bands="MVNO" brand="Lycamobile" cc="de" country="Germany" operator="Lycamobile" status="Operational" 60 bands="GSM-R 900" cc="de" country="Germany" operator="DB Telematik" status="Operational" 71 cc="de" country="Germany" operator="GSMK" 72 cc="de" country="Germany" operator="Ericsson GmbH" 73 cc="de" country="Germany" operator="Nokia" 74 cc="de" country="Germany" operator="Qualcomm CDMA Technologies GmbH" status="Not operational" 75 cc="de" country="Germany" operator="Core Network Dynamics GmbH" status="Operational" 76 bands="GSM 900" cc="de" country="Germany" operator="Siemens AG" status="Not operational" 77 bands="GSM 900" brand="O2" cc="de" country="Germany" operator="Telefónica Germany GmbH & Co. oHG" 78 brand="Telekom" cc="de" country="Germany" operator="Telekom Deutschland GmbH" 79 cc="de" country="Germany" operator="ng4T GmbH" status="Not operational" 92 bands="GSM 1800 / UMTS 2100" cc="de" country="Germany" operator="Nash Technologies" status="Not operational" 00-99 266 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 2600" brand="GibTel" cc="gi" country="Gibraltar (United Kingdom)" operator="Gibtelecom" status="Operational" 03 brand="Gibfibrespeed" cc="gi" country="Gibraltar (United Kingdom)" operator="GibFibre Ltd" 06 bands="UMTS 2100" brand="CTS Mobile" cc="gi" country="Gibraltar (United Kingdom)" operator="CTS Gibraltar" status="Not operational" 09 bands="GSM 1800 / UMTS 2100" brand="Shine" cc="gi" country="Gibraltar (United Kingdom)" operator="Eazitelecom" status="Operational" 00-99 268 01 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Vodafone" cc="pt" country="Portugal" operator="Vodafone Portugal" status="Operational" 02 brand="MEO" cc="pt" country="Portugal" operator="Telecomunicações Móveis Nacionais" status="Not operational" 03 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="NOS" cc="pt" country="Portugal" operator="NOS Comunicações" status="Operational" 04 bands="MVNO" brand="LycaMobile" cc="pt" country="Portugal" operator="LycaMobile" status="Operational" 05 bands="UMTS 2100" cc="pt" country="Portugal" operator="Oniway - Inforcomunicaçôes, S.A." status="Not operational" 06 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" brand="MEO" cc="pt" country="Portugal" operator="Telecomunicações Móveis Nacionais" status="Operational" 07 bands="MVNO" brand="Vectone Mobile" cc="pt" country="Portugal" operator="Mundio Mobile (Portugal) Limited" status="Not operational" 11 cc="pt" country="Portugal" operator="Compatel, Limited" 12 bands="GSM-R" cc="pt" country="Portugal" operator="Infraestruturas de Portugal, S.A." status="Operational" 13 cc="pt" country="Portugal" operator="G9Telecom, S.A." 21 bands="CDMA2000 450" brand="Zapp" cc="pt" country="Portugal" operator="Zapp Portugal" status="Not operational" 80 brand="MEO" cc="pt" country="Portugal" operator="Telecomunicações Móveis Nacionais" 91 brand="Vodafone" cc="pt" country="Portugal" operator="Vodafone Portugal" 00-99 270 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="POST" cc="lu" country="Luxembourg" operator="POST Luxembourg" status="Operational" 02 cc="lu" country="Luxembourg" operator="MTX Connect S.a.r.l." 07 cc="lu" country="Luxembourg" operator="Bouygues Telecom S.A." 10 cc="lu" country="Luxembourg" operator="Blue Communications" 71 bands="GSM-R 900" brand="CFL" cc="lu" country="Luxembourg" operator="Société Nationale des Chemins de Fer Luxembourgeois" status="Operational" 77 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Tango" cc="lu" country="Luxembourg" operator="Tango SA" status="Operational" 78 cc="lu" country="Luxembourg" operator="Interactive digital media GmbH" 79 cc="lu" country="Luxembourg" operator="Mitto AG" 80 cc="lu" country="Luxembourg" operator="Syniverse Technologies S.à r.l." 81 cc="lu" country="Luxembourg" operator="E-Lux Mobile Telecommunication S.A." 99 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Orange" cc="lu" country="Luxembourg" operator="Orange S.A." status="Operational" 00-99 272 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 3500" brand="Vodafone" cc="ie" country="Ireland" operator="Vodafone Ireland" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="3" cc="ie" country="Ireland" operator="Hutchison 3G Ireland limited" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 3500" brand="Eir" cc="ie" country="Ireland" operator="Eir Group plc" status="Operational" 04 cc="ie" country="Ireland" operator="Access Telecom" 05 bands="UMTS 2100 / LTE 800 / LTE 1800" brand="3" cc="ie" country="Ireland" operator="Hutchison 3G Ireland limited" status="Operational" 07 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Eir" cc="ie" country="Ireland" operator="Eir Group plc" status="Operational" 08 brand="Eir" cc="ie" country="Ireland" operator="Eir Group plc" 09 cc="ie" country="Ireland" operator="Clever Communications Ltd." status="Not operational" 11 bands="MVNO" brand="Tesco Mobile" cc="ie" country="Ireland" operator="Liffey Telecom" status="Operational" 13 bands="MVNO" brand="Lycamobile" cc="ie" country="Ireland" operator="Lycamobile" status="Operational" 15 bands="MVNO" brand="Virgin Mobile" cc="ie" country="Ireland" operator="UPC" status="Operational" 16 bands="MVNO" brand="Carphone Warehouse" cc="ie" country="Ireland" operator="Carphone Warehouse" status="Operational" 17 brand="3" cc="ie" country="Ireland" operator="Hutchison 3G Ireland limited" 18 bands="MVNO" cc="ie" country="Ireland" operator="Cubic Telecom Limited" status="Operational" 00-99 274 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Síminn" cc="is" country="Iceland" operator="Iceland Telecom" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Vodafone" cc="is" country="Iceland" operator="Og fjarskipti hf" status="Operational" 03 brand="Vodafone" cc="is" country="Iceland" operator="Og fjarskipti hf" status="Operational" 04 bands="GSM 1800" brand="Viking" cc="is" country="Iceland" operator="IMC Island ehf" status="Operational" 05 bands="GSM 1800" cc="is" country="Iceland" operator="Halló Frjáls fjarskipti hf." status="Not operational" 06 cc="is" country="Iceland" operator="Núll níu ehf" status="Not operational" 07 bands="GSM 1800" brand="IceCell" cc="is" country="Iceland" operator="IceCell ehf" status="Not operational" 08 bands="GSM 900 / GSM 1800" brand="On-waves" cc="is" country="Iceland" operator="Iceland Telecom" status="Operational" 11 bands="UMTS 2100 / LTE 1800" brand="Nova" cc="is" country="Iceland" operator="Nova ehf" status="Operational" 12 bands="MVNO" brand="Tal" cc="is" country="Iceland" operator="IP fjarskipti" status="Operational" 16 cc="is" country="Iceland" operator="Tismi BV" 22 cc="is" country="Iceland" operator="Landhelgisgæslan (Icelandic Coast Guard)" 31 brand="Síminn" cc="is" country="Iceland" operator="Iceland Telecom" 00-99 276 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Telekom.al" cc="al" country="Albania" operator="Telekom Albania" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Vodafone" cc="al" country="Albania" operator="Vodafone Albania" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Eagle Mobile" cc="al" country="Albania" operator="Albtelecom" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Plus Communication" cc="al" country="Albania" operator="Plus Communication" status="Operational" 00-99 278 01 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Vodafone" cc="mt" country="Malta" operator="Vodafone Malta" status="Operational" 11 bands="MVNO" cc="mt" country="Malta" operator="YOM Ltd." status="Operational" 21 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="GO" cc="mt" country="Malta" operator="Mobile Communications Limited" status="Operational" 30 brand="GO" cc="mt" country="Malta" operator="Mobile Communications Limited" 77 bands="UMTS 900 / UMTS 2100 / LTE 800 / LTE 2100" brand="Melita" cc="mt" country="Malta" operator="Melita" status="Operational" 00-99 280 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Cytamobile-Vodafone" cc="cy" country="Cyprus" operator="Cyprus Telecommunications Authority" status="Operational" 02 brand="Cytamobile-Vodafone" cc="cy" country="Cyprus" operator="Cyprus Telecommunications Authority" 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Epic" cc="cy" country="Cyprus" operator="Monaco Telecom" status="Operational" 20 bands="UMTS 2100 / LTE 900 / LTE 1800" brand="PrimeTel" cc="cy" country="Cyprus" operator="PrimeTel PLC" status="Operational" 22 bands="MVNO" brand="lemontel" cc="cy" country="Cyprus" operator="Lemontel Ltd" status="Operational" 23 bands="MVNO" brand="Vectone Mobile" cc="cy" country="Cyprus" operator="Mundio Mobile Cyprus Ltd." status="Not operational" 00-99 282 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2300" brand="Geocell" cc="ge" country="Georgia" operator="Silknet" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Magti" cc="ge" country="Georgia" operator="MagtiCom" status="Operational" 03 bands="CDMA 450" brand="MagtiFix" cc="ge" country="Georgia" operator="MagtiCom" status="Operational" 04 bands="GSM 1800 / UMTS 2100 / LTE 800" brand="Beeline" cc="ge" country="Georgia" operator="Mobitel" status="Operational" 05 bands="CDMA 800" brand="S1" cc="ge" country="Georgia" operator="Silknet" status="Operational" 06 cc="ge" country="Georgia" operator="JSC Compatel" 07 bands="MVNO" brand="GlobalCell" cc="ge" country="Georgia" operator="GlobalCell" status="Operational" 08 bands="LTE 2300" brand="Silk LTE" cc="ge" country="Georgia" operator="Silknet" status="Operational" 09 cc="ge" country="Georgia" operator="Gmobile" status="Operational" 10 cc="ge" country="Georgia" operator="Premium Net International SRL" 11 cc="ge" country="Georgia" operator="Mobilive" 12 cc="ge" country="Georgia" operator="Datacomm Ltd" 13 cc="ge" country="Georgia" operator="Asanet Ltd" 00-99 283 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 450 / LTE 1800" brand="Beeline" cc="am" country="Armenia" operator="Veon Armenia CJSC" status="Operational" 04 bands="GSM 900 / UMTS 900" brand="Karabakh Telecom" cc="am" country="Armenia" operator="Karabakh Telecom" status="Operational" 05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="VivaCell-MTS" cc="am" country="Armenia" operator="K Telecom CJSC" status="Operational" 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Ucom" cc="am" country="Armenia" operator="Ucom LLC" status="Operational" 00-99 284 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" brand="A1" cc="bg" country="Bulgaria" operator="A1 Bulgaria" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" brand="Vivacom" cc="bg" country="Bulgaria" operator="BTC" status="Operational" 05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Telenor" cc="bg" country="Bulgaria" operator="Telenor (Bulgaria)" status="Operational" 07 bands="GSM-R" brand="НКЖИ" cc="bg" country="Bulgaria" operator="НАЦИОНАЛНА КОМПАНИЯ ЖЕЛЕЗОПЪТНА ИНФРАСТРУКТУРА" status="Operational" 09 cc="bg" country="Bulgaria" operator="COMPATEL LIMITED" status="Not operational" 11 bands="LTE 1800" cc="bg" country="Bulgaria" operator="Bulsatcom" status="Operational" 13 bands="LTE 1800" brand="Ти.ком" cc="bg" country="Bulgaria" operator="Ti.com JSC" status="Operational" 00-99 286 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="Turkcell" cc="tr" country="Turkey" operator="Turkcell Iletisim Hizmetleri A.S." status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600" brand="Vodafone" cc="tr" country="Turkey" operator="Vodafone Turkey" status="Operational" 03 bands="GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Türk Telekom" cc="tr" country="Turkey" operator="Türk Telekom" status="Operational" 04 bands="GSM 1800" brand="Aycell" cc="tr" country="Turkey" operator="Aycell" status="Not operational" 00-99 288 01 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Faroese Telecom" cc="fo" country="Faroe Islands (Denmark)" operator="Faroese Telecom" status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Hey" cc="fo" country="Faroe Islands (Denmark)" operator="Vodafone Faroe Islands" status="Operational" 03 cc="fo" country="Faroe Islands (Denmark)" operator="Tosa Sp/F" 00-99 289 67 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Aquafon" country="Abkhazia - GE-AB" operator="Aquafon JSC" status="Operational" 88 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="A-Mobile" country="Abkhazia - GE-AB" operator="A-Mobile LLSC" status="Operational" 00-99 290 01 bands="GSM 900 / UMTS 900 / LTE 800" cc="gl" country="Greenland (Denmark)" operator="TELE Greenland A/S" status="Operational" 02 bands="TD-LTE 2500" brand="Nuuk TV" cc="gl" country="Greenland (Denmark)" operator="inu:it a/s" status="Operational" 00-99 292 01 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="PRIMA" cc="sm" country="San Marino" operator="San Marino Telecom" status="Operational" 00-99 293 10 bands="GSM-R" cc="si" country="Slovenia" operator="SŽ - Infrastruktura, d.o.o." status="Operational" 20 cc="si" country="Slovenia" operator="COMPATEL Ltd" 40 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="A1" cc="si" country="Slovenia" operator="A1 Slovenija" status="Operational" 41 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="Mobitel" cc="si" country="Slovenia" operator="Telekom Slovenije" status="Operational" 64 bands="UMTS 2100" brand="T-2" cc="si" country="Slovenia" operator="T-2 d.o.o." status="Operational" 70 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Telemach" cc="si" country="Slovenia" operator="Tušmobil d.o.o." status="Operational" 00-99 294 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Telekom.mk" cc="mk" country="North Macedonia" operator="Makedonski Telekom" status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="vip" cc="mk" country="North Macedonia" operator="ONE.VIP DOO" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="vip" cc="mk" country="North Macedonia" operator="ONE.VIP DOO" status="Operational" 04 bands="MVNO" brand="Lycamobile" cc="mk" country="North Macedonia" operator="Lycamobile LLC" status="Operational" 10 cc="mk" country="North Macedonia" operator="WTI Macedonia" status="Not operational" 11 cc="mk" country="North Macedonia" operator="MOBIK TELEKOMUNIKACII DOOEL Skopje" 00-99 295 01 bands="GSM 900 / GSM 1800 / LTE 1800" brand="Swisscom" cc="li" country="Liechtenstein" operator="Swisscom Schweiz AG" status="Operational" 02 bands="GSM 1800 / UMTS 2100 / LTE 1800" brand="7acht" cc="li" country="Liechtenstein" operator="Salt Liechtenstein AG" status="Operational" 05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="FL1" cc="li" country="Liechtenstein" operator="Telecom Liechtenstein AG" status="Operational" 06 bands="MVNO" brand="Cubic Telecom" cc="li" country="Liechtenstein" operator="Cubic Telecom AG" status="Operational" 07 bands="MVNO" cc="li" country="Liechtenstein" operator="First Mobile AG" 09 bands="MVNO" cc="li" country="Liechtenstein" operator="EMnify GmbH" 10 bands="MVNO" cc="li" country="Liechtenstein" operator="Soracom LI Ltd." 11 bands="MVNO" cc="li" country="Liechtenstein" operator="DIMOCO Messaging AG" 77 bands="GSM 900" brand="Alpmobil" cc="li" country="Liechtenstein" operator="Alpcom AG" status="Not operational" 00-99 297 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Telenor" cc="me" country="Montenegro" operator="Telenor Montenegro" status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="T-Mobile" cc="me" country="Montenegro" operator="T-Mobile Montenegro LLC" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="m:tel CG" cc="me" country="Montenegro" operator="MTEL CG" status="Operational" 00-99 302 100 bands="MVNO" brand="dotmobile" cc="ca" country="Canada" operator="Data on Tap Inc." 130 bands="TD-LTE 3500 / WiMAX" brand="Xplornet" cc="ca" country="Canada" operator="Xplornet Communications" status="Operational" 131 bands="TD-LTE 3500 / WiMAX" brand="Xplornet" cc="ca" country="Canada" operator="Xplornet Communications" status="Operational" 220 bands="UMTS 850 / UMTS 1900 / LTE 1700 / LTE 2600" brand="Telus Mobility, Koodo Mobile, Public Mobile" cc="ca" country="Canada" operator="Telus Mobility" status="Operational" 221 brand="Telus" cc="ca" country="Canada" operator="Telus Mobility" 222 brand="Telus" cc="ca" country="Canada" operator="Telus Mobility" 250 brand="ALO" cc="ca" country="Canada" operator="ALO Mobile Inc." 270 bands="UMTS 1700 / LTE 1700" brand="EastLink" cc="ca" country="Canada" operator="Bragg Communications" status="Operational" 290 bands="iDEN 900" brand="Airtel Wireless" cc="ca" country="Canada" operator="Airtel Wireless" status="Operational" 300 bands="LTE 700 / LTE 850 / LTE 2600" brand="ECOTEL" cc="ca" country="Canada" operator="Ambra Solutions" 310 bands="LTE 700 / LTE 850 / LTE 2600" brand="ECOTEL" cc="ca" country="Canada" operator="Ambra Solutions" 320 bands="UMTS 1700" brand="Rogers Wireless" cc="ca" country="Canada" operator="Rogers Communications" status="Operational" 330 cc="ca" country="Canada" operator="Blue Canada Wireless Inc." 340 bands="MVNO" brand="Execulink" cc="ca" country="Canada" operator="Execulink" status="Operational" 350 bands="GSM 850" brand="FIRST" cc="ca" country="Canada" operator="FIRST Networks Operations" status="Not operational" 360 bands="iDEN 800" brand="MiKe" cc="ca" country="Canada" operator="Telus Mobility" status="Not operational" 361 bands="CDMA 800 / CDMA 1900" brand="Telus" cc="ca" country="Canada" operator="Telus Mobility" status="Not operational" 370 bands="MVNO" brand="Fido" cc="ca" country="Canada" operator="Fido Solutions (Rogers Wireless)" status="Operational" 380 bands="UMTS 850 / UMTS 1900" brand="Keewaytinook Mobile" cc="ca" country="Canada" operator="Keewaytinook Okimakanak Mobile" status="Operational" 390 brand="DMTS" cc="ca" country="Canada" operator="Dryden Mobility" status="Not operational" 420 bands="TD-LTE 3500" brand="ABC" cc="ca" country="Canada" operator="A.B.C. Allen Business Communications Ltd." status="Operational" 480 bands="GSM 1900 / LTE 2600" brand="Qiniq" cc="ca" country="Canada" operator="SSi Connexions" status="Operational" 490 bands="UMTS 1700 / LTE 700 / LTE 1700 / LTE 2600" brand="Freedom Mobile" cc="ca" country="Canada" operator="Shaw Communications" status="Operational" 491 brand="Freedom Mobile" cc="ca" country="Canada" operator="Shaw Communications" 500 bands="UMTS 1700 / LTE 1700" brand="Videotron" cc="ca" country="Canada" operator="Videotron" status="Operational" 510 bands="UMTS 1700 / LTE 1700" brand="Videotron" cc="ca" country="Canada" operator="Videotron" status="Operational" 520 brand="Videotron" cc="ca" country="Canada" operator="Videotron" 530 bands="GSM" brand="Keewaytinook Mobile" cc="ca" country="Canada" operator="Keewaytinook Okimakanak Mobile" status="Operational" 540 cc="ca" country="Canada" operator="Rovvr Communications Inc." 550 bands="LTE?" cc="ca" country="Canada" operator="Star Solutions International Inc." 560 bands="CDMA / GSM" brand="Lynx Mobility" cc="ca" country="Canada" operator="Lynx Mobility" status="Operational" 570 brand="LightSquared" cc="ca" country="Canada" operator="LightSquared" 590 brand="Quadro Mobility" cc="ca" country="Canada" operator="Quadro Communications Co-op" status="Operational" 600 cc="ca" country="Canada" operator="Iristel" 610 bands="UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 1900 / LTE 2600" brand="Bell Mobility, Virgin Mobile Canada" cc="ca" country="Canada" operator="Bell Mobility" status="Operational" 620 bands="UMTS 850 / GSM 1900 / LTE 850 / LTE 1900" brand="ICE Wireless" cc="ca" country="Canada" operator="ICE Wireless" status="Operational" 630 brand="Aliant Mobility" cc="ca" country="Canada" operator="Bell Aliant" 640 bands="CDMA 800 / CDMA 1900" brand="Bell" cc="ca" country="Canada" operator="Bell Mobility" status="Not operational" 650 bands="UMTS 850 / UMTS 1900 / LTE 2600" brand="TBaytel" cc="ca" country="Canada" operator="Thunder Bay Telephone" status="Operational" 652 bands="CDMA2000" cc="ca" country="Canada" operator="BC Tel Mobility (Telus)" status="Not operational" 653 bands="CDMA 800 / CDMA 1900" brand="Telus" cc="ca" country="Canada" operator="Telus Mobility" status="Not operational" 655 bands="CDMA 800 / CDMA 1900" brand="MTS" cc="ca" country="Canada" operator="Bell MTS" status="Not operational" 656 bands="CDMA" brand="TBay" cc="ca" country="Canada" operator="Thunder Bay Telephone Mobility" status="Not operational" 657 bands="CDMA 800 / CDMA 1900" brand="Telus" cc="ca" country="Canada" operator="Telus Mobility" status="Not operational" 660 bands="UMTS 850 / UMTS 1900 / LTE 1700" brand="MTS" cc="ca" country="Canada" operator="Bell MTS" status="Operational" 670 brand="CityTel Mobility" cc="ca" country="Canada" operator="CityWest" 680 bands="TD-LTE 2600" brand="SaskTel" cc="ca" country="Canada" operator="SaskTel Mobility" status="Operational" 690 bands="UMTS 850 / UMTS 1900" brand="Bell" cc="ca" country="Canada" operator="Bell Mobility" status="Operational" 701 bands="CDMA2000" cc="ca" country="Canada" operator="MB Tel Mobility" status="Not operational" 702 bands="CDMA2000" cc="ca" country="Canada" operator="MT&T Mobility (Aliant)" status="Not operational" 703 bands="CDMA2000" cc="ca" country="Canada" operator="New Tel Mobility (Aliant)" status="Not operational" 710 bands="Satellite CDMA" brand="Globalstar" cc="ca" country="Canada" status="Operational" 720 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 2600" brand="Rogers Wireless" cc="ca" country="Canada" operator="Rogers Communications" status="Operational" 721 brand="Rogers Wireless" cc="ca" country="Canada" operator="Rogers Communications" 730 brand="TerreStar Solutions" cc="ca" country="Canada" operator="TerreStar Networks" 740 brand="Shaw Telecom" cc="ca" country="Canada" operator="Shaw Communications" status="Not operational" 750 brand="SaskTel" cc="ca" country="Canada" operator="SaskTel Mobility" 760 bands="MVNO" brand="Public Mobile" cc="ca" country="Canada" operator="Telus Mobility" status="Operational" 770 bands="UMTS 850" brand="TNW Wireless" cc="ca" country="Canada" operator="TNW Wireless Inc." status="Operational" 780 bands="UMTS 850 / UMTS 1900 / LTE 1700" brand="SaskTel" cc="ca" country="Canada" operator="SaskTel Mobility" status="Operational" 790 bands="WiMAX / TD-LTE 3500" cc="ca" country="Canada" operator="NetSet Communications" status="Operational" 820 brand="Rogers Wireless" cc="ca" country="Canada" operator="Rogers Communications" 860 brand="Telus" cc="ca" country="Canada" operator="Telus Mobility" 880 bands="UMTS 850 / UMTS 1900" brand="Bell / Telus / SaskTel" cc="ca" country="Canada" operator="Shared Telus, Bell, and SaskTel" status="Operational" 920 brand="Rogers Wireless" cc="ca" country="Canada" operator="Rogers Communications" status="Not operational" 940 bands="UMTS 850 / UMTS 1900" brand="Wightman Mobility" cc="ca" country="Canada" operator="Wightman Telecom" status="Operational" 990 cc="ca" country="Canada" operator="Ericsson Canada" 991 cc="ca" country="Canada" operator="Halton Regional Police Service" 000-999 308 01 bands="GSM 900" brand="Ameris" cc="pm" country="Saint Pierre and Miquelon (France)" operator="St. Pierre-et-Miquelon Télécom" status="Operational" 02 bands="GSM 900 / LTE 800" brand="GLOBALTEL" cc="pm" country="Saint Pierre and Miquelon (France)" operator="GLOBALTEL" status="Operational" 00-99 310 004 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Operational" 005 bands="CDMA2000 850 / CDMA2000 1900" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Operational" 006 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Operational" 010 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Not operational" 012 bands="LTE 700 / LTE 1700 / LTE 1900" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Operational" 013 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 014 cc="us" country="United States of America" 015 brand="Southern LINC" cc="us" country="United States of America" operator="Southern Communications" 016 bands="CDMA2000 1900 / CDMA2000 1700" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Not operational" 017 bands="iDEN" brand="ProxTel" cc="us" country="United States of America" operator="North Sight Communications Inc." status="Not operational" 020 bands="GSM 850 / GSM 1900 / UMTS" brand="Union Wireless" cc="us" country="United States of America" operator="Union Telephone Company" status="Operational" 030 bands="GSM 850" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational" 032 bands="CDMA 1900 / GSM 1900 / LTE 700" brand="IT&E Wireless" cc="us" country="United States of America" operator="IT&E Overseas, Inc" status="Operational" 033 cc="us" country="United States of America" operator="Guam Telephone Authority" 034 bands="iDEN" brand="Airpeak" cc="us" country="United States of America" operator="Airpeak" status="Operational" 035 brand="ETEX Wireless" cc="us" country="United States of America" operator="ETEX Communications, LP" 040 bands="CDMA" brand="MTA" cc="us" country="United States of America" operator="Matanuska Telephone Association, Inc." status="Not operational" 050 bands="CDMA" brand="GCI" cc="us" country="United States of America" operator="Alaska Communications" status="Operational" 053 bands="MVNO" brand="Virgin Mobile" cc="us" country="United States of America" operator="Sprint" status="Operational" 054 cc="us" country="United States of America" operator="Alltel US" status="Operational" 060 bands="1900" cc="us" country="United States of America" operator="Consolidated Telcom" status="Not operational" 066 bands="GSM / CDMA" brand="U.S. Cellular" cc="us" country="United States of America" operator="U.S. Cellular" status="Operational" 070 bands="GSM 850" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational" 080 bands="GSM 1900" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational" 090 bands="GSM 1900" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational" 100 bands="GSM 850 / UMTS 850 / UMTS 1700" brand="Plateau Wireless" cc="us" country="United States of America" operator="New Mexico RSA 4 East LP" status="Operational" 110 bands="CDMA / GSM 850 / LTE 700" brand="IT&E Wireless" cc="us" country="United States of America" operator="PTI Pacifica Inc." status="Operational" 120 bands="CDMA2000 1900 / LTE 850 / LTE 1900" brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" status="Operational" 130 bands="CDMA2000 1900" brand="Carolina West Wireless" cc="us" country="United States of America" operator="Carolina West Wireless" status="Operational" 140 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1700" brand="GTA Wireless" cc="us" country="United States of America" operator="Teleguam Holdings, LLC" status="Operational" 150 bands="GSM 850 / UMTS 850 / UMTS 1900" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational" 160 bands="GSM 1900" brand="T-Mobile" cc="us" country="United States of America" operator="T-Mobile US" status="Operational" 170 bands="GSM 1900" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational" 180 bands="GSM 850 / UMTS 850 / UMTS 1900" brand="West Central" cc="us" country="United States of America" operator="West Central Wireless" status="Operational" 190 bands="GSM 850" brand="GCI" cc="us" country="United States of America" operator="Alaska Communications" status="Operational" 200 bands="GSM 1900" cc="us" country="United States of America" operator="T-Mobile" status="Not operational" 210 bands="GSM 1900" cc="us" country="United States of America" operator="T-Mobile" status="Not operational" 220 bands="GSM 1900" cc="us" country="United States of America" operator="T-Mobile" status="Not operational" 230 bands="GSM 1900" cc="us" country="United States of America" operator="T-Mobile" status="Not operational" 240 bands="GSM 1900" cc="us" country="United States of America" operator="T-Mobile" status="Not operational" 250 bands="GSM 1900" cc="us" country="United States of America" operator="T-Mobile" status="Not operational" 260 bands="GSM 1900 / UMTS 1900 / UMTS 1700 / LTE 850 / LTE 700 / LTE 1900 / LTE 1700 / 5G 600" brand="T-Mobile" cc="us" country="United States of America" operator="T-Mobile USA" status="Operational" 270 bands="GSM 1900" cc="us" country="United States of America" operator="T-Mobile" status="Not operational" 280 bands="GSM 1900" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Not operational" 290 bands="GSM 1900" brand="nep" cc="us" country="United States of America" operator="NEP Cellcorp Inc." status="Not operational" 300 bands="GSM 1900" brand="Big Sky Mobile" cc="us" country="United States of America" operator="iSmart Mobile, LLC" status="Not operational" 310 bands="GSM 1900" cc="us" country="United States of America" operator="T-Mobile" status="Not operational" 311 bands="GSM 1900" cc="us" country="United States of America" operator="Farmers Wireless" status="Not operational" 320 bands="GSM 850 / GSM 1900 / UMTS" brand="Cellular One" cc="us" country="United States of America" operator="Smith Bagley, Inc." status="Operational" 330 bands="LTE" cc="us" country="United States of America" operator="Wireless Partners, LLC" 340 bands="GSM 1900" brand="Limitless Mobile" cc="us" country="United States of America" operator="Limitless Mobile, LLC" 350 bands="CDMA" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Not operational" 360 bands="CDMA" brand="Pioneer Cellular" cc="us" country="United States of America" operator="Cellular Network Partnership" status="Operational" 370 bands="GSM 1900 / UMTS 850 / LTE 700" brand="Docomo" cc="us" country="United States of America" operator="NTT DoCoMo Pacific" status="Operational" 380 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Not operational" 390 bands="GSM 850 / LTE 700 / CDMA" brand="Cellular One of East Texas" cc="us" country="United States of America" operator="TX-11 Acquisition, LLC" status="Operational" 400 bands="GSM 1900 / UMTS 1900 / LTE 700" brand="iConnect" cc="us" country="United States of America" operator="Wave Runner LLC" status="Operational" 410 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational" 420 bands="GSM 1900 / UMTS 1700" brand="Cincinnati Bell" cc="us" country="United States of America" operator="Cincinnati Bell Wireless" status="Not operational" 430 bands="GSM 1900 / UMTS 1900" brand="GCI" cc="us" country="United States of America" operator="GCI Communications Corp." status="Operational" 440 bands="MVNO" cc="us" country="United States of America" operator="Numerex" status="Operational" 450 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900" brand="Viaero" cc="us" country="United States of America" operator="Viaero Wireless" status="Operational" 460 bands="MVNO" brand="Conecto" cc="us" country="United States of America" operator="NewCore Wireless LLC" status="Operational" 470 brand="Docomo" cc="us" country="United States of America" operator="NTT DoCoMo Pacific" 480 bands="iDEN" brand="iConnect" cc="us" country="United States of America" operator="Wave Runner LLC" status="Operational" 490 bands="GSM 850 / GSM 1900" cc="us" country="United States of America" operator="T-Mobile" status="Operational" 500 bands="CDMA2000 850 / CDMA2000 1900" brand="Alltel" cc="us" country="United States of America" operator="Public Service Cellular Inc." status="Operational" 510 brand="Cellcom" cc="us" country="United States of America" operator="Nsight" 520 brand="TNS" cc="us" country="United States of America" operator="Transaction Network Services" 530 brand="iWireless" cc="us" country="United States of America" operator="Iowa Wireless Services LLC" 540 bands="GSM 850 / GSM 1900" brand="Phoenix" cc="us" country="United States of America" operator="Hilliary Communications" status="Operational" 550 cc="us" country="United States of America" operator="Syniverse Technologies" 560 bands="GSM 850" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Not operational" 570 bands="GSM 850 / LTE 700" brand="Cellular One" cc="us" country="United States of America" operator="TX-10, LLC and Central Louisiana Cellular, LLC (MTPCS)" status="Operational" 580 bands="CDMA2000" cc="us" country="United States of America" operator="Inland Cellular Telephone Company" status="Operational" 59 bands="CDMA" brand="Cellular One" cc="bm" country="Bermuda" status="Operational" 590 bands="GSM 850 / GSM 1900" cc="us" country="United States of America" operator="Verizon Wireless" 600 bands="CDMA2000 850 / CDMA2000 1900" brand="Cellcom" cc="us" country="United States of America" operator="NewCell Inc." status="Operational" 610 bands="GSM 1900" brand="Epic PCS" cc="us" country="United States of America" operator="Elkhart Telephone Co." status="Not operational" 620 brand="Cellcom" cc="us" country="United States of America" operator="Nsighttel Wireless LLC" 630 bands="LTE 700" brand="miSpot" cc="us" country="United States of America" operator="Agri-Valley Communications" status="Not operational" 640 bands="MVNO" cc="us" country="United States of America" operator="Numerex" status="Operational" 650 bands="MVNO" brand="Jasper" cc="us" country="United States of America" operator="Jasper Technologies" status="Operational" 660 bands="GSM 1900" brand="T-Mobile" cc="us" country="United States of America" status="Not operational" 670 brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" 680 bands="GSM 850 / GSM 1900" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational" 690 bands="GSM 1900 / LTE 1900" brand="Limitless Mobile" cc="us" country="United States of America" operator="Limitless Mobile, LLC" 700 bands="GSM" brand="Bigfoot Cellular" cc="us" country="United States of America" operator="Cross Valiant Cellular Partnership" 710 bands="UMTS 850 / LTE" brand="ASTAC" cc="us" country="United States of America" operator="Arctic Slope Telephone Association Cooperative" status="Operational" 720 cc="us" country="United States of America" operator="Syniverse Technologies" 730 brand="U.S. Cellular" cc="us" country="United States of America" operator="U.S. Cellular" 740 bands="LTE 700 / LTE 1700 / LTE 1900" brand="Viaero" cc="us" country="United States of America" operator="Viaero Wireless" status="Operational" 750 bands="CDMA2000 850 / CDMA2000 1900" brand="Appalachian Wireless" cc="us" country="United States of America" operator="East Kentucky Network, LLC" status="Operational" 760 cc="us" country="United States of America" operator="Lynch 3G Communications Corporation" status="Not operational" 770 bands="GSM 1900 / UMTS 1700 / LTE 1700 / LTE 1900" brand="iWireless" cc="us" country="United States of America" operator="Iowa Wireless Services" status="Operational" 780 bands="iDEN" brand="Dispatch Direct" cc="us" country="United States of America" operator="D. D. Inc." status="Not operational" 790 bands="GSM 1900 / UMTS / LTE" brand="BLAZE" cc="us" country="United States of America" operator="PinPoint Communications Inc." status="Operational" 800 bands="GSM 1900" cc="us" country="United States of America" operator="T-Mobile" status="Not operational" 810 bands="1900" cc="us" country="United States of America" operator="Pacific Lightwave Inc." 820 cc="us" country="United States of America" operator="Verizon Wireless" 830 bands="WiMAX" brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" status="Not operational" 840 bands="MVNO" brand="telna Mobile" cc="us" country="United States of America" operator="Telecom North America Mobile, Inc." status="Operational" 850 bands="MVNO" brand="Aeris" cc="us" country="United States of America" operator="Aeris Communications, Inc." status="Operational" 860 bands="CDMA" brand="Five Star Wireless" cc="us" country="United States of America" operator="TX RSA 15B2, LP" status="Operational" 870 bands="GSM 850" brand="PACE" cc="us" country="United States of America" operator="Kaplan Telephone Company" status="Not operational" 880 bands="LTE" brand="DTC Wireless" cc="us" country="United States of America" operator="Advantage Cellular Systems, Inc." status="Operational" 890 bands="GSM 850 / GSM 1900" cc="us" country="United States of America" operator="Verizon Wireless" 900 bands="CDMA2000 850 / CDMA2000 1900" brand="Mid-Rivers Wireless" cc="us" country="United States of America" operator="Cable & Communications Corporation" status="Operational" 910 bands="GSM 850" cc="us" country="United States of America" operator="Verizon Wireless" 920 bands="CDMA" cc="us" country="United States of America" operator="James Valley Wireless, LLC" status="Operational" 930 bands="CDMA" cc="us" country="United States of America" operator="Copper Valley Wireless" status="Operational" 940 bands="MVNO" cc="us" country="United States of America" operator="Tyntec Inc." 950 bands="GSM 850" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational" 960 bands="CDMA" brand="STRATA" cc="us" country="United States of America" operator="UBET Wireless" status="Operational" 970 bands="Satellite" cc="us" country="United States of America" operator="Globalstar" status="Operational" 980 bands="CDMA / LTE 700" brand="Peoples Telephone" cc="us" country="United States of America" operator="Texas RSA 7B3" status="Not operational" 990 bands="LTE 700" brand="Evolve Broadband" cc="us" country="United States of America" operator="Evolve Cellular Inc." status="Operational" 311 010 bands="CDMA2000 850 / CDMA2000 1900" brand="Chariton Valley" cc="us" country="United States of America" operator="Chariton Valley Communications" status="Operational" 012 bands="CDMA2000 850 / CDMA2000 1900" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Operational" 020 bands="GSM 850" brand="Chariton Valley" cc="us" country="United States of America" operator="Missouri RSA 5 Partnership" status="Operational" 030 bands="GSM 850 / GSM 1900 / UMTS 850" brand="Indigo Wireless" cc="us" country="United States of America" operator="Americell PA 3 Partnership" status="Operational" 040 bands="GSM 850 / GSM 1900 / CDMA 2000 / UMTS" brand="Choice Wireless" cc="us" country="United States of America" operator="Commnet Wireless" status="Operational" 050 bands="CDMA2000 850" cc="us" country="United States of America" operator="Thumb Cellular LP" status="Operational" 060 cc="us" country="United States of America" operator="Space Data Corporation" status="Operational" 070 bands="GSM 850" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational" 080 bands="GSM 850 / LTE" brand="Pine Cellular" cc="us" country="United States of America" operator="Pine Telephone Company" status="Operational" 090 bands="GSM 1900" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational" 100 bands="CDMA2000" cc="us" country="United States of America" operator="Nex-Tech Wireless" status="Operational" 110 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 120 brand="iConnect" cc="us" country="United States of America" operator="Wave Runner LLC" status="Operational" 130 bands="LTE" cc="us" country="United States of America" operator="Lightsquared L.P." status="Not operational" 140 bands="CDMA" brand="Bravado Wireless" cc="us" country="United States of America" operator="Cross Telephone Company" status="Operational" 150 bands="GSM 850" cc="us" country="United States of America" operator="Wilkes Cellular" status="Operational" 160 bands="LTE" cc="us" country="United States of America" operator="Lightsquared L.P." status="Not operational" 170 bands="GSM 850 / LTE" cc="us" country="United States of America" operator="Tampnet" status="Operational" 180 bands="GSM 850 / UMTS 850 / UMTS 1900" brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" status="Not operational" 190 brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" 200 cc="us" country="United States of America" operator="ARINC" status="Not operational" 210 bands="MVNO" cc="us" country="United States of America" operator="Telnyx LLC" status="Operational" 220 bands="CDMA" brand="U.S. Cellular" cc="us" country="United States of America" operator="U.S. Cellular" status="Operational" 230 bands="CDMA 850 / CDMA 1900 / LTE 700 / LTE 850 / LTE 1700 / LTE 1900 / TD-LTE 2500" brand="C Spire Wireless" cc="us" country="United States of America" operator="Cellular South Inc." status="Operational" 240 bands="GSM / UMTS 850 / WiMAX" cc="us" country="United States of America" operator="Cordova Wireless" status="Operational" 250 brand="iConnect" cc="us" country="United States of America" operator="Wave Runner LLC" status="Operational" 260 bands="WiMAX" brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" status="Not operational" 270 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 271 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 272 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 273 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 274 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 275 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 276 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 277 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 278 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 279 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 280 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 281 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 282 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 283 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 284 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 285 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 286 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 287 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 288 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 289 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 290 bands="GSM 1900 / UMTS / LTE" brand="BLAZE" cc="us" country="United States of America" operator="PinPoint Communications Inc." status="Operational" 300 cc="us" country="United States of America" operator="Nexus Communications, Inc." status="Not operational" 310 bands="CDMA2000" brand="NMobile" cc="us" country="United States of America" operator="Leaco Rural Telephone Company Inc." status="Not operational" 320 bands="GSM 850 / GSM 1900 / CDMA 2000 / UMTS" brand="Choice Wireless" cc="us" country="United States of America" operator="Commnet Wireless" status="Operational" 330 bands="GSM 1900 / LTE 1700 / WiMAX 3700" brand="Bug Tussel Wireless" cc="us" country="United States of America" operator="Bug Tussel Wireless LLC" status="Operational" 340 bands="CDMA2000 / LTE 850" cc="us" country="United States of America" operator="Illinois Valley Cellular" status="Operational" 350 bands="CDMA2000" brand="Nemont" cc="us" country="United States of America" operator="Sagebrush Cellular, Inc." status="Operational" 360 bands="UMTS 1700" cc="us" country="United States of America" operator="Stelera Wireless" status="Not operational" 370 bands="LTE 1700" brand="GCI Wireless" cc="us" country="United States of America" operator="General Communication Inc." status="Operational" 380 bands="MVNO" cc="us" country="United States of America" operator="New Dimension Wireless Ltd." status="Operational" 390 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 400 cc="us" country="United States of America" 410 bands="CDMA" brand="Chat Mobility" cc="us" country="United States of America" operator="Iowa RSA No. 2 LP" status="Operational" 420 bands="CDMA" brand="NorthwestCell" cc="us" country="United States of America" operator="Northwest Missouri Cellular LP" status="Operational" 430 bands="CDMA" brand="Chat Mobility" cc="us" country="United States of America" operator="RSA 1 LP" 440 bands="CDMA" cc="us" country="United States of America" operator="Bluegrass Cellular LLC" status="Operational" 450 bands="GSM 1900 / LTE 700" brand="PTCI" cc="us" country="United States of America" operator="Panhandle Telecommunication Systems Inc." status="Operational" 460 cc="us" country="United States of America" operator="Electric Imp Inc." 470 bands="GSM 850 / GSM 1900 / TD-LTE 2500" brand="Viya" cc="us" country="United States of America" operator="Vitelcom Cellular Inc." status="Operational" 480 bands="LTE 700" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Operational" 481 bands="LTE 700" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Not operational" 482 bands="LTE 700" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Not operational" 483 bands="LTE 700" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Not operational" 484 bands="LTE 700" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Not operational" 485 bands="LTE 700" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Not operational" 486 bands="LTE 700" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Not operational" 487 bands="LTE 700" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Not operational" 488 bands="LTE 700" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Not operational" 489 bands="LTE 700" brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" status="Not operational" 490 bands="LTE 850 / LTE 1900 / TD-LTE 2500" brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" status="Operational" 500 bands="UMTS / LTE 700 / LTE 1700" cc="us" country="United States of America" operator="Mosaic Telecom" status="Not operational" 510 bands="LTE" cc="us" country="United States of America" operator="Ligado Networks" status="Not operational" 520 bands="LTE" cc="us" country="United States of America" operator="Lightsquared L.P." status="Not operational" 530 bands="LTE 1900" brand="NewCore" cc="us" country="United States of America" operator="NewCore Wireless LLC" status="Operational" 540 bands="GSM 850" cc="us" country="United States of America" operator="Proximiti Mobility Inc." status="Not operational" 550 bands="GSM 850 / GSM 1900 / CDMA 2000 / UMTS" brand="Choice Wireless" cc="us" country="United States of America" operator="Commnet Wireless LLC" status="Operational" 560 bands="GSM 850" brand="OTZ Cellular" cc="us" country="United States of America" operator="OTZ Communications, Inc." status="Operational" 570 bands="UMTS 1700 / LTE 1700" brand="BendBroadband" cc="us" country="United States of America" operator="Bend Cable Communications LLC" status="Not operational" 580 bands="LTE 700 / LTE 850" brand="U.S. Cellular" cc="us" country="United States of America" operator="U.S. Cellular" status="Operational" 590 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 600 bands="CDMA" brand="Limitless Mobile" cc="us" country="United States of America" operator="Limitless Mobile, LLC" 610 bands="CDMA" brand="SRT Communications" cc="us" country="United States of America" operator="North Dakota Network Co." status="Not operational" 620 bands="Satellite" cc="us" country="United States of America" operator="TerreStar Networks, Inc." status="Not operational" 630 brand="C Spire Wireless" cc="us" country="United States of America" operator="Cellular South Inc." 640 bands="LTE 700" brand="Rock Wireless" cc="us" country="United States of America" operator="Standing Rock Telecommunications" status="Operational" 650 bands="CDMA / LTE 700 / WiMAX 3700" brand="United Wireless" cc="us" country="United States of America" operator="United Wireless" status="Operational" 660 bands="MVNO" brand="Metro" cc="us" country="United States of America" operator="Metro by T-Mobile" status="Operational" 670 bands="CDMA / LTE 700" brand="Pine Belt Wireless" cc="us" country="United States of America" operator="Pine Belt Cellular Inc." status="Operational" 680 bands="GSM 1900" cc="us" country="United States of America" operator="GreenFly LLC" 690 bands="paging" cc="us" country="United States of America" operator="TeleBEEPER of New Mexico" status="Operational" 700 bands="MVNO" cc="us" country="United States of America" operator="Midwest Network Solutions Hub LLC" 710 cc="us" country="United States of America" operator="Northeast Wireless Networks LLC" 720 bands="GSM 1900" cc="us" country="United States of America" operator="MainePCS LLC" status="Not operational" 730 bands="GSM 850" cc="us" country="United States of America" operator="Proximiti Mobility Inc." 740 bands="GSM 850 / LTE" cc="us" country="United States of America" operator="Telalaska Cellular" status="Operational" 750 brand="ClearTalk" cc="us" country="United States of America" operator="Flat Wireless LLC" 760 cc="us" country="United States of America" operator="Edigen Inc." status="Not operational" 770 cc="us" country="United States of America" operator="Altiostar Networks, Inc." 780 bands="LTE 700" brand="ASTCA" cc="as" country="American Samoa (United States of America)" operator="American Samoa Telecommunications" status="Operational" 790 cc="us" country="United States of America" operator="Coleman County Telephone Cooperative, Inc." 800 bands="LTE 700" cc="us" country="United States of America" operator="Bluegrass Cellular LLC" status="Operational" 810 bands="LTE 700" cc="us" country="United States of America" operator="Bluegrass Cellular LLC" status="Operational" 820 cc="us" country="United States of America" operator="Sonus Networks" 830 bands="LTE 700" cc="us" country="United States of America" operator="Thumb Cellular LP" status="Operational" 840 bands="LTE 700" brand="Cellcom" cc="us" country="United States of America" operator="Nsight" status="Operational" 850 bands="LTE 700" brand="Cellcom" cc="us" country="United States of America" operator="Nsight" status="Operational" 860 bands="LTE 700" brand="STRATA" cc="us" country="United States of America" operator="Uintah Basin Electronic Telecommunications" status="Operational" 870 bands="MVNO" brand="Boost Mobile" cc="us" country="United States of America" operator="Sprint Corporation" status="Operational" 880 brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" 882 brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" 890 cc="us" country="United States of America" operator="Globecomm Network Services Corporation" 900 bands="MVNO" cc="us" country="United States of America" operator="GigSky" status="Operational" 910 bands="CDMA / LTE" brand="MobileNation" cc="us" country="United States of America" operator="SI Wireless LLC" status="Operational" 920 brand="Chariton Valley" cc="us" country="United States of America" operator="Missouri RSA 5 Partnership" 930 bands="LTE 700" cc="us" country="United States of America" operator="Syringa Wireless" status="Not operational" 940 bands="WiMAX" brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" status="Not operational" 950 bands="CDMA / LTE 700" brand="ETC" cc="us" country="United States of America" operator="Enhanced Telecommmunications Corp." status="Operational" 960 bands="MVNO" brand="Lycamobile" cc="us" country="United States of America" operator="Lycamobile USA Inc." status="Operational" 970 bands="LTE 1700" brand="Big River Broadband" cc="us" country="United States of America" operator="Big River Broadband, LLC" status="Operational" 980 cc="us" country="United States of America" operator="LigTel Communications" 990 bands="LTE 700 / LTE 1700" cc="us" country="United States of America" operator="VTel Wireless" status="Operational" 000-999 312 020 bands="LTE 700" cc="us" country="United States of America" operator="Infrastructure Networks, LLC" status="Operational" 030 bands="LTE 700" brand="Bravado Wireless" cc="us" country="United States of America" operator="Cross Wireless" status="Operational" 040 bands="LTE 700" cc="us" country="United States of America" operator="Custer Telephone Co-op (CTCI)" status="Operational" 050 bands="LTE 700" cc="us" country="United States of America" operator="Fuego Wireless" status="Not operational" 060 bands="CDMA / GSM" cc="us" country="United States of America" operator="CoverageCo" 070 bands="LTE 700" cc="us" country="United States of America" operator="Adams Networks Inc" status="Operational" 080 bands="UMTS-TDD 700" brand="SyncSouth" cc="us" country="United States of America" operator="South Georgia Regional Information Technology Authority" status="Operational" 090 brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" 100 cc="us" country="United States of America" operator="ClearSky Technologies, Inc." 110 bands="LTE" cc="us" country="United States of America" operator="Texas Energy Network LLC" status="Not operational" 120 bands="LTE 700" brand="Appalachian Wireless" cc="us" country="United States of America" operator="East Kentucky Network, LLC" status="Operational" 130 bands="LTE 700" brand="Appalachian Wireless" cc="us" country="United States of America" operator="East Kentucky Network, LLC" status="Operational" 140 bands="CDMA" brand="Revol Wireless" cc="us" country="United States of America" operator="Cleveland Unlimited, Inc." status="Not operational" 150 bands="LTE 700" brand="NorthwestCell" cc="us" country="United States of America" operator="Northwest Missouri Cellular LP" status="Operational" 160 bands="LTE 700" brand="Chat Mobility" cc="us" country="United States of America" operator="RSA1 Limited Partnership" status="Operational" 170 bands="LTE 700" brand="Chat Mobility" cc="us" country="United States of America" operator="Iowa RSA No. 2 LP" status="Operational" 180 cc="us" country="United States of America" operator="Limitless Mobile LLC" 190 brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" 200 bands="MVNO" cc="us" country="United States of America" operator="Voyager Mobility LLC" status="Not operational" 210 bands="MVNO" cc="us" country="United States of America" operator="Aspenta International, Inc." status="Operational" 220 bands="LTE 700" brand="Chariton Valley" cc="us" country="United States of America" operator="Chariton Valley Communications Corporation, Inc." status="Operational" 230 brand="SRT Communications" cc="us" country="United States of America" operator="North Dakota Network Co." status="Not operational" 240 brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" 250 brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" 260 bands="LTE 1900" brand="NewCore" cc="us" country="United States of America" operator="Central LTE Holdings" status="Operational" 270 bands="LTE 700" brand="Pioneer Cellular" cc="us" country="United States of America" operator="Cellular Network Partnership" status="Operational" 280 bands="LTE 700" brand="Pioneer Cellular" cc="us" country="United States of America" operator="Cellular Network Partnership" status="Operational" 290 brand="STRATA" cc="us" country="United States of America" operator="Uintah Basin Electronic Telecommunications" 300 bands="MVNO" brand="telna Mobile" cc="us" country="United States of America" operator="Telecom North America Mobile, Inc." status="Operational" 310 bands="LTE 700" cc="us" country="United States of America" operator="Clear Stream Communications, LLC" status="Operational" 320 bands="LTE 700" cc="us" country="United States of America" operator="RTC Communications LLC" status="Operational" 330 bands="LTE 700" brand="Nemont" cc="us" country="United States of America" operator="Nemont Communications, Inc." status="Operational" 340 bands="LTE 700" brand="MTA" cc="us" country="United States of America" operator="Matanuska Telephone Association, Inc." status="Not operational" 350 bands="LTE 700" cc="us" country="United States of America" operator="Triangle Communication System Inc." status="Operational" 360 cc="us" country="United States of America" operator="Wes-Tex Telecommunications, Ltd." 370 bands="LTE" brand="Choice Wireless" cc="us" country="United States of America" operator="Commnet Wireless" status="Operational" 380 bands="LTE 700" cc="us" country="United States of America" operator="Copper Valley Wireless" status="Operational" 390 bands="UMTS / LTE" brand="FTC Wireless" cc="us" country="United States of America" operator="FTC Communications LLC" status="Operational" 400 bands="LTE 700" brand="Mid-Rivers Wireless" cc="us" country="United States of America" operator="Mid-Rivers Telephone Cooperative" status="Operational" 410 cc="us" country="United States of America" operator="Eltopia Communications, LLC" 420 bands="LTE 700" cc="us" country="United States of America" operator="Nex-Tech Wireless" status="Operational" 430 bands="CDMA / LTE 700" cc="us" country="United States of America" operator="Silver Star Communications" status="Operational" 440 bands="2500" cc="us" country="United States of America" operator="Consolidated Telcom" status="Not operational" 450 cc="us" country="United States of America" operator="Cable & Communications Corporation" 460 bands="LTE 700" cc="us" country="United States of America" operator="Ketchikan Public Utilities (KPU)" status="Operational" 470 bands="LTE 700" brand="Carolina West Wireless" cc="us" country="United States of America" operator="Carolina West Wireless" status="Operational" 480 brand="Nemont" cc="us" country="United States of America" operator="Sagebrush Cellular, Inc." 490 bands="Satellite" cc="us" country="United States of America" operator="TrustComm, Inc." 500 bands="LTE 700" cc="us" country="United States of America" operator="AB Spectrum LLC" status="Not operational" 510 bands="LTE" cc="us" country="United States of America" operator="WUE Inc." 520 cc="us" country="United States of America" operator="ANIN" status="Not operational" 530 brand="Sprint" cc="us" country="United States of America" operator="Sprint Corporation" status="Operational" 540 cc="us" country="United States of America" operator="Broadband In Hand LLC" status="Not operational" 550 cc="us" country="United States of America" operator="Great Plains Communications, Inc." 560 bands="MVNO" cc="us" country="United States of America" operator="NHLT Inc." status="Not operational" 570 bands="CDMA / LTE" brand="Blue Wireless" cc="us" country="United States of America" operator="Buffalo-Lake Erie Wireless Systems Co., LLC" status="Operational" 580 cc="us" country="United States of America" operator="Morgan, Lewis & Bockius LLP" 590 bands="LTE 2600" brand="NMU" cc="us" country="United States of America" operator="Northern Michigan University" status="Operational" 600 brand="Nemont" cc="us" country="United States of America" operator="Sagebrush Cellular, Inc." 610 bands="LTE 1900" brand="nTelos" cc="us" country="United States of America" operator="nTelos Licenses, Inc." status="Not operational" 620 bands="MVNO" cc="us" country="United States of America" operator="GlobeTouch Inc." status="Operational" 630 cc="us" country="United States of America" operator="NetGenuity, Inc." 640 brand="Nemont" cc="us" country="United States of America" operator="Sagebrush Cellular, Inc." status="Not operational" 650 cc="us" country="United States of America" operator="365 Wireless LLC" 660 bands="LTE 1900" brand="nTelos" cc="us" country="United States of America" operator="nTelos Wireless" status="Not operational" 670 brand="FirstNet" cc="us" country="United States of America" operator="AT&T Mobility" status="Operational" 680 brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" 690 bands="MVNO/MVNE" cc="us" country="United States of America" operator="TGS, LLC" status="Operational" 700 bands="LTE 700" cc="us" country="United States of America" operator="Wireless Partners, LLC" status="Operational" 710 bands="LTE" cc="us" country="United States of America" operator="Great North Woods Wireless LLC" status="Operational" 720 bands="LTE 850" brand="Southern LINC" cc="us" country="United States of America" operator="Southern Communications Services" status="Operational" 730 bands="CDMA" cc="us" country="United States of America" operator="Triangle Communication System Inc." status="Operational" 740 bands="MVNO" brand="Locus Telecommunications" cc="us" country="United States of America" operator="KDDI America, Inc." status="Not operational" 750 cc="us" country="United States of America" operator="Artemis Networks LLC" 760 brand="ASTAC" cc="us" country="United States of America" operator="Arctic Slope Telephone Association Cooperative" 770 brand="Verizon" cc="us" country="United States of America" operator="Verizon Wireless" 780 bands="TD-LTE 2500" cc="us" country="United States of America" operator="Redzone Wireless" status="Operational" 790 cc="us" country="United States of America" operator="Gila Electronics" 800 bands="MVNO" cc="us" country="United States of America" operator="Cirrus Core Networks" 810 bands="CDMA / LTE" brand="BBCP" cc="us" country="United States of America" operator="Bristol Bay Telephone Cooperative" status="Operational" 820 cc="us" country="United States of America" operator="Santel Communications Cooperative, Inc." 830 bands="WiMAX" cc="us" country="United States of America" operator="Kings County Office of Education" status="Operational" 840 cc="us" country="United States of America" operator="South Georgia Regional Information Technology Authority" 850 bands="MVNO" cc="us" country="United States of America" operator="Onvoy Spectrum, LLC" 860 bands="CDMA / LTE 1900 / LTE 1700" brand="ClearTalk" cc="us" country="United States of America" operator="Flat Wireless, LLC" status="Operational" 870 bands="MVNO" cc="us" country="United States of America" operator="GigSky Mobile, LLC" status="Operational" 880 cc="us" country="United States of America" operator="Albemarle County Public Schools" 890 cc="us" country="United States of America" operator="Circle Gx" 900 bands="CDMA / LTE 1900 / LTE 1700" brand="ClearTalk" cc="us" country="United States of America" operator="Flat West Wireless, LLC" status="Operational" 910 brand="Appalachian Wireless" cc="us" country="United States of America" operator="East Kentucky Network, LLC" 920 cc="us" country="United States of America" operator="Northeast Wireless Networks LLC" 930 cc="us" country="United States of America" operator="Hewlett-Packard Communication Services, LLC" 940 cc="us" country="United States of America" operator="Webformix" status="Operational" 950 bands="CDMA" cc="us" country="United States of America" operator="Custer Telephone Co-op (CTCI)" status="Operational" 960 cc="us" country="United States of America" operator="M&A Technology, Inc." 970 cc="us" country="United States of America" operator="IOSAZ Intellectual Property LLC" 980 cc="us" country="United States of America" operator="Mark Twain Communications Company" 990 brand="Premier Broadband" cc="us" country="United States of America" operator="Premier Holdings LLC" 000-999 313 010 brand="Bravado Wireless" cc="us" country="United States of America" operator="Cross Wireless LLC" 020 bands="CDMA" brand="CTC Wireless" cc="us" country="United States of America" operator="Cambridge Telephone Company Inc." status="Operational" 030 bands="CDMA" brand="Snake River PCS" cc="us" country="United States of America" operator="Eagle Telephone System Inc." status="Operational" 040 bands="CDMA" brand="NNTC Wireless" cc="us" country="United States of America" operator="Nucla-Naturita Telephone Company" status="Operational" 050 bands="CDMA" brand="Breakaway Wireless" cc="us" country="United States of America" operator="Manti Tele Communications Company, Inc." status="Not operational" 060 cc="us" country="United States of America" operator="Country Wireless" status="Operational" 070 cc="us" country="United States of America" operator="Midwest Network Solutions Hub LLC" 080 cc="us" country="United States of America" operator="Speedwavz LLP" status="Operational" 090 cc="us" country="United States of America" operator="Vivint Wireless, Inc." status="Operational" 100 bands="LTE 700" brand="FirstNet" cc="us" country="United States of America" operator="700 MHz Public Safety Broadband" status="Operational" 110 cc="us" country="United States of America" 200 cc="us" country="United States of America" operator="Mercury Network Corporation" status="Operational" 210 brand="AT&T" cc="us" country="United States of America" operator="AT&T Mobility" 220 cc="us" country="United States of America" operator="Custer Telephone Co-op (CTCI)" 230 bands="LTE" cc="us" country="United States of America" operator="Velocity Communications Inc." 240 brand="Peak Internet" cc="us" country="United States of America" operator="Fundamental Holdings, Corp." 250 bands="LTE" cc="us" country="United States of America" operator="Imperial County Office of Education" 260 bands="MVNO" cc="us" country="United States of America" operator="Expeto Wireless Inc." status="Operational" 270 cc="us" country="United States of America" operator="Blackstar Management" status="Not operational" 280 bands="LTE 700" cc="us" country="United States of America" operator="King Street Wireless, LP" 290 bands="LTE" cc="us" country="United States of America" operator="Gulf Coast Broadband LLC" 300 bands="LTE" cc="us" country="United States of America" operator="Cambio WiFi of Delmarva, LLC" status="Operational" 310 cc="us" country="United States of America" operator="CAL.NET, Inc." 320 bands="LTE 3500" cc="us" country="United States of America" operator="Paladin Wireless" 330 cc="us" country="United States of America" operator="CenturyTel Broadband Services LLC" 340 cc="us" country="United States of America" operator="Dish Network" 350 cc="us" country="United States of America" operator="Dish Network" 360 cc="us" country="United States of America" operator="Dish Network" 370 cc="us" country="United States of America" operator="Red Truck Wireless, LLC" 380 cc="us" country="United States of America" operator="OptimERA Inc." 390 bands="MVNO" cc="us" country="United States of America" operator="Altice USA Wireless, Inc." 400 cc="us" country="United States of America" operator="Texoma Communications, LLC" 410 cc="us" country="United States of America" operator="pdvWireless" 420 cc="us" country="United States of America" operator="Hudson Valley Wireless" 440 cc="us" country="United States of America" operator="Arvig Enterprises, Inc." 450 cc="us" country="United States of America" operator="Spectrum Wireless Holdings, LLC" 460 bands="MVNO" cc="us" country="United States of America" operator="Mobi, Inc." status="Operational" 470 cc="us" country="United States of America" operator="San Diego Gas & Electric Company" 480 bands="MVNO" cc="us" country="United States of America" operator="Ready Wireless, LLC" 490 cc="us" country="United States of America" operator="Puloli, Inc." 500 cc="us" country="United States of America" operator="Shelcomm, Inc." 510 cc="us" country="United States of America" operator="Puerto Rico Telecom Company" 520 cc="us" country="United States of America" operator="Florida Broadband, Inc." status="Operational" 540 cc="us" country="United States of America" operator="Nokia Innovations US LLC" 550 cc="us" country="United States of America" operator="Mile High Networks LLC" status="Operational" 560 cc="us" country="United States of America" operator="Transit Wireless LLC" status="Operational" 000-999 316 011 bands="iDEN 800" brand="Southern LINC" cc="us" country="United States of America" operator="Southern Communications Services" status="Not operational" 000-999 330 000 bands="CDMA 1900" brand="Open Mobile" cc="pr" country="Puerto Rico" operator="PR Wireless" status="Operational" 110 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1700" brand="Claro Puerto Rico" cc="pr" country="Puerto Rico" operator="América Móvil" status="Operational" 120 bands="LTE 700" brand="Open Mobile" cc="pr" country="Puerto Rico" operator="PR Wireless" status="Operational" 000-999 334 001 cc="mx" country="Mexico" operator="Comunicaciones Digitales Del Norte, S.A. de C.V." 010 bands="iDEN 800" brand="AT&T" cc="mx" country="Mexico" operator="AT&T Mexico" status="Operational" 020 bands="GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1700 / LTE 2600" brand="Telcel" cc="mx" country="Mexico" operator="América Móvil" status="Operational" 030 bands="GSM 1900 / UMTS 850 / LTE 1900" brand="Movistar" cc="mx" country="Mexico" operator="Telefónica" status="Operational" 040 bands="CDMA2000 800 / CDMA2000 1900" brand="Unefon" cc="mx" country="Mexico" operator="AT&T Mexico" status="Not operational" 050 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / UMTS 1700 / LTE 850 / LTE 1700" brand="AT&T / Unefon" cc="mx" country="Mexico" operator="AT&T Mexico" status="Operational" 060 cc="mx" country="Mexico" operator="Servicios de Acceso Inalambrico, S.A. de C.V." 066 cc="mx" country="Mexico" operator="Telefonos de México, S.A.B. de C.V." 070 brand="Unefon" cc="mx" country="Mexico" operator="AT&T Mexico" 080 brand="Unefon" cc="mx" country="Mexico" operator="AT&T Mexico" 090 bands="UMTS 1700 / LTE 850 / LTE 1700" brand="AT&T" cc="mx" country="Mexico" operator="AT&T Mexico" status="Operational" 100 cc="mx" country="Mexico" operator="Telecomunicaciones de México" 110 bands="MVNO" cc="mx" country="Mexico" operator="Maxcom Telecomunicaciones, S.A.B. de C.V." 120 bands="MVNO" cc="mx" country="Mexico" operator="Quickly Phone, S.A. de C.V." 130 cc="mx" country="Mexico" operator="Axtel, S.A.B. de C.V." 140 bands="LTE 700" brand="Altan Redes" cc="mx" country="Mexico" operator="Altán Redes S.A.P.I. de C.V." status="Operational" 150 bands="LTE 2600" brand="Ultranet" cc="mx" country="Mexico" operator="Ultravisión, S.A. de C.V." status="Operational" 000-999 338 020 brand="FLOW" cc="jm" country="Jamaica" operator="LIME (Cable & Wireless)" status="Not operational" 040 bands="LTE" brand="Caricel" cc="jm" country="Jamaica" operator="Symbiote Investment Limited" 050 bands="GSM 900 / GSM 1800 / GSM 1900 / LTE 700" brand="Digicel" cc="tc" country="Turks and Caicos Islands" operator="Digicel (Turks & Caicos) Limited" status="Operational" 070 bands="GSM / UMTS / CDMA" brand="Claro" cc="jm" country="Jamaica" operator="Oceanic Digital Jamaica Limited" status="Not operational" 110 brand="FLOW" cc="jm" country="Jamaica" operator="Cable & Wireless Communications" status="Operational" 180 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 1900" brand="FLOW" cc="jm" country="Jamaica" operator="Cable & Wireless Communications" status="Operational" 000-999 340 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100" brand="Orange" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Orange Caraïbe Mobiles" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="SFR Caraïbe" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Outremer Telecom" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS / LTE 1800" brand="Chippie" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="UTS Caraïbe" status="Operational" 08 bands="GSM 900 / GSM 1800 / UMTS / LTE" brand="Dauphin" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Dauphin Telecom" status="Operational" 09 brand="Free" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Free Mobile" 10 country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Guadeloupe Téléphone Mobile" status="Not operational" 11 country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Guyane Téléphone Mobile" status="Not operational" 12 country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="Martinique Téléphone Mobile" status="Not operational" 20 bands="GSM 900 / UMTS 2100" brand="Digicel" country="French Antilles (France) - BL/GF/GP/MF/MQ" operator="DIGICEL Antilles Française Guyane" status="Operational" 00-99 342 600 bands="GSM 1900 / UMTS 850 / LTE 850 / LTE 1900" brand="FLOW" cc="bb" country="Barbados" operator="LIME (formerly known as Cable & Wireless)" status="Operational" 750 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1900" brand="Digicel" cc="bb" country="Barbados" operator="Digicel (Barbados) Limited" status="Operational" 800 bands="LTE 700" brand="Ozone" cc="bb" country="Barbados" operator="Ozone Wireless Inc." status="Operational" 820 cc="bb" country="Barbados" operator="Sunbeach Communications" status="Not operational" 000-999 344 030 bands="GSM 1900" brand="APUA" cc="ag" country="Antigua and Barbuda" operator="Antigua Public Utilities Authority" status="Operational" 050 bands="GSM 900 / GSM 1900 / UMTS 850 / LTE 700" brand="Digicel" cc="ag" country="Antigua and Barbuda" operator="Antigua Wireless Ventures Limited" status="Operational" 920 bands="GSM 850 / GSM 1800 / GSM 1900 / UMTS 850 / LTE 1700" brand="FLOW" cc="ag" country="Antigua and Barbuda" operator="Cable & Wireless Caribbean Cellular (Antigua) Limited" status="Operational" 930 cc="ag" country="Antigua and Barbuda" operator="AT&T Wireless" 000-999 346 001 brand="Logic" cc="ky" country="Cayman Islands (United Kingdom)" operator="WestTel Ltd." 050 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Digicel" cc="ky" country="Cayman Islands (United Kingdom)" operator="Digicel Cayman Ltd." status="Operational" 140 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1900" brand="FLOW" cc="ky" country="Cayman Islands (United Kingdom)" operator="Cable & Wireless (Cayman Islands) Limited" status="Operational" 000-999 348 170 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1900" brand="FLOW" cc="vg" country="British Virgin Islands" operator="Cable & Wireless" status="Operational" 370 cc="vg" country="British Virgin Islands" operator="BVI Cable TV Ltd" 570 bands="GSM 900 / GSM 1900 / UMTS 850 / LTE 900 / LTE 1900" brand="CCT Boatphone" cc="vg" country="British Virgin Islands" operator="Caribbean Cellular Telephone" status="Operational" 770 bands="GSM 1800 / GSM 1900 / UMTS 1900 / LTE 700" brand="Digicel" cc="vg" country="British Virgin Islands" operator="Digicel (BVI) Limited" status="Operational" 000-999 350 000 bands="GSM 1900 / UMTS 850 / LTE 850" brand="CellOne" cc="bm" country="Bermuda" operator="Bermuda Digital Communications Ltd." status="Operational" 01 bands="GSM 1900" brand="Digicel Bermuda" cc="bm" country="Bermuda" operator="Telecommunications (Bermuda & West Indies) Ltd" status="Reserved" 02 bands="GSM 1900 / UMTS" brand="Mobility" cc="bm" country="Bermuda" operator="M3 Wireless" status="Operational" 05 cc="bm" country="Bermuda" operator="Telecom Networks" 11 cc="bm" country="Bermuda" operator="Deltronics" 15 cc="bm" country="Bermuda" operator="FKB Net Ltd." 352 030 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE" brand="Digicel" cc="gd" country="Grenada" operator="Digicel Grenada Ltd." status="Operational" 110 bands="GSM 850 / LTE" brand="FLOW" cc="gd" country="Grenada" operator="Cable & Wireless Grenada Ltd." status="Operational" 000-999 354 860 bands="GSM 850" brand="FLOW" cc="ms" country="Montserrat (United Kingdom)" operator="Cable & Wireless" status="Operational" 000-999 356 050 bands="GSM 900 / GSM 1800 / LTE 700" brand="Digicel" cc="kn" country="Saint Kitts and Nevis" operator="Wireless Ventures (St Kitts-Nevis) Limited" status="Operational" 070 brand="Chippie" cc="kn" country="Saint Kitts and Nevis" operator="UTS" status="Operational" 110 bands="GSM 850 / GSM 1900 / LTE 700" brand="FLOW" cc="kn" country="Saint Kitts and Nevis" operator="Cable & Wireless St. Kitts & Nevis Ltd" status="Operational" 000-999 358 110 bands="GSM 850 / LTE 700" brand="FLOW" cc="lc" country="Saint Lucia" operator="Cable & Wireless" status="Operational" 000-999 360 050 bands="GSM 900 / GSM 1800 / GSM 1900 / LTE 700" brand="Digicel" cc="vc" country="Saint Vincent and the Grenadines" operator="Digicel (St. Vincent and the Grenadines) Limited" status="Operational" 100 bands="GSM 850" brand="Cingular Wireless" cc="vc" country="Saint Vincent and the Grenadines" 110 bands="GSM 850" brand="FLOW" cc="vc" country="Saint Vincent and the Grenadines" operator="Cable & Wireless (St. Vincent & the Grenadines) Ltd" status="Operational" 000-999 362 31 bands="GSM" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="Eutel N.V." 33 bands="GSM" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="WICC N.V." 51 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Telcell" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="Telcell N.V." status="Operational" 54 bands="GSM 900 / GSM 1800" brand="ECC" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="East Caribbean Cellular" status="Operational" 59 bands="GSM 900 / GSM 1800" brand="Chippie" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="United Telecommunication Service N.V. (UTS)" status="Operational" 60 bands="UMTS 2100 / LTE 1800" brand="Chippie" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="United Telecommunication Service N.V. (UTS)" status="Operational" 63 country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="CSC N.V." 68 bands="UMTS 2100 / LTE 1800" brand="Digicel" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="Curaçao Telecom N.V." status="Operational" 69 bands="GSM 900 / GSM 1800" brand="Digicel" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="Curaçao Telecom N.V." status="Operational" 74 country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="PCS N.V." 76 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Digicel" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="Antiliano Por N.V." status="Operational" 78 bands="UMTS 900 / LTE 1800" brand="Telbo" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="Telefonia Bonairiano N.V." status="Operational" 91 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 1800" brand="Chippie" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="United Telecommunication Service N.V. (UTS)" status="Operational" 94 bands="TDMA PCS" brand="Bayòs" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="Bòbò Frus N.V." status="Operational" 95 bands="CDMA2000 850" brand="MIO" country="Former Netherlands Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="E.O.C.G. Wireless" status="Not operational" 00-99 363 01 bands="GSM 900 / GSM 1800 / GSM 1900 / UMTS 2100 / LTE 1800 / TDMA 800" brand="SETAR" cc="aw" country="Aruba (Kingdom of the Netherlands)" operator="Servicio di Telecomunicacion di Aruba" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Digicel" cc="aw" country="Aruba (Kingdom of the Netherlands)" operator="Digicel Aruba" status="Operational" 00-99 364 39 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1700" brand="BTC" cc="bs" country="Bahamas" operator="The Bahamas Telecommunications Company Ltd (BaTelCo)" status="Operational" 49 bands="UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700" brand="Aliv" cc="bs" country="Bahamas" operator="Cable Bahamas Ltd" status="Operational" 00-99 365 010 bands="GSM 850 / UMTS 850 / UMTS 1900 / LTE 700" cc="ai" country="Anguilla" operator="Digicel" status="Operational" 840 bands="GSM 850 / UMTS 850 / UMTS 1900 / LTE 700" brand="FLOW" cc="ai" country="Anguilla" operator="Cable & Wireless" status="Operational" 000-999 366 020 bands="GSM 900 / GSM 1900 / UMTS 900 / UMTS 1800 / UMTS 1900 / LTE 700" brand="Digicel" cc="dm" country="Dominica" operator="Digicel Group Limited" status="Operational" 110 bands="GSM 850 / UMTS 850 / LTE 700" brand="FLOW" cc="dm" country="Dominica" operator="Cable & Wireless" status="Operational" 000-999 368 01 bands="GSM 900 / GSM 850 / UMTS 900" brand="CUBACEL" cc="cu" country="Cuba" operator="Empresa de Telecomunicaciones de Cuba, SA" status="Operational" 00-99 370 01 bands="GSM 900 / GSM 1800 / GSM 1900 / UMTS 900 / LTE 1800" brand="Altice" cc="do" country="Dominican Republic" operator="Altice Group" status="Operational" 02 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1700" brand="Claro" cc="do" country="Dominican Republic" operator="Compañía Dominicana de Teléfonos" status="Operational" 03 bands="AMPS / CDMA 850" brand="Altice" cc="do" country="Dominican Republic" operator="Altice Group" status="Operational" 04 bands="CDMA 1900 / GSM 1900" brand="Viva" cc="do" country="Dominican Republic" operator="Trilogy Dominicana, S.A." status="Operational" 05 bands="TD-LTE 2600" brand="Wind" cc="do" country="Dominican Republic" operator="WIND Telecom, S.A" status="Operational" 00-99 372 01 bands="GSM 850" brand="Voila" cc="ht" country="Haiti" operator="Communication Cellulaire d'Haiti S.A." status="Not operational" 02 bands="GSM 1800" brand="Digicel" cc="ht" country="Haiti" operator="Unigestion Holding S.A." status="Operational" 03 bands="GSM 900 / GSM 1800 / UTMS 2100 / LTE 800" brand="Natcom" cc="ht" country="Haiti" operator="NATCOM S.A." status="Operational" 00-99 374 12 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1900 / TD-LTE 2500 / 5G 2500" brand="bmobile" cc="tt" country="Trinidad and Tobago" operator="TSTT" status="Operational" 130 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 1900" brand="Digicel" cc="tt" country="Trinidad and Tobago" operator="Digicel (Trinidad & Tobago) Limited" status="Operational" 140 bands="CDMA" brand="Laqtel" cc="tt" country="Trinidad and Tobago" operator="LaqTel Ltd." status="Not operational" 376 350 bands="GSM 850 / LTE 700" brand="FLOW" cc="tc" country="Turks and Caicos Islands" operator="Cable & Wireless West Indies Ltd (Turks & Caicos)" status="Operational" 352 bands="UMTS 850" brand="FLOW" cc="tc" country="Turks and Caicos Islands" operator="Cable & Wireless West Indies Ltd (Turks & Caicos)" status="Operational" 360 brand="FLOW" cc="tc" country="Turks and Caicos Islands" operator="Cable & Wireless West Indies Ltd (Turks & Caicos)" 000-999 400 01 bands="GSM 900 / GSM 1800/ UMTS 2100 / LTE 1800" brand="Azercell" cc="az" country="Azerbaijan" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Bakcell" cc="az" country="Azerbaijan" status="Operational" 03 bands="CDMA 450" brand="FONEX" cc="az" country="Azerbaijan" operator="CATEL" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Nar Mobile" cc="az" country="Azerbaijan" operator="Azerfon" status="Operational" 05 bands="TETRA?" cc="az" country="Azerbaijan" operator="Special State Protection Service of the Republic of Azerbaijan" 06 bands="CDMA 800 / LTE 800 / LTE 900 / LTE 1800" brand="Naxtel" cc="az" country="Azerbaijan" operator="Nakhtel LLC" status="Operational" 00-99 401 01 bands="GSM 900 / GSM 1800 / LTE 800 / LTE 1800 / LTE 2100" brand="Beeline" cc="kz" country="Kazakhstan" operator="KaR-Tel LLP" status="Operational" 02 bands="GSM 900 / GSM 1800 / LTE 800 / LTE 1800" brand="Kcell" cc="kz" country="Kazakhstan" operator="Kcell JSC" status="Operational" 07 bands="UMTS 850 / GSM 1800 / LTE 1800" brand="Altel" cc="kz" country="Kazakhstan" operator="Altel" status="Operational" 08 bands="CDMA2000 800 / CDMA2000 450" brand="Kazakhtelecom" cc="kz" country="Kazakhstan" status="Operational" 77 bands="GSM 900 / GSM 1800 / UMTS 900" brand="Tele2.kz" cc="kz" country="Kazakhstan" operator="MTS" status="Operational" 00-99 402 11 bands="GSM 900 / UMTS 850 / UMTS 2100 / LTE 1800" brand="B-Mobile" cc="bt" country="Bhutan" operator="B-Mobile / Bhutan Telecom Ltd." status="Operational" 77 bands="GSM 900 / GSM 1800 / UMTS 850 / LTE 700" brand="TashiCell" cc="bt" country="Bhutan" operator="Tashi InfoComm Limited" status="Operational" 00-99 404 01 bands="GSM 900" brand="Vodafone India" cc="in" country="India" operator="Haryana" status="Operational" 02 bands="GSM 900" brand="AirTel" cc="in" country="India" operator="Punjab" status="Operational" 03 bands="GSM 900" brand="AirTel" cc="in" country="India" operator="Himachal Pradesh" status="Operational" 04 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="Delhi & NCR" status="Operational" 05 bands="GSM 900" brand="Vodafone India" cc="in" country="India" operator="Gujarat" status="Operational" 07 bands="GSM 900" brand="IDEA" cc="in" country="India" operator="Andhra Pradesh and Telangana" status="Operational" 09 bands="GSM 900" brand="Reliance" cc="in" country="India" operator="Assam" status="Operational" 10 bands="GSM 900" brand="AirTel" cc="in" country="India" operator="Delhi & NCR" status="Operational" 11 bands="GSM 900 / GSM 1800" brand="Vodafone India" cc="in" country="India" operator="Delhi & NCR" status="Operational" 12 bands="GSM 900" brand="IDEA" cc="in" country="India" operator="Haryana" status="Operational" 13 bands="GSM 1800" brand="Vodafone India" cc="in" country="India" operator="Andhra Pradesh and Telangana" status="Operational" 14 bands="GSM 900 / GSM 1800" brand="IDEA" cc="in" country="India" operator="Punjab" status="Operational" 15 bands="GSM 900" brand="Vodafone India" cc="in" country="India" operator="Uttar Pradesh (East)" status="Operational" 16 bands="GSM 900" brand="Airtel" cc="in" country="India" operator="North East" status="Operational" 17 bands="GSM 900 / GSM 1800" brand="AIRCEL" cc="in" country="India" operator="West Bengal" status="Operational" 18 bands="GSM 900" brand="Reliance" cc="in" country="India" operator="Himachal Pradesh" status="Operational" 19 bands="GSM 900 / GSM 1800" brand="IDEA" cc="in" country="India" operator="Kerala" status="Operational" 20 bands="GSM 900 / UMTS 2100" brand="Vodafone India" cc="in" country="India" operator="Mumbai" status="Operational" 21 bands="GSM 900" brand="Loop Mobile" cc="in" country="India" operator="Mumbai" status="Operational" 22 bands="GSM 900" brand="IDEA" cc="in" country="India" operator="Maharashtra & Goa" status="Operational" 24 bands="GSM 900" brand="IDEA" cc="in" country="India" operator="Gujarat" status="Operational" 25 bands="GSM 900 / GSM 1800" brand="AIRCEL" cc="in" country="India" operator="Bihar" status="Operational" 27 bands="GSM 900" brand="Vodafone India" cc="in" country="India" operator="Maharashtra & Goa" status="Operational" 28 bands="GSM 900" brand="AIRCEL" cc="in" country="India" operator="Orissa" status="Operational" 29 bands="GSM 900" brand="AIRCEL" cc="in" country="India" operator="Assam" status="Operational" 30 bands="GSM 900 / GSM 1800" brand="Vodafone India" cc="in" country="India" operator="Kolkata" status="Operational" 31 bands="GSM 900" brand="AirTel" cc="in" country="India" operator="Kolkata" status="Operational" 34 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Haryana" status="Operational" 35 bands="GSM 900 / GSM 1800" brand="Aircel" cc="in" country="India" operator="Himachal Pradesh" status="Operational" 36 bands="GSM 900" brand="Reliance" cc="in" country="India" operator="Bihar & Jharkhand" status="Operational" 37 bands="GSM 900 / UMTS 2100" brand="Aircel" cc="in" country="India" operator="Jammu & Kashmir" status="Operational" 38 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Assam" status="Operational" 40 brand="AirTel" cc="in" country="India" operator="Chennai" status="Operational" 41 bands="GSM 900" brand="Aircel" cc="in" country="India" operator="Chennai" status="Operational" 42 bands="GSM 900" brand="Aircel" cc="in" country="India" operator="Tamil Nadu" status="Operational" 43 bands="GSM 900" brand="Vodafone India" cc="in" country="India" operator="Tamil Nadu" status="Operational" 44 bands="GSM 900 / LTE 1800" brand="IDEA" cc="in" country="India" operator="Karnataka" status="Operational" 45 bands="GSM / TD-LTE 2300" brand="Airtel" cc="in" country="India" operator="Karnataka" status="Operational" 46 bands="GSM 900" brand="Vodafone India" cc="in" country="India" operator="Kerala" status="Operational" 48 bands="GSM 900" brand="Dishnet Wireless" cc="in" country="India" status="Operational" 49 bands="GSM 900" brand="Airtel" cc="in" country="India" operator="Andhra Pradesh and Telangana" status="Operational" 50 bands="GSM 900" brand="Reliance" cc="in" country="India" operator="North East" status="Operational" 51 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Himachal Pradesh" status="Operational" 52 bands="GSM 900" brand="Reliance" cc="in" country="India" operator="Orissa" status="Operational" 53 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Punjab" status="Operational" 54 bands="GSM 900 / UTMS 2100" brand="cellone" cc="in" country="India" operator="Uttar Pradesh (West)" status="Operational" 55 bands="GSM 900 / UTMS 2100" brand="cellone" cc="in" country="India" operator="Uttar Pradesh (East)" status="Operational" 56 bands="GSM 900" brand="IDEA" cc="in" country="India" operator="Uttar Pradesh (West)" status="Operational" 57 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Gujarat" status="Operational" 58 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Madhya Pradesh & Chhattisgarh" status="Operational" 59 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Rajasthan" status="Operational" 60 bands="GSM 900" brand="Vodafone India" cc="in" country="India" operator="Rajasthan" status="Operational" 62 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Jammu & Kashmir" status="Operational" 64 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Chennai" status="Operational" 66 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Maharashtra & Goa" status="Operational" 67 bands="GSM 900 / UMTS 2100" brand="Reliance" cc="in" country="India" operator="Madhya Pradesh & Chhattisgarh" status="Operational" 68 bands="GSM 900 / UMTS 2100" brand="DOLPHIN" cc="in" country="India" operator="Delhi & NCR" status="Operational" 69 bands="GSM 900 / UMTS 2100" brand="DOLPHIN" cc="in" country="India" operator="Mumbai" status="Operational" 70 brand="AirTel" cc="in" country="India" operator="Rajasthan" status="Operational" 71 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Karnataka (Bangalore)" status="Operational" 72 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Kerala" status="Operational" 73 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Andhra Pradesh and Telangana" status="Operational" 74 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="West Bengal" status="Operational" 75 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Bihar" status="Operational" 76 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Orissa" status="Operational" 77 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="North East" status="Operational" 78 bands="GSM 900 / UMTS 2100" brand="IDEA" cc="in" country="India" operator="Madhya Pradesh & Chattishgarh" status="Operational" 79 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Andaman Nicobar" status="Operational" 80 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Tamil Nadu" status="Operational" 81 bands="GSM 900 / UMTS 2100" brand="cellone" cc="in" country="India" operator="Kolkata" status="Operational" 82 brand="IDEA" cc="in" country="India" operator="Himachal Pradesh" status="Operational" 83 bands="GSM 1800" brand="Reliance" cc="in" country="India" operator="Kolkata" status="Operational" 84 bands="GSM 1800" brand="Vodafone India" cc="in" country="India" operator="Chennai" status="Operational" 85 bands="GSM 1800" brand="Reliance" cc="in" country="India" operator="West Bengal" status="Operational" 86 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Vodafone India" cc="in" country="India" operator="Karnataka" status="Operational" 87 brand="IDEA" cc="in" country="India" operator="Rajasthan" status="Operational" 88 brand="Vodafone India" cc="in" country="India" operator="Vodafone Punjab" status="Operational" 89 brand="IDEA" cc="in" country="India" operator="Uttar Pradesh (East)" status="Operational" 90 bands="GSM 1800" brand="AirTel" cc="in" country="India" operator="Maharashtra" status="Operational" 91 bands="GSM 900" brand="AIRCEL" cc="in" country="India" operator="Kolkata" status="Operational" 92 bands="GSM 1800 / UMTS 2100" brand="AirTel" cc="in" country="India" operator="Mumbai" status="Operational" 93 bands="GSM 1800" brand="AirTel" cc="in" country="India" operator="Madhya Pradesh" status="Operational" 94 brand="AirTel" cc="in" country="India" operator="Tamil Nadu" status="Operational" 95 bands="GSM 1800" brand="AirTel" cc="in" country="India" operator="Kerala" status="Operational" 96 bands="GSM 1800" brand="AirTel" cc="in" country="India" operator="Haryana" status="Operational" 97 brand="AirTel" cc="in" country="India" operator="Uttar Pradesh (West)" status="Operational" 98 brand="AirTel" cc="in" country="India" operator="Gujarat" status="Operational" 00-99 405 025 bands="CDMA 2000 / GSM 1800 / UMTS 2100" brand="TATA DOCOMO" cc="in" country="India" operator="Andhra Pradesh and Telangana" status="Operational" 026 bands="CDMA 2000" brand="TATA DOCOMO" cc="in" country="India" operator="Assam" status="Operational" 027 bands="CDMA 2000 / GSM 1800" brand="TATA DOCOMO" cc="in" country="India" operator="Bihar/Jharkhand" status="Operational" 028 bands="CDMA 2000 / GSM 1800" brand="TATA DOCOMO" cc="in" country="India" operator="Chennai" status="Operational" 029 bands="CDMA 2000" brand="TATA DOCOMO" cc="in" country="India" operator="Delhi" status="Operational" 03 bands="GSM 1800" brand="Reliance" cc="in" country="India" operator="Bihar" status="Operational" 030 bands="CDMA 2000 / GSM 1800 / UMTS 2100" brand="TATA DOCOMO" cc="in" country="India" operator="Gujarat" status="Operational" 031 bands="CDMA 2000 / GSM 1800 / UMTS 2100" brand="TATA DOCOMO" cc="in" country="India" operator="Haryana" status="Operational" 032 bands="CDMA 2000 / GSM 1800 / UMTS 2100" brand="TATA DOCOMO" cc="in" country="India" operator="Himachal Pradesh" status="Operational" 033 bands="CDMA 2000" brand="TATA DOCOMO" cc="in" country="India" operator="Jammu & Kashmir" status="Operational" 034 bands="CDMA 2000 / GSM 1800 / UMTS 2100" brand="TATA DOCOMO" cc="in" country="India" operator="Karnataka" status="Operational" 035 bands="CDMA 2000 / GSM 1800 / UMTS 2100" brand="TATA DOCOMO" cc="in" country="India" operator="Kerala" status="Operational" 036 bands="CDMA 2000 / GSM 1800" brand="TATA DOCOMO" cc="in" country="India" operator="Kolkata" status="Operational" 037 bands="CDMA 2000 / GSM 1800 / UMTS 2100" brand="TATA DOCOMO" cc="in" country="India" operator="Maharashtra & Goa" status="Operational" 038 bands="CDMA 2000 / GSM 1800 / UMTS 2100" brand="TATA DOCOMO" cc="in" country="India" operator="Madhya Pradesh" status="Operational" 039 bands="CDMA 2000 / GSM 1800" brand="TATA DOCOMO" cc="in" country="India" operator="Mumbai" status="Operational" 04 bands="GSM 1800" brand="Reliance" cc="in" country="India" operator="Chennai" status="Operational" 041 bands="CDMA 2000 / GSM 1800" brand="TATA DOCOMO" cc="in" country="India" operator="Orissa" status="Operational" 042 bands="CDMA 2000 / GSM 1800 / UMTS 2100" brand="TATA DOCOMO" cc="in" country="India" operator="Punjab" status="Operational" 043 bands="CDMA 2000 / GSM 1800 / UMTS 2100" brand="TATA DOCOMO" cc="in" country="India" operator="Rajasthan" status="Operational" 044 bands="CDMA 2000 / GSM 1800" brand="TATA DOCOMO" cc="in" country="India" operator="Tamil Nadu including Chennai" status="Operational" 045 bands="CDMA 2000 / GSM 1800" brand="TATA DOCOMO" cc="in" country="India" operator="Uttar Pradesh (E)" status="Operational" 046 bands="CDMA 2000 / GSM 1800 / UMTS 2100" brand="TATA DOCOMO" cc="in" country="India" operator="Uttar Pradesh (W) & Uttarakhand" status="Operational" 047 bands="CDMA 2000 / GSM 1800" brand="TATA DOCOMO" cc="in" country="India" operator="West Bengal" status="Operational" 05 bands="GSM 1800" brand="Reliance" cc="in" country="India" operator="Delhi & NCR" status="Operational" 06 bands="GSM 1800" brand="Reliance" cc="in" country="India" operator="Gujarat" status="Operational" 07 bands="GSM" brand="Reliance" cc="in" country="India" operator="Haryana" status="Operational" 08 bands="GSM" brand="Reliance" cc="in" country="India" operator="Himachal Pradesh" status="Operational" 09 bands="GSM 1800 / UMTS 2100" brand="Reliance" cc="in" country="India" operator="Jammu & Kashmir" status="Operational" 10 bands="GSM" brand="Reliance" cc="in" country="India" operator="Karnataka" status="Operational" 11 bands="GSM" brand="Reliance" cc="in" country="India" operator="Kerala" status="Operational" 12 bands="GSM" brand="Reliance" cc="in" country="India" operator="Kolkata" status="Operational" 13 bands="GSM" brand="Reliance" cc="in" country="India" operator="Maharashtra & Goa" status="Operational" 14 bands="GSM" brand="Reliance" cc="in" country="India" operator="Madhya Pradesh" status="Operational" 15 bands="GSM 1800 / UMTS 2100" brand="Reliance" cc="in" country="India" operator="Mumbai" status="Operational" 17 bands="GSM" brand="Reliance" cc="in" country="India" operator="Orissa" status="Operational" 18 bands="GSM" brand="Reliance" cc="in" country="India" operator="Punjab" status="Operational" 19 bands="GSM" brand="Reliance" cc="in" country="India" operator="Rajasthan" status="Operational" 20 bands="GSM" brand="Reliance" cc="in" country="India" operator="Tamil Nadu" status="Operational" 21 bands="GSM" brand="Reliance" cc="in" country="India" operator="Uttar Pradesh (East)" status="Operational" 22 bands="GSM" brand="Reliance" cc="in" country="India" operator="Uttar Pradesh (West)" status="Operational" 23 bands="GSM" brand="Reliance" cc="in" country="India" operator="West Bengal" status="Operational" 51 bands="GSM 900" brand="AirTel" cc="in" country="India" operator="West Bengal" status="Operational" 52 bands="GSM 900" brand="AirTel" cc="in" country="India" operator="Bihar & Jharkhand" status="Operational" 53 bands="GSM" brand="AirTel" cc="in" country="India" operator="Orissa" status="Operational" 54 bands="GSM 900" brand="AirTel" cc="in" country="India" operator="Uttar Pradesh (East)" status="Operational" 55 bands="GSM 900 / UTMS 2100" brand="Airtel" cc="in" country="India" operator="Jammu & Kashmir" status="Operational" 56 bands="GSM 900 / GSM 1800" brand="AirTel" cc="in" country="India" operator="Assam" status="Operational" 66 bands="GSM 900 / GSM 1800" brand="Vodafone India" cc="in" country="India" operator="Uttar Pradesh (West)" status="Operational" 67 brand="Vodafone India" cc="in" country="India" operator="West Bengal" status="Operational" 70 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="Bihar & Jharkhand" status="Operational" 750 bands="GSM 1800" brand="Vodafone India" cc="in" country="India" operator="Jammu & Kashmir" status="Operational" 751 bands="GSM 1800" brand="Vodafone India" cc="in" country="India" operator="Assam" status="Operational" 752 bands="GSM 1800" brand="Vodafone India" cc="in" country="India" operator="Bihar & Jharkhand" status="Operational" 753 bands="GSM 1800" brand="Vodafone India" cc="in" country="India" operator="Orissa" status="Operational" 754 bands="GSM 1800" brand="Vodafone India" cc="in" country="India" operator="Himachal Pradesh" status="Operational" 755 bands="GSM 1800" brand="Vodafone India" cc="in" country="India" operator="North East" status="Operational" 756 bands="GSM 1800" brand="Vodafone India" cc="in" country="India" operator="Madhya Pradesh & Chhattisgarh" status="Operational" 799 bands="GSM 900 / GSM 1800" brand="IDEA" cc="in" country="India" operator="Mumbai" status="Operational" 800 bands="GSM 1800" brand="AIRCEL" cc="in" country="India" operator="Delhi & NCR" status="Operational" 801 bands="GSM 1800" brand="AIRCEL" cc="in" country="India" operator="Andhra Pradesh and Telangana" status="Operational" 802 bands="GSM 1800" brand="AIRCEL" cc="in" country="India" operator="Gujarat" status="Not operational" 803 bands="GSM 1800" brand="AIRCEL" cc="in" country="India" operator="Karnataka" status="Operational" 804 bands="GSM 1800" brand="AIRCEL" cc="in" country="India" operator="Maharashtra & Goa" status="Operational" 805 bands="GSM 1800" brand="AIRCEL" cc="in" country="India" operator="Mumbai" status="Operational" 806 bands="GSM 1800" brand="AIRCEL" cc="in" country="India" operator="Rajasthan" status="Operational" 807 bands="GSM 1800" brand="AIRCEL" cc="in" country="India" operator="Haryana" status="Not operational" 808 bands="GSM 1800" brand="AIRCEL" cc="in" country="India" operator="Madhya Pradesh" status="Not operational" 809 bands="GSM 1800" brand="AIRCEL" cc="in" country="India" operator="Kerala" status="Operational" 810 bands="GSM 1800" brand="AIRCEL" cc="in" country="India" operator="Uttar Pradesh (East)" status="Operational" 811 bands="GSM" brand="AIRCEL" cc="in" country="India" operator="Uttar Pradesh (West)" status="Operational" 812 bands="GSM" brand="AIRCEL" cc="in" country="India" operator="Punjab" status="Not operational" 818 bands="GSM" brand="Uninor" cc="in" country="India" operator="Uttar Pradesh (West)" status="Operational" 819 bands="GSM" brand="Uninor" cc="in" country="India" operator="Andhra Pradesh and Telangana" status="Operational" 820 bands="GSM 1800" brand="Uninor" cc="in" country="India" operator="Karnataka" status="Operational" 821 bands="GSM 1800" brand="Uninor" cc="in" country="India" operator="Kerala" status="Operational" 822 bands="GSM" brand="Uninor" cc="in" country="India" operator="Kolkata" status="Operational" 824 bands="GSM 1800" brand="Videocon Datacom" cc="in" country="India" operator="Assam" status="Reserved" 827 bands="GSM 1800" brand="Videocon Datacom" cc="in" country="India" operator="Gujarat" status="Operational" 834 bands="GSM 1800" brand="Videocon Datacom" cc="in" country="India" operator="Madhya Pradesh" status="Reserved" 840 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="West Bengal" status="Operational" 844 bands="GSM" brand="Uninor" cc="in" country="India" operator="Delhi & NCR" status="Not operational" 845 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="Assam" status="Operational" 846 bands="GSM 1800 / UTMS 2100" brand="IDEA" cc="in" country="India" operator="Jammu & Kashmir" status="Operational" 847 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="Karnataka" status="Operational" 848 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="Kolkata" status="Operational" 849 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="North East" status="Operational" 850 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="Orissa" status="Operational" 851 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="Punjab" status="Operational" 852 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="Tamil Nadu" status="Operational" 853 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="West Bengal" status="Operational" 854 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Andhra Pradesh" status="Operational" 855 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Assam" status="Operational" 856 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Bihar" status="Operational" 857 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Gujarat" status="Operational" 858 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Haryana" status="Operational" 859 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Himachal Pradesh" status="Operational" 860 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Jammu & Kashmir" status="Operational" 861 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Karnataka" status="Operational" 862 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Kerala" status="Operational" 863 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Madhya Pradesh" status="Operational" 864 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Maharashtra" status="Operational" 865 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="North East" status="Operational" 866 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Orissa" status="Operational" 867 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Punjab" status="Operational" 868 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Rajasthan" status="Operational" 869 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Tamil Nadu (incl. Chennai)" status="Operational" 870 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Uttar Pradesh (West)" status="Operational" 871 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Uttar Pradesh (East)" status="Operational" 872 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Delhi" status="Operational" 873 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Kolkata" status="Operational" 874 bands="LTE 850 / LTE 1800 / TD-LTE 2300" brand="Jio" cc="in" country="India" operator="Mumbai" status="Operational" 875 bands="GSM 1800" brand="Uninor" cc="in" country="India" operator="Assam" status="Reserved" 880 bands="GSM 1800" brand="Uninor" cc="in" country="India" operator="West Bengal" status="Operational" 881 bands="GSM 1800" brand="S Tel" cc="in" country="India" operator="Assam" status="Reserved" 908 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="Andhra Pradesh and Telangana" status="Operational" 909 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="Delhi" status="Operational" 910 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="Haryana" status="Operational" 911 bands="GSM 1800" brand="IDEA" cc="in" country="India" operator="Maharashtra" status="Operational" 912 bands="GSM 1800" brand="Etisalat DB(cheers)" cc="in" country="India" operator="Andhra Pradesh and Telangana" status="Not operational" 913 bands="GSM 1800" brand="Etisalat DB(cheers)" cc="in" country="India" operator="Delhi & NCR" status="Not operational" 914 bands="GSM 1800" brand="Etisalat DB(cheers)" cc="in" country="India" operator="Gujarat" status="Not operational" 917 bands="GSM 1800" brand="Etisalat DB(cheers)" cc="in" country="India" operator="Kerala" status="Not operational" 927 brand="Uninor" cc="in" country="India" operator="Gujarat" status="Operational" 929 bands="GSM 1800" brand="Uninor" cc="in" country="India" operator="Maharashtra" status="Operational" 410 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800" brand="Jazz" cc="pk" country="Pakistan" operator="Mobilink-PMCL" status="Operational" 02 bands="CDMA2000 1900 / TD-LTE 1900" brand="3G EVO / CharJi 4G" cc="pk" country="Pakistan" operator="PTCL" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Ufone" cc="pk" country="Pakistan" operator="Pakistan Telecommunication Mobile Ltd" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Zong" cc="pk" country="Pakistan" operator="China Mobile" status="Operational" 05 bands="GSM 900 / GSM 1800" brand="SCO Mobile" cc="pk" country="Pakistan" operator="SCO Mobile Ltd" status="Operational" 06 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 850 / LTE 1800" brand="Telenor" cc="pk" country="Pakistan" operator="Telenor Pakistan" status="Operational" 07 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Jazz" cc="pk" country="Pakistan" operator="WaridTel" status="Operational" 08 bands="GSM 900 / GSM 1800" brand="SCO Mobile" cc="pk" country="Pakistan" operator="SCO Mobile Ltd" status="Operational" 00-99 412 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="AWCC" cc="af" country="Afghanistan" operator="Afghan Wireless Communication Company" status="Operational" 20 bands="GSM 900 / UMTS 2100" brand="Roshan" cc="af" country="Afghanistan" operator="Telecom Development Company Afghanistan Ltd." status="Operational" 40 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="MTN" cc="af" country="Afghanistan" operator="MTN Group Afghanistan" status="Operational" 50 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Etisalat" cc="af" country="Afghanistan" operator="Etisalat Afghanistan" status="Operational" 55 bands="CDMA 800" brand="WASEL" cc="af" country="Afghanistan" operator="WASEL Afghanistan" status="Operational" 80 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Salaam" cc="af" country="Afghanistan" operator="Afghan Telecom" status="Operational" 88 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Salaam" cc="af" country="Afghanistan" operator="Afghan Telecom" status="Operational" 00-99 413 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 850 / LTE 900 / LTE 1800 / LTE 2100" brand="Mobitel" cc="lk" country="Sri Lanka" operator="Mobitel (Pvt) Ltd" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Dialog" cc="lk" country="Sri Lanka" operator="Dialog Axiata PLC" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Etisalat" cc="lk" country="Sri Lanka" operator="Etisalat Lanka (Pvt) Ltd" status="Not operational" 04 bands="CDMA / WiMAX / TD-LTE 2300" brand="Lanka Bell" cc="lk" country="Sri Lanka" operator="Lanka Bell Ltd" status="Operational" 05 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Airtel" cc="lk" country="Sri Lanka" operator="Bharti Airtel Lanka (Pvt) Ltd" status="Operational" 08 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Hutch" cc="lk" country="Sri Lanka" operator="Hutchison Telecommunications Lanka (Pvt) Ltd" status="Not operational" 09 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Hutch" cc="lk" country="Sri Lanka" operator="Hutchison Telecommunications Lanka (Pvt) Ltd" status="Operational" 11 bands="CDMA / WiMAX / TD-LTE 2300" brand="Dialog" cc="lk" country="Sri Lanka" operator="Dialog Broadband Networks (Pvt) Ltd" status="Operational" 12 bands="TD-LTE 2600" brand="SLT" cc="lk" country="Sri Lanka" operator="Sri Lanka Telecom PLC" status="Operational" 00-99 414 00 brand="MPT" cc="mm" country="Myanmar" operator="Myanmar Posts and Telecommunications" 01 bands="GSM 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="MPT" cc="mm" country="Myanmar" operator="Myanmar Posts and Telecommunications" status="Operational" 02 brand="MPT" cc="mm" country="Myanmar" operator="Myanmar Posts and Telecommunications" 03 bands="CDMA 800" brand="CDMA800" cc="mm" country="Myanmar" operator="Myanmar Economic Corporation" status="Operational" 04 brand="MPT" cc="mm" country="Myanmar" operator="Myanmar Posts and Telecommunications" 05 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Ooredoo" cc="mm" country="Myanmar" operator="Ooredoo Myanmar" status="Operational" 06 bands="GSM 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Telenor" cc="mm" country="Myanmar" operator="Telenor Myanmar" status="Operational" 09 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 2100" brand="Mytel" cc="mm" country="Myanmar" operator="Myanmar National Tele & Communication Co., Ltd" status="Operational" 20 bands="TD-LTE 2600" brand="ACS" cc="mm" country="Myanmar" operator="Amara Communication Co., Ltd" status="Operational" 21 bands="TD-LTE 2600" brand="ACS" cc="mm" country="Myanmar" operator="Amara Communication Co., Ltd" status="Operational" 22 cc="mm" country="Myanmar" operator="Fortune Telecom Co., Ltd" 23 cc="mm" country="Myanmar" operator="Global Technology Co., Ltd" 00-99 415 01 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Alfa" cc="lb" country="Lebanon" operator="MIC 1" status="Operational" 03 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Touch" cc="lb" country="Lebanon" operator="MIC 2" status="Operational" 05 bands="GSM 900" brand="Ogero Mobile" cc="lb" country="Lebanon" operator="Ogero Telecom" status="Not operational" 00-99 416 01 bands="GSM 900 / LTE 1800" brand="zain JO" cc="jo" country="Jordan" operator="Jordan Mobile Telephone Services" status="Operational" 02 bands="iDEN 800" brand="XPress Telecom" cc="jo" country="Jordan" operator="XPress Telecom" status="Not operational" 03 bands="GSM 1800 / LTE 1800 / LTE 3500" brand="Umniah" cc="jo" country="Jordan" operator="Umniah Mobile Company" status="Operational" 77 bands="GSM 900 / LTE 1800" brand="Orange" cc="jo" country="Jordan" operator="Petra Jordanian Mobile Telecommunications Company (MobileCom)" status="Operational" 00-99 417 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Syriatel" cc="sy" country="Syria" operator="Syriatel Mobile Telecom" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="MTN" cc="sy" country="Syria" operator="MTN Syria" status="Operational" 09 cc="sy" country="Syria" operator="Syrian Telecom" 00-99 418 00 bands="GSM 900" brand="Asia Cell" cc="iq" country="Iraq" operator="Asia Cell Telecommunications Company" status="Operational" 05 bands="GSM 900" brand="Asia Cell" cc="iq" country="Iraq" operator="Asia Cell Telecommunications Company" status="Operational" 08 bands="GSM 900" brand="SanaTel" cc="iq" country="Iraq" status="Operational" 20 bands="GSM 900 / GSM 1800" brand="Zain" cc="iq" country="Iraq" operator="Zain Iraq" status="Operational" 30 bands="GSM 900" brand="Zain" cc="iq" country="Iraq" operator="Zain Iraq" status="Operational" 40 bands="GSM 900" brand="Korek" cc="iq" country="Iraq" operator="Telecom Ltd" status="Operational" 45 bands="UMTS" brand="Mobitel" cc="iq" country="Iraq" operator="Mobitel Co. Ltd." status="Operational" 62 bands="CDMA 800 / CDMA 1900" brand="Itisaluna" cc="iq" country="Iraq" operator="Itisaluna Wireless CO." status="Operational" 92 bands="CDMA" brand="Omnnea" cc="iq" country="Iraq" operator="Omnnea Wireless" status="Operational" 00-99 419 02 bands="GSM 900 / UMTS 2100 / LTE 1800 / 5G 3500" brand="zain KW" cc="kw" country="Kuwait" operator="Zain Kuwait" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 3500" brand="K.S.C Ooredoo" cc="kw" country="Kuwait" operator="National Mobile Telecommunications" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500" brand="STC" cc="kw" country="Kuwait" operator="Saudi Telecom Company" status="Operational" 00-99 420 01 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / TD-LTE 2300 / 5G 3500" brand="Al Jawal (STC )" cc="sa" country="Saudi Arabia" operator="Saudi Telecom Company" status="Operational" 03 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800 / TD-LTE 2500" brand="Mobily" cc="sa" country="Saudi Arabia" operator="Etihad Etisalat Company" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / TD-LTE 2500 / 5G 2500 / 5G 3500" brand="Zain SA" cc="sa" country="Saudi Arabia" operator="Zain Saudi Arabia" status="Operational" 05 bands="MVNO" brand="Virgin Mobile" cc="sa" country="Saudi Arabia" operator="Virgin Mobile Saudi Arabia" status="Operational" 06 brand="Lebara Mobile" cc="sa" country="Saudi Arabia" operator="Lebara Mobile" status="Operational" 21 bands="GSM-R 900" brand="RGSM" cc="sa" country="Saudi Arabia" operator="Saudi Railways GSM" status="Operational" 00-99 421 01 bands="GSM 900" brand="SabaFon" cc="ye" country="Yemen" status="Operational" 02 bands="GSM 900" brand="MTN" cc="ye" country="Yemen" operator="Spacetel Yemen" status="Operational" 03 bands="CDMA2000 800" brand="Yemen Mobile" cc="ye" country="Yemen" operator="Yemen Mobile" status="Operational" 04 bands="GSM 900" brand="HiTS-UNITEL" cc="ye" country="Yemen" operator="Y" status="Operational" 00-99 422 02 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 1800 / TD-LTE 2300" brand="Omantel" cc="om" country="Oman" operator="Oman Telecommunications Company" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 800 / LTE 1800 / TD-LTE 2300" brand="ooredoo" cc="om" country="Oman" operator="Omani Qatari Telecommunications Company SAOC" status="Operational" 04 brand="Omantel" cc="om" country="Oman" operator="Oman Telecommunications Company" 00-99 424 02 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Etisalat" cc="ae" country="United Arab Emirates" operator="Emirates Telecom Corp" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="du" cc="ae" country="United Arab Emirates" operator="Emirates Integrated Telecommunications Company" status="Operational" 00-99 425 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Partner" cc="il" country="Israel" operator="Partner Communications Company Ltd." status="Operational" 02 bands="GSM 1800 / UMTS 850 / UMTS 2100 / LTE 1800" brand="Cellcom" cc="il" country="Israel" operator="Cellcom Israel Ltd." status="Operational" 03 bands="UMTS 850 / UMTS 2100 / LTE 1800" brand="Pelephone" cc="il" country="Israel" operator="Pelephone Communications Ltd." status="Operational" 04 cc="il" country="Israel" operator="Globalsim Ltd" 05 bands="GSM 900" brand="Jawwal" cc="ps" country="Palestine" operator="Palestine Cellular Communications, Ltd." status="Operational" 06 bands="GSM 900 / GSM 1800" brand="Wataniya" cc="ps" country="Palestine" operator="Wataniya Palestine Mobile Telecommunications Company" status="Operational" 07 bands="iDEN 800 / UMTS 2100" brand="Hot Mobile" cc="il" country="Israel" operator="Hot Mobile Ltd." status="Operational" 08 bands="UMTS 2100 / LTE 1800" brand="Golan Telecom" cc="il" country="Israel" operator="Golan Telecom Ltd." status="Operational" 09 bands="LTE 1800" brand="We4G" cc="il" country="Israel" operator="Marathon 018 Xphone Ltd." status="Operational" 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Partner" cc="il" country="Israel" operator="Partner Communications Company Ltd." status="Operational" 11 bands="MVNO" cc="il" country="Israel" operator="365 Telecom" status="Not operational" 12 bands="MVNO" brand="x2one" cc="il" country="Israel" operator="Free Telecom" status="Operational" 13 cc="il" country="Israel" operator="Ituran Cellular Communications" status="Not operational" 14 bands="MVNO" brand="Youphone" cc="il" country="Israel" operator="Alon Cellular Ltd." status="Not operational" 15 bands="MVNO" brand="Home Cellular" cc="il" country="Israel" operator="Home Cellular Ltd." status="Not operational" 16 bands="MVNO" brand="Rami Levy" cc="il" country="Israel" operator="Rami Levy Communications Ltd." status="Operational" 17 bands="MVNO" brand="Sipme" cc="il" country="Israel" operator="Gale Phone" status="Not operational" 18 bands="MVNO" brand="Cellact Communications" cc="il" country="Israel" operator="Cellact Communications Ltd." status="Operational" 19 bands="MVNO" brand="019 Mobile" cc="il" country="Israel" operator="019 Communication Services Ltd. / TELZAR" status="Operational" 20 brand="Bezeq" cc="il" country="Israel" operator="Bezeq The Israeli Telecommunication Corp Ltd." 21 brand="Bezeq International" cc="il" country="Israel" operator="B.I.P. Communications Ltd." 23 cc="il" country="Israel" operator="Beezz Communication Solutions Ltd." 24 bands="MVNO" brand="012 Mobile" cc="il" country="Israel" operator="Partner Communications Company Ltd." status="Operational" 25 bands="LTE" brand="IMOD" cc="il" country="Israel" operator="Israel Ministry of Defense" status="Operational" 26 bands="MVNO" brand="Annatel" cc="il" country="Israel" operator="LB Annatel Ltd." status="Operational" 28 bands="LTE 1800" cc="il" country="Israel" operator="PHI Networks" 29 cc="il" country="Israel" operator="CG Networks" 00-99 426 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500" brand="Batelco" cc="bh" country="Bahrain" operator="Bahrain Telecommunications Company" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="zain BH" cc="bh" country="Bahrain" operator="Zain Bahrain" status="Operational" 03 cc="bh" country="Bahrain" operator="Civil Aviation Authority" 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / 5G 3500" brand="STC" cc="bh" country="Bahrain" operator="STC Bahrain" status="Operational" 05 bands="GSM 900 / GSM 1800" brand="Batelco" cc="bh" country="Bahrain" operator="Bahrain Telecommunications Company" status="Operational" 00-99 427 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="ooredoo" cc="qa" country="Qatar" operator="ooredoo" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600 / 5G 3500" brand="Vodafone" cc="qa" country="Qatar" operator="Vodafone Qatar" status="Operational" 05 bands="TETRA 380" brand="Ministry of Interior" cc="qa" country="Qatar" operator="Ministry of Interior" status="Operational" 06 bands="LTE" brand="Ministry of Interior" cc="qa" country="Qatar" operator="Ministry of Interior" status="Operational" 00-99 428 88 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Unitel" cc="mn" country="Mongolia" operator="Unitel LLC" status="Operational" 91 bands="CDMA2000 800 / UMTS 2100" brand="Skytel" cc="mn" country="Mongolia" operator="Skytel LLC" status="Operational" 98 bands="CDMA2000 450 / UMTS 2100" brand="G-Mobile" cc="mn" country="Mongolia" operator="G-Mobile LLC" status="Operational" 99 bands="GSM 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Mobicom" cc="mn" country="Mongolia" operator="Mobicom Corporation" status="Operational" 00-99 429 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / CDMA / WiMAX" brand="Namaste / NT Mobile / Sky Phone" cc="np" country="Nepal" operator="Nepal Telecom (NDCL)" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Ncell" cc="np" country="Nepal" operator="Ncell Pvt. Ltd." status="Operational" 03 bands="CDMA2000 800" brand="UTL" cc="np" country="Nepal" operator="United Telecom Limited" status="Operational" 04 bands="GSM 900 / LTE 1800" brand="SmartCell" cc="np" country="Nepal" operator="Smart Telecom Pvt. Ltd. (STPL)" status="Operational" 00-99 432 01 bands="LTE" brand="Uname" cc="ir" country="Iran" operator="Ertebatat Iran" status="Operational" 02 bands="MVNO" brand="Azartel" cc="ir" country="Iran" operator="Azartel Mobile" status="Operational" 08 bands="MVNO" brand="Shatel Mobile" cc="ir" country="Iran" operator="Shatel Mobile" status="Operational" 10 bands="MVNO" brand="Samantel" cc="ir" country="Iran" operator="Samantel Mobile" status="Operational" 11 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="IR-TCI (Hamrah-e-Avval)" cc="ir" country="Iran" operator="Mobile Communications Company of Iran (MCI)" status="Operational" 12 bands="LTE 800" brand="Avacell(HiWEB)" cc="ir" country="Iran" operator="Dadeh Dostar asr Novin p.j.s. co & Information Technology Company of Iran" status="Operational" 14 bands="GSM 900 / GSM 1800" brand="TKC/KFZO" cc="ir" country="Iran" operator="Telecommunication Kish Company" status="Operational" 19 bands="GSM 900" brand="Espadan (JV-PJS)" cc="ir" country="Iran" operator="Mobile Telecommunications Company of Esfahan" status="Operational" 20 bands="UMTS 900 / UMTS 2100 / LTE 1800" brand="Rightel" cc="ir" country="Iran" operator="Social Security Investment Co." status="Operational" 21 bands="UMTS 900 / UMTS 2100 / LTE 1800" brand="Rightel" cc="ir" country="Iran" operator="Social Security Investment Co." status="Operational" 32 bands="GSM 900 / GSM 1800" brand="Taliya" cc="ir" country="Iran" operator="TCI of Iran and Iran Mobin" status="Operational" 35 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600 / TD-LTE 3500" brand="MTN Irancell" cc="ir" country="Iran" operator="MTN Irancell Telecommunications Services Company" status="Operational" 40 bands="LTE 3500" brand="Mobinnet" cc="ir" country="Iran" operator="Ertebatat Mobinnet" status="Operational" 50 bands="MVNO" brand="Shatel" cc="ir" country="Iran" operator="Arya Resaneh Tadbir" status="Operational" 70 bands="GSM 900" brand="MTCE" cc="ir" country="Iran" operator="Telephone Communications Company of Iran" status="Operational" 71 bands="GSM 900" brand="KOOHE NOOR" cc="ir" country="Iran" operator="Telephone Communications Company of Iran" status="Operational" 90 bands="GSM 900 / GSM 1800" brand="Iraphone" cc="ir" country="Iran" operator="IRAPHONE GHESHM of Iran" status="Operational" 93 bands="GSM 900 / GSM 1800" brand="Farzanegan Pars" cc="ir" country="Iran" operator="Farzanegan Pars" status="Operational" 99 bands="GSM 850 / GSM 1900" brand="TCI (GSM WLL)" cc="ir" country="Iran" operator="TCI of Iran and Rightel" status="Operational" 00-99 434 01 bands="GSM 900 / GSM 1800" cc="uz" country="Uzbekistan" operator="Buztel" status="Not operational" 02 bands="GSM 900 / GSM 1800" cc="uz" country="Uzbekistan" operator="Uzmacom" status="Not operational" 03 bands="CDMA2000 450" brand="UzMobile" cc="uz" country="Uzbekistan" operator="Uzbektelekom" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Beeline" cc="uz" country="Uzbekistan" operator="Unitel LLC" status="Operational" 05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Ucell" cc="uz" country="Uzbekistan" operator="Coscom" status="Operational" 06 bands="CDMA2000 800" brand="Perfectum Mobile" cc="uz" country="Uzbekistan" operator="RUBICON WIRELESS COMMUNICATION" status="Operational" 07 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="UMS" cc="uz" country="Uzbekistan" operator="Universal Mobile Systems" status="Operational" 08 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="UzMobile" cc="uz" country="Uzbekistan" operator="Uzbektelekom" status="Operational" 09 bands="LTE 2300" brand="EVO" cc="uz" country="Uzbekistan" operator="OOO «Super iMAX»" status="Operational" 00-99 436 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Tcell" cc="tj" country="Tajikistan" operator="JV Somoncom" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Tcell" cc="tj" country="Tajikistan" operator="Indigo Tajikistan" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="MegaFon" cc="tj" country="Tajikistan" operator="TT Mobile" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Babilon-M" cc="tj" country="Tajikistan" operator="Babilon-Mobile" status="Operational" 05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 2100" brand="ZET-Mobile" cc="tj" country="Tajikistan" operator="Tacom" status="Operational" 10 bands="TD-LTE 2300 / WiMAX" brand="Babilon-T" cc="tj" country="Tajikistan" operator="Babilon-T" status="Operational" 12 bands="UMTS 2100" brand="Tcell" cc="tj" country="Tajikistan" operator="Indigo" 00-99 437 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Beeline" cc="kg" country="Kyrgyzstan" operator="Sky Mobile LLC" status="Operational" 03 cc="kg" country="Kyrgyzstan" operator="7 Mobile" 05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100" brand="MegaCom" cc="kg" country="Kyrgyzstan" operator="Alfa Telecom CJSC" status="Operational" 09 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 2600" brand="O!" cc="kg" country="Kyrgyzstan" operator="NurTelecom LLC" status="Operational" 10 bands="LTE 2600" cc="kg" country="Kyrgyzstan" operator="Saima Telecom" status="Operational" 11 cc="kg" country="Kyrgyzstan" operator="iTel" 00-99 438 01 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="MTS" cc="tm" country="Turkmenistan" operator="MTS Turkmenistan" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="TM-Cell" cc="tm" country="Turkmenistan" operator="Altyn Asyr" status="Operational" 03 bands="CDMA 450" brand="AGTS CDMA" cc="tm" country="Turkmenistan" operator="AŞTU" status="Operational" 00-99 440 00 bands="UMTS 1800" brand="Y!Mobile" cc="jp" country="Japan" operator="SoftBank Corp." status="Operational" 01 bands="WiMAX 2500 / TD-LTE 2500" brand="UQ WiMAX" cc="jp" country="Japan" operator="UQ Communications Inc." status="Operational" 02 bands="WiMAX 2500" cc="jp" country="Japan" operator="Hanshin Cable Engineering Co., Ltd." 03 bands="MVNO" brand="IIJmio" cc="jp" country="Japan" operator="Internet Initiative Japan Inc." status="Operational" 04 cc="jp" country="Japan" operator="Japan Radio Company, Ltd." 05 bands="TD-LTE 2500" cc="jp" country="Japan" operator="Wireless City Planning Inc." status="Operational" 06 cc="jp" country="Japan" operator="SAKURA Internet Inc." 07 bands="MVNO" cc="jp" country="Japan" operator="LTE-X, Inc." 08 cc="jp" country="Japan" operator="Panasonic Systems Solutions Japan Co., Ltd." 09 bands="MVNO" cc="jp" country="Japan" operator="Marubeni Wireless Communications Inc." status="Operational" 10 bands="UMTS 850 / UMTS 1800 / UMTS 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 3500" brand="NTT docomo" cc="jp" country="Japan" operator="NTT DoCoMo, Inc." status="Operational" 11 bands="1700" cc="jp" country="Japan" operator="Rakuten Mobile Network, Inc." status="Not operational" 12 cc="jp" country="Japan" operator="Cable media waiwai Co., Ltd." 20 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 3500" brand="SoftBank" cc="jp" country="Japan" operator="SoftBank Corp." status="Operational" 21 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 3500" brand="SoftBank" cc="jp" country="Japan" operator="SoftBank Corp." status="Operational" 50 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational" 51 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational" 52 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational" 53 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational" 54 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational" 70 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational" 71 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational" 72 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational" 73 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational" 74 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational" 75 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational" 76 bands="CDMA2000 850 / CDMA2000 2100 / LTE 700 / LTE 850 / LTE 1500 / LTE 2100 / TD-LTE 3500" brand="au" cc="jp" country="Japan" operator="KDDI Corporation" status="Operational" 78 bands="CDMA2000 850 / CDMA2000 2100" brand="au" cc="jp" country="Japan" operator="Okinawa Cellular Telephone" status="Operational" 91 cc="jp" country="Japan" operator="Tokyo Organising Committee of the Olympic and Paralympic Games" 00-99 441 01 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / LTE 2100 / TD-LTE 3500" brand="SoftBank" cc="jp" country="Japan" operator="SoftBank Corp." status="Operational" 10 bands="WiMAX 2500 / TD-LTE 2500" brand="UQ WiMAX" cc="jp" country="Japan" operator="UQ Communications Inc." status="Operational" 00-99 450 01 bands="Satellite" cc="kr" country="South Korea" operator="Globalstar Asia Pacific" status="Operational" 02 bands="5G 3500 / 5G 28000" brand="KT" cc="kr" country="South Korea" operator="KT" status="Operational" 03 bands="CDMA2000 800" brand="Power 017" cc="kr" country="South Korea" operator="Shinsegi Telecom, Inc." status="Not operational" 04 bands="NB-IoT" brand="KT" cc="kr" country="South Korea" operator="KT" status="Operational" 05 bands="CDMA2000 800 / UMTS 2100 / LTE 850 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500 / 5G 28000" brand="SKTelecom" cc="kr" country="South Korea" operator="SK Telecom" status="Operational" 06 bands="CDMA2000 1800 / LTE 850 / LTE 2100 / LTE 2600 / 5G 3500 / 5G 28000" brand="LG U+" cc="kr" country="South Korea" operator="LG Telecom" status="Operational" 07 brand="KT" cc="kr" country="South Korea" operator="KT" 08 bands="UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" brand="olleh" cc="kr" country="South Korea" operator="KT" status="Operational" 11 bands="MVNO" brand="Tplus" cc="kr" country="South Korea" operator="Korea Cable Telecom" status="Operational" 12 brand="SKTelecom" cc="kr" country="South Korea" operator="SK Telecom" 00-99 452 01 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="MobiFone" cc="vn" country="Vietnam" operator="Vietnam Mobile Telecom Services Company" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Vinaphone" cc="vn" country="Vietnam" operator="Vietnam Telecom Services Company" status="Operational" 03 bands="CDMA2000 800" brand="S-Fone" cc="vn" country="Vietnam" operator="S-Telecom" status="Not operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Viettel Mobile" cc="vn" country="Vietnam" operator="Viettel Telecom" status="Operational" 05 bands="GSM 900 / UMTS 2100" brand="Vietnamobile" cc="vn" country="Vietnam" operator="Hanoi Telecom" status="Operational" 06 bands="CDMA2000 450" brand="EVNTelecom" cc="vn" country="Vietnam" operator="EVN Telecom" status="Not operational" 07 bands="GSM 1800" brand="Gmobile" cc="vn" country="Vietnam" operator="GTEL Mobile JSC" status="Operational" 08 bands="WiMAX" brand="I-Telecom" cc="vn" country="Vietnam" operator="Indochina Telecom" status="Operational" 00-99 454 00 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="1O1O / One2Free / New World Mobility / SUNMobile" cc="hk" country="Hong Kong" operator="CSL Limited" status="Operational" 01 bands="MVNO" cc="hk" country="Hong Kong" operator="CITIC Telecom 1616" status="Operational" 02 bands="GSM 900 / GSM 1800" cc="hk" country="Hong Kong" operator="CSL Limited" status="Operational" 03 bands="UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600" brand="3" cc="hk" country="Hong Kong" operator="Hutchison Telecom" status="Operational" 04 bands="GSM 900 / GSM 1800" brand="3 (2G)" cc="hk" country="Hong Kong" operator="Hutchison Telecom" status="Operational" 05 bands="CDMA 800" brand="3 (CDMA)" cc="hk" country="Hong Kong" operator="Hutchison Telecom" status="Not operational" 06 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600" brand="SmarTone" cc="hk" country="Hong Kong" operator="SmarTone Mobile Communications Limited" status="Operational" 07 bands="MVNO" brand="China Unicom" cc="hk" country="Hong Kong" operator="China Unicom (Hong Kong) Limited" status="Operational" 08 bands="MVNO" brand="Truphone" cc="hk" country="Hong Kong" operator="Truphone Limited" status="Operational" 09 bands="MVNO" cc="hk" country="Hong Kong" operator="China Motion Telecom" status="Operational" 10 bands="GSM 1800" brand="New World Mobility" cc="hk" country="Hong Kong" operator="CSL Limited" status="Not operational" 11 bands="MVNO" cc="hk" country="Hong Kong" operator="China-Hong Kong Telecom" status="Operational" 12 bands="GSM 1800 / LTE 1800 / TD-LTE 2300 / LTE 2600" brand="CMCC HK" cc="hk" country="Hong Kong" operator="China Mobile Hong Kong Company Limited" status="Operational" 13 bands="MVNO" brand="CMCC HK" cc="hk" country="Hong Kong" operator="China Mobile Hong Kong Company Limited" status="Operational" 14 bands="GSM 900 / GSM 1800" cc="hk" country="Hong Kong" operator="Hutchison Telecom" status="Operational" 15 bands="GSM 1800" cc="hk" country="Hong Kong" operator="SmarTone Mobile Communications Limited" status="Operational" 16 bands="GSM 1800" brand="PCCW Mobile (2G)" cc="hk" country="Hong Kong" operator="PCCW" status="Operational" 17 bands="GSM 1800" cc="hk" country="Hong Kong" operator="SmarTone Mobile Communications Limited" status="Operational" 18 bands="GSM 900 / GSM 1800" cc="hk" country="Hong Kong" operator="CSL Limited" status="Not operational" 19 bands="UMTS 2100" brand="PCCW Mobile (3G)" cc="hk" country="Hong Kong" operator="PCCW-HKT" status="Operational" 20 bands="LTE 1800 / LTE 2600" brand="PCCW Mobile (4G)" cc="hk" country="Hong Kong" operator="PCCW-HKT" status="Operational" 21 bands="MVNO" cc="hk" country="Hong Kong" operator="21Vianet Mobile Ltd." status="Not operational" 22 bands="MVNO" cc="hk" country="Hong Kong" operator="263 Mobile Communications (HongKong) Limited" status="Operational" 23 bands="MVNO" brand="Lycamobile" cc="hk" country="Hong Kong" operator="Lycamobile Hong Kong Ltd" status="Not operational" 24 bands="MVNO" cc="hk" country="Hong Kong" operator="Multibyte Info Technology Ltd" status="Operational" 25 cc="hk" country="Hong Kong" operator="Hong Kong Government" 26 cc="hk" country="Hong Kong" operator="Hong Kong Government" 29 bands="CDMA 800" brand="PCCW Mobile (CDMA)" cc="hk" country="Hong Kong" operator="PCCW-HKT" status="Operational" 30 cc="hk" country="Hong Kong" operator="China Data Enterprises Ltd" 31 bands="MVNO" brand="CTExcel" cc="hk" country="Hong Kong" operator="China Telecom Global Limited" status="Operational" 32 bands="MVNO" cc="hk" country="Hong Kong" operator="Hong Kong Broadband Network Ltd" status="Operational" 35 bands="MVNO" cc="hk" country="Hong Kong" operator="Webbing Hong Kong Ltd" status="Operational" 00-99 455 00 bands="UMTS 2100 / LTE 1800" brand="SmarTone" cc="mo" country="Macau (China)" operator="Smartone – Comunicações Móveis, S.A." status="Operational" 01 bands="LTE 1800" brand="CTM" cc="mo" country="Macau (China)" operator="Companhia de Telecomunicações de Macau, S.A.R.L." status="Operational" 02 bands="CDMA 800" brand="China Telecom" cc="mo" country="Macau (China)" operator="China Telecom (Macau) Company Limited" status="Not operational" 03 bands="GSM 900 / GSM 1800" brand="3" cc="mo" country="Macau (China)" operator="Hutchison Telephone (Macau), Limitada" status="Not operational" 04 bands="UMTS 2100" brand="CTM" cc="mo" country="Macau (China)" operator="Companhia de Telecomunicações de Macau, S.A.R.L." status="Operational" 05 bands="UMTS 900 / UMTS 2100 / LTE 1800" brand="3" cc="mo" country="Macau (China)" operator="Hutchison Telephone (Macau), Limitada" status="Operational" 06 bands="UMTS 2100" brand="SmarTone" cc="mo" country="Macau (China)" operator="Smartone – Comunicações Móveis, S.A." status="Operational" 07 bands="LTE 1800" brand="China Telecom" cc="mo" country="Macau (China)" operator="China Telecom (Macau) Limitada" status="Operational" 00-99 456 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Cellcard" cc="kh" country="Cambodia" operator="CamGSM / The Royal Group" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Smart" cc="kh" country="Cambodia" operator="Smart Axiata Co. Ltd" status="Operational" 03 bands="GSM 1800 / UMTS 2100" brand="qb" cc="kh" country="Cambodia" operator="Cambodia Advance Communications Co. Ltd" status="Operational" 04 bands="GSM 1800 / UMTS 2100" brand="qb" cc="kh" country="Cambodia" operator="Cambodia Advance Communications Co. Ltd" status="Operational" 05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Smart" cc="kh" country="Cambodia" operator="Smart Axiata Co. Ltd" status="Operational" 06 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Smart" cc="kh" country="Cambodia" operator="Smart Axiata Co. Ltd" status="Operational" 08 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Metfone" cc="kh" country="Cambodia" operator="Viettel" status="Operational" 09 bands="GSM 900 / GSM 1800" brand="Metfone" cc="kh" country="Cambodia" operator="Viettel" status="Operational" 11 bands="LTE 850" brand="SEATEL" cc="kh" country="Cambodia" operator="SEATEL Cambodia" status="Operational" 18 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Cellcard" cc="kh" country="Cambodia" operator="The Royal Group" status="Operational" 00-99 457 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="LaoTel" cc="la" country="Laos" operator="Lao Telecom" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="ETL" cc="la" country="Laos" operator="Enterprise of Telecommunications Lao" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE" brand="Unitel" cc="la" country="Laos" operator="Star Telecom Co., Ltd" status="Operational" 08 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Beeline" cc="la" country="Laos" operator="VimpelCom Lao Ltd" status="Operational" 00-99 460 00 bands="GSM 900 / GSM 1800 / TD-SCDMA 1900 / TD-SCDMA 2000 / TD-LTE 1900 / TD-LTE 2300 / TD-LTE 2500 / 5G 2500" brand="China Mobile" cc="cn" country="China" operator="China Mobile" status="Operational" 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / TD-LTE 2300 / TD-LTE 2500 / 5G 3500" brand="China Unicom" cc="cn" country="China" operator="China Unicom" status="Operational" 02 bands="GSM 900 / GSM 1800 / TD-SCDMA 1900 / TD-SCDMA 2000 / TD-LTE 1900 / TD-LTE 2300 / TD-LTE 2500" brand="China Mobile" cc="cn" country="China" operator="China Mobile" status="Not operational" 03 bands="CDMA2000 800 / LTE 850 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500 / 5G 3500" brand="China Telecom" cc="cn" country="China" operator="China Telecom" status="Operational" 04 brand="China Mobile" cc="cn" country="China" operator="Global Star Satellite" 05 bands="CDMA2000 800 / LTE 850 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500" brand="China Telecom" cc="cn" country="China" operator="China Telecom" status="Not operational" 06 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="China Unicom" cc="cn" country="China" operator="China Unicom" status="Not operational" 07 bands="GSM 900 / GSM 1800 / TD-SCDMA 1900 / TD-SCDMA 2000 / TD-LTE 1900 / TD-LTE 2300 / TD-LTE 2500" brand="China Mobile" cc="cn" country="China" operator="China Mobile" status="Not operational" 08 brand="China Mobile" cc="cn" country="China" operator="China Mobile" 09 brand="China Unicom" cc="cn" country="China" operator="China Unicom" status="Operational" 11 brand="China Telecom" cc="cn" country="China" operator="China Telecom" 20 bands="GSM-R" brand="China Tietong" cc="cn" country="China" operator="China Tietong" status="Operational" 00-99 466 01 bands="UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" status="Operational" 02 bands="GSM 900" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" status="Not operational" 03 bands="UMTS 2100" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" 05 bands="LTE 700 / LTE 900 / TD-LTE 2600" brand="APTG" cc="tw" country="Taiwan" operator="Asia Pacific Telecom" status="Operational" 06 bands="GSM 1800" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" status="Not operational" 07 bands="WiMAX 2600" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" status="Not operational" 09 bands="WiMAX 2600" brand="VMAX" cc="tw" country="Taiwan" operator="Vmax Telecom" status="Operational" 10 bands="WiMAX 2600" brand="G1" cc="tw" country="Taiwan" operator="Global Mobile Corp." status="Operational" 11 bands="GSM 1800" brand="Chunghwa LDM" cc="tw" country="Taiwan" operator="LDTA/Chunghwa Telecom" status="Not operational" 12 bands="LTE 700 / LTE 900" cc="tw" country="Taiwan" operator="Ambit Microsystems" status="Operational" 56 bands="WiMAX 2600 / PHS" brand="FITEL" cc="tw" country="Taiwan" operator="First International Telecom" status="Not operational" 68 bands="WiMAX 2600" cc="tw" country="Taiwan" operator="Tatung InfoComm" status="Not operational" 88 bands="GSM 1800" brand="FarEasTone" cc="tw" country="Taiwan" operator="Far EasTone Telecommunications Co Ltd" status="Not operational" 89 bands="UMTS 2100 / LTE 900 / LTE 2600" brand="T Star" cc="tw" country="Taiwan" operator="Taiwan Star Telecom" status="Operational" 90 bands="LTE 900" brand="T Star" cc="tw" country="Taiwan" operator="Taiwan Star Telecom" 92 bands="UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600" brand="Chunghwa" cc="tw" country="Taiwan" operator="Chunghwa Telecom" status="Operational" 93 bands="GSM 900" brand="MobiTai" cc="tw" country="Taiwan" operator="Mobitai Communications" status="Not operational" 97 bands="UMTS 2100 / LTE 700 / LTE 1800" brand="Taiwan Mobile" cc="tw" country="Taiwan" operator="Taiwan Mobile Co. Ltd" status="Operational" 99 bands="GSM 900" brand="TransAsia" cc="tw" country="Taiwan" operator="TransAsia Telecoms" status="Not operational" 00-99 467 05 bands="UMTS 2100" brand="Koryolink" cc="kp" country="North Korea" operator="Cheo Technology Jv Company" status="Operational" 06 bands="UMTS 2100" brand="Koryolink" cc="kp" country="North Korea" operator="Cheo Technology Jv Company" status="Operational" 193 bands="GSM 900" brand="SunNet" cc="kp" country="North Korea" operator="Korea Posts and Telecommunications Corporation" status="Not operational" 470 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Grameenphone" cc="bd" country="Bangladesh" operator="Grameenphone Ltd." status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800" brand="Robi" cc="bd" country="Bangladesh" operator="Axiata Bangladesh Ltd." status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Banglalink" cc="bd" country="Bangladesh" operator="Banglalink Digital Communications Ltd." status="Operational" 04 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="TeleTalk" cc="bd" country="Bangladesh" operator="Teletalk Bangladesh Limited" status="Operational" 05 bands="CDMA 800" brand="Citycell" cc="bd" country="Bangladesh" operator="Pacific Bangladesh Telecom Limited" status="Not Operational" 07 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Airtel" cc="bd" country="Bangladesh" operator="Bharti Airtel Bangladesh Ltd." status="Operational" 09 bands="LTE 800 / LTE 2600 / WiMAX 3500" brand="ollo" cc="bd" country="Bangladesh" operator="Bangladesh Internet Exchange Limited (BIEL)" status="Operational" 10 bands="TD-LTE 2600 / WiMAX 3500" brand="Banglalion" cc="bd" country="Bangladesh" operator="Banglalion Communications Ltd." status="Operational" 00-99 472 01 bands="GSM 900 / UMTS 2100 / LTE 1800 / LTE 2600 / 5G 3500" brand="Dhiraagu" cc="mv" country="Maldives" operator="Dhivehi Raajjeyge Gulhun" status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE 2600" brand="Ooredoo" cc="mv" country="Maldives" operator="Wataniya Telecom Maldives" status="Operational" 00-99 502 01 bands="CDMA2000 450" brand="ATUR 450" cc="my" country="Malaysia" operator="Telekom Malaysia Bhd" status="Not operational" 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" cc="my" country="Malaysia" operator="Maxis, DiGi, Celcom, XOX" status="Operational" 11 bands="CDMA2000 850 / LTE 850" brand="TM Homeline" cc="my" country="Malaysia" operator="Telekom Malaysia Bhd" status="Operational" 12 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Maxis" cc="my" country="Malaysia" operator="Maxis Communications Berhad" status="Operational" 13 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Celcom" cc="my" country="Malaysia" operator="Celcom Axiata Berhad" status="Operational" 14 cc="my" country="Malaysia" operator="Telekom Malaysia Berhad for PSTN SMS" 150 bands="MVNO" brand="Tune Talk" cc="my" country="Malaysia" operator="Tune Talk Sdn Bhd" status="Operational" 151 bands="MVNO" brand="SalamFone" cc="my" country="Malaysia" operator="Baraka Telecom Sdn Bhd" status="Not operational" 152 bands="WiMAX 2300 / TD-LTE 2300 / TD-LTE 2600" brand="Yes" cc="my" country="Malaysia" operator="YTL Communications Sdn Bhd" status="Operational" 153 bands="WiMAX 2300 / LTE 850" brand="unifi" cc="my" country="Malaysia" operator="Webe Digital Sdn Bhd" status="Operational" 154 bands="MVNO" brand="Tron" cc="my" country="Malaysia" operator="Talk Focus Sdn Bhd" status="Operational" 155 bands="MVNO" brand="Clixster" cc="my" country="Malaysia" operator="Clixster Mobile Sdn Bhd" status="Not operational" 156 bands="MVNO" brand="Altel" cc="my" country="Malaysia" operator="Altel Communications Sdn Bhd" status="Operational" 157 bands="MVNO" brand="Telin" cc="my" country="Malaysia" operator="Telekomunikasi Indonesia International (M) Sdn Bhd" status="Operational" 16 bands="GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600" brand="DiGi" cc="my" country="Malaysia" operator="DiGi Telecommunications" status="Operational" 17 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Maxis" cc="my" country="Malaysia" operator="Maxis Communications Berhad" status="Operational" 18 bands="UMTS 2100 / LTE 1800 / LTE 2600" brand="U Mobile" cc="my" country="Malaysia" operator="U Mobile Sdn Bhd" status="Operational" 19 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Celcom" cc="my" country="Malaysia" operator="Celcom Axiata Berhad" status="Operational" 20 bands="DMR" brand="Electcoms" cc="my" country="Malaysia" operator="Electcoms Berhad" status="Not operational" 505 01 bands="UMTS 850 / LTE 700 / LTE 900 / LTE 1800 / LTE 2100 / LTE 2600 / 5G 3500" brand="Telstra" cc="au" country="Australia" operator="Telstra Corporation Limited" status="Operational" 02 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600" brand="Optus" cc="au" country="Australia" operator="Singtel Optus Proprietary Limited" status="Operational" 03 bands="UMTS 900 / UMTS 2100 / LTE 850 / LTE 1800 / LTE 2100" brand="Vodafone" cc="au" country="Australia" operator="Vodafone Hutchison Australia Proprietary Limited" status="Operational" 04 cc="au" country="Australia" operator="Department of Defence" status="Operational" 05 brand="Ozitel" cc="au" country="Australia" status="Not operational" 06 bands="UMTS 2100" brand="3" cc="au" country="Australia" operator="Vodafone Hutchison Australia Proprietary Limited" status="Not operational" 07 brand="Vodafone" cc="au" country="Australia" operator="Vodafone Network Pty. Ltd." 08 bands="GSM 900" brand="One.Tel" cc="au" country="Australia" operator="One.Tel Limited" status="Not operational" 09 brand="Airnet" cc="au" country="Australia" status="Not operational" 10 bands="GSM 900" brand="Norfolk Telecom" cc="nf" country="Norfolk Island" operator="Norfolk Telecom" status="Operational" 11 brand="Telstra" cc="au" country="Australia" operator="Telstra Corporation Ltd." 12 bands="UMTS 2100" brand="3" cc="au" country="Australia" operator="Vodafone Hutchison Australia Proprietary Limited" status="Not operational" 13 bands="GSM-R 1800" brand="RailCorp" cc="au" country="Australia" operator="Railcorp, Transport for New South Wales" status="Operational" 14 bands="MVNO" brand="AAPT" cc="au" country="Australia" operator="TPG Telecom" status="Operational" 15 brand="3GIS" cc="au" country="Australia" status="Not operational" 16 bands="GSM-R 1800" brand="VicTrack" cc="au" country="Australia" operator="Victorian Rail Track" status="Operational" 17 bands="TD-LTE 2300" cc="au" country="Australia" operator="Optus" status="Operational" 18 brand="Pactel" cc="au" country="Australia" operator="Pactel International Pty Ltd" 19 bands="MVNO" brand="Lycamobile" cc="au" country="Australia" operator="Lycamobile Pty Ltd" status="Operational" 20 cc="au" country="Australia" operator="Ausgrid Corporation" 21 bands="GSM-R 1800" cc="au" country="Australia" operator="Queensland Rail Limited" 22 cc="au" country="Australia" operator="iiNet Ltd" 23 bands="LTE 1800 / LTE 2100" cc="au" country="Australia" operator="Challenge Networks Pty Ltd" status="Operational" 24 cc="au" country="Australia" operator="Advanced Communications Technologies Pty. Ltd." 25 cc="au" country="Australia" operator="Pilbara Iron Company Services Pty Ltd" 26 cc="au" country="Australia" operator="Dialogue Communications Pty. Ltd." 27 cc="au" country="Australia" operator="Nexium Telecommunications" 28 cc="au" country="Australia" operator="RCOM International Pty Ltd" 30 cc="au" country="Australia" operator="Compatel Limited" 31 cc="au" country="Australia" operator="BHP Billiton" 32 cc="au" country="Australia" operator="Thales Australia" 33 cc="au" country="Australia" operator="CLX Networks Pty Ltd" 34 cc="au" country="Australia" operator="Santos Limited" 35 cc="au" country="Australia" operator="MessageBird Pty Ltd" 36 brand="Optus" cc="au" country="Australia" operator="Optus Mobile Pty. Ltd." 37 cc="au" country="Australia" operator="Yancoal Australia Ltd" 38 bands="MVNO" brand="Truphone" cc="au" country="Australia" operator="Truphone Pty Ltd" status="Operational" 39 brand="Telstra" cc="au" country="Australia" operator="Telstra Corporation Ltd." 40 cc="au" country="Australia" operator="CITIC Pacific Mining" 41 cc="au" country="Australia" operator="Aqura Technologies Pty" 42 brand="GEMCO" cc="au" country="Australia" operator="Groote Eylandt Mining Company Pty Ltd" 43 cc="au" country="Australia" operator="Arrow Energy Pty Ltd" 44 cc="au" country="Australia" operator="Roy Hill Iron Ore Pty Ltd" 45 cc="au" country="Australia" operator="Clermont Coal Operations Pty Ltd" 46 cc="au" country="Australia" operator="AngloGold Ashanti Australia Ltd" 47 cc="au" country="Australia" operator="Woodside Energy Limited" 50 bands="Satellite" cc="au" country="Australia" operator="Pivotel Group Pty Limited" status="Operational" 61 bands="LTE 1800 / LTE 2100" brand="CommTel NS" cc="au" country="Australia" operator="Commtel Network Solutions Pty Ltd" status="Implement / Design" 62 bands="TD-LTE 2300 / TD-LTE 3500" brand="NBN" cc="au" country="Australia" operator="National Broadband Network Co." status="Operational" 68 bands="TD-LTE 2300 / TD-LTE 3500" brand="NBN" cc="au" country="Australia" operator="National Broadband Network Co." status="Operational" 71 brand="Telstra" cc="au" country="Australia" operator="Telstra Corporation Limited" status="Operational" 72 brand="Telstra" cc="au" country="Australia" operator="Telstra Corporation Limited" status="Operational" 88 bands="Satellite" cc="au" country="Australia" operator="Pivotel Group Pty Limited" status="Operational" 90 brand="Optus" cc="au" country="Australia" operator="Singtel Optus Proprietary Limited" status="Operational" 99 bands="GSM 1800" brand="One.Tel" cc="au" country="Australia" operator="One.Tel" status="Not operational" 00-99 510 00 bands="Satellite" brand="PSN" cc="id" country="Indonesia" operator="PT Pasifik Satelit Nusantara (ACeS)" status="Operational" 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800" brand="Indosat Ooredoo" cc="id" country="Indonesia" operator="PT Indonesian Satellite Corporation Tbk (INDOSAT)" status="Operational" 03 bands="CDMA 800" brand="StarOne" cc="id" country="Indonesia" operator="PT Indosat Tbk" status="Not operational" 07 bands="CDMA 800" brand="TelkomFlexi" cc="id" country="Indonesia" operator="PT Telkom" status="Not operational" 08 bands="GSM 1800 / UMTS 2100" brand="AXIS" cc="id" country="Indonesia" operator="PT Natrindo Telepon Seluler" status="Not operational" 09 bands="LTE 850 / TD-LTE 2300" brand="Smartfren" cc="id" country="Indonesia" operator="PT Smartfren Telecom" status="Operational" 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / TD-LTE 2300" brand="Telkomsel" cc="id" country="Indonesia" operator="PT Telekomunikasi Selular" status="Operational" 11 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800" brand="XL" cc="id" country="Indonesia" operator="PT XL Axiata Tbk" status="Operational" 20 bands="GSM 1800" brand="TELKOMMobile" cc="id" country="Indonesia" operator="PT Telkom Indonesia Tbk" status="Not operational" 21 bands="GSM 1800" brand="IM3" cc="id" country="Indonesia" operator="PT Indonesian Satellite Corporation Tbk (INDOSAT)" status="Not operational" 27 bands="LTE 450" brand="Net 1" cc="id" country="Indonesia" operator="PT Sampoerna Telekomunikasi Indonesia" status="Operational" 28 bands="LTE 850 / TD-LTE 2300" brand="Fren/Hepi" cc="id" country="Indonesia" operator="PT Mobile-8 Telecom" status="Operational" 78 bands="TD-LTE 2300" brand="Hinet" cc="id" country="Indonesia" operator="PT Berca Hardayaperkasa" status="Operational" 88 bands="TD-LTE 2300" brand="BOLT! 4G LTE" cc="id" country="Indonesia" operator="PT Internux" status="Not operational" 89 bands="GSM 1800 / UMTS 2100 / LTE 1800" brand="3" cc="id" country="Indonesia" operator="PT Hutchison CP Telecommunications" status="Operational" 99 bands="CDMA 800" brand="Esia" cc="id" country="Indonesia" operator="PT Bakrie Telecom" status="Not Operational" 00-99 514 01 bands="GSM 900 / GSM 1800 / UMTS 850 / LTE" brand="Telkomcel" cc="tl" country="East Timor" operator="PT Telekomunikasi Indonesia International" status="Operational" 02 bands="GSM 900 / UMTS / LTE 1800" brand="TT" cc="tl" country="East Timor" operator="Timor Telecom" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS / LTE 1800" brand="Telemor" cc="tl" country="East Timor" operator="Viettel Timor-Leste" status="Operational" 00-99 515 01 bands="GSM 900" brand="Islacom" cc="ph" country="Philippines" operator="Globe Telecom via Innove Communications" status="Not operational" 02 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / TD-LTE 2500 / 5G 3500" brand="Globe" cc="ph" country="Philippines" operator="Globe Telecom" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 850 / LTE 1800 / LTE 2100 / TD-LTE 2300 / TD-LTE 2500" brand="SMART" cc="ph" country="Philippines" operator="PLDT via Smart Communications" status="Operational" 05 bands="GSM 1800 / UMTS 2100" brand="Sun Cellular" cc="ph" country="Philippines" operator="Digital Telecommunications Philippines" status="Operational" 11 cc="ph" country="Philippines" operator="PLDT via ACeS Philippines" 18 bands="GSM 900 / UMTS 2100" brand="Cure" cc="ph" country="Philippines" operator="PLDT via Smart's Connectivity Unlimited Resources Enterprise" status="Not operational" 24 bands="MVNO" brand="ABS-CBN Mobile" cc="ph" country="Philippines" operator="ABS-CBN Convergence with Globe Telecom" status="Operational" 88 bands="iDEN" cc="ph" country="Philippines" operator="Next Mobile Inc." status="Operational" 00-99 520 00 bands="UMTS 850" brand="TrueMove H / my by CAT" cc="th" country="Thailand" operator="CAT Telecom" status="Operational" 01 bands="GSM 900 / UMTS 900" brand="AIS" cc="th" country="Thailand" operator="Advanced Info Service" status="Not operational" 02 bands="CDMA 800" brand="CAT CDMA" cc="th" country="Thailand" operator="CAT Telecom" status="Not operational" 03 bands="UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" brand="AIS" cc="th" country="Thailand" operator="Advanced Wireless Network Company Ltd." status="Operational" 04 bands="UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" brand="TrueMove H" cc="th" country="Thailand" operator="True Move H Universal Communication Company Ltd." status="Operational" 05 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="dtac TriNet / LINE" cc="th" country="Thailand" operator="DTAC TriNet Company Ltd." status="Operational" 09 bands="LTE 850" cc="th" country="Thailand" operator="Royal Thai Police" status="Operational" 15 bands="UMTS 2100" brand="AIS-T / TOT Mobile" cc="th" country="Thailand" operator="TOT Public Company Limited" status="Operational" 18 bands="GSM 1800" brand="dtac" cc="th" country="Thailand" operator="Total Access Communications Public Company Ltd." status="Operational" 20 bands="Satellite" brand="ACeS" cc="th" country="Thailand" operator="ACeS" 23 bands="GSM 1800" brand="AIS GSM 1800" cc="th" country="Thailand" operator="Digital Phone Company Ltd." status="Not operational" 25 bands="PHS 1900" brand="WE PCT" cc="th" country="Thailand" operator="True Corporation" status="Not operational" 47 bands="TD-LTE 2300" brand="dtac-T / LINE / TOT Mobile" cc="th" country="Thailand" operator="TOT Public Company Limited" status="Operational" 99 bands="GSM 1800" brand="TrueMove" cc="th" country="Thailand" operator="True Corporation" status="Not operational" 00-99 525 01 bands="UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2600" brand="SingTel" cc="sg" country="Singapore" operator="Singapore Telecom" status="Operational" 02 bands="GSM 1800" brand="SingTel-G18" cc="sg" country="Singapore" operator="Singapore Telecom" status="Not operational" 03 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="M1" cc="sg" country="Singapore" operator="M1 Limited" status="Operational" 05 bands="UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600 / TD-LTE 2600" brand="StarHub" cc="sg" country="Singapore" operator="StarHub Mobile" status="Operational" 06 brand="StarHub" cc="sg" country="Singapore" operator="StarHub Mobile" 07 brand="SingTel" cc="sg" country="Singapore" operator="Singapore Telecom" 08 brand="StarHub" cc="sg" country="Singapore" operator="StarHub Mobile" 09 bands="MVNO" brand="Circles.Life" cc="sg" country="Singapore" operator="Liberty Wireless Pte Ltd" status="Operational" 10 bands="LTE 900 / TD-LTE 2300" cc="sg" country="Singapore" operator="TPG Telecom Pte Ltd" status="Operational" 11 brand="M1" cc="sg" country="Singapore" operator="M1 Limited" 12 bands="iDEN 800" brand="Grid" cc="sg" country="Singapore" operator="GRID Communications Pte Ltd." status="Operational" 00-99 528 01 brand="TelBru" cc="bn" country="Brunei" operator="Telekom Brunei Berhad" 02 bands="UMTS 2100" brand="PCSB" cc="bn" country="Brunei" operator="Progresif Cellular Sdn Bhd" status="Operational" 03 brand="UNN" cc="bn" country="Brunei" operator="Unified National Networks Sdn Bhd" 11 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="DST" cc="bn" country="Brunei" operator="Data Stream Technology Sdn Bhd" status="Operational" 00-99 530 00 bands="AMPS 800 / TDMA 800" brand="Telecom" cc="nz" country="New Zealand" operator="Telecom New Zealand" status="Not operational" 01 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600 / 5G 3500" brand="Vodafone" cc="nz" country="New Zealand" operator="Vodafone New Zealand" status="Operational" 02 bands="CDMA2000 800" brand="Telecom" cc="nz" country="New Zealand" operator="Telecom New Zealand" status="Not operational" 03 bands="UMTS-TDD 2000" brand="Woosh" cc="nz" country="New Zealand" operator="Woosh Wireless" status="Operational" 04 bands="UMTS 2100" brand="Vodafone" cc="nz" country="New Zealand" operator="TelstraClear New Zealand" status="Not operational" 05 bands="UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / TD-LTE 2300 / LTE 2600 / 5G 2600" brand="Spark" cc="nz" country="New Zealand" operator="Spark New Zealand" status="Operational" 06 bands="MVNO" brand="Skinny" cc="nz" country="New Zealand" operator="Spark New Zealand" status="Operational" 07 cc="nz" country="New Zealand" operator="Bluereach Limited" 24 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1800" brand="2degrees" cc="nz" country="New Zealand" operator="2degrees" status="Operational" 00-99 536 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Digicel" cc="nr" country="Nauru" operator="Digicel (Nauru) Corporation" status="Operational" 00-99 537 01 bands="GSM 900 / UMTS 900" brand="bmobile" cc="pg" country="Papua New Guinea" operator="Bemobile Limited" status="Operational" 02 bands="CDMA2000 450 / LTE 700" brand="citifon" cc="pg" country="Papua New Guinea" operator="Telikom PNG Ltd." status="Operational" 03 bands="GSM 900 / UMTS 900 / LTE 700" brand="Digicel" cc="pg" country="Papua New Guinea" operator="Digicel PNG" status="Operational" 00-99 539 01 bands="GSM 900 / UMTS 900 / LTE" brand="U-Call" cc="to" country="Tonga" operator="Tonga Communications Corporation" status="Operational" 43 cc="to" country="Tonga" operator="Shoreline Communication" status="Operational" 88 bands="GSM 900 / LTE 1800" brand="Digicel" cc="to" country="Tonga" operator="Digicel (Tonga) Limited" status="Operational" 00-99 540 01 bands="GSM 900 / UMTS / LTE 700 / LTE 1800" brand="BREEZE" cc="sb" country="Solomon Islands" operator="Our Telekom" status="Operational" 02 bands="GSM 900 / GSM 1800" brand="BeMobile" cc="sb" country="Solomon Islands" operator="BMobile (SI) Ltd" status="Operational" 00-99 541 00 bands="GSM 900" brand="AIL" cc="vu" country="Vanuatu" operator="ACeS International (AIL)" status="Operational" 01 bands="GSM 900 / LTE 700" brand="SMILE" cc="vu" country="Vanuatu" operator="Telecom Vanuatu Ltd" status="Operational" 05 bands="GSM 900 / UMTS 900 / LTE 700" brand="Digicel" cc="vu" country="Vanuatu" operator="Digicel Vanuatu Ltd" status="Operational" 07 bands="TD-LTE 2300" brand="WanTok" cc="vu" country="Vanuatu" operator="WanTok Vanuatu Ltd" status="Operational" 00-99 542 01 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Vodafone" cc="fj" country="Fiji" operator="Vodafone Fiji" status="Operational" 02 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / WiMAX" brand="Digicel" cc="fj" country="Fiji" operator="Digicel Fiji" status="Operational" 03 bands="CDMA2000 850 / LTE 700" brand="TFL" cc="fj" country="Fiji" operator="Telecom Fiji Ltd" status="Operational" 00-99 543 01 bands="UMTS 900 / LTE" brand="Manuia" cc="wf" country="Wallis and Futuna" operator="Service des Postes et Télécommunications des Îles Wallis et Futuna (SPT)" status="Operational" 00-99 544 11 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 700 / LTE 1700" brand="Bluesky" cc="as" country="American Samoa (United States of America)" operator="Bluesky" status="Operational" 00-99 545 01 bands="UMTS 850 / LTE 700" brand="Kiribati - TSKL" cc="ki" country="Kiribati" operator="Telecom Services Kiribati Ltd" status="Operational" 02 cc="ki" country="Kiribati" operator="OceanLink" 09 bands="GSM 900" brand="Kiribati - Frigate Net" cc="ki" country="Kiribati" operator="Telecom Services Kiribati Ltd" status="Operational" 00-99 546 01 bands="GSM 900 / UMTS 900 / LTE 800 / LTE 1800 / LTE 2600" brand="Mobilis" cc="nc" country="New Caledonia (France)" operator="OPT New Caledonia" status="Operational" 00-99 547 05 bands="WiMAX / LTE 800 / LTE 2600" brand="Ora" cc="pf" country="French Polynesia" operator="VITI" status="Operational" 10 bands="GSM 900" cc="pf" country="French Polynesia" operator="Mara Telecom" status="Not operational" 15 bands="GSM 900 / UMTS 900 / UMTS 2100" brand="Vodafone" cc="pf" country="French Polynesia" operator="Pacific Mobile Telecom" status="Operational" 20 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600" brand="Vini" cc="pf" country="French Polynesia" operator="Onati S.A.S." status="Operational" 00-99 548 01 bands="GSM 900 / UMTS 900 / LTE 700 / LTE 1800" brand="Bluesky" cc="ck" country="Cook Islands (Pacific Ocean)" operator="Telecom Cook Islands" status="Operational" 00-99 549 00 brand="Digicel" cc="ws" country="Samoa" operator="Digicel Pacific Ltd." 01 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Digicel" cc="ws" country="Samoa" operator="Digicel Pacific Ltd." status="Operational" 27 bands="GSM 900 / LTE 700 / LTE 1800" brand="Bluesky" cc="ws" country="Samoa" operator="Bluesky Samoa Ltd" status="Operational" 00-99 550 01 bands="GSM 900 / LTE 1800" cc="fm" country="Federated States of Micronesia" operator="FSMTC" status="Operational" 00-99 551 01 bands="GSM 900 / GSM 1800 / LTE 700" cc="mh" country="Marshall Islands" operator="Marshall Islands National Telecommunications Authority (MINTA)" status="Operational" 00-99 552 01 bands="GSM 900 / UMTS 900 / LTE 700" brand="PNCC" cc="pw" country="Palau" operator="Palau National Communications Corp." status="Operational" 02 bands="GSM 900" brand="PT Waves" cc="pw" country="Palau" operator="Palau Equipment Company Inc." status="Operational" 80 bands="GSM 1800" brand="Palau Mobile" cc="pw" country="Palau" operator="Palau Mobile Corporation" status="Not operational" 99 bands="LTE" brand="PMCI" cc="pw" country="Palau" operator="Palau Mobile Communications Inc." status="Operational" 00-99 553 01 bands="GSM 900 / LTE 850" brand="TTC" cc="tv" country="Tuvalu" operator="Tuvalu Telecom" status="Operational" 00-99 554 01 bands="LTE 700" cc="tk" country="Tokelau" operator="Teletok" status="Operational" 00-99 555 01 bands="GSM 900 / LTE 700" brand="Telecom Niue" cc="nu" country="Niue" operator="Telecom Niue" status="Operational" 00-99 602 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Orange" cc="eg" country="Egypt" operator="Orange Egypt" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Vodafone" cc="eg" country="Egypt" operator="Vodafone Egypt" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Etisalat" cc="eg" country="Egypt" operator="Etisalat Egypt" status="Operational" 04 bands="LTE 1800" brand="WE" cc="eg" country="Egypt" operator="Telecom Egypt" status="Operational" 00-99 603 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Mobilis" cc="dz" country="Algeria" operator="Algérie Télécom" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Djezzy" cc="dz" country="Algeria" operator="Optimum Telecom Algérie Spa" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Ooredoo" cc="dz" country="Algeria" operator="Wataniya Telecom Algérie" status="Operational" 07 bands="CDMA 1900" brand="AT" cc="dz" country="Algeria" operator="Algérie Télécom" status="Operational" 09 bands="LTE" brand="AT" cc="dz" country="Algeria" operator="Algérie Télécom" status="Operational" 21 bands="GSM-R" brand="ANESRIF" cc="dz" country="Algeria" operator="Anesrif" status="Ongoing" 00-99 604 00 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Orange Morocco" cc="ma" country="Morocco" operator="Médi Télécom" status="Operational" 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 2600" brand="IAM" cc="ma" country="Morocco" operator="Ittissalat Al-Maghrib (Maroc Telecom)" status="Operational" 02 bands="GSM 900 / GSM 1800" brand="INWI" cc="ma" country="Morocco" operator="Wana Corporate" status="Operational" 04 cc="ma" country="Morocco" operator="Al Houria Telecom" 05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="INWI" cc="ma" country="Morocco" operator="Wana Corporate" status="Operational" 06 brand="IAM" cc="ma" country="Morocco" operator="Ittissalat Al-Maghrib (Maroc Telecom)" 99 cc="ma" country="Morocco" operator="Al Houria Telecom" 00-99 605 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Orange" cc="tn" country="Tunisia" operator="Orange Tunisie" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Tunicell" cc="tn" country="Tunisia" operator="Tunisie Telecom" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="OOREDOO TN" cc="tn" country="Tunisia" operator="ooredoo Tunisiana" status="Operational" 00-99 606 00 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Libyana" cc="ly" country="Libya" operator="Libyana" status="Operational" 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Madar" cc="ly" country="Libya" operator="Al-Madar Al-Jadeed" status="Operational" 02 bands="MVNO" brand="Al-Jeel Phone" cc="ly" country="Libya" operator="Al-Jeel Al-Jadeed" status="Operational" 03 bands="MVNO / LTE 800" brand="Libya Phone" cc="ly" country="Libya" operator="Libya Telecom & Technology (LTT)" status="Operational" 06 bands="CDMA2000" brand="Hatef Libya" cc="ly" country="Libya" operator="Hatef Libya" status="Operational" 00-99 607 01 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Gamcel" cc="gm" country="Gambia" operator="Gamcel" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Africell" cc="gm" country="Gambia" operator="Africell" status="Operational" 03 bands="GSM 900 / GSM 1800" brand="Comium" cc="gm" country="Gambia" operator="Comium" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="QCell" cc="gm" country="Gambia" operator="QCell Gambia" status="Operational" 05 bands="WiMAX / LTE" cc="gm" country="Gambia" operator="Gamtel-Ecowan" 06 bands="TD-LTE 2300" cc="gm" country="Gambia" operator="NETPAGE" status="Operational" 00-99 608 01 bands="GSM 900 / UMTS 2100 / LTE" brand="Orange" cc="sn" country="Senegal" operator="Sonatel" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE" brand="Tigo" cc="sn" country="Senegal" operator="Millicom International Cellular S.A." status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Expresso" cc="sn" country="Senegal" operator="Sudatel" status="Operational" 04 cc="sn" country="Senegal" operator="CSU-SA" 00-99 609 01 bands="GSM 900" brand="Mattel" cc="mr" country="Mauritania" operator="Mattel" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Chinguitel" cc="mr" country="Mauritania" operator="Chinguitel" status="Operational" 10 bands="GSM 900" brand="Mauritel" cc="mr" country="Mauritania" operator="Mauritel Mobiles" status="Operational" 00-99 610 01 bands="GSM 900 / UMTS 2100 / LTE" brand="Malitel" cc="ml" country="Mali" operator="Malitel SA" status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE" brand="Orange" cc="ml" country="Mali" operator="Orange Mali SA" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Telecel" cc="ml" country="Mali" operator="Alpha Telecommunication Mali S.A." status="Operational" 00-99 611 01 bands="GSM 900 / GSM 1800 / LTE" brand="Orange" cc="gn" country="Guinea" operator="Orange S.A." status="Operational" 02 bands="GSM 900" brand="Sotelgui" cc="gn" country="Guinea" operator="Sotelgui Lagui" status="Operational" 03 bands="GSM 900" brand="Telecel Guinee" cc="gn" country="Guinea" operator="INTERCEL Guinée" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="MTN" cc="gn" country="Guinea" operator="Areeba Guinea" status="Operational" 05 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Cellcom" cc="gn" country="Guinea" operator="Cellcom" status="Operational" 00-99 612 01 cc="ci" country="Ivory Coast" operator="Cora de Comstar" status="Not operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Moov" cc="ci" country="Ivory Coast" operator="Atlantique Cellulaire" status="Operational" 03 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Orange" cc="ci" country="Ivory Coast" operator="Orange" status="Operational" 04 bands="GSM 900 / GSM 1800" brand="KoZ" cc="ci" country="Ivory Coast" operator="Comium Ivory Coast Inc" status="Operational" 05 bands="GSM 900 / UMTS 2100 / LTE 800" brand="MTN" cc="ci" country="Ivory Coast" operator="Loteny Telecom" status="Operational" 06 bands="GSM 1800" brand="GreenN" cc="ci" country="Ivory Coast" operator="Oricel" status="Operational" 07 bands="GSM 1800" brand="café" cc="ci" country="Ivory Coast" operator="Aircomm" status="Operational" 18 bands="TD-LTE 2300" cc="ci" country="Ivory Coast" operator="YooMee" status="Operational" 00-99 613 01 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Telmob" cc="bf" country="Burkina Faso" operator="Onatel" status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Orange" cc="bf" country="Burkina Faso" operator="Orange Burkina Faso" status="Operational" 03 bands="GSM 900" brand="Telecel Faso" cc="bf" country="Burkina Faso" operator="Telecel Faso SA" status="Operational" 00-99 614 01 bands="GSM 900" brand="SahelCom" cc="ne" country="Niger" operator="La Société Sahélienne de Télécommunications (SahelCom)" status="Operational" 02 bands="GSM 900 / LTE" brand="Airtel" cc="ne" country="Niger" operator="Bharti Airtel Limited" status="Operational" 03 bands="GSM 900" brand="Moov" cc="ne" country="Niger" operator="Atlantique Telecom (subsidiary of Etisalat)" status="Operational" 04 bands="GSM 900 / GSM 1800" brand="Orange" cc="ne" country="Niger" operator="Orange Niger" status="Operational" 00-99 615 01 bands="GSM 900 / LTE" brand="Togo Cell" cc="tg" country="Togo" operator="Togo Telecom" status="Operational" 03 bands="GSM 900 / LTE" brand="Moov" cc="tg" country="Togo" operator="Moov Togo" status="Operational" 00-99 616 01 bands="GSM 900 / GSM 1800 / LTE 1800 / CDMA / WiMAX" brand="Libercom" cc="bj" country="Benin" operator="Benin Telecoms Mobile" status="Operational" 02 bands="GSM 900 / UMTS 2100" brand="Moov" cc="bj" country="Benin" operator="Telecel Benin" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="MTN" cc="bj" country="Benin" operator="Spacetel Benin" status="Operational" 04 bands="GSM 900 / GSM 1800" brand="BBCOM" cc="bj" country="Benin" operator="Bell Benin Communications" status="Operational" 05 bands="GSM 900 / GSM 1800" brand="Glo" cc="bj" country="Benin" operator="Glo Communication Benin" status="Not operational" 00-99 617 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="my.t" cc="mu" country="Mauritius" operator="Cellplus Mobile Communications Ltd." status="Operational" 02 bands="CDMA2000" brand="MOKOZE / AZU" cc="mu" country="Mauritius" operator="Mahanagar Telephone Mauritius Limited (MTML)" status="Operational" 03 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="CHILI" cc="mu" country="Mauritius" operator="Mahanagar Telephone Mauritius Limited (MTML)" status="Operational" 10 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Emtel" cc="mu" country="Mauritius" operator="Emtel Ltd." status="Operational" 00-99 618 01 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Lonestar Cell MTN" cc="lr" country="Liberia" operator="Lonestar Communications Corporation" status="Operational" 02 brand="Libercell" cc="lr" country="Liberia" operator="Atlantic Wireless (Liberia) Inc." status="Not operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Novafone" cc="lr" country="Liberia" operator="Novafone Inc." status="Operational" 07 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Orange LBR" cc="lr" country="Liberia" operator="Orange Liberia" status="Operational" 20 bands="CDMA2000" brand="LIBTELCO" cc="lr" country="Liberia" operator="Liberia Telecommunications Corporation" status="Operational" 00-99 619 01 bands="GSM 900 / UMTS 2100 / LTE" brand="Orange" cc="sl" country="Sierra Leone" operator="Orange SL Limited" status="Operational" 02 brand="Africell" cc="sl" country="Sierra Leone" operator="Lintel Sierra Leone Limited" 03 bands="GSM 900" brand="Africell" cc="sl" country="Sierra Leone" operator="Lintel Sierra Leone Limited" status="Operational" 04 bands="GSM 900 / GSM 1800" brand="Comium" cc="sl" country="Sierra Leone" operator="Comium (Sierra Leone) Ltd." status="Not operational" 05 bands="GSM 900" brand="Africell" cc="sl" country="Sierra Leone" operator="Lintel Sierra Leone Limited" status="Operational" 06 bands="CDMA 800 / LTE" brand="SierraTel" cc="sl" country="Sierra Leone" operator="Sierra Leone Telephony" status="Operational" 07 cc="sl" country="Sierra Leone" operator="Qcell Sierra Leone" 09 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Smart Mobile" cc="sl" country="Sierra Leone" operator="InterGroup Telecom SL" status="Operational" 25 brand="Mobitel" cc="sl" country="Sierra Leone" operator="Mobitel" status="Reserved" 40 bands="GSM" cc="sl" country="Sierra Leone" operator="Datatel (SL) Ltd." 50 bands="CDMA" cc="sl" country="Sierra Leone" operator="Datatel (SL) Ltd." 00-99 620 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 2600" brand="MTN" cc="gh" country="Ghana" operator="MTN Group" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Vodafone" cc="gh" country="Ghana" operator="Vodafone Group" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="AirtelTigo" cc="gh" country="Ghana" operator="Millicom Ghana" status="Operational" 04 bands="CDMA2000 850" brand="Expresso" cc="gh" country="Ghana" operator="Kasapa / Hutchison Telecom" status="Operational" 06 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="AirtelTigo" cc="gh" country="Ghana" operator="Airtel" status="Operational" 07 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Globacom" cc="gh" country="Ghana" operator="Globacom Group" status="Operational" 08 bands="LTE 2600" brand="Surfline" cc="gh" country="Ghana" operator="Surfline Communications Ltd" status="Not operational" 10 bands="TD-LTE 2500" brand="Blu" cc="gh" country="Ghana" operator="Blu Telecommunications" status="Operational" 11 cc="gh" country="Ghana" operator="Netafrique Dot Com Ltd" 00-99 621 00 bands="LTE 1900" cc="ng" country="Nigeria" operator="Capcom" status="Not operational" 20 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Airtel" cc="ng" country="Nigeria" operator="Bharti Airtel Limited" status="Operational" 22 bands="LTE 800" brand="InterC" cc="ng" country="Nigeria" operator="InterC Network Ltd." status="Operational" 24 bands="TD-LTE 2300" cc="ng" country="Nigeria" operator="Spectranet" status="Operational" 25 bands="CDMA2000 800 / CDMA2000 1900" brand="Visafone" cc="ng" country="Nigeria" operator="Visafone Communications Ltd." status="Not operational" 26 bands="TD-LTE 2300" cc="ng" country="Nigeria" operator="Swift" status="Operational" 27 bands="LTE 800" brand="Smile" cc="ng" country="Nigeria" operator="Smile Communications Nigeria" status="Operational" 30 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 2600 / TD-LTE 3500" brand="MTN" cc="ng" country="Nigeria" operator="MTN Nigeria Communications Limited" status="Operational" 40 bands="LTE 900 / LTE 1800" brand="Ntel" cc="ng" country="Nigeria" operator="Nigerian Mobile Telecommunications Limited" status="Operational" 50 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700" brand="Glo" cc="ng" country="Nigeria" operator="Globacom Ltd" status="Operational" 60 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="9mobile" cc="ng" country="Nigeria" operator="Emerging Markets Telecommunication Services Ltd." status="Operational" 00-99 622 01 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Airtel" cc="td" country="Chad" operator="Bharti Airtel SA" status="Operational" 02 bands="CDMA2000" brand="Tawali" cc="td" country="Chad" operator="SotelTchad" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Tigo" cc="td" country="Chad" operator="Millicom" status="Operational" 07 bands="GSM 900 / GSM 1800" brand="Salam" cc="td" country="Chad" operator="SotelTchad" status="Operational" 00-99 623 01 bands="GSM 900" brand="Moov" cc="cf" country="Central African Republic" operator="Atlantique Telecom Centrafrique SA" status="Operational" 02 bands="GSM 900 / UMTS 2100" brand="TC" cc="cf" country="Central African Republic" operator="Telecel Centrafrique" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / WiMAX" brand="Orange" cc="cf" country="Central African Republic" operator="Orange RCA" status="Operational" 04 bands="GSM 900 / UMTS 2100" brand="Azur" cc="cf" country="Central African Republic" operator="Azur RCA" status="Operational" 00-99 624 01 bands="GSM 900 / UMTS 2100 / TD-LTE 2500" brand="MTN Cameroon" cc="cm" country="Cameroon" operator="Mobile Telephone Network Cameroon Ltd" status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Orange" cc="cm" country="Cameroon" operator="Orange Cameroun S.A." status="Operational" 03 bands="CDMA / LTE 1800" brand="Camtel" cc="cm" country="Cameroon" operator="Camtel" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Nexttel" cc="cm" country="Cameroon" operator="Viettel Cameroun" status="Operational" 00-99 625 01 bands="GSM 900 / UMTS 2100 / LTE 800" brand="CVMOVEL" cc="cv" country="Cape Verde" operator="CVMóvel, S.A." status="Operational" 02 bands="GSM 1800 / UMTS 2100" brand="T+" cc="cv" country="Cape Verde" operator="UNITEL T+ TELECOMUNICACÕES, S.A." status="Operational" 00-99 626 01 bands="GSM 900 / UMTS 2100" brand="CSTmovel" cc="st" country="Sao Tome and Principe" operator="Companhia Santomese de Telecomunicaçôe" status="Operational" 02 bands="GSM 900 / UMTS 2100" brand="Unitel STP" cc="st" country="Sao Tome and Principe" operator="Unitel Sao Tome and Principe" status="Operational" 00-99 627 01 bands="GSM 900" brand="Orange GQ" cc="gq" country="Equatorial Guinea" operator="GETESA" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900" brand="Muni" cc="gq" country="Equatorial Guinea" operator="Green Com S.A." status="Operational" 00-99 628 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Libertis" cc="ga" country="Gabon" operator="Gabon Telecom S.A." status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Moov" cc="ga" country="Gabon" operator="Gabon Telecom S.A." status="Operational" 03 bands="GSM 900 / UMTS 2100 / LTE 2100" brand="Airtel" cc="ga" country="Gabon" operator="Airtel Gabon S.A." status="Operational" 04 bands="GSM 900 / GSM 1800" brand="Azur" cc="ga" country="Gabon" operator="USAN Gabon S.A." status="Not operational" 05 brand="RAG" cc="ga" country="Gabon" operator="Réseau de l’Administration Gabonaise" 00-99 629 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 2600" brand="Airtel" cc="cg" country="Congo" operator="Celtel Congo" status="Operational" 07 bands="GSM 900" brand="Airtel" cc="cg" country="Congo" operator="Warid Telecom" status="Operational" 10 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Libertis Telecom" cc="cg" country="Congo" operator="MTN CONGO S.A" status="Operational" 00-99 630 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / TD-LTE 3500 / WiMAX 3500" brand="Vodacom" cc="cd" country="Democratic Republic of the Congo" operator="Vodacom Congo RDC sprl" status="Operational" 02 bands="GSM 900 / UMTS 2100" brand="Airtel" cc="cd" country="Democratic Republic of the Congo" operator="Airtel sprl" status="Operational" 05 bands="GSM 900 / GSM 1800" brand="Supercell" cc="cd" country="Democratic Republic of the Congo" operator="Supercell SPRL" status="Operational" 86 bands="GSM 900 / GSM 1800 / UMTS 2100 / TD-LTE 2600" brand="Orange RDC" cc="cd" country="Democratic Republic of the Congo" operator="Orange RDC sarl" status="Operational" 88 bands="GSM 900 / GSM 1800" brand="YTT" cc="cd" country="Democratic Republic of the Congo" operator="Yozma Timeturns sprl" status="Not operational" 89 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Orange RDC" cc="cd" country="Democratic Republic of the Congo" operator="Orange RDC sarl" status="Operational" 90 bands="GSM 900 / GSM 1800" brand="Africell" cc="cd" country="Democratic Republic of the Congo" operator="Africell RDC sprl" status="Operational" 00-99 631 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="UNITEL" cc="ao" country="Angola" operator="UNITEL S.a.r.l." status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 1800" brand="MOVICEL" cc="ao" country="Angola" operator="MOVICEL Telecommunications S.A." status="Operational" 00-99 632 01 bands="GSM 900 / GSM 1800" brand="Guinetel" cc="gw" country="Guinea-Bissau" operator="Guinétel S.A." status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="MTN Areeba" cc="gw" country="Guinea-Bissau" operator="Spacetel Guiné-Bissau S.A." status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE" brand="Orange" cc="gw" country="Guinea-Bissau" status="Operational" 07 bands="GSM 900 / GSM 1800" brand="Guinetel" cc="gw" country="Guinea-Bissau" operator="Guinétel S.A." status="Operational" 00-99 633 01 bands="GSM 900 / UMTS" brand="Cable & Wireless" cc="sc" country="Seychelles" operator="Cable & Wireless Seychelles" status="Operational" 02 bands="GSM 1800" brand="Mediatech" cc="sc" country="Seychelles" operator="Mediatech International" status="Not operational" 10 bands="GSM 900 / UMTS 2100 / LTE 800" brand="Airtel" cc="sc" country="Seychelles" operator="Telecom Seychelles Ltd" status="Operational" 00-99 634 01 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Zain SD" cc="sd" country="Sudan" operator="Zain Group - Sudan" status="Operational" 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="MTN" cc="sd" country="Sudan" operator="MTN Sudan" status="Operational" 03 brand="MTN" cc="sd" country="Sudan" operator="MTN Sudan" 05 bands="CDMA2000 450" brand="canar" cc="sd" country="Sudan" operator="Canar Telecom" status="Operational" 07 bands="GSM 1800 / UMTS 2100 / LTE 1800 / CDMA2000 800" brand="Sudani One" cc="sd" country="Sudan" operator="Sudatel Group" status="Operational" 09 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="khartoum INC" cc="sd" country="Sudan" operator="NEC" status="operational" 00-99 635 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="MTN" cc="rw" country="Rwanda" operator="MTN Rwandacell SARL" status="Operational" 11 bands="CDMA" brand="Rwandatel" cc="rw" country="Rwanda" operator="Rwandatel S.A." status="Not operational" 12 bands="GSM" brand="Rwandatel" cc="rw" country="Rwanda" operator="Rwandatel S.A." status="Not operational" 13 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Airtel" cc="rw" country="Rwanda" operator="Airtel RWANDA" status="Operational" 14 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Airtel" cc="rw" country="Rwanda" operator="Airtel RWANDA" status="Not operational" 17 bands="LTE 800 / LTE 1800" brand="Olleh" cc="rw" country="Rwanda" operator="Olleh Rwanda Networks" status="Operational" 00-99 636 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="MTN" cc="et" country="Ethiopia" operator="Ethio Telecom" status="Operational" 00-99 637 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE" brand="Telesom" cc="so" country="Somalia" operator="Telesom" status="Operational" 04 bands="GSM 900 / GSM 1800" brand="Somafone" cc="so" country="Somalia" operator="Somafone FZLLC" status="Operational" 10 bands="GSM 900" brand="Nationlink" cc="so" country="Somalia" operator="NationLink Telecom" status="Operational" 20 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="SOMNET" cc="so" country="Somalia" operator="SOMNET" status="Operational" 30 bands="GSM 900" brand="Golis" cc="so" country="Somalia" operator="Golis Telecom Somalia" status="Operational" 50 bands="GSM 900 / UMTS" brand="Hormuud" cc="so" country="Somalia" operator="Hormuud Telecom Somalia Inc" status="Operational" 57 bands="GSM 900 / GSM 1800" brand="UNITEL" cc="so" country="Somalia" operator="UNITEL S.a.r.l." status="Operational" 60 bands="GSM 900 / GSM 1800" brand="Nationlink" cc="so" country="Somalia" operator="Nationlink Telecom" status="Operational" 67 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Horntel Group" cc="so" country="Somalia" operator="HTG Group Somalia" status="Operational" 70 cc="so" country="Somalia" operator="Onkod Telecom Ltd." status="Not operational" 71 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Somtel" cc="so" country="Somalia" operator="Somtel" status="Operational" 82 bands="GSM 900 / GSM 1800 / CDMA2000 / LTE" brand="Telcom" cc="so" country="Somalia" operator="Telcom Somalia" status="Operational" 00-99 638 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Evatis" cc="dj" country="Djibouti" operator="Djibouti Telecom SA" status="Operational" 00-99 639 01 brand="Safaricom" cc="ke" country="Kenya" operator="Safaricom Limited" 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Safaricom" cc="ke" country="Kenya" operator="Safaricom Limited" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800" brand="Airtel" cc="ke" country="Kenya" operator="Bharti Airtel" status="Operational" 04 cc="ke" country="Kenya" operator="Mobile Pay Kenya Limited" 05 bands="GSM 900" brand="yu" cc="ke" country="Kenya" operator="Essar Telecom Kenya" status="Not operational" 06 cc="ke" country="Kenya" operator="Finserve Africa Limited" 07 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Telkom" cc="ke" country="Kenya" operator="Telkom Kenya" status="Operational" 08 bands="MVNO" cc="ke" country="Kenya" operator="Sema Mobile Services Limited" status="Not operational" 09 cc="ke" country="Kenya" operator="Homeland Media Group Limited" 10 bands="LTE 700" brand="Faiba 4G" cc="ke" country="Kenya" operator="Jamii Telecommunications Limited" status="Operational" 11 cc="ke" country="Kenya" operator="WiAfrica Kenya Limited" status="Not operational" 00-99 640 01 bands="UMTS 900" cc="tz" country="Tanzania" operator="Rural NetCo Limited" status="Not operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="tiGO" cc="tz" country="Tanzania" operator="MIC Tanzania Limited" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Zantel" cc="tz" country="Tanzania" operator="Zanzibar Telecom Ltd" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Vodacom" cc="tz" country="Tanzania" operator="Vodacom Tanzania Limited" status="Operational" 05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700" brand="Airtel" cc="tz" country="Tanzania" operator="Bharti Airtel" status="Operational" 06 bands="CDMA 800" brand="Sasatel (Dovetel)" cc="tz" country="Tanzania" operator="Dovetel Limited" status="Not operational" 07 bands="CDMA 800 / UMTS 2100 / LTE 1800 / TD-LTE 2300" brand="TTCL Mobile" cc="tz" country="Tanzania" operator="Tanzania Telecommunication Company LTD (TTCL)" status="Operational" 08 bands="TD-LTE 2300" brand="Smart" cc="tz" country="Tanzania" operator="Benson Informatics Limited" status="Operational" 09 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Halotel" cc="tz" country="Tanzania" operator="Viettel Tanzania Limited" status="Operational" 11 bands="LTE 800" brand="SmileCom" cc="tz" country="Tanzania" operator="Smile Telecoms Holdings Ltd." status="Operational" 12 cc="tz" country="Tanzania" operator="MyCell Limited" status="Not operational" 13 brand="Cootel" cc="tz" country="Tanzania" operator="Wiafrica Tanzania Limited" 00-99 641 01 bands="GSM 900 / UMTS 2100" brand="Airtel" cc="ug" country="Uganda" operator="Bharti Airtel" status="Operational" 04 bands="LTE" cc="ug" country="Uganda" operator="Tangerine Uganda Limited" status="Operational" 06 bands="TD-LTE 2600" brand="Vodafone" cc="ug" country="Uganda" operator="Afrimax Uganda" status="Not operational" 10 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 2600" brand="MTN" cc="ug" country="Uganda" operator="MTN Uganda" status="Operational" 11 bands="GSM 900 / UMTS 2100" brand="Uganda Telecom" cc="ug" country="Uganda" operator="Uganda Telecom Ltd." status="Operational" 14 bands="GSM 900 / GSM 1800 / UMTS / LTE 800" brand="Africell" cc="ug" country="Uganda" operator="Africell Uganda" status="Operational" 16 cc="ug" country="Uganda" operator="SimbaNET Uganda Limited" 18 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Smart" cc="ug" country="Uganda" operator="Suretelecom Uganda Ltd." status="Operational" 22 bands="GSM 900 / GSM 1800 / UMTS" brand="Airtel" cc="ug" country="Uganda" operator="Bharti Airtel" status="Operational" 26 bands="MVNO" brand="Lycamobile" cc="ug" country="Uganda" operator="Lycamobile Network Services Uganda Limited" status="Not operational" 30 cc="ug" country="Uganda" operator="Anupam Global Soft Uganda Limited" status="Not operational" 33 bands="LTE 800" brand="Smile" cc="ug" country="Uganda" operator="Smile Communications Uganda Limited" status="Operational" 40 cc="ug" country="Uganda" operator="Civil Aviation Authority (CAA)" 44 bands="MVNO" brand="K2" cc="ug" country="Uganda" operator="K2 Telecom Ltd" status="Operational" 66 brand="i-Tel" cc="ug" country="Uganda" operator="i-Tel Ltd" status="Not operational" 00-99 642 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="econet Leo" cc="bi" country="Burundi" operator="Econet Wireless Burundi PLC" status="Operational" 02 bands="GSM 900" brand="Tempo" cc="bi" country="Burundi" operator="VTEL MEA" status="Not operational" 03 bands="GSM 900" brand="Onatel" cc="bi" country="Burundi" operator="Onatel" status="Operational" 07 bands="GSM 1800 / UMTS 2100" brand="Smart Mobile" cc="bi" country="Burundi" operator="LACELL SU" status="Operational" 08 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Lumitel" cc="bi" country="Burundi" operator="Viettel Burundi" status="Operational" 82 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="econet Leo" cc="bi" country="Burundi" operator="Econet Wireless Burundi PLC" status="Operational" 00-99 643 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="mCel" cc="mz" country="Mozambique" operator="Mocambique Celular S.A." status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Movitel" cc="mz" country="Mozambique" operator="Movitel, SA" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Vodacom" cc="mz" country="Mozambique" operator="Vodacom Mozambique, S.A." status="Operational" 00-99 645 01 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 900" brand="Airtel" cc="zm" country="Zambia" operator="Bharti Airtel" status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="MTN" cc="zm" country="Zambia" operator="MTN Group" status="Operational" 03 bands="GSM 900 / UMTS 2100 / TD-LTE 2300" brand="ZAMTEL" cc="zm" country="Zambia" operator="Zambia Telecommunications Company Ltd" status="Operational" 00-99 646 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Airtel" cc="mg" country="Madagascar" operator="Bharti Airtel" status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Orange" cc="mg" country="Madagascar" operator="Orange Madagascar S.A." status="Operational" 03 bands="GSM 900" brand="Sacel" cc="mg" country="Madagascar" operator="Sacel Madagascar S.A." status="Not operational" 04 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Telma" cc="mg" country="Madagascar" operator="Telma Mobile S.A." status="Operational" 05 bands="LTE 2100 / TD-LTE 2600" brand="BIP / blueline" cc="mg" country="Madagascar" operator="Gulfsat Madagascar S.A." status="Operational" 00-99 647 00 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Orange" country="French Indian Ocean Territories (France) - YT/RE" operator="Orange La Réunion" status="Operational" 01 bands="GSM 900 / GSM 1800 / LTE 1800" brand="Maoré Mobile" country="French Indian Ocean Territories (France) - YT/RE" operator="BJT Partners" status="Operational" 02 brand="Only" country="French Indian Ocean Territories (France) - YT/RE" operator="Telco OI" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Free" country="French Indian Ocean Territories (France) - YT/RE" operator="Telco OI" status="Operational" 04 bands="LTE 1800 / LTE 2100 / LTE 2600" brand="Zeop" country="French Indian Ocean Territories (France) - YT/RE" operator="Zeop mobile" 10 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="SFR Réunion" country="French Indian Ocean Territories (France) - YT/RE" operator="Société Réunionnaise du Radiotéléphone" status="Operational" 00-99 648 01 bands="GSM 900 / LTE 1800" brand="Net*One" cc="zw" country="Zimbabwe" operator="Net*One Cellular (Pvt) Ltd" status="Operational" 03 bands="GSM 900" brand="Telecel" cc="zw" country="Zimbabwe" operator="Telecel Zimbabwe (PVT) Ltd" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Econet" cc="zw" country="Zimbabwe" operator="Econet Wireless" status="Operational" 00-99 649 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="MTC" cc="na" country="Namibia" operator="MTC Namibia" status="Operational" 02 bands="CDMA2000 800" brand="switch" cc="na" country="Namibia" operator="Telecom Namibia" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / TD-LTE 2600" brand="TN Mobile" cc="na" country="Namibia" operator="Telecom Namibia" status="Operational" 04 bands="WiMAX 2500 / TD-LTE" cc="na" country="Namibia" operator="Paratus Telecommunications (Pty)" status="Operational" 05 cc="na" country="Namibia" operator="Demshi Investments CC" 06 bands="LTE" cc="na" country="Namibia" operator="MTN Namibia" status="Operational" 00-99 650 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / TD-LTE 2500" brand="TNM" cc="mw" country="Malawi" operator="Telecom Network Malawi" status="Operational" 02 bands="CDMA / LTE 850" brand="Access" cc="mw" country="Malawi" operator="Access Communications Ltd" status="Operational" 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" brand="Airtel" cc="mw" country="Malawi" operator="Airtel Malawi Limited" status="Operational" 00-99 651 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / 5G 3500" brand="Vodacom" cc="ls" country="Lesotho" operator="Vodacom Lesotho (Pty) Ltd" status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE" brand="Econet Telecom" cc="ls" country="Lesotho" operator="Econet Ezi-cel" status="Operational" 10 brand="Vodacom" cc="ls" country="Lesotho" operator="Vodacom Lesotho (Pty) Ltd" 00-99 652 01 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Mascom" cc="bw" country="Botswana" operator="Mascom Wireless (Pty) Limited" status="Operational" 02 bands="GSM 900 / UMTS 2100 / LTE 1800" brand="Orange" cc="bw" country="Botswana" operator="Orange (Botswana) Pty Limited" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="beMobile" cc="bw" country="Botswana" operator="Botswana Telecommunications Corporation" status="Operational" 00-99 653 01 cc="sz" country="Swaziland" operator="SPTC" 02 bands="LTE 1800" cc="sz" country="Swaziland" operator="Swazi Mobile Limited" status="Operational" 10 bands="GSM 900 / LTE 1800" brand="Swazi MTN" cc="sz" country="Swaziland" operator="Swazi MTN Limited" status="Operational" 00-99 654 01 bands="GSM 900 / UMTS 900" brand="HURI" cc="km" country="Comoros" operator="Comores Telecom" status="Operational" 02 bands="GSM 900 / UMTS 900 / LTE 800" brand="TELCO SA" cc="km" country="Comoros" operator="Telecom Malagasy (Telma)" status="Operational" 00-99 655 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" brand="Vodacom" cc="za" country="South Africa" operator="Vodacom" status="Operational" 02 bands="GSM 1800 / UMTS 2100 / LTE 1800 / TD-LTE 2300" brand="Telkom" cc="za" country="South Africa" operator="Telkom SA SOC Ltd" status="Operational" 04 cc="za" country="South Africa" operator="Sasol (Pty) Ltd." status="Not operational" 05 bands="3G" cc="za" country="South Africa" operator="Telkom SA Ltd" 06 cc="za" country="South Africa" operator="Sentech (Pty) Ltd" status="Operational" 07 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 1800 / LTE 2100" brand="Cell C" cc="za" country="South Africa" operator="Cell C (Pty) Ltd" status="Operational" 10 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" brand="MTN" cc="za" country="South Africa" operator="MTN Group" status="Operational" 11 bands="TETRA 410" cc="za" country="South Africa" operator="South African Police Service Gauteng" status="Not operational" 12 brand="MTN" cc="za" country="South Africa" operator="MTN Group" 13 bands="CDMA 800" brand="Neotel" cc="za" country="South Africa" operator="Neotel Pty Ltd" status="Not operational" 14 bands="LTE 1800" brand="Neotel" cc="za" country="South Africa" operator="Neotel Pty Ltd" status="Operational" 16 cc="za" country="South Africa" operator="Phoenix System Integration (Pty) Ltd" status="Not operational" 17 cc="za" country="South Africa" operator="Sishen Iron Ore Company (Ltd) Pty" status="Not operational" 19 bands="LTE 1800 / TD-LTE 2600 / 5G 3500" brand="Rain" cc="za" country="South Africa" operator="Wireless Business Solutions (Pty) Ltd" status="Operational" 21 bands="TETRA 410" cc="za" country="South Africa" operator="Cape Town Metropolitan Council" status="Not operational" 24 cc="za" country="South Africa" operator="SMSPortal (Pty) Ltd." 25 cc="za" country="South Africa" operator="Wirels Connect" 27 cc="za" country="South Africa" operator="A to Z Vaal Industrial Supplies Pty Ltd" 28 cc="za" country="South Africa" operator="Hymax Talking Solutions (Pty) Ltd" 30 cc="za" country="South Africa" operator="Bokamoso Consortium" status="Operational" 31 cc="za" country="South Africa" operator="Karabo Telecoms (Pty) Ltd." status="Operational" 32 cc="za" country="South Africa" operator="Ilizwi Telecommunications" status="Operational" 33 cc="za" country="South Africa" operator="Thinta Thinta Telecommunications Pty Ltd" status="Operational" 34 cc="za" country="South Africa" operator="Bokone Telecoms Pty Ltd" 35 cc="za" country="South Africa" operator="Kingdom Communications Pty Ltd" 36 cc="za" country="South Africa" operator="Amatole Telecommunications Pty Ltd" 38 brand="iBurst" cc="za" country="South Africa" operator="Wireless Business Solutions (Pty) Ltd" 41 cc="za" country="South Africa" operator="South African Police Service" status="Not operational" 46 bands="MVNO" cc="za" country="South Africa" operator="SMS Cellular Services (Pty) Ltd" status="Operational" 50 cc="za" country="South Africa" operator="Ericsson South Africa (Pty) Ltd" 51 cc="za" country="South Africa" operator="Integrat (Pty) Ltd" 53 bands="MVNO" brand="Lycamobile" cc="za" country="South Africa" operator="Lycamobile (Pty) Ltd" 65 cc="za" country="South Africa" operator="Vodacom Pty Ltd" 73 brand="iBurst" cc="za" country="South Africa" operator="Wireless Business Solutions (Pty) Ltd" 74 brand="iBurst" cc="za" country="South Africa" operator="Wireless Business Solutions (Pty) Ltd" 75 brand="ACSA" cc="za" country="South Africa" operator="Airports Company South Africa" status="Not operational" 00-99 657 01 bands="GSM 900" brand="Eritel" cc="er" country="Eritrea" operator="Eritrea Telecommunications Services Corporation" status="Operational" 00-99 658 01 bands="GSM 900 / GSM 1800 / LTE 1800" brand="Sure" cc="sh" country="Saint Helena, Ascension and Tristan da Cunha" operator="Sure South Atlantic Ltd." status="Operational" 00-99 659 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="MTN" cc="ss" country="South Sudan" operator="MTN South Sudan" status="Operational" 03 bands="GSM 900 / GSM 1800" brand="Gemtel" cc="ss" country="South Sudan" operator="Gemtel" status="Operational" 04 bands="GSM 900 / GSM 1800" brand="Vivacell" cc="ss" country="South Sudan" operator="Network of the World (NOW)" status="Not operational" 06 bands="GSM 900 / GSM 1800" brand="Zain" cc="ss" country="South Sudan" operator="Zain South Sudan" status="Operational" 07 bands="CDMA" brand="Sudani" cc="ss" country="South Sudan" operator="Sudani" status="Operational" 00-99 702 67 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1900" brand="DigiCell" cc="bz" country="Belize" operator="Belize Telemedia Limited (BTL)" status="Operational" 68 brand="INTELCO" cc="bz" country="Belize" operator="International Telecommunications Ltd." status="Not operational" 69 bands="CDMA2000 850 / UMTS 850 / LTE 700" brand="SMART" cc="bz" country="Belize" operator="Speednet Communications Limited" status="Operational" 99 bands="CDMA2000 850" brand="SMART" cc="bz" country="Belize" operator="Speednet Communications Limited" status="Operational" 00-99 704 01 bands="CDMA 1900 / GSM 900 / UMTS 1900 / LTE 1900" brand="Claro" cc="gt" country="Guatemala" operator="Telecomunicaciones de Guatemala, S.A." status="Operational" 02 bands="TDMA 800 / GSM 850 / UMTS 850 / LTE 850" brand="Tigo" cc="gt" country="Guatemala" operator="Millicom / Local partners" status="Operational" 03 bands="CDMA 1900 / GSM 1900 / UMTS 1900 / LTE 1900" brand="movistar" cc="gt" country="Guatemala" operator="Telefónica Móviles Guatemala (Telefónica)" status="Operational" 00-99 706 01 bands="GSM 1900 / UMTS 1900" brand="Claro" cc="sv" country="El Salvador" operator="CTE Telecom Personal, S.A. de C.V." status="Operational" 02 bands="GSM 900 / UMTS 900" brand="Digicel" cc="sv" country="El Salvador" operator="Digicel, S.A. de C.V." status="Operational" 03 bands="GSM 850 / UMTS 850 / LTE 850" brand="Tigo" cc="sv" country="El Salvador" operator="Telemovil El Salvador S.A." status="Operational" 04 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1900" brand="movistar" cc="sv" country="El Salvador" operator="Telefónica Móviles El Salvador" status="Operational" 05 bands="iDEN" brand="RED" cc="sv" country="El Salvador" operator="INTELFON, S.A. de C.V." status="Operational" 00-99 708 001 bands="GSM 1900 / UMTS 1900 / LTE 1700" brand="Claro" cc="hn" country="Honduras" operator="Servicios de Comunicaciones de Honduras S.A. de C.V." status="Operational" 002 bands="CDMA 850 / GSM 850 / UMTS 850 / LTE 1700" brand="Tigo" cc="hn" country="Honduras" operator="Celtel" status="Operational" 030 bands="GSM 1900 / UMTS 1900" brand="Hondutel" cc="hn" country="Honduras" operator="Empresa Hondureña de Telecomunicaciones" status="Operational" 040 bands="GSM 1900" brand="Digicel" cc="hn" country="Honduras" operator="Digicel de Honduras" status="Not operational" 000-999 710 21 bands="GSM 1900 / UMTS 850 / LTE 1700" brand="Claro" cc="ni" country="Nicaragua" operator="Empresa Nicaragüense de Telecomunicaciones, S.A. (ENITEL) (América Móvil)" status="Operational" 30 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1900" brand="movistar" cc="ni" country="Nicaragua" operator="Telefonía Celular de Nicaragua, S.A. (Telefónica, S.A.)" status="Operational" 73 bands="GSM 1900 / UMTS 850" brand="Claro" cc="ni" country="Nicaragua" operator="Servicios de Comunicaciones S.A." status="Operational" 00-99 712 01 bands="GSM 1800 / UMTS 850 / LTE 1800 / LTE 2600" brand="Kölbi ICE" cc="cr" country="Costa Rica" operator="Instituto Costarricense de Electricidad" status="Operational" 02 bands="GSM 1800 / UMTS 850 / LTE 1800 / LTE 2600" brand="Kölbi ICE" cc="cr" country="Costa Rica" operator="Instituto Costarricense de Electricidad" status="Operational" 03 bands="GSM 1800 / UMTS 2100 / LTE 1800" brand="Claro" cc="cr" country="Costa Rica" operator="Claro CR Telecomunicaciones (Aló)" status="Operational" 04 bands="GSM 1800 / UMTS 850 / UMTS 2100 / LTE 1800" brand="movistar" cc="cr" country="Costa Rica" operator="Telefónica Móviles Costa Rica" status="Operational" 20 bands="MVNO" brand="fullmóvil" cc="cr" country="Costa Rica" operator="Virtualis S.A." status="Not operational" 00-99 714 01 bands="GSM 850 / UMTS 850 / LTE 700" brand="Cable & Wireless" cc="pa" country="Panama" operator="Cable & Wireless Panama S.A." status="Operational" 02 bands="GSM 850 / UMTS 850 / UMTS 1900 / LTE 700" brand="movistar" cc="pa" country="Panama" operator="Telefónica Moviles Panama S.A, Bell South Corp. (BSC)" status="Operational" 020 bands="GSM 850 / 3G 2100 / LTE 700" brand="movistar" cc="pa" country="Panama" operator="Telefónica Móviles de Panama S.A" status="Operational" 03 bands="GSM 1900 / UMTS 1900 / LTE 700 / LTE 1900" brand="Claro" cc="pa" country="Panama" operator="América Móvil" status="Operational" 04 bands="GSM 1900 / UMTS 1900 / LTE 700 / LTE 1900" brand="Digicel" cc="pa" country="Panama" operator="Digicel Group" status="Operational" 716 06 bands="CDMA2000 850 / GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700" brand="Movistar" cc="pe" country="Peru" operator="Telefónica del Perú S.A.A." status="Operational" 07 bands="iDEN" brand="Entel" cc="pe" country="Peru" operator="Entel Perú S.A." status="Operational" 10 bands="GSM 1900 / UMTS 850 / LTE 700 / LTE 1900 / TD-LTE 3500" brand="Claro" cc="pe" country="Peru" operator="América Móvil Perú" status="Operational" 15 bands="GSM 1900 / UMTS 1900 / LTE 900" brand="Bitel" cc="pe" country="Peru" operator="Viettel Peru S.A.C." status="Operational" 17 bands="UMTS 1900 / LTE 1700 / TD-LTE 2300" brand="Entel" cc="pe" country="Peru" operator="Entel Perú S.A." status="Operational" 00-99 722 010 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 2600" brand="Movistar" cc="ar" country="Argentina" operator="Telefónica Móviles Argentina S.A." status="Operational" 020 bands="iDEN 800" brand="Nextel" cc="ar" country="Argentina" operator="NII Holdings" status="Operational" 034 brand="Personal" cc="ar" country="Argentina" operator="Telecom Personal S.A." status="Operational" 040 brand="Globalstar" cc="ar" country="Argentina" operator="TE.SA.M Argentina S.A." status="Operational" 070 bands="GSM 1900" brand="Movistar" cc="ar" country="Argentina" operator="Telefónica Móviles Argentina S.A." status="Operational" 310 bands="GSM 1900" brand="Claro" cc="ar" country="Argentina" operator="AMX Argentina S.A." status="Operational" 320 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1700" brand="Claro" cc="ar" country="Argentina" operator="AMX Argentina S.A." status="Operational" 330 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1700" brand="Claro" cc="ar" country="Argentina" operator="AMX Argentina S.A." status="Operational" 341 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 1700 / LTE 2600" brand="Personal" cc="ar" country="Argentina" operator="Telecom Personal S.A." status="Operational" 350 bands="GSM 900" brand="PORT-HABLE" cc="ar" country="Argentina" operator="Hutchison Telecommunications Argentina S.A." status="Not operational" 000-999 724 00 bands="iDEN 850" brand="Nextel" cc="br" country="Brazil" operator="NII Holdings, Inc." status="Not Operational" 01 bands="MVNO" cc="br" country="Brazil" operator="SISTEER DO BRASIL TELECOMUNICAÇÔES" 02 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600" brand="TIM" cc="br" country="Brazil" operator="Telecom Italia Mobile" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600" brand="TIM" cc="br" country="Brazil" operator="Telecom Italia Mobile" status="Operational" 04 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2100 / LTE 2600" brand="TIM" cc="br" country="Brazil" operator="Telecom Italia Mobile" status="Operational" 05 bands="GSM 900 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Claro" cc="br" country="Brazil" operator="Claro" status="Operational" 06 bands="GSM 850 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Vivo" cc="br" country="Brazil" operator="Telefônica Brasil S.A." status="Operational" 10 bands="GSM 850 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Vivo" cc="br" country="Brazil" operator="Telefônica Brasil S.A." status="Operational" 11 bands="GSM 850 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Vivo" cc="br" country="Brazil" operator="Telefônica Brasil S.A." status="Operational" 15 bands="GSM 900 / GSM 1800 / UMTS 850" brand="Sercomtel" cc="br" country="Brazil" operator="Sercomtel Celular" status="Operational" 16 bands="GSM 1800 / UMTS 2100" brand="Brasil Telecom GSM" cc="br" country="Brazil" operator="Brasil Telecom GSM" status="Not operational" 17 bands="MVNO" brand="Correios" cc="br" country="Brazil" operator="Correios Celular" status="Operational" 18 bands="MVNO" brand="datora" cc="br" country="Brazil" operator="Datora (Vodafone)" status="Operational" 23 bands="GSM 850 / GSM 1800 / UMTS 850 / UMTS 2100 / LTE 1800 / LTE 2600" brand="Vivo" cc="br" country="Brazil" operator="Telefônica Brasil S.A." status="Operational" 24 cc="br" country="Brazil" operator="Amazonia Celular" 28 brand="No name" cc="br" country="Brazil" status="Operational" 30 brand="Oi" cc="br" country="Brazil" operator="TNL PCS Oi" 31 bands="GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100 / LTE 2600" brand="Oi" cc="br" country="Brazil" operator="TNL PCS Oi" status="Operational" 32 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1800" brand="Algar Telecom" cc="br" country="Brazil" operator="Algar Telecom S.A." status="Operational" 33 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1800" brand="Algar Telecom" cc="br" country="Brazil" operator="Algar Telecom S.A." status="Operational" 34 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1800" brand="Algar Telecom" cc="br" country="Brazil" operator="Algar Telecom S.A." status="Operational" 35 cc="br" country="Brazil" operator="Telcom Telecomunicações" 36 cc="br" country="Brazil" operator="Options Telecomunicações" 37 brand="aeiou" cc="br" country="Brazil" operator="Unicel" status="Not operational" 38 brand="Claro" cc="br" country="Brazil" operator="Claro" 39 bands="UMTS 2100 / LTE 1800 / LTE 2100" brand="Nextel" cc="br" country="Brazil" operator="NII Holdings, Inc." status="Operational" 54 bands="MVNO" brand="Conecta" cc="br" country="Brazil" operator="PORTO SEGURO TELECOMUNICAÇÔES" status="Operational" 99 brand="Local" cc="br" country="Brazil" status="Operational" 00-99 730 01 bands="GSM 1900 / UMTS 1900 / LTE 700 / LTE 2600" brand="entel" cc="cl" country="Chile" operator="Entel Telefonía Móvil S.A." status="Operational" 02 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 700 / LTE 2600" brand="movistar" cc="cl" country="Chile" operator="Telefónica Móvil de Chile" status="Operational" 03 bands="GSM 1900 / UMTS 1900 / LTE 700 / LTE 2600" brand="CLARO CL" cc="cl" country="Chile" operator="Claro Chile S.A." status="Operational" 04 bands="iDEN 800" brand="WOM" cc="cl" country="Chile" operator="Novator Partners" status="Operational" 05 cc="cl" country="Chile" operator="Multikom S.A." 06 bands="MVNO" brand="Telsur" cc="cl" country="Chile" operator="Blue Two Chile S.A." status="Operational" 07 brand="movistar" cc="cl" country="Chile" operator="Telefónica Móvil de Chile" 08 bands="MVNO" brand="VTR Móvil" cc="cl" country="Chile" operator="VTR S.A." status="Operational" 09 bands="UMTS 1700 / LTE 1700" brand="WOM" cc="cl" country="Chile" operator="Novator Partners" status="Operational" 10 bands="GSM 1900 / UMTS 1900" brand="entel" cc="cl" country="Chile" operator="Entel Telefonía Móvil S.A." status="Operational" 11 cc="cl" country="Chile" operator="Celupago S.A." 12 bands="MVNO" brand="Wanderers Móvil" cc="cl" country="Chile" operator="Telestar Móvil S.A." status="Operational" 13 bands="MVNO" brand="Virgin Mobile" cc="cl" country="Chile" operator="Tribe Mobile Chile SPA" status="Operational" 14 cc="cl" country="Chile" operator="Netline Telefónica Móvil Ltda" 15 bands="MVNO" cc="cl" country="Chile" operator="Cibeles Telecom S.A." 16 bands="MVNO" cc="cl" country="Chile" operator="Nomade Telecomunicaciones S.A." 17 cc="cl" country="Chile" operator="COMPATEL Chile Limitada" 18 cc="cl" country="Chile" operator="Empresas Bunker S.A." 19 bands="MVNO" brand="móvil Falabella" cc="cl" country="Chile" operator="Sociedad Falabella Móvil SPA" status="Operational" 20 cc="cl" country="Chile" operator="Inversiones Santa Fe Limitada" 22 cc="cl" country="Chile" operator="Cellplus SpA" 23 cc="cl" country="Chile" operator="Claro Servicios Empresariales S. A." 26 cc="cl" country="Chile" operator="WILL S.A." 27 bands="MVNO" cc="cl" country="Chile" operator="Cibeles Telecom S.A." 99 bands="GSM 1900 / UMTS 1900" brand="Will" cc="cl" country="Chile" operator="WILL Telefonía" status="Operational" 00-99 732 001 brand="movistar" cc="co" country="Colombia" operator="Colombia Telecomunicaciones S.A. ESP" status="Operational" 002 brand="Edatel" cc="co" country="Colombia" operator="Edatel S.A. ESP" 003 cc="co" country="Colombia" operator="LLEIDA S.A.S." 004 cc="co" country="Colombia" operator="COMPATEL COLOMBIA SAS" 020 bands="LTE 2600" brand="Tigo" cc="co" country="Colombia" operator="Une EPM Telecomunicaciones S.A. E.S.P." status="Operational" 099 bands="GSM 900" brand="EMCALI" cc="co" country="Colombia" operator="Empresas Municipales de Cali" status="Operational" 101 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1700 / LTE 2600" brand="Claro" cc="co" country="Colombia" operator="COMCEL S.A." status="Operational" 102 bands="GSM 850 / GSM 1900 / CDMA 850" cc="co" country="Colombia" operator="Bellsouth Colombia" status="Not operational" 103 bands="GSM 1900 / UMTS 2100 / LTE 1700 / LTE 2600" brand="Tigo" cc="co" country="Colombia" operator="Colombia Móvil S.A. ESP" status="Operational" 111 bands="GSM 1900 / UMTS 2100 / LTE 1700 / LTE 2600" brand="Tigo" cc="co" country="Colombia" operator="Colombia Móvil S.A. ESP" status="Operational" 123 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1700 / LTE 1900 / CDMA 850" brand="movistar" cc="co" country="Colombia" operator="Colombia Telecomunicaciones S.A. ESP" status="Operational" 130 bands="iDEN / UMTS 1700 / LTE 1700" brand="AVANTEL" cc="co" country="Colombia" operator="Avantel S.A.S" status="Operational" 142 cc="co" country="Colombia" operator="Une EPM Telecomunicaciones S.A. E.S.P." 154 bands="MVNO" brand="Virgin Mobile" cc="co" country="Colombia" operator="Virgin Mobile Colombia S.A.S." status="Operational" 165 cc="co" country="Colombia" operator="Colombia Móvil S.A. ESP" 176 bands="TD-LTE 2600" cc="co" country="Colombia" operator="DirecTV Colombia Ltda" status="Operational" 187 bands="LTE 1700" brand="eTb" cc="co" country="Colombia" operator="Empresa de Telecomunicaciones de Bogotá S.A. ESP" status="Operational" 199 cc="co" country="Colombia" operator="SUMA Movil SAS" 208 cc="co" country="Colombia" operator="UFF Movil SAS" status="Not operational" 210 cc="co" country="Colombia" operator="Hablame Colombia SAS ESP" 220 cc="co" country="Colombia" operator="Libre Tecnologias SAS" 230 cc="co" country="Colombia" operator="Setroc Mobile Group SAS" 240 cc="co" country="Colombia" operator="Logistica Flash Colombia SAS" status="Operational" 000-999 734 01 bands="GSM 900" brand="Digitel" cc="ve" country="Venezuela" operator="Corporacion Digitel C.A." status="Not operational" 02 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 1800" brand="Digitel GSM" cc="ve" country="Venezuela" operator="Corporacion Digitel C.A." status="Operational" 03 bands="LTE 2600" brand="DirecTV" cc="ve" country="Venezuela" operator="Galaxy Entertainment de Venezuela C.A." 04 bands="GSM 850 / GSM 1900 / UMTS 1900 / LTE 1700" brand="movistar" cc="ve" country="Venezuela" operator="Telefónica Móviles Venezuela" status="Operational" 06 bands="CDMA2000 850 / GSM 850 / UMTS 1900 / LTE 1700" brand="Movilnet" cc="ve" country="Venezuela" operator="Telecomunicaciones Movilnet" status="Operational" 00-99 736 01 bands="GSM 1900 / UMTS 1900 / LTE 1700" brand="Viva" cc="bo" country="Bolivia" operator="Nuevatel PCS De Bolivia SA" status="Operational" 02 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 700" brand="Entel" cc="bo" country="Bolivia" operator="Entel SA" status="Operational" 03 bands="GSM 850 / UMTS 850 / UMTS 1900 / LTE 700" brand="Tigo" cc="bo" country="Bolivia" operator="Telefónica Celular De Bolivia S.A" status="Operational" 00-99 738 002 bands="GSM 900 / GSM 1800 / UMTS 850 / LTE 700" brand="GT&T Cellink Plus" cc="gy" country="Guyana" operator="Guyana Telephone & Telegraph Co." status="Operational" 003 bands="TD-LTE" cc="gy" country="Guyana" operator="Quark Communications Inc." status="Operational" 01 bands="GSM 900 / UMTS 850" brand="Digicel" cc="gy" country="Guyana" operator="U-Mobile (Cellular) Inc." status="Operational" 05 cc="gy" country="Guyana" operator="eGovernment Unit, Ministry of the Presidency" 740 00 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1900" brand="Movistar" cc="ec" country="Ecuador" operator="Otecel S.A." status="Operational" 01 bands="GSM 850 / UMTS 850 / UMTS 1900 / LTE 1700" brand="Claro" cc="ec" country="Ecuador" operator="CONECEL S.A." status="Operational" 02 bands="GSM 1900 / UMTS 1900 / LTE 1700" brand="CNT Mobile" cc="ec" country="Ecuador" operator="Corporación Nacional de Telecomunicaciones (CNT EP)" status="Operational" 03 bands="MVNO" brand="Tuenti" cc="ec" country="Ecuador" operator="Otecel S.A." status="Operational" 00-99 744 01 bands="GSM 1900 / UMTS 900 / UMTS 1900 / LTE 1700" brand="VOX" cc="py" country="Paraguay" operator="Hola Paraguay S.A." status="Operational" 02 bands="GSM 1900 / UMTS 1900 / LTE 1700" brand="Claro" cc="py" country="Paraguay" operator="AMX Paraguay S.A." status="Operational" 03 cc="py" country="Paraguay" operator="Compañia Privada de Comunicaciones S.A." 04 bands="GSM 850 / UMTS 850 / LTE 1700" brand="Tigo" cc="py" country="Paraguay" operator="Telefónica Celular Del Paraguay S.A. (Telecel)" status="Operational" 05 bands="GSM 850 / GSM 1900 / UMTS 850 / UMTS 1900 / LTE 1900" brand="Personal" cc="py" country="Paraguay" operator="Núcleo S.A. (TIM)" status="Operational" 06 bands="GSM 1800 / LTE 1700" brand="Copaco" cc="py" country="Paraguay" operator="Copaco S.A." status="Operational" 00-99 746 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700 / LTE 1800" brand="Telesur" cc="sr" country="Suriname" operator="Telecommunications Company Suriname (Telesur)" status="Operational" 03 bands="GSM 900 / GSM 1800 / UMTS 850" brand="Digicel" cc="sr" country="Suriname" operator="Digicel Group Limited" status="Operational" 04 bands="GSM 900 / UMTS" brand="Digicel" cc="sr" country="Suriname" operator="Digicel Group Limited" status="Not operational" 05 bands="CDMA 450" brand="Telesur" cc="sr" country="Suriname" operator="Telecommunications Company Suriname (Telesur)" 00-99 748 00 bands="TDMA" brand="Antel" cc="uy" country="Uruguay" operator="Administración Nacional de Telecomunicaciones" status="Not operational" 01 bands="GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1700 / 5G 3500" brand="Antel" cc="uy" country="Uruguay" operator="Administración Nacional de Telecomunicaciones" status="Operational" 03 brand="Antel" cc="uy" country="Uruguay" operator="Administración Nacional de Telecomunicaciones" status="Not operational" 07 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1900" brand="Movistar" cc="uy" country="Uruguay" operator="Telefónica Móviles Uruguay" status="Operational" 10 bands="GSM 1900 / UMTS 1900 / LTE 1700" brand="Claro" cc="uy" country="Uruguay" operator="AM Wireless Uruguay S.A." status="Operational" 00-99 750 001 bands="GSM 900 / LTE 1800 / WiMAX 2400 / WiMAX 3500" brand="Sure" cc="fk" country="Falkland Islands (United Kingdom)" operator="Sure South Atlantic Ltd." status="Operational" 000-999 901 01 bands="Satellite" brand="ICO" country="International operators" operator="ICO Satellite Management" status="Not operational" 02 country="International operators" operator="Unassigned" status="Returned spare" 03 bands="Satellite" brand="Iridium" country="International operators" status="Operational" 04 bands="Satellite" country="International operators" operator="Unassigned" status="Returned spare" 05 bands="Satellite" country="International operators" operator="Thuraya RMSS Network" status="Operational" 06 bands="Satellite" country="International operators" operator="Thuraya Satellite Telecommunications Company" status="Operational" 07 country="International operators" operator="Unassigned" status="Returned spare" 08 country="International operators" operator="Unassigned" status="Returned spare" 09 country="International operators" operator="Unassigned" status="Returned spare" 10 bands="Satellite" brand="ACeS" country="International operators" status="Not operational" 11 bands="Satellite" brand="Inmarsat" country="International operators" status="Operational" 12 bands="GSM 1800 / LTE 800" brand="Telenor" country="International operators" operator="Telenor Maritime AS" status="Operational" 13 bands="GSM 1800" brand="GSM.AQ" country="International operators" operator="BebbiCell AG" status="Operational" 14 bands="GSM 1800" brand="AeroMobile" country="International operators" operator="AeroMobile AS" status="Operational" 15 bands="GSM 1800" brand="OnAir" country="International operators" operator="OnAir Switzerland Sarl" status="Operational" 16 brand="Cisco Jasper" country="International operators" operator="Cisco Systems, Inc." status="Operational" 17 bands="GSM 1800" brand="Navitas" country="International operators" operator="JT Group Limited" status="Not operational" 18 bands="GSM 900 / GSM 1900 / CDMA2000 1900 / UMTS 1900" brand="Cellular @Sea" country="International operators" operator="AT&T Mobility" status="Operational" 19 bands="GSM 900 / GSM 1800 / UMTS 2100" country="International operators" operator="Vodafone Malta Maritime" status="Operational" 20 country="International operators" operator="Intermatica" 21 bands="GSM 1800" country="International operators" operator="Wins Limited" status="Operational" 22 country="International operators" operator="MediaLincc Ltd" 23 country="International operators" operator="Unassigned" status="Returned spare" 24 brand="iNum" country="International operators" operator="Voxbone" 25 country="International operators" operator="Unassigned" status="Returned spare" 26 bands="GSM 1800 / GSM 1900" brand="TIM@sea" country="International operators" operator="Telecom Italia Mobile" status="Operational" 27 bands="GSM 1800" brand="OnMarine" country="International operators" operator="Monaco Telecom" status="Operational" 28 bands="Roaming SIM" brand="Vodafone" country="International operators" operator="GDSP (Vodafone's Global Data Service Platform)" status="Operational" 29 brand="Telenor" country="International operators" 30 country="International operators" operator="Unassigned" status="Returned spare" 31 bands="GSM 900" brand="Orange" country="International operators" operator="Orange S.A." status="Operational" 32 bands="GSM 900" brand="Sky High" country="International operators" operator="MegaFon" status="Operational" 33 country="International operators" operator="Smart Communications" 34 bands="MVNO" country="International operators" operator="tyntec GmbH" 35 bands="GSM 850" country="International operators" operator="Globecomm Network Services" status="Operational" 36 bands="GSM 1800" country="International operators" operator="Azerfon" status="Operational" 37 bands="MVNO" country="International operators" operator="Transatel" status="Operational" 38 bands="MVNO" country="International operators" operator="Multiregional TransitTelecom (MTT)" status="Operational" 39 bands="MVNO" country="International operators" operator="MTX Connect Ltd" status="Operational" 40 bands="MVNO" brand="1nce GmbH" country="International operators" operator="Deutsche Telekom AG" status="Operational" 41 bands="MVNO" country="International operators" operator="BodyTrace Netherlands B.V." status="Operational" 42 country="International operators" operator="DCN Hub ehf" 43 bands="MVNO" country="International operators" operator="EMnify GmbH" status="Operational" 44 country="International operators" operator="AT&T Inc." 45 country="International operators" operator="Advanced Wireless Network Company Limited" 46 bands="MVNO" country="International operators" operator="Telecom26 AG" status="Operational" 47 country="International operators" operator="Ooredoo" 48 brand="Com4" country="International operators" operator="Communication for Devices in Sweden AB" 49 country="International operators" operator="Zain Kuwait" 50 bands="Satellite" country="International operators" operator="EchoStar Mobile" 51 country="International operators" operator="VisionNG" 52 country="International operators" operator="Manx Telecom Trading Ltd." 53 bands="Satellite" country="International operators" operator="Deutsche Telekom AG" status="Operational" 54 country="International operators" operator="Teleena Holding B.V." 55 country="International operators" operator="Beezz Communication Solutions Ltd." 56 brand="ETSI" country="International operators" operator="European Telecommunications Standards Institute" 57 country="International operators" operator="SAP" 58 brand="BICS" country="International operators" operator="Belgacom ICS SA" 59 country="International operators" operator="MessageBird B.V." 60 country="International operators" operator="OneWeb" 61 country="International operators" operator="MTN Management Services" 62 country="International operators" operator="Twilio Inc." status="Operational" 63 country="International operators" operator="GloTel B.V." 64 country="International operators" operator="Syniverse Technologies, LLC" 65 bands="MVNO" country="International operators" operator="Plintron Global Technology Solutions Pty Ltd" 66 country="International operators" operator="Limitless Mobile LLC" 67 bands="MVNO" country="International operators" operator="1NCE GmbH" status="Operational" 68 country="International operators" operator="Maersk Line A/S" 69 country="International operators" operator="Legos" 88 country="International operators" operator="UN Office for the Coordination of Humanitarian Affairs (OCHA)" 00-99 902 01 bands="LTE" country="International operators" operator="MulteFire Allicance" status="Operational" 00-99 991 01 country="International operators" operator="World's Global Telecom" 00-99 995 01 bands="GSM 900" brand="FonePlus" cc="io" country="British Indian Ocean Territory (United Kingdom)" operator="Sure (Diego Garcia) Ltd" status="Operational" 00-99 999 99 bands="any" country="Test networks" operator="Internal use" status="Operational" 999 bands="any" country="Test networks" operator="Internal use" status="Operational" python-stdnum-1.13/stdnum/jp/0000755000000000000000000000000013611057637016161 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/jp/cn.py0000644000000000000000000000532413555400450017127 0ustar rootroot00000000000000# cn.py - functions for handling Japanese Corporate Number (CN) # coding: utf-8 # # Copyright (C) 2019 Alan Hettinger # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CN (法人番号, hōjin bangō, Japanese Corporate Number). The Corporate Number is assigned by the Japanese National Tax Agency to identify government organs, public entities, registered corporations and other organisations. The number consists of 13 digits where the first digit is a non-zero check digit. More information: * https://en.wikipedia.org/wiki/Corporate_Number * https://www.nta.go.jp/taxes/tetsuzuki/mynumberinfo/houjinbangou/ >>> validate('5-8356-7825-6246') '5835678256246' >>> validate('2-8356-7825-6246') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('5835678256246') '5-8356-7825-6246' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, '- ').strip() def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" weights = (1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2) s = sum(w * int(n) for w, n in zip(weights, reversed(number))) % 9 return str(9 - s) def validate(number): """Check if the number is valid. This checks the length and check digit.""" number = compact(number) if len(number) != 13: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if calc_check_digit(number[1:]) != number[0]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid CN.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join( (number[0], number[1:5], number[5:9], number[9:13])) python-stdnum-1.13/stdnum/jp/__init__.py0000644000000000000000000000154613555400450020270 0ustar rootroot00000000000000# __init__.py - collection of Japanese numbers # coding: utf-8 # # Copyright (C) 2019 Alan Hettinger # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Japanese numbers.""" python-stdnum-1.13/stdnum/iso11649.py0000644000000000000000000000556513560650140017323 0ustar rootroot00000000000000# iso11649.py - functions for performing the ISO 11649 checksum validation # for structured creditor reference numbers # # Copyright (C) 2018 Esben Toke Christensen # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ISO 11649 (Structured Creditor Reference). The ISO 11649 structured creditor number consists of 'RF' followed by two check digits and up to 21 digits. The number may contain letters. The reference number is validated by moving RF and the check digits to the end of the number, and checking that the ISO 7064 Mod 97, 10 checksum of this string is 1. More information: * https://en.wikipedia.org/wiki/Creditor_Reference >>> validate('RF18 5390 0754 7034') 'RF18539007547034' >>> validate('RF18 5390 0754 70Y') 'RF185390075470Y' >>> is_valid('RF18 5390 0754 7034') True >>> validate('RF17 5390 0754 7034') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('RF18539007547034') 'RF18 5390 0754 7034' """ from stdnum.exceptions import * from stdnum.iso7064 import mod_97_10 from stdnum.util import clean def compact(number): """Convert the number to the minimal representation. This strips the number of any invalid separators and removes surrounding whitespace.""" return clean(number, ' -.,/:').upper().strip() def validate(number): """Check if the number provided is a valid ISO 11649 structured creditor reference number.""" number = compact(number) if len(number) < 5 or len(number) > 25: raise InvalidLength() if not number.startswith('RF'): raise InvalidFormat() mod_97_10.validate(number[4:] + number[:4]) return number def is_valid(number): """Check if the number provided is a valid ISO 11649 structured creditor number. This checks the length, formatting and check digits.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Format the number provided for output. Blocks of 4 characters, the last block can be less than 4 characters. See https://www.paymentstandards.ch/dam/downloads/ig-qr-bill-en.pdf chapter 3.6.2. """ number = compact(number) return ' '.join(number[i:i + 4] for i in range(0, len(number), 4)) python-stdnum-1.13/stdnum/au/0000755000000000000000000000000013611057636016154 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/au/abn.py0000644000000000000000000000517513555400447017275 0ustar rootroot00000000000000# abn.py - functions for handling Australian Business Numbers (ABNs) # # Copyright (C) 2016 Vincent Bastos # Copyright (C) 2016 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ABN (Australian Business Number). The Australian Business Number (ABN) is an identifier issued to entities registered in the Australian Business Register (ABR). The number consists of 11 digits of which the first two are check digits. More information: * https://en.wikipedia.org/wiki/Australian_Business_Number * https://abr.business.gov.au/ >>> validate('83 914 571 673') '83914571673' >>> validate('99 999 999 999') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('51824753556') '51 824 753 556' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip() def calc_check_digits(number): """Calculate the check digits that should be prepended to make the number valid.""" weights = (3, 5, 7, 9, 11, 13, 15, 17, 19) s = sum(-w * int(n) for w, n in zip(weights, number)) return str(11 + (s - 1) % 89) def validate(number): """Check if the number is a valid ABN. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 11: raise InvalidLength() if calc_check_digits(number[2:]) != number[:2]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid ABN.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return ' '.join((number[0:2], number[2:5], number[5:8], number[8:])) python-stdnum-1.13/stdnum/au/__init__.py0000644000000000000000000000165413555400447020272 0ustar rootroot00000000000000# __init__.py - collection of Australian numbers # coding: utf-8 # # Copyright (C) 2016 Vincent Bastos # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Australian numbers.""" # provide aliases from stdnum.au import tfn as vat # noqa: F401 python-stdnum-1.13/stdnum/au/tfn.py0000644000000000000000000000514313555400447017317 0ustar rootroot00000000000000# tfn.py - functions for handling Australian Tax File Numbers (TFNs) # # Copyright (C) 2016 Vincent Bastos # Copyright (C) 2016 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """TFN (Australian Tax File Number). The Tax File Number (TFN) is issued by the Australian Taxation Office (ATO) to taxpaying individuals and organisations. A business has both a TFN and an Australian Business Number (ABN). The number consists of 8 (older numbers) or 9 digits and includes a check digit but otherwise without structure. More information: * https://en.wikipedia.org/wiki/Tax_file_number * https://www.ato.gov.au/Individuals/Tax-file-number/ >>> validate('123 456 782') '123456782' >>> validate('999 999 999') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('123456782') '123 456 782' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip() def checksum(number): """Calculate the checksum.""" weights = (1, 4, 3, 7, 5, 8, 6, 9, 10) return sum(w * int(n) for w, n in zip(weights, number)) % 11 def validate(number): """Check if the number is a valid TFN. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) not in (8, 9): raise InvalidLength() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid TFN.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return ' '.join((number[0:3], number[3:6], number[6:])) python-stdnum-1.13/stdnum/au/acn.py0000644000000000000000000000521313555400447017267 0ustar rootroot00000000000000# acn.py - functions for handling Australian Company Numbers (ACNs) # # Copyright (C) 2016 Vincent Bastos # Copyright (C) 2016 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ACN (Australian Company Number). The Australian Company Number (ACN) is a company identifier issued by the Australian Securities and Investments Commission. More information: * https://en.wikipedia.org/wiki/Australian_Company_Number >>> validate('004 085 616') '004085616' >>> validate('010 499 966') '010499966' >>> validate('999 999 999') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('004085616') '004 085 616' >>> to_abn('002 724 334') '43002724334' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip() def calc_check_digit(number): """Calculate the checksum.""" return str((sum(int(n) * (i - 8) for i, n in enumerate(number))) % 10) def validate(number): """Check if the number is a valid ACN. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 9: raise InvalidLength() if calc_check_digit(number) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid ACN.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return ' '.join((number[0:3], number[3:6], number[6:])) def to_abn(number): """Convert the number to an Australian Business Number (ABN).""" from stdnum.au import abn number = compact(number) return abn.calc_check_digits(number) + number python-stdnum-1.13/stdnum/tr/0000755000000000000000000000000013611057637016175 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/tr/tckimlik.py0000644000000000000000000000722213555400450020351 0ustar rootroot00000000000000# tckimlik.py - functions for handling T.C. Kimlik No. # coding: utf-8 # # Copyright (C) 2016-2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """T.C. Kimlik No. (Turkish personal identification number) The Turkish Identification Number (Türkiye Cumhuriyeti Kimlik Numarası) is a unique personal identification number assigned to every citizen of Turkey. The number consists of 11 digits and the last two digits are check digits. More information: * https://en.wikipedia.org/wiki/Turkish_Identification_Number * https://tckimlik.nvi.gov.tr/ >>> validate('17291716060') '17291716060' >>> validate('17291716050') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('1729171606') Traceback (most recent call last): ... InvalidLength: ... >>> validate('07291716092') # number must not start with a 0 Traceback (most recent call last): ... InvalidFormat: ... """ from stdnum.exceptions import * from stdnum.util import clean, get_soap_client, isdigits tckimlik_wsdl = 'https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL' """The WSDL URL of the T.C. Kimlik validation service.""" def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number).strip() def calc_check_digits(number): """Calculate the check digits for the specified number. The number passed should not have the check digit included.""" check1 = (10 - sum((3, 1)[i % 2] * int(n) for i, n in enumerate(number[:9]))) % 10 check2 = (check1 + sum(int(n) for n in number[:9])) % 10 return '%d%d' % (check1, check2) def validate(number): """Check if the number is a valid T.C. Kimlik number. This checks the length and check digits.""" number = compact(number) if not isdigits(number) or number[0] == '0': raise InvalidFormat() if len(number) != 11: raise InvalidLength() if calc_check_digits(number) != number[-2:]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid T.C. Kimlik number.""" try: return bool(validate(number)) except ValidationError: return False def check_kps(number, name, surname, birth_year, timeout): # pragma: no cover """Query the online T.C. Kimlik validation service run by the Directorate of Population and Citizenship Affairs. The timeout is in seconds. This returns a boolean but may raise a SOAP exception for missing or invalid values.""" # this function isn't automatically tested because it would require # network access for the tests and unnecessarily load the online service number = compact(number) client = get_soap_client(tckimlik_wsdl, timeout) result = client.TCKimlikNoDogrula( TCKimlikNo=number, Ad=name, Soyad=surname, DogumYili=birth_year) if hasattr(result, 'get'): return result.get('TCKimlikNoDogrulaResult') return result python-stdnum-1.13/stdnum/tr/__init__.py0000644000000000000000000000154413555400450020302 0ustar rootroot00000000000000# __init__.py - collection of Turkish numbers # coding: utf-8 # # Copyright (C) 2016 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Turkish numbers.""" python-stdnum-1.13/stdnum/tr/vkn.py0000644000000000000000000000504313555400450017337 0ustar rootroot00000000000000# vkn.py - functions for handling the Turkish tax identification number # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """VKN (Vergi Kimlik Numarası, Turkish tax identification number). The Vergi Kimlik Numarası is the Turkish tax identification number used for businesses. The number consists of 10 digits where the first digit is derived from the company name. More information: * https://www.turkiye.gov.tr/gib-intvrg-vergi-kimlik-numarasi-dogrulama >>> validate('4540536920') '4540536920' >>> validate('4540536921') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('454053692') Traceback (most recent call last): ... InvalidLength: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number).strip() def calc_check_digit(number): """Calculate the check digit for the specified number.""" s = 0 for i, n in enumerate(reversed(number[:9]), 1): c1 = (int(n) + i) % 10 if c1: c2 = (c1 * (2 ** i)) % 9 or 9 s += c2 return str((10 - s) % 10) def validate(number): """Check if the number is a valid Vergi Kimlik Numarası. This checks the length and check digits.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 10: raise InvalidLength() if calc_check_digit(number) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid Vergi Kimlik Numarası. This checks the length and check digits.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ar/0000755000000000000000000000000013611057636016151 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/ar/cuit.py0000644000000000000000000000553513606452301017467 0ustar rootroot00000000000000# cuit.py - functions for handling Argentinian VAT numbers # coding: utf-8 # # Copyright (C) 2009 Mariano Reingart # Copyright (C) 2011 Sebastián Marró # Copyright (C) 2008-2011 Cédric Krier # Copyright (C) 2008-2011 B2CK # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CUIT (Código Único de Identificación Tributaria, Argentinian tax number). The CUIT is a taxpayer identification number used for VAT (IVA, Impuesto al Valor Agregado) and other taxes. More information: * https://es.wikipedia.org/wiki/Clave_Única_de_Identificación_Tributaria >>> validate('20-05536168-2') '20055361682' >>> validate('20267565392') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('20267565393') '20-26756539-3' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip() def calc_check_digit(number): """Calculate the check digit.""" weights = (5, 4, 3, 2, 7, 6, 5, 4, 3, 2) check = sum(w * int(n) for w, n in zip(weights, number)) % 11 return '012345678990'[11 - check] # The different types of CUIT that are known _cuit_tpes = ( '20', '23', '24', '27', # individuals '30', '33', '34', # companies '50', '51', '55', # international purposes ) def validate(number): """Check if the number is a valid CUIT.""" number = compact(number) if len(number) != 11: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if number[:2] not in _cuit_tpes: raise InvalidComponent() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid CUIT.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return (number[0:2] + '-' + number[2:10] + '-' + number[10:]) python-stdnum-1.13/stdnum/ar/__init__.py0000644000000000000000000000174513555400447020270 0ustar rootroot00000000000000# __init__.py - collection of Argentinian numbers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Argentinian numbers.""" # provide aliases from stdnum.ar import cuit as vat # noqa: F401 from stdnum.ar import dni as personalid # noqa: F401 python-stdnum-1.13/stdnum/ar/cbu.py0000644000000000000000000000523513555400447017300 0ustar rootroot00000000000000# cbu.py - functions for handling Argentinian CBU numbers # coding: utf-8 # # Copyright (C) 2016 Luciano Rossi # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CBU (Clave Bancaria Uniforme, Argentine bank account number). CBU it s a code of the Banks of Argentina to identify customer accounts. The number consists of 22 digits and consists of a 3 digit bank identifier, followed by a 4 digit branch identifier, a check digit, a 13 digit account identifier and another check digit. More information: * https://es.wikipedia.org/wiki/Clave_Bancaria_Uniforme >>> validate('2850590940090418135201') '2850590940090418135201' >>> format('2850590940090418135201') '28505909 40090418135201' >>> validate('2810590940090418135201') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip() def calc_check_digit(number): """Calculate the check digit.""" weights = (3, 1, 7, 9) check = sum(int(n) * weights[i % 4] for i, n in enumerate(reversed(number))) return str((10 - check) % 10) def validate(number): """Check if the number is a valid CBU.""" number = compact(number) if len(number) != 22: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if calc_check_digit(number[:7]) != number[7]: raise InvalidChecksum() if calc_check_digit(number[8:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid CBU.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return ' '.join((number[:8], number[8:])) python-stdnum-1.13/stdnum/ar/dni.py0000644000000000000000000000425713555400447017304 0ustar rootroot00000000000000# dni.py - functions for handling Argentinian national identifiers # coding: utf-8 # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """DNI (Documento Nacional de Identidad, Argentinian national identity nr.). The DNI number is the number that appears on the Argentinian national identity document and is used to identify citizen and foreigners residing in the country. More information: * https://en.wikipedia.org/wiki/Documento_Nacional_de_Identidad_(Argentina) >>> validate('20.123.456') '20123456' >>> validate('2012345699') Traceback (most recent call last): ... InvalidLength: ... >>> format('20123456') '20.123.456' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' .').strip() def validate(number): """Check if the number is a valid DNI.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) not in (7, 8): raise InvalidLength() return number def is_valid(number): """Check if the number is a valid DNI.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '.'.join((number[:-6], number[-6:-3], number[-3:])) python-stdnum-1.13/stdnum/at/0000755000000000000000000000000013611057636016153 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/at/postleitzahl.py0000644000000000000000000000463513555400447021256 0ustar rootroot00000000000000# postleitzahl.py - functions for handling Austrian postal codes # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Postleitzahl (Austrian postal code). The Austrian postal code consists of four digits that identifies a post office in Austria. More information: * https://en.wikipedia.org/wiki/Postal_codes_in_Austria * https://www.post.at/suche/standortsuche.php/index/selectedsearch/plz >>> validate('5090') '5090' >>> import json >>> print(json.dumps(info('5090'), indent=2, sort_keys=True)) { "location": "Lofer", "region": "Salzburg" } >>> validate('4231') # not-existing postal code Traceback (most recent call last): ... InvalidComponent: ... >>> validate('ABCD') Traceback (most recent call last): ... InvalidFormat: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number).strip() def info(number): """Return a dictionary of data about the supplied number. This typically returns the location.""" number = compact(number) from stdnum import numdb return numdb.get('at/postleitzahl').info(number)[0][1] def validate(number): """Check if the number is a valid postal code.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 4: raise InvalidLength() if not info(number): raise InvalidComponent() return number def is_valid(number): """Check if the number is a valid postal code.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/at/businessid.py0000644000000000000000000000427013555400447020677 0ustar rootroot00000000000000# businessid.py - functions for handling Austrian company register numbers # # Copyright (C) 2015 Holvi Payment Services Oy # Copyright (C) 2012-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Austrian Company Register Numbers. The Austrian company register number consist of digits followed by a single letter, e.g. "122119m". Sometimes it is presented with preceding "FN", e.g. "FN 122119m". >>> validate('FN 122119m') '122119m' >>> validate('122119m') '122119m' >>> validate('m123123') Traceback (most recent call last): ... InvalidFormat: ... >>> validate('abc') Traceback (most recent call last): ... InvalidFormat: ... """ import re from stdnum.exceptions import * from stdnum.util import clean _businessid_re = re.compile('^[0-9]+[a-z]$') def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace. Preceding "FN" is also removed.""" number = clean(number, ' -./').strip() if number.upper().startswith('FN'): number = number[2:] return number def validate(number): """Check if the number is a valid company register number. This only checks the formatting.""" number = compact(number) if not _businessid_re.match(number): raise InvalidFormat() return number def is_valid(number): """Check if the number is a valid company register number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/at/tin.py0000644000000000000000000000720213555400447017317 0ustar rootroot00000000000000# tin.py - functions for handling Austrian tax identification numbers # coding: utf-8 # # Copyright (C) 2017 Holvi Payment Services Oy # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA r"""Abgabenkontonummer (Austrian tax identification number). The Austrian tax identification number (Abgabenkontonummer) consists of 2 digits for the issuing tax office (Finanzamtsnummer) and 7 digits for the subject and a check digit (Steuernummer). More information: * https://de.wikipedia.org/wiki/Abgabenkontonummer * https://service.bmf.gv.at/Service/Anwend/Behoerden/show_mast.asp >>> validate('59-119/9013') '591199013' >>> validate('59-119/9013', office='St. Veit Wolfsberg') '591199013' >>> import json >>> print(json.dumps(info('59-119/9013'), indent=2, sort_keys=True)) { "office": "St. Veit Wolfsberg", "region": "K\u00e4rnten" } >>> format('591199013') '59-119/9013' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -./,').strip() def _min_fa(office): """Convert the tax office name to something that we can use for comparison without running into encoding issues.""" return ''.join( x for x in office.lower() if x in 'bcdefghijklmnopqrstvwxyz') def calc_check_digit(number): """Calculate the check digit.""" number = compact(number) s = sum( int('0246813579'[int(n)]) if i % 2 else int(n) for i, n in enumerate(number[:8])) return str((10 - s) % 10) def info(number): """Return a dictionary of data about the supplied number. This typically returns the the tax office and region.""" number = compact(number) from stdnum import numdb return numdb.get('at/fa').info(number[:2])[0][1] def validate(number, office=None): """Check if the number is a valid tax identification number. This checks the length and formatting. The tax office can be supplied to check that the number was issued in the specified tax office.""" number = compact(number) if len(number) != 9: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if calc_check_digit(number) != number[-1]: raise InvalidChecksum() i = info(number) if not i: raise InvalidComponent() if office and _min_fa(i.get('office')) != _min_fa(office): raise InvalidComponent() return number def is_valid(number, office=None): """Check if the number is a valid tax identification number. This checks the length, formatting and check digit.""" try: return bool(validate(number, office)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '%s-%s/%s' % (number[:2], number[2:5], number[5:]) python-stdnum-1.13/stdnum/at/uid.py0000644000000000000000000000450713555400447017313 0ustar rootroot00000000000000# uid.py - functions for handling Austrian VAT numbers # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """UID (Umsatzsteuer-Identifikationsnummer, Austrian VAT number). The Austrian UID is a 9-digit number that starts with a U (optionally preceded with AT). The last digit is a check digit. >>> validate('AT U13585627') 'U13585627' >>> calc_check_digit('U1358562') '7' >>> validate('U13585626') # incorrect check digit Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -./').upper().strip() if number.startswith('AT'): number = number[2:] return number def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" return str((6 - luhn.checksum(number[1:])) % 10) def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if number[:1] != 'U' or not isdigits(number[1:]): raise InvalidFormat() if len(number) != 9: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/at/__init__.py0000644000000000000000000000204313555400447020262 0ustar rootroot00000000000000# __init__.py - collection of Austrian numbers # coding: utf-8 # # Copyright (C) 2012-2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Austrian numbers.""" # provide aliases from stdnum.at import postleitzahl as postal_code # noqa: F401 from stdnum.at import uid as vat # noqa: F401 from stdnum.at import vnr as personalid # noqa: F401 python-stdnum-1.13/stdnum/at/postleitzahl.dat0000644000000000000000000033432013611053275021367 0ustar rootroot00000000000000# generated from PLZ_Verzeichnis_JAN20.xls downloaded from # https://www.post.at/en/business_advertise_products_and_services_addresses_postcodes.php 1010 location="Wien" region="Wien" 1020 location="Wien" region="Wien" 1030 location="Wien" region="Wien" 1040 location="Wien" region="Wien" 1050 location="Wien" region="Wien" 1060 location="Wien" region="Wien" 1070 location="Wien" region="Wien" 1080 location="Wien" region="Wien" 1090 location="Wien" region="Wien" 1100 location="Wien" region="Wien" 1110 location="Wien" region="Wien" 1120 location="Wien" region="Wien" 1130 location="Wien" region="Wien" 1140 location="Wien" region="Wien" 1150 location="Wien" region="Wien" 1160 location="Wien" region="Wien" 1170 location="Wien" region="Wien" 1180 location="Wien" region="Wien" 1190 location="Wien" region="Wien" 1200 location="Wien" region="Wien" 1210 location="Wien" region="Wien" 1220 location="Wien" region="Wien" 1230 location="Wien" region="Wien" 1300 location="Wien-Flughafen" region="Wien" 2000 location="Stockerau" region="Niederösterreich" 2002 location="Großmugl" region="Niederösterreich" 2003 location="Leitzersdorf" region="Niederösterreich" 2004 location="Niederhollabrunn" region="Niederösterreich" 2011 location="Sierndorf" region="Niederösterreich" 2013 location="Göllersdorf" region="Niederösterreich" 2014 location="Breitenwaida" region="Niederösterreich" 2020 location="Hollabrunn" region="Niederösterreich" 2022 location="Immendorf" region="Niederösterreich" 2023 location="Nappersdorf" region="Niederösterreich" 2024 location="Mailberg" region="Niederösterreich" 2031 location="Eggendorf im Thale" region="Niederösterreich" 2032 location="Enzersdorf im Thale" region="Niederösterreich" 2033 location="Kammersdorf" region="Niederösterreich" 2034 location="Großharras" region="Niederösterreich" 2041 location="Wullersdorf" region="Niederösterreich" 2042 location="Guntersdorf" region="Niederösterreich" 2051 location="Zellerndorf" region="Niederösterreich" 2052 location="Pernersdorf-Pfaffendorf" region="Niederösterreich" 2053 location="Jetzelsdorf" region="Niederösterreich" 2054 location="Haugsdorf" region="Niederösterreich" 2061 location="Hadres" region="Niederösterreich" 2062 location="Seefeld-Großkadolz" region="Niederösterreich" 2063 location="Zwingendorf" region="Niederösterreich" 2064 location="Wulzeshofen" region="Niederösterreich" 2070 location="Retz" region="Niederösterreich" 2073 location="Schrattenthal" region="Niederösterreich" 2074 location="Unterretzbach" region="Niederösterreich" 2081 location="Niederfladnitz" region="Niederösterreich" 2082 location="Hardegg" region="Niederösterreich" 2083 location="Pleißing" region="Niederösterreich" 2084 location="Weitersfeld" region="Niederösterreich" 2091 location="Langau" region="Niederösterreich" 2092 location="Riegersburg" region="Niederösterreich" 2093 location="Geras" region="Niederösterreich" 2094 location="Zissersdorf" region="Niederösterreich" 2095 location="Drosendorf" region="Niederösterreich" 2100 location="Korneuburg" region="Niederösterreich" 2102 location="Bisamberg" region="Niederösterreich" 2103 location="Langenzersdorf" region="Niederösterreich" 2104 location="Spillern" region="Niederösterreich" 2105 location="Oberrohrbach" region="Niederösterreich" 2111 location="Rückersdorf-Harmannsdorf" region="Niederösterreich" 2112 location="Würnitz" region="Niederösterreich" 2113 location="Karnabrunn" region="Niederösterreich" 2114 location="Großrußbach" region="Niederösterreich" 2115 location="Ernstbrunn" region="Niederösterreich" 2116 location="Niederleis" region="Niederösterreich" 2120 location="Wolkersdorf im Weinviertel" region="Niederösterreich" 2122 location="Ulrichskirchen" region="Niederösterreich" 2123 location="Schleinbach" region="Niederösterreich" 2124 location="Niederkreuzstetten" region="Niederösterreich" 2125 location="Neubau" region="Niederösterreich" 2126 location="Ladendorf" region="Niederösterreich" 2130 location="Mistelbach" region="Niederösterreich" 2132 location="Frättingsdorf" region="Niederösterreich" 2133 location="Loosdorf" region="Niederösterreich" 2134 location="Staatz-Kautendorf" region="Niederösterreich" 2135 location="Neudorf im Weinviertel" region="Niederösterreich" 2136 location="Laa an der Thaya" region="Niederösterreich" 2141 location="Ameis" region="Niederösterreich" 2143 location="Großkrut" region="Niederösterreich" 2144 location="Altlichtenwarth" region="Niederösterreich" 2145 location="Hausbrunn" region="Niederösterreich" 2151 location="Asparn an der Zaya" region="Niederösterreich" 2152 location="Gnadendorf" region="Niederösterreich" 2153 location="Stronsdorf" region="Niederösterreich" 2154 location="Unterstinkenbrunn" region="Niederösterreich" 2161 location="Poysbrunn" region="Niederösterreich" 2162 location="Falkenstein" region="Niederösterreich" 2163 location="Ottenthal" region="Niederösterreich" 2164 location="Wildendürnbach" region="Niederösterreich" 2165 location="Drasenhofen" region="Niederösterreich" 2170 location="Poysdorf" region="Niederösterreich" 2171 location="Herrnbaumgarten" region="Niederösterreich" 2172 location="Schrattenberg" region="Niederösterreich" 2181 location="Dobermannsdorf" region="Niederösterreich" 2182 location="Palterndorf" region="Niederösterreich" 2183 location="Neusiedl an der Zaya" region="Niederösterreich" 2184 location="Hauskirchen" region="Niederösterreich" 2185 location="Prinzendorf an der Zaya" region="Niederösterreich" 2191 location="Gaweinstal" region="Niederösterreich" 2192 location="Kettlasbrunn" region="Niederösterreich" 2193 location="Wilfersdorf" region="Niederösterreich" 2201 location="Gerasdorf" region="Niederösterreich" 2202 location="Enzersfeld" region="Niederösterreich" 2203 location="Großebersdorf" region="Niederösterreich" 2211 location="Pillichsdorf" region="Niederösterreich" 2212 location="Großengersdorf" region="Niederösterreich" 2213 location="Bockfließ" region="Niederösterreich" 2214 location="Auersthal" region="Niederösterreich" 2215 location="Raggendorf" region="Niederösterreich" 2221 location="Groß Schweinbarth" region="Niederösterreich" 2222 location="Bad Pirawarth" region="Niederösterreich" 2223 location="Hohenruppersdorf" region="Niederösterreich" 2224 location="Obersulz" region="Niederösterreich" 2225 location="Zistersdorf" region="Niederösterreich" 2230 location="Gänserndorf" region="Niederösterreich" 2231 location="Strasshof an der Nordbahn" region="Niederösterreich" 2232 location="Deutsch Wagram" region="Niederösterreich" 2241 location="Schönkirchen" region="Niederösterreich" 2242 location="Prottes" region="Niederösterreich" 2243 location="Matzen" region="Niederösterreich" 2244 location="Spannberg" region="Niederösterreich" 2245 location="Velm-Götzendorf" region="Niederösterreich" 2251 location="Ebenthal" region="Niederösterreich" 2252 location="Ollersdorf" region="Niederösterreich" 2253 location="Weikendorf" region="Niederösterreich" 2261 location="Angern an der March" region="Niederösterreich" 2262 location="Stillfried" region="Niederösterreich" 2263 location="Dürnkrut" region="Niederösterreich" 2264 location="Jedenspeigen" region="Niederösterreich" 2265 location="Drösing" region="Niederösterreich" 2272 location="Niederabsdorf" region="Niederösterreich" 2273 location="Hohenau an der March" region="Niederösterreich" 2274 location="Rabensburg" region="Niederösterreich" 2275 location="Bernhardsthal" region="Niederösterreich" 2276 location="Reintal" region="Niederösterreich" 2280 location="Glinzendorf" region="Niederösterreich" 2281 location="Raasdorf" region="Niederösterreich" 2282 location="Markgrafneusiedl" region="Niederösterreich" 2283 location="Obersiebenbrunn" region="Niederösterreich" 2284 location="Untersiebenbrunn" region="Niederösterreich" 2285 location="Leopoldsdorf im Marchfelde" region="Niederösterreich" 2286 location="Haringsee" region="Niederösterreich" 2291 location="Lassee" region="Niederösterreich" 2292 location="Engelhartstetten" region="Niederösterreich" 2293 location="Marchegg Stadt" region="Niederösterreich" 2294 location="Marchegg Bahnhof" region="Niederösterreich" 2295 location="Oberweiden" region="Niederösterreich" 2301 location="Groß-Enzersdorf" region="Niederösterreich" 2304 location="Orth an der Donau" region="Niederösterreich" 2305 location="Eckartsau" region="Niederösterreich" 2320 location="Schwechat" region="Niederösterreich" 2322 location="Zwölfaxing" region="Niederösterreich" 2325 location="Himberg" region="Niederösterreich" 2326 location="Maria Lanzendorf" region="Niederösterreich" 2331 location="Vösendorf" region="Niederösterreich" 2332 location="Hennersdorf" region="Niederösterreich" 2333 location="Leopoldsdorf" region="Niederösterreich" 2334 location="Vösendorf" region="Niederösterreich" 2340 location="Mödling" region="Niederösterreich" 2344 location="Maria Enzersdorf" region="Niederösterreich" 2345 location="Brunn am Gebirge" region="Niederösterreich" 2351 location="Wiener Neudorf" region="Niederösterreich" 2352 location="Gumpoldskirchen" region="Niederösterreich" 2353 location="Guntramsdorf" region="Niederösterreich" 2361 location="Laxenburg" region="Niederösterreich" 2362 location="Biedermannsdorf" region="Niederösterreich" 2371 location="Hinterbrühl" region="Niederösterreich" 2372 location="Gießhübl" region="Niederösterreich" 2380 location="Perchtoldsdorf" region="Niederösterreich" 2381 location="Laab im Walde" region="Niederösterreich" 2384 location="Breitenfurt bei Wien" region="Niederösterreich" 2391 location="Kaltenleutgeben" region="Niederösterreich" 2392 location="Sulz im Wienerwald" region="Niederösterreich" 2393 location="Sittendorf" region="Niederösterreich" 2401 location="Fischamend" region="Niederösterreich" 2402 location="Maria Ellend" region="Niederösterreich" 2403 location="Regelsbrunn" region="Niederösterreich" 2404 location="Petronell" region="Niederösterreich" 2405 location="Bad Deutsch Altenburg" region="Niederösterreich" 2410 location="Hainburg an der Donau" region="Niederösterreich" 2412 location="Wolfsthal" region="Niederösterreich" 2413 location="Berg" region="Niederösterreich" 2421 location="Kittsee" region="Burgenland" 2422 location="Pama" region="Burgenland" 2423 location="Deutsch Jahrndorf" region="Burgenland" 2424 location="Zurndorf" region="Burgenland" 2425 location="Nickelsdorf" region="Burgenland" 2431 location="Kleinneusiedl" region="Niederösterreich" 2432 location="Schwadorf" region="Niederösterreich" 2433 location="Margarethen am Moos" region="Niederösterreich" 2434 location="Götzendorf an der Leitha" region="Niederösterreich" 2435 location="Ebergassing" region="Niederösterreich" 2440 location="Gramatneusiedl" region="Niederösterreich" 2441 location="Mitterndorf an der Fischa" region="Niederösterreich" 2442 location="Unterwaltersdorf" region="Niederösterreich" 2443 location="Deutsch-Brodersdorf" region="Niederösterreich" 2444 location="Seibersdorf" region="Niederösterreich" 2451 location="Hof am Leithaberge" region="Niederösterreich" 2452 location="Mannersdorf am Leithagebirge" region="Niederösterreich" 2453 location="Sommerein" region="Niederösterreich" 2454 location="Trautmannsdorf an der Leitha" region="Niederösterreich" 2460 location="Bruck an der Leitha" region="Niederösterreich" 2462 location="Wilfleinsdorf" region="Niederösterreich" 2463 location="Stixneusiedl" region="Niederösterreich" 2464 location="Göttlesbrunn" region="Niederösterreich" 2465 location="Höflein" region="Niederösterreich" 2471 location="Rohrau" region="Niederösterreich" 2472 location="Prellenkirchen" region="Niederösterreich" 2473 location="Potzneusiedl" region="Burgenland" 2474 location="Gattendorf" region="Burgenland" 2475 location="Neudorf" region="Burgenland" 2481 location="Achau" region="Niederösterreich" 2482 location="Münchendorf" region="Niederösterreich" 2483 location="Ebreichsdorf" region="Niederösterreich" 2485 location="Wampersdorf" region="Niederösterreich" 2486 location="Pottendorf" region="Niederösterreich" 2490 location="Ebenfurth" region="Niederösterreich" 2491 location="Neufeld an der Leitha" region="Burgenland" 2492 location="Eggendorf" region="Niederösterreich" 2493 location="Lichtenwörth-Nadelburg" region="Niederösterreich" 2500 location="Baden" region="Niederösterreich" 2504 location="Sooß" region="Niederösterreich" 2511 location="Pfaffstätten" region="Niederösterreich" 2512 location="Tribuswinkel" region="Niederösterreich" 2514 location="Traiskirchen" region="Niederösterreich" 2521 location="Trumau" region="Niederösterreich" 2522 location="Oberwaltersdorf" region="Niederösterreich" 2523 location="Tattendorf" region="Niederösterreich" 2524 location="Teesdorf" region="Niederösterreich" 2525 location="Günselsdorf" region="Niederösterreich" 2531 location="Gaaden" region="Niederösterreich" 2532 location="Heiligenkreuz im Wienerwald" region="Niederösterreich" 2533 location="Klausen-Leopoldsdorf" region="Niederösterreich" 2534 location="Alland" region="Niederösterreich" 2540 location="Bad Vöslau" region="Niederösterreich" 2542 location="Kottingbrunn" region="Niederösterreich" 2544 location="Leobersdorf" region="Niederösterreich" 2551 location="Enzesfeld-Lindabrunn" region="Niederösterreich" 2552 location="Hirtenberg" region="Niederösterreich" 2560 location="Berndorf" region="Niederösterreich" 2563 location="Pottenstein" region="Niederösterreich" 2564 location="Weissenbach an der Triesting" region="Niederösterreich" 2565 location="Neuhaus" region="Niederösterreich" 2571 location="Altenmarkt-Thenneberg" region="Niederösterreich" 2572 location="Kaumberg" region="Niederösterreich" 2601 location="Sollenau" region="Niederösterreich" 2602 location="Blumau-Neurißhof" region="Niederösterreich" 2603 location="Felixdorf" region="Niederösterreich" 2604 location="Theresienfeld" region="Niederösterreich" 2620 location="Neunkirchen" region="Niederösterreich" 2624 location="Breitenau" region="Niederösterreich" 2625 location="Schwarzau am Steinfelde" region="Niederösterreich" 2630 location="Ternitz" region="Niederösterreich" 2631 location="Sieding-Stixenstein" region="Niederösterreich" 2632 location="Wimpassing im Schwarzatale" region="Niederösterreich" 2640 location="Gloggnitz" region="Niederösterreich" 2641 location="Schottwien" region="Niederösterreich" 2650 location="Payerbach" region="Niederösterreich" 2651 location="Reichenau an der Rax" region="Niederösterreich" 2654 location="Prein an der Rax" region="Niederösterreich" 2661 location="Naßwald" region="Niederösterreich" 2662 location="Schwarzau im Gebirge" region="Niederösterreich" 2663 location="Rohr im Gebirge" region="Niederösterreich" 2671 location="Küb" region="Niederösterreich" 2673 location="Breitenstein" region="Niederösterreich" 2680 location="Semmering" region="Niederösterreich" 2700 location="Wiener Neustadt" region="Niederösterreich" 2721 location="Bad Fischau" region="Niederösterreich" 2722 location="Winzendorf" region="Niederösterreich" 2723 location="Muthmannsdorf" region="Niederösterreich" 2724 location="Hohe Wand-Stollhof" region="Niederösterreich" 2731 location="St. Egyden am Steinfeld" region="Niederösterreich" 2732 location="Willendorf" region="Niederösterreich" 2733 location="Grünbach am Schneeberg" region="Niederösterreich" 2734 location="Puchberg am Schneeberg" region="Niederösterreich" 2751 location="Steinabrückl" region="Niederösterreich" 2752 location="Wöllersdorf" region="Niederösterreich" 2753 location="Markt Piesting" region="Niederösterreich" 2754 location="Waldegg" region="Niederösterreich" 2755 location="Oed" region="Niederösterreich" 2761 location="Miesenbach" region="Niederösterreich" 2763 location="Pernitz" region="Niederösterreich" 2770 location="Gutenstein" region="Niederösterreich" 2801 location="Katzelsdorf" region="Niederösterreich" 2802 location="Hochwolkersdorf" region="Niederösterreich" 2803 location="Schwarzenbach" region="Niederösterreich" 2811 location="Wiesmath" region="Niederösterreich" 2812 location="Hollenthon" region="Niederösterreich" 2813 location="Lichtenegg" region="Niederösterreich" 2821 location="Lanzenkirchen" region="Niederösterreich" 2822 location="Bad Erlach" region="Niederösterreich" 2823 location="Pitten" region="Niederösterreich" 2824 location="Seebenstein" region="Niederösterreich" 2831 location="Warth" region="Niederösterreich" 2832 location="Thernberg" region="Niederösterreich" 2833 location="Bromberg" region="Niederösterreich" 2840 location="Grimmenstein" region="Niederösterreich" 2842 location="Edlitz" region="Niederösterreich" 2851 location="Krumbach" region="Niederösterreich" 2852 location="Hochneukirchen" region="Niederösterreich" 2853 location="Bad Schönau" region="Niederösterreich" 2860 location="Kirchschlag in der Buckligen Welt" region="Niederösterreich" 2870 location="Aspang" region="Niederösterreich" 2871 location="Zöbern" region="Niederösterreich" 2872 location="Mönichkirchen" region="Niederösterreich" 2873 location="Feistritz am Wechsel" region="Niederösterreich" 2880 location="Kirchberg am Wechsel" region="Niederösterreich" 2881 location="Trattenbach" region="Niederösterreich" 3001 location="Mauerbach" region="Niederösterreich" 3002 location="Purkersdorf" region="Niederösterreich" 3003 location="Gablitz" region="Niederösterreich" 3004 location="Ried am Riederberg" region="Niederösterreich" 3011 location="Untertullnerbach" region="Niederösterreich" 3012 location="Wolfsgraben" region="Niederösterreich" 3013 location="Tullnerbach-Lawies" region="Niederösterreich" 3021 location="Pressbaum" region="Niederösterreich" 3031 location="Rekawinkel" region="Niederösterreich" 3032 location="Eichgraben" region="Niederösterreich" 3033 location="Altlengbach" region="Niederösterreich" 3034 location="Maria Anzbach" region="Niederösterreich" 3040 location="Neulengbach" region="Niederösterreich" 3041 location="Asperhofen" region="Niederösterreich" 3042 location="Würmla" region="Niederösterreich" 3051 location="St. Christophen" region="Niederösterreich" 3052 location="Innermanzing" region="Niederösterreich" 3053 location="Laaben" region="Niederösterreich" 3061 location="Ollersbach" region="Niederösterreich" 3062 location="Kirchstetten" region="Niederösterreich" 3071 location="Böheimkirchen" region="Niederösterreich" 3072 location="Kasten bei Böheimkirchen" region="Niederösterreich" 3073 location="Stössing" region="Niederösterreich" 3074 location="Michelbach" region="Niederösterreich" 3100 location="St. Pölten" region="Niederösterreich" 3104 location="St. Pölten-Harland" region="Niederösterreich" 3105 location="St. Pölten-Radlberg" region="Niederösterreich" 3107 location="St. Pölten-Traisenpark" region="Niederösterreich" 3110 location="Neidling" region="Niederösterreich" 3121 location="Karlstetten" region="Niederösterreich" 3122 location="Gansbach" region="Niederösterreich" 3123 location="Obritzberg" region="Niederösterreich" 3124 location="Oberwölbling" region="Niederösterreich" 3125 location="Statzendorf" region="Niederösterreich" 3130 location="Herzogenburg" region="Niederösterreich" 3131 location="Getzersdorf" region="Niederösterreich" 3133 location="Traismauer" region="Niederösterreich" 3134 location="Nußdorf" region="Niederösterreich" 3140 location="Pottenbrunn" region="Niederösterreich" 3141 location="Kapelln" region="Niederösterreich" 3142 location="Perschling" region="Niederösterreich" 3143 location="Pyhra" region="Niederösterreich" 3144 location="Wald" region="Niederösterreich" 3150 location="Wilhelmsburg" region="Niederösterreich" 3151 location="St. Georgen am Steinfelde" region="Niederösterreich" 3153 location="Eschenau" region="Niederösterreich" 3160 location="Traisen" region="Niederösterreich" 3161 location="St. Veit an der Gölsen" region="Niederösterreich" 3162 location="Rainfeld" region="Niederösterreich" 3163 location="Rohrbach" region="Niederösterreich" 3170 location="Hainfeld" region="Niederösterreich" 3171 location="Kleinzell-Salzerbad" region="Niederösterreich" 3172 location="Ramsau" region="Niederösterreich" 3180 location="Lilienfeld" region="Niederösterreich" 3183 location="Freiland" region="Niederösterreich" 3184 location="Türnitz" region="Niederösterreich" 3192 location="Hohenberg" region="Niederösterreich" 3193 location="St. Aegyd am Neuwalde" region="Niederösterreich" 3195 location="Kernhof" region="Niederösterreich" 3200 location="Ober-Grafendorf" region="Niederösterreich" 3202 location="Hofstetten" region="Niederösterreich" 3203 location="Rabenstein an der Pielach" region="Niederösterreich" 3204 location="Kirchberg an der Pielach" region="Niederösterreich" 3205 location="Weinburg" region="Niederösterreich" 3211 location="Loich" region="Niederösterreich" 3212 location="Schwarzenbach an der Pielach" region="Niederösterreich" 3213 location="Frankenfels" region="Niederösterreich" 3214 location="Puchenstuben" region="Niederösterreich" 3221 location="Gösing an der Mariazellerbahn" region="Niederösterreich" 3222 location="Annaberg" region="Niederösterreich" 3223 location="Wienerbruck" region="Niederösterreich" 3224 location="Mitterbach" region="Niederösterreich" 3231 location="St. Margarethen an der Sierning" region="Niederösterreich" 3232 location="Bischofstetten" region="Niederösterreich" 3233 location="Kilb" region="Niederösterreich" 3240 location="Mank" region="Niederösterreich" 3241 location="Kirnberg an der Mank" region="Niederösterreich" 3242 location="Texing" region="Niederösterreich" 3243 location="St. Leonhard am Forst" region="Niederösterreich" 3244 location="Ruprechtshofen" region="Niederösterreich" 3250 location="Wieselburg" region="Niederösterreich" 3251 location="Purgstall" region="Niederösterreich" 3252 location="Petzenkirchen" region="Niederösterreich" 3253 location="Erlauf" region="Niederösterreich" 3254 location="Bergland" region="Niederösterreich" 3261 location="Steinakirchen am Forst" region="Niederösterreich" 3262 location="Wang" region="Niederösterreich" 3263 location="Randegg" region="Niederösterreich" 3264 location="Gresten" region="Niederösterreich" 3270 location="Scheibbs" region="Niederösterreich" 3281 location="Oberndorf an der Melk" region="Niederösterreich" 3282 location="St. Georgen an der Leys" region="Niederösterreich" 3283 location="St. Anton an der Jeßnitz" region="Niederösterreich" 3291 location="Kienberg" region="Niederösterreich" 3292 location="Gaming" region="Niederösterreich" 3293 location="Lunz am See" region="Niederösterreich" 3294 location="Langau" region="Niederösterreich" 3295 location="Lackenhof" region="Niederösterreich" 3300 location="Amstetten" region="Niederösterreich" 3304 location="St. Georgen am Ybbsfelde" region="Niederösterreich" 3311 location="Zeillern" region="Niederösterreich" 3312 location="Oed" region="Niederösterreich" 3313 location="Wallsee" region="Niederösterreich" 3314 location="Strengberg" region="Niederösterreich" 3321 location="Ardagger" region="Niederösterreich" 3322 location="Viehdorf" region="Niederösterreich" 3323 location="Neustadtl an der Donau" region="Niederösterreich" 3324 location="Euratsfeld" region="Niederösterreich" 3325 location="Ferschnitz" region="Niederösterreich" 3331 location="Kematen" region="Niederösterreich" 3332 location="Rosenau am Sonntagberg" region="Niederösterreich" 3333 location="Böhlerwerk" region="Niederösterreich" 3334 location="Gaflenz" region="Oberösterreich" 3335 location="Weyer" region="Oberösterreich" 3340 location="Waidhofen an der Ybbs" region="Niederösterreich" 3341 location="Ybbsitz" region="Niederösterreich" 3342 location="Opponitz" region="Niederösterreich" 3343 location="Hollenstein an der Ybbs" region="Niederösterreich" 3344 location="St. Georgen am Reith" region="Niederösterreich" 3345 location="Göstling an der Ybbs" region="Niederösterreich" 3350 location="Haag" region="Niederösterreich" 3351 location="Weistrach" region="Niederösterreich" 3352 location="St. Peter in der Au" region="Niederösterreich" 3353 location="Seitenstetten" region="Niederösterreich" 3354 location="Wolfsbach" region="Niederösterreich" 3355 location="Ertl" region="Niederösterreich" 3361 location="Aschbach Markt" region="Niederösterreich" 3362 location="Mauer-Öhling" region="Niederösterreich" 3363 location="Ulmerfeld-Hausmening" region="Niederösterreich" 3364 location="Neuhofen an der Ybbs" region="Niederösterreich" 3365 location="Allhartsberg" region="Niederösterreich" 3370 location="Ybbs an der Donau" region="Niederösterreich" 3371 location="Neumarkt an der Ybbs" region="Niederösterreich" 3372 location="Blindenmarkt" region="Niederösterreich" 3373 location="Kemmelbach" region="Niederösterreich" 3374 location="Säusenstein" region="Niederösterreich" 3375 location="Krummnußbaum" region="Niederösterreich" 3376 location="St. Martin-Karlsbach" region="Niederösterreich" 3380 location="Pöchlarn" region="Niederösterreich" 3381 location="Golling" region="Niederösterreich" 3382 location="Loosdorf" region="Niederösterreich" 3383 location="Hürm" region="Niederösterreich" 3384 location="Groß Sierning" region="Niederösterreich" 3385 location="Prinzersdorf" region="Niederösterreich" 3386 location="Hafnerbach" region="Niederösterreich" 3390 location="Melk" region="Niederösterreich" 3392 location="Schönbühel an der Donau" region="Niederösterreich" 3393 location="Matzleinsdorf" region="Niederösterreich" 3400 location="Klosterneuburg" region="Niederösterreich" 3413 location="Hintersdorf" region="Niederösterreich" 3420 location="Kritzendorf" region="Niederösterreich" 3421 location="Höflein an der Donau" region="Niederösterreich" 3422 location="Greifenstein" region="Niederösterreich" 3423 location="St. Andrä-Wördern" region="Niederösterreich" 3424 location="Zeiselmauer" region="Niederösterreich" 3425 location="Langenlebarn" region="Niederösterreich" 3426 location="Muckendorf-Wipfing" region="Niederösterreich" 3430 location="Tulln an der Donau" region="Niederösterreich" 3433 location="Königstetten" region="Niederösterreich" 3434 location="Tulbing" region="Niederösterreich" 3435 location="Zwentendorf an der Donau" region="Niederösterreich" 3441 location="Judenau" region="Niederösterreich" 3442 location="Langenrohr" region="Niederösterreich" 3443 location="Sieghartskirchen" region="Niederösterreich" 3451 location="Michelhausen" region="Niederösterreich" 3452 location="Atzenbrugg" region="Niederösterreich" 3454 location="Sitzenberg-Reidling" region="Niederösterreich" 3462 location="Absdorf" region="Niederösterreich" 3463 location="Stetteldorf am Wagram" region="Niederösterreich" 3464 location="Hausleiten" region="Niederösterreich" 3465 location="Königsbrunn am Wagram" region="Niederösterreich" 3470 location="Kirchberg am Wagram" region="Niederösterreich" 3471 location="Großriedenthal" region="Niederösterreich" 3472 location="Hohenwarth" region="Niederösterreich" 3473 location="Mühlbach am Manhartsberg" region="Niederösterreich" 3474 location="Altenwörth" region="Niederösterreich" 3481 location="Fels am Wagram" region="Niederösterreich" 3482 location="Gösing am Wagram" region="Niederösterreich" 3483 location="Feuersbrunn" region="Niederösterreich" 3484 location="Grafenwörth" region="Niederösterreich" 3485 location="Haitzendorf" region="Niederösterreich" 3491 location="Straß im Straßertale" region="Niederösterreich" 3492 location="Etsdorf am Kamp" region="Niederösterreich" 3493 location="Hadersdorf am Kamp" region="Niederösterreich" 3494 location="Gedersdorf" region="Niederösterreich" 3495 location="Rohrendorf bei Krems" region="Niederösterreich" 3500 location="Krems an der Donau" region="Niederösterreich" 3506 location="Krems-Hollenburg" region="Niederösterreich" 3508 location="Paudorf" region="Niederösterreich" 3511 location="Furth bei Göttweig" region="Niederösterreich" 3512 location="Mautern" region="Niederösterreich" 3521 location="Obermeisling" region="Niederösterreich" 3522 location="Lichtenau" region="Niederösterreich" 3524 location="Grainbrunn" region="Niederösterreich" 3525 location="Sallingberg" region="Niederösterreich" 3531 location="Niedernondorf" region="Niederösterreich" 3532 location="Rastenfeld" region="Niederösterreich" 3533 location="Friedersbach" region="Niederösterreich" 3541 location="Senftenberg" region="Niederösterreich" 3542 location="Gföhl" region="Niederösterreich" 3543 location="Krumau am Kamp" region="Niederösterreich" 3544 location="Idolsberg" region="Niederösterreich" 3550 location="Langenlois" region="Niederösterreich" 3552 location="Lengenfeld" region="Niederösterreich" 3553 location="Schiltern" region="Niederösterreich" 3561 location="Zöbing" region="Niederösterreich" 3562 location="Schönberg" region="Niederösterreich" 3564 location="Plank am Kamp" region="Niederösterreich" 3571 location="Gars am Kamp" region="Niederösterreich" 3572 location="St. Leonhard am Hornerwald" region="Niederösterreich" 3573 location="Rosenburg" region="Niederösterreich" 3580 location="Horn" region="Niederösterreich" 3591 location="Altenburg" region="Niederösterreich" 3592 location="Röhrenbach" region="Niederösterreich" 3593 location="Neupölla" region="Niederösterreich" 3594 location="Franzen" region="Niederösterreich" 3595 location="Brunn an der Wild" region="Niederösterreich" 3601 location="Dürnstein" region="Niederösterreich" 3602 location="Rossatz" region="Niederösterreich" 3610 location="Weißenkirchen in der Wachau" region="Niederösterreich" 3611 location="Großheinrichschlag" region="Niederösterreich" 3613 location="Albrechtsberg an der Großen Krems" region="Niederösterreich" 3620 location="Spitz" region="Niederösterreich" 3621 location="Mitterarnsdorf" region="Niederösterreich" 3622 location="Mühldorf" region="Niederösterreich" 3623 location="Kottes" region="Niederösterreich" 3631 location="Ottenschlag" region="Niederösterreich" 3632 location="Bad Traunstein" region="Niederösterreich" 3633 location="Schönbach" region="Niederösterreich" 3641 location="Aggsbach Markt" region="Niederösterreich" 3642 location="Aggsbach Dorf" region="Niederösterreich" 3643 location="Maria Laach am Jauerling" region="Niederösterreich" 3644 location="Emmersdorf an der Donau" region="Niederösterreich" 3650 location="Pöggstall" region="Niederösterreich" 3652 location="Leiben" region="Niederösterreich" 3653 location="Weiten" region="Niederösterreich" 3654 location="Raxendorf" region="Niederösterreich" 3660 location="Klein-Pöchlarn" region="Niederösterreich" 3661 location="Artstetten" region="Niederösterreich" 3662 location="Münichreith" region="Niederösterreich" 3663 location="Laimbach am Ostrong" region="Niederösterreich" 3664 location="Martinsberg" region="Niederösterreich" 3665 location="Gutenbrunn" region="Niederösterreich" 3671 location="Marbach an der Donau" region="Niederösterreich" 3672 location="Maria Taferl" region="Niederösterreich" 3680 location="Persenbeug" region="Niederösterreich" 3681 location="Hofamt Priel" region="Niederösterreich" 3683 location="Yspertal" region="Niederösterreich" 3684 location="St. Oswald" region="Niederösterreich" 3691 location="Nöchling" region="Niederösterreich" 3701 location="Großweikersdorf" region="Niederösterreich" 3702 location="Niederrußbach" region="Niederösterreich" 3704 location="Glaubendorf" region="Niederösterreich" 3710 location="Ziersdorf" region="Niederösterreich" 3711 location="Großmeiseldorf" region="Niederösterreich" 3712 location="Maissau" region="Niederösterreich" 3713 location="Harmannsdorf" region="Niederösterreich" 3714 location="Sitzendorf an der Schmida" region="Niederösterreich" 3720 location="Ravelsbach" region="Niederösterreich" 3721 location="Limberg" region="Niederösterreich" 3722 location="Straning" region="Niederösterreich" 3730 location="Eggenburg" region="Niederösterreich" 3741 location="Pulkau" region="Niederösterreich" 3742 location="Theras" region="Niederösterreich" 3743 location="Röschitz" region="Niederösterreich" 3744 location="Stockern" region="Niederösterreich" 3751 location="Sigmundsherberg" region="Niederösterreich" 3752 location="Walkenstein" region="Niederösterreich" 3753 location="Hötzelsdorf" region="Niederösterreich" 3754 location="Irnfritz" region="Niederösterreich" 3761 location="Messern" region="Niederösterreich" 3762 location="Ludweis" region="Niederösterreich" 3763 location="Japons" region="Niederösterreich" 3800 location="Göpfritz an der Wild" region="Niederösterreich" 3804 location="Allentsteig" region="Niederösterreich" 3811 location="Kirchberg an der Wild" region="Niederösterreich" 3812 location="Groß Siegharts" region="Niederösterreich" 3813 location="Dietmanns" region="Niederösterreich" 3814 location="Aigen" region="Niederösterreich" 3820 location="Raabs an der Thaya" region="Niederösterreich" 3822 location="Karlstein an der Thaya" region="Niederösterreich" 3823 location="Weikertschlag an der Thaya" region="Niederösterreich" 3824 location="Großau" region="Niederösterreich" 3830 location="Waidhofen an der Thaya" region="Niederösterreich" 3834 location="Pfaffenschlag bei Waidhofen an der Thaya" region="Niederösterreich" 3841 location="Windigsteig" region="Niederösterreich" 3842 location="Thaya" region="Niederösterreich" 3843 location="Dobersberg" region="Niederösterreich" 3844 location="Waldkirchen an der Thaya" region="Niederösterreich" 3851 location="Kautzen" region="Niederösterreich" 3852 location="Gastern" region="Niederösterreich" 3860 location="Heidenreichstein" region="Niederösterreich" 3861 location="Eggern" region="Niederösterreich" 3862 location="Eisgarn" region="Niederösterreich" 3863 location="Reingers" region="Niederösterreich" 3871 location="Nagelberg" region="Niederösterreich" 3872 location="Langegg" region="Niederösterreich" 3873 location="Brand" region="Niederösterreich" 3874 location="Litschau" region="Niederösterreich" 3900 location="Schwarzenau" region="Niederösterreich" 3902 location="Vitis" region="Niederösterreich" 3903 location="Echsenbach" region="Niederösterreich" 3910 location="Zwettl" region="Niederösterreich" 3911 location="Rappottenstein" region="Niederösterreich" 3912 location="Grafenschlag" region="Niederösterreich" 3913 location="Großgöttfritz" region="Niederösterreich" 3914 location="Waldhausen" region="Niederösterreich" 3920 location="Groß Gerungs" region="Niederösterreich" 3921 location="Langschlag" region="Niederösterreich" 3922 location="Großschönau" region="Niederösterreich" 3923 location="Jagenbach" region="Niederösterreich" 3924 location="Rosenau Schloß" region="Niederösterreich" 3925 location="Arbesbach" region="Niederösterreich" 3931 location="Schweiggers" region="Niederösterreich" 3932 location="Kirchberg am Walde" region="Niederösterreich" 3942 location="Hirschbach" region="Niederösterreich" 3943 location="Schrems" region="Niederösterreich" 3944 location="Pürbach" region="Niederösterreich" 3945 location="Hoheneich" region="Niederösterreich" 3950 location="Gmünd" region="Niederösterreich" 3961 location="Waldenstein" region="Niederösterreich" 3962 location="Heinrichs bei Weitra" region="Niederösterreich" 3970 location="Weitra" region="Niederösterreich" 3971 location="St. Martin" region="Niederösterreich" 3972 location="Bad Großpertholz" region="Niederösterreich" 3973 location="Karlstift" region="Niederösterreich" 4020 location="Linz" region="Oberösterreich" 4030 location="Linz" region="Oberösterreich" 4040 location="Linz" region="Oberösterreich" 4048 location="Puchenau" region="Oberösterreich" 4050 location="Traun" region="Oberösterreich" 4052 location="Ansfelden" region="Oberösterreich" 4053 location="Haid" region="Oberösterreich" 4055 location="Pucking" region="Oberösterreich" 4060 location="Leonding" region="Oberösterreich" 4061 location="Pasching" region="Oberösterreich" 4062 location="Thening" region="Oberösterreich" 4063 location="Hörsching" region="Oberösterreich" 4064 location="Oftering" region="Oberösterreich" 4070 location="Eferding" region="Oberösterreich" 4072 location="Alkoven" region="Oberösterreich" 4073 location="Wilhering" region="Oberösterreich" 4074 location="Stroheim" region="Oberösterreich" 4075 location="Breitenaich" region="Oberösterreich" 4076 location="St. Marienkirchen an der Polsenz" region="Oberösterreich" 4081 location="Hartkirchen" region="Oberösterreich" 4082 location="Aschach an der Donau" region="Oberösterreich" 4083 location="Haibach ob der Donau" region="Oberösterreich" 4084 location="St. Agatha" region="Oberösterreich" 4085 location="Wesenufer" region="Oberösterreich" 4090 location="Engelhartszell" region="Oberösterreich" 4091 location="Vichtenstein" region="Oberösterreich" 4092 location="Esternberg" region="Oberösterreich" 4100 location="Ottensheim" region="Oberösterreich" 4101 location="Feldkirchen an der Donau" region="Oberösterreich" 4102 location="Goldwörth" region="Oberösterreich" 4111 location="Walding" region="Oberösterreich" 4112 location="Rottenegg" region="Oberösterreich" 4113 location="St. Martin im Mühlkreis" region="Oberösterreich" 4114 location="Neuhaus an der Donau" region="Oberösterreich" 4115 location="Kleinzell im Mühlkreis" region="Oberösterreich" 4116 location="St. Ulrich im Mühlkreis" region="Oberösterreich" 4120 location="Neufelden" region="Oberösterreich" 4121 location="Altenfelden" region="Oberösterreich" 4122 location="Arnreit" region="Oberösterreich" 4131 location="Kirchberg ob der Donau" region="Oberösterreich" 4132 location="Lembach im Mühlkreis" region="Oberösterreich" 4133 location="Niederkappel" region="Oberösterreich" 4134 location="Putzleinsdorf" region="Oberösterreich" 4141 location="Pfarrkirchen im Mühlkreis" region="Oberösterreich" 4142 location="Hofkirchen im Mühlkreis" region="Oberösterreich" 4143 location="Neustift im Mühlkreis" region="Oberösterreich" 4144 location="Oberkappel" region="Oberösterreich" 4150 location="Rohrbach in Oberösterreich" region="Oberösterreich" 4151 location="Oepping" region="Oberösterreich" 4152 location="Sarleinsbach" region="Oberösterreich" 4153 location="Peilstein im Mühlviertel" region="Oberösterreich" 4154 location="Kollerschlag" region="Oberösterreich" 4155 location="Nebelberg" region="Oberösterreich" 4160 location="Aigen-Schlägl" region="Oberösterreich" 4161 location="Ulrichsberg" region="Oberösterreich" 4162 location="Julbach" region="Oberösterreich" 4163 location="Klaffer am Hochficht" region="Oberösterreich" 4164 location="Schwarzenberg am Böhmerwald" region="Oberösterreich" 4170 location="Haslach an der Mühl" region="Oberösterreich" 4171 location="St. Peter am Wimberg" region="Oberösterreich" 4172 location="St. Johann am Wimberg" region="Oberösterreich" 4173 location="St. Veit im Mühlkreis" region="Oberösterreich" 4174 location="Niederwaldkirchen" region="Oberösterreich" 4175 location="Herzogsdorf" region="Oberösterreich" 4180 location="Zwettl an der Rodl" region="Oberösterreich" 4181 location="Oberneukirchen" region="Oberösterreich" 4182 location="Waxenberg" region="Oberösterreich" 4183 location="Traberg" region="Oberösterreich" 4184 location="Helfenberg" region="Oberösterreich" 4190 location="Bad Leonfelden" region="Oberösterreich" 4191 location="Vorderweißenbach" region="Oberösterreich" 4192 location="Schenkenfelden" region="Oberösterreich" 4193 location="Reichenthal" region="Oberösterreich" 4201 location="Gramastetten" region="Oberösterreich" 4202 location="Hellmonsödt" region="Oberösterreich" 4203 location="Altenberg bei Linz" region="Oberösterreich" 4204 location="Reichenau im Mühlkreis" region="Oberösterreich" 4209 location="Engerwitzdorf" region="Oberösterreich" 4210 location="Gallneukirchen" region="Oberösterreich" 4211 location="Alberndorf in der Riedmark" region="Oberösterreich" 4212 location="Neumarkt im Mühlkreis" region="Oberösterreich" 4221 location="Steyregg" region="Oberösterreich" 4222 location="St. Georgen an der Gusen" region="Oberösterreich" 4223 location="Katsdorf" region="Oberösterreich" 4224 location="Wartberg ob der Aist" region="Oberösterreich" 4225 location="Luftenberg" region="Oberösterreich" 4230 location="Pregarten" region="Oberösterreich" 4232 location="Hagenberg im Mühlkreis" region="Oberösterreich" 4240 location="Freistadt" region="Oberösterreich" 4242 location="Hirschbach im Mühlkreis" region="Oberösterreich" 4251 location="Sandl" region="Oberösterreich" 4252 location="Liebenau" region="Oberösterreich" 4261 location="Rainbach im Mühlkreis" region="Oberösterreich" 4262 location="Leopoldschlag" region="Oberösterreich" 4263 location="Windhaag bei Freistadt" region="Oberösterreich" 4264 location="Grünbach" region="Oberösterreich" 4271 location="St. Oswald bei Freistadt" region="Oberösterreich" 4272 location="Weitersfelden" region="Oberösterreich" 4273 location="Unterweißenbach" region="Oberösterreich" 4274 location="Schönau im Mühlkreis" region="Oberösterreich" 4280 location="Königswiesen" region="Oberösterreich" 4281 location="Mönchdorf" region="Oberösterreich" 4282 location="Pierbach" region="Oberösterreich" 4283 location="Bad Zell" region="Oberösterreich" 4284 location="Tragwein" region="Oberösterreich" 4291 location="Lasberg" region="Oberösterreich" 4292 location="Kefermarkt" region="Oberösterreich" 4293 location="Gutau" region="Oberösterreich" 4294 location="St. Leonhard bei Freistadt" region="Oberösterreich" 4300 location="St. Valentin" region="Niederösterreich" 4303 location="St. Pantaleon" region="Niederösterreich" 4310 location="Mauthausen" region="Oberösterreich" 4311 location="Schwertberg" region="Oberösterreich" 4312 location="Ried in der Riedmark" region="Oberösterreich" 4320 location="Perg" region="Oberösterreich" 4322 location="Windhaag bei Perg" region="Oberösterreich" 4323 location="Münzbach" region="Oberösterreich" 4324 location="Rechberg" region="Oberösterreich" 4331 location="Naarn" region="Oberösterreich" 4332 location="Au an der Donau" region="Oberösterreich" 4341 location="Arbing" region="Oberösterreich" 4342 location="Baumgartenberg" region="Oberösterreich" 4343 location="Mitterkirchen" region="Oberösterreich" 4351 location="Saxen" region="Oberösterreich" 4352 location="Klam" region="Oberösterreich" 4360 location="Grein" region="Oberösterreich" 4362 location="Bad Kreuzen" region="Oberösterreich" 4363 location="Pabneukirchen" region="Oberösterreich" 4364 location="St. Thomas" region="Oberösterreich" 4371 location="Dimbach" region="Oberösterreich" 4372 location="St. Georgen am Walde" region="Oberösterreich" 4381 location="St. Nikola an der Donau" region="Oberösterreich" 4382 location="Sarmingstein" region="Oberösterreich" 4391 location="Waldhausen im Strudengau" region="Oberösterreich" 4392 location="Dorfstetten" region="Niederösterreich" 4400 location="Steyr" region="Oberösterreich" 4407 location="Steyr-Gleink" region="Oberösterreich" 4421 location="Aschach an der Steyr" region="Oberösterreich" 4431 location="Haidershofen" region="Niederösterreich" 4432 location="Ernsthofen" region="Niederösterreich" 4441 location="Behamberg" region="Niederösterreich" 4442 location="Kleinraming" region="Oberösterreich" 4443 location="Maria Neustift" region="Oberösterreich" 4451 location="Garsten" region="Oberösterreich" 4452 location="Ternberg" region="Oberösterreich" 4453 location="Trattenbach" region="Oberösterreich" 4460 location="Losenstein" region="Oberösterreich" 4461 location="Laussa" region="Oberösterreich" 4462 location="Reichraming" region="Oberösterreich" 4463 location="Großraming" region="Oberösterreich" 4464 location="Kleinreifling" region="Oberösterreich" 4470 location="Enns" region="Oberösterreich" 4481 location="Asten" region="Oberösterreich" 4482 location="Ennsdorf" region="Niederösterreich" 4483 location="Hargelsberg" region="Oberösterreich" 4484 location="Kronstorf" region="Oberösterreich" 4490 location="St. Florian" region="Oberösterreich" 4491 location="Niederneukirchen" region="Oberösterreich" 4492 location="Hofkirchen im Traunkreis" region="Oberösterreich" 4493 location="Wolfern" region="Oberösterreich" 4501 location="Neuhofen an der Krems" region="Oberösterreich" 4502 location="St. Marien" region="Oberösterreich" 4511 location="Allhaming" region="Oberösterreich" 4521 location="Schiedlberg" region="Oberösterreich" 4522 location="Sierning" region="Oberösterreich" 4523 location="Neuzeug" region="Oberösterreich" 4531 location="Kematen an der Krems" region="Oberösterreich" 4532 location="Rohr im Kremstal" region="Oberösterreich" 4533 location="Piberbach" region="Oberösterreich" 4540 location="Bad Hall" region="Oberösterreich" 4541 location="Adlwang" region="Oberösterreich" 4542 location="Nußbach" region="Oberösterreich" 4550 location="Kremsmünster" region="Oberösterreich" 4551 location="Ried im Traunkreis" region="Oberösterreich" 4552 location="Wartberg an der Krems" region="Oberösterreich" 4553 location="Schlierbach" region="Oberösterreich" 4554 location="Oberschlierbach" region="Oberösterreich" 4560 location="Kirchdorf an der Krems" region="Oberösterreich" 4562 location="Steinbach am Ziehberg" region="Oberösterreich" 4563 location="Micheldorf" region="Oberösterreich" 4564 location="Klaus an der Pyhrnbahn" region="Oberösterreich" 4565 location="Inzersdorf im Kremstal" region="Oberösterreich" 4571 location="Steyrling" region="Oberösterreich" 4572 location="St. Pankraz" region="Oberösterreich" 4573 location="Hinterstoder" region="Oberösterreich" 4574 location="Vorderstoder" region="Oberösterreich" 4575 location="Roßleithen" region="Oberösterreich" 4580 location="Windischgarsten" region="Oberösterreich" 4581 location="Rosenau am Hengstpaß" region="Oberösterreich" 4582 location="Spital am Pyhrn" region="Oberösterreich" 4591 location="Molln" region="Oberösterreich" 4592 location="Leonstein" region="Oberösterreich" 4593 location="Obergrünburg" region="Oberösterreich" 4594 location="Grünburg" region="Oberösterreich" 4595 location="Waldneukirchen" region="Oberösterreich" 4596 location="Steinbach an der Steyr" region="Oberösterreich" 4600 location="Wels" region="Oberösterreich" 4611 location="Buchkirchen" region="Oberösterreich" 4612 location="Scharten" region="Oberösterreich" 4613 location="Mistelbach bei Wels" region="Oberösterreich" 4614 location="Marchtrenk" region="Oberösterreich" 4615 location="Holzhausen" region="Oberösterreich" 4616 location="Weißkirchen" region="Oberösterreich" 4621 location="Sipbachzell" region="Oberösterreich" 4622 location="Eggendorf im Traunkreis" region="Oberösterreich" 4623 location="Gunskirchen" region="Oberösterreich" 4624 location="Pennewang" region="Oberösterreich" 4625 location="Offenhausen" region="Oberösterreich" 4631 location="Krenglbach" region="Oberösterreich" 4632 location="Pichl bei Wels" region="Oberösterreich" 4633 location="Kematen am Innbach" region="Oberösterreich" 4641 location="Steinhaus" region="Oberösterreich" 4642 location="Sattledt" region="Oberösterreich" 4643 location="Pettenbach" region="Oberösterreich" 4644 location="Scharnstein" region="Oberösterreich" 4645 location="Grünau im Almtal" region="Oberösterreich" 4650 location="Lambach" region="Oberösterreich" 4651 location="Stadl-Paura" region="Oberösterreich" 4652 location="Steinerkirchen an der Traun" region="Oberösterreich" 4653 location="Eberstalzell" region="Oberösterreich" 4654 location="Bad Wimsbach-Neydharting" region="Oberösterreich" 4655 location="Vorchdorf" region="Oberösterreich" 4656 location="Kirchham" region="Oberösterreich" 4661 location="Roitham am Traunfall" region="Oberösterreich" 4662 location="Steyrermühl" region="Oberösterreich" 4663 location="Laakirchen" region="Oberösterreich" 4664 location="Oberweis" region="Oberösterreich" 4671 location="Neukirchen bei Lambach" region="Oberösterreich" 4672 location="Bachmanning" region="Oberösterreich" 4673 location="Gaspoltshofen" region="Oberösterreich" 4674 location="Altenhof am Hausruck" region="Oberösterreich" 4675 location="Weibern" region="Oberösterreich" 4676 location="Aistersheim" region="Oberösterreich" 4680 location="Haag am Hausruck" region="Oberösterreich" 4681 location="Rottenbach" region="Oberösterreich" 4682 location="Geboltskirchen" region="Oberösterreich" 4690 location="Schwanenstadt" region="Oberösterreich" 4691 location="Breitenschützing" region="Oberösterreich" 4692 location="Niederthalheim" region="Oberösterreich" 4693 location="Desselbrunn" region="Oberösterreich" 4694 location="Ohlsdorf" region="Oberösterreich" 4701 location="Bad Schallerbach" region="Oberösterreich" 4702 location="Wallern an der Trattnach" region="Oberösterreich" 4707 location="Schlüßlberg" region="Oberösterreich" 4710 location="Grieskirchen" region="Oberösterreich" 4712 location="Michaelnbach" region="Oberösterreich" 4713 location="Gallspach" region="Oberösterreich" 4714 location="Meggenhofen" region="Oberösterreich" 4715 location="Taufkirchen an der Trattnach" region="Oberösterreich" 4716 location="Hofkirchen an der Trattnach" region="Oberösterreich" 4720 location="Neumarkt im Hausruckkreis" region="Oberösterreich" 4721 location="Altschwendt" region="Oberösterreich" 4722 location="Peuerbach" region="Oberösterreich" 4723 location="Natternbach" region="Oberösterreich" 4724 location="Neukirchen am Walde" region="Oberösterreich" 4725 location="St. Aegidi" region="Oberösterreich" 4730 location="Waizenkirchen" region="Oberösterreich" 4731 location="Prambachkirchen" region="Oberösterreich" 4732 location="St. Thomas" region="Oberösterreich" 4733 location="Heiligenberg" region="Oberösterreich" 4741 location="Wendling" region="Oberösterreich" 4742 location="Pram" region="Oberösterreich" 4743 location="Peterskirchen" region="Oberösterreich" 4751 location="Dorf" region="Oberösterreich" 4752 location="Riedau" region="Oberösterreich" 4753 location="Taiskirchen im Innkreis" region="Oberösterreich" 4754 location="Andrichsfurt" region="Oberösterreich" 4755 location="Zell an der Pram" region="Oberösterreich" 4760 location="Raab" region="Oberösterreich" 4761 location="Enzenkirchen" region="Oberösterreich" 4762 location="St. Willibald" region="Oberösterreich" 4770 location="Andorf" region="Oberösterreich" 4771 location="Sigharting" region="Oberösterreich" 4772 location="Lambrechten" region="Oberösterreich" 4773 location="Eggerding" region="Oberösterreich" 4774 location="St. Marienkirchen bei Schärding" region="Oberösterreich" 4775 location="Taufkirchen an der Pram" region="Oberösterreich" 4776 location="Diersbach" region="Oberösterreich" 4777 location="Mayrhof" region="Oberösterreich" 4780 location="Schärding" region="Oberösterreich" 4782 location="St. Florian am Inn" region="Oberösterreich" 4783 location="Wernstein am Inn" region="Oberösterreich" 4784 location="Schardenberg" region="Oberösterreich" 4785 location="Freinberg" region="Oberösterreich" 4786 location="Brunnenthal" region="Oberösterreich" 4791 location="Rainbach im Innkreis" region="Oberösterreich" 4792 location="Münzkirchen" region="Oberösterreich" 4793 location="St. Roman" region="Oberösterreich" 4794 location="Kopfing im Innkreis" region="Oberösterreich" 4800 location="Attnang-Puchheim" region="Oberösterreich" 4801 location="Traunkirchen" region="Oberösterreich" 4802 location="Ebensee" region="Oberösterreich" 4810 location="Gmunden" region="Oberösterreich" 4812 location="Pinsdorf" region="Oberösterreich" 4813 location="Altmünster" region="Oberösterreich" 4814 location="Neukirchen" region="Oberösterreich" 4816 location="Gschwandt" region="Oberösterreich" 4817 location="St. Konrad" region="Oberösterreich" 4820 location="Bad Ischl" region="Oberösterreich" 4821 location="Lauffen" region="Oberösterreich" 4822 location="Bad Goisern am Hallstättersee" region="Oberösterreich" 4823 location="Steeg" region="Oberösterreich" 4824 location="Gosau" region="Oberösterreich" 4825 location="Gosau-Hintertal" region="Oberösterreich" 4830 location="Hallstatt" region="Oberösterreich" 4831 location="Obertraun" region="Oberösterreich" 4840 location="Vöcklabruck" region="Oberösterreich" 4841 location="Ungenach" region="Oberösterreich" 4842 location="Zell am Pettenfirst" region="Oberösterreich" 4843 location="Ampflwang" region="Oberösterreich" 4844 location="Regau" region="Oberösterreich" 4845 location="Rutzenmoos" region="Oberösterreich" 4846 location="Redlham" region="Oberösterreich" 4849 location="Puchkirchen am Trattberg" region="Oberösterreich" 4850 location="Timelkam" region="Oberösterreich" 4851 location="Gampern" region="Oberösterreich" 4852 location="Weyregg am Attersee" region="Oberösterreich" 4853 location="Steinbach am Attersee" region="Oberösterreich" 4854 location="Weißenbach" region="Oberösterreich" 4860 location="Lenzing" region="Oberösterreich" 4861 location="Schörfling" region="Oberösterreich" 4863 location="Seewalchen am Attersee" region="Oberösterreich" 4864 location="Attersee" region="Oberösterreich" 4865 location="Nußdorf am Attersee" region="Oberösterreich" 4866 location="Unterach" region="Oberösterreich" 4870 location="Vöcklamarkt" region="Oberösterreich" 4871 location="Zipf" region="Oberösterreich" 4872 location="Neukirchen an der Vöckla" region="Oberösterreich" 4873 location="Frankenburg am Hausruck" region="Oberösterreich" 4880 location="St. Georgen im Attergau" region="Oberösterreich" 4881 location="Straß im Attergau" region="Oberösterreich" 4882 location="Oberwang" region="Oberösterreich" 4890 location="Frankenmarkt" region="Oberösterreich" 4891 location="Pöndorf" region="Oberösterreich" 4892 location="Fornach" region="Oberösterreich" 4893 location="Zell am Moos" region="Oberösterreich" 4894 location="Oberhofen am Irrsee" region="Oberösterreich" 4901 location="Ottnang" region="Oberösterreich" 4902 location="Wolfsegg am Hausruck" region="Oberösterreich" 4903 location="Manning" region="Oberösterreich" 4904 location="Atzbach" region="Oberösterreich" 4906 location="Eberschwang" region="Oberösterreich" 4910 location="Ried im Innkreis" region="Oberösterreich" 4911 location="Tumeltsham" region="Oberösterreich" 4912 location="Neuhofen im Innkreis" region="Oberösterreich" 4920 location="Schildorn" region="Oberösterreich" 4921 location="Hohenzell" region="Oberösterreich" 4922 location="Geiersberg" region="Oberösterreich" 4923 location="Lohnsburg" region="Oberösterreich" 4924 location="Waldzell" region="Oberösterreich" 4925 location="Pramet" region="Oberösterreich" 4926 location="St. Marienkirchen am Hausruck" region="Oberösterreich" 4931 location="Mettmach" region="Oberösterreich" 4932 location="Kirchheim im Innkreis" region="Oberösterreich" 4933 location="Wildenau" region="Oberösterreich" 4941 location="Mehrnbach" region="Oberösterreich" 4942 location="Gurten" region="Oberösterreich" 4943 location="Geinberg" region="Oberösterreich" 4950 location="Altheim" region="Oberösterreich" 4951 location="Polling im Innkreis" region="Oberösterreich" 4952 location="Weng im Innkreis" region="Oberösterreich" 4961 location="Mühlheim am Inn" region="Oberösterreich" 4962 location="Mining" region="Oberösterreich" 4963 location="St. Peter am Hart" region="Oberösterreich" 4970 location="Eitzing" region="Oberösterreich" 4971 location="Aurolzmünster" region="Oberösterreich" 4972 location="Utzenaich" region="Oberösterreich" 4973 location="St. Martin" region="Oberösterreich" 4974 location="Ort im Innkreis" region="Oberösterreich" 4975 location="Suben" region="Oberösterreich" 4980 location="Antiesenhofen" region="Oberösterreich" 4981 location="Reichersberg" region="Oberösterreich" 4982 location="Obernberg am Inn" region="Oberösterreich" 4983 location="St. Georgen bei Obernberg am Inn" region="Oberösterreich" 4984 location="Weilbach" region="Oberösterreich" 5020 location="Salzburg" region="Salzburg" 5023 location="Salzburg-Gnigl" region="Salzburg" 5026 location="Salzburg-Aigen" region="Salzburg" 5061 location="Elsbethen-Glasenbach" region="Salzburg" 5071 location="Wals" region="Salzburg" 5081 location="Anif" region="Salzburg" 5082 location="Grödig" region="Salzburg" 5083 location="Gartenau-St. Leonhard" region="Salzburg" 5084 location="Großgmain" region="Salzburg" 5090 location="Lofer" region="Salzburg" 5091 location="Unken" region="Salzburg" 5092 location="St. Martin bei Lofer" region="Salzburg" 5093 location="Weißbach bei Lofer" region="Salzburg" 5101 location="Bergheim" region="Salzburg" 5102 location="Anthering" region="Salzburg" 5110 location="Oberndorf bei Salzburg" region="Salzburg" 5111 location="Bürmoos" region="Salzburg" 5112 location="Lamprechtshausen" region="Salzburg" 5113 location="St. Georgen bei Salzburg" region="Salzburg" 5114 location="Göming" region="Salzburg" 5120 location="St. Pantaleon" region="Oberösterreich" 5121 location="Ostermiething" region="Oberösterreich" 5122 location="Ach" region="Oberösterreich" 5123 location="Überackern" region="Oberösterreich" 5131 location="Franking" region="Oberösterreich" 5132 location="Geretsberg" region="Oberösterreich" 5133 location="Gilgenberg am Weilhart" region="Oberösterreich" 5134 location="Schwand im Innkreis" region="Oberösterreich" 5141 location="Moosdorf" region="Oberösterreich" 5142 location="Eggelsberg" region="Oberösterreich" 5143 location="Feldkirchen bei Mattighofen" region="Oberösterreich" 5144 location="Handenberg" region="Oberösterreich" 5145 location="Neukirchen an der Enknach" region="Oberösterreich" 5151 location="Nußdorf am Haunsberg" region="Salzburg" 5152 location="Michaelbeuern" region="Salzburg" 5161 location="Elixhausen" region="Salzburg" 5162 location="Obertrum am See" region="Salzburg" 5163 location="Mattsee" region="Salzburg" 5164 location="Seeham" region="Salzburg" 5165 location="Berndorf bei Salzburg" region="Salzburg" 5166 location="Perwang am Grabensee" region="Oberösterreich" 5201 location="Seekirchen" region="Salzburg" 5202 location="Neumarkt am Wallersee" region="Salzburg" 5203 location="Köstendorf" region="Salzburg" 5204 location="Straßwalchen" region="Salzburg" 5205 location="Schleedorf" region="Salzburg" 5211 location="Friedburg" region="Oberösterreich" 5212 location="Schneegattern" region="Oberösterreich" 5221 location="Lochen am See" region="Oberösterreich" 5222 location="Munderfing" region="Oberösterreich" 5223 location="Pfaffstätt" region="Oberösterreich" 5224 location="Auerbach" region="Oberösterreich" 5225 location="Jeging" region="Oberösterreich" 5230 location="Mattighofen" region="Oberösterreich" 5231 location="Schalchen" region="Oberösterreich" 5232 location="Kirchberg bei Mattighofen" region="Oberösterreich" 5233 location="Pischelsdorf am Engelbach" region="Oberösterreich" 5241 location="Maria Schmolln" region="Oberösterreich" 5242 location="St. Johann am Walde" region="Oberösterreich" 5251 location="Höhnhart" region="Oberösterreich" 5252 location="Aspach" region="Oberösterreich" 5261 location="Uttendorf" region="Oberösterreich" 5270 location="Mauerkirchen" region="Oberösterreich" 5271 location="Moosbach" region="Oberösterreich" 5272 location="Treubach" region="Oberösterreich" 5273 location="Roßbach" region="Oberösterreich" 5274 location="Burgkirchen" region="Oberösterreich" 5280 location="Braunau am Inn" region="Oberösterreich" 5282 location="Braunau" region="Oberösterreich" 5300 location="Hallwang" region="Salzburg" 5301 location="Eugendorf" region="Salzburg" 5302 location="Henndorf am Wallersee" region="Salzburg" 5303 location="Thalgau" region="Salzburg" 5310 location="Mondsee" region="Oberösterreich" 5311 location="Loibichl" region="Oberösterreich" 5321 location="Koppl" region="Salzburg" 5322 location="Hof bei Salzburg" region="Salzburg" 5323 location="Ebenau" region="Salzburg" 5324 location="Faistenau" region="Salzburg" 5325 location="Plainfeld" region="Salzburg" 5330 location="Fuschl am See" region="Salzburg" 5340 location="St. Gilgen" region="Salzburg" 5342 location="Abersee" region="Salzburg" 5350 location="Strobl" region="Salzburg" 5360 location="St. Wolfgang im Salzkammergut" region="Oberösterreich" 5400 location="Hallein" region="Salzburg" 5411 location="Oberalm" region="Salzburg" 5412 location="Puch bei Hallein" region="Salzburg" 5421 location="Adnet" region="Salzburg" 5422 location="Heilbad Dürrnberg" region="Salzburg" 5423 location="St. Koloman" region="Salzburg" 5424 location="Bad Vigaun" region="Salzburg" 5425 location="Krispl" region="Salzburg" 5431 location="Kuchl" region="Salzburg" 5440 location="Golling an der Salzach" region="Salzburg" 5441 location="Abtenau" region="Salzburg" 5442 location="Rußbach am Paß Gschütt" region="Salzburg" 5450 location="Werfen" region="Salzburg" 5451 location="Tenneck" region="Salzburg" 5452 location="Pfarrwerfen" region="Salzburg" 5453 location="Werfenweng" region="Salzburg" 5500 location="Bischofshofen" region="Salzburg" 5505 location="Mühlbach am Hochkönig" region="Salzburg" 5511 location="Hüttau" region="Salzburg" 5521 location="Niedernfritz" region="Salzburg" 5522 location="St. Martin am Tennengebirge" region="Salzburg" 5523 location="Lungötz" region="Salzburg" 5524 location="Annaberg" region="Salzburg" 5531 location="Eben im Pongau" region="Salzburg" 5532 location="Filzmoos" region="Salzburg" 5541 location="Altenmarkt im Pongau" region="Salzburg" 5542 location="Flachau" region="Salzburg" 5550 location="Radstadt" region="Salzburg" 5552 location="Forstau" region="Salzburg" 5561 location="Untertauern" region="Salzburg" 5562 location="Obertauern" region="Salzburg" 5563 location="Tweng" region="Salzburg" 5570 location="Mauterndorf" region="Salzburg" 5571 location="Mariapfarr" region="Salzburg" 5572 location="St. Andrä im Lungau" region="Salzburg" 5573 location="Weißpriach" region="Salzburg" 5574 location="Göriach" region="Salzburg" 5575 location="Lessach" region="Salzburg" 5580 location="Tamsweg" region="Salzburg" 5581 location="St. Margarethen im Lungau" region="Salzburg" 5582 location="St. Michael im Lungau" region="Salzburg" 5583 location="Muhr" region="Salzburg" 5584 location="Zederhaus" region="Salzburg" 5585 location="Unternberg" region="Salzburg" 5591 location="Ramingstein" region="Salzburg" 5592 location="Thomatal" region="Salzburg" 5600 location="St. Johann im Pongau" region="Salzburg" 5602 location="Wagrain" region="Salzburg" 5603 location="Kleinarl" region="Salzburg" 5611 location="Großarl" region="Salzburg" 5612 location="Hüttschlag" region="Salzburg" 5620 location="Schwarzach im Pongau" region="Salzburg" 5621 location="St. Veit im Pongau" region="Salzburg" 5622 location="Goldegg" region="Salzburg" 5630 location="Bad Hofgastein" region="Salzburg" 5632 location="Dorfgastein" region="Salzburg" 5640 location="Bad Gastein" region="Salzburg" 5645 location="Böckstein" region="Salzburg" 5651 location="Lend" region="Salzburg" 5652 location="Dienten am Hochkönig" region="Salzburg" 5660 location="Taxenbach" region="Salzburg" 5661 location="Rauris" region="Salzburg" 5662 location="Gries" region="Salzburg" 5671 location="Bruck an der Großglocknerstraße" region="Salzburg" 5672 location="Fusch an der Glocknerstraße" region="Salzburg" 5700 location="Zell am See" region="Salzburg" 5710 location="Kaprun" region="Salzburg" 5721 location="Piesendorf" region="Salzburg" 5722 location="Niedernsill" region="Salzburg" 5723 location="Uttendorf" region="Salzburg" 5724 location="Stuhlfelden" region="Salzburg" 5730 location="Mittersill" region="Salzburg" 5731 location="Hollersbach im Pinzgau" region="Salzburg" 5732 location="Mühlbach" region="Salzburg" 5733 location="Bramberg am Wildkogel" region="Salzburg" 5741 location="Neukirchen am Großvenediger" region="Salzburg" 5742 location="Wald im Pinzgau" region="Salzburg" 5743 location="Krimml" region="Salzburg" 5751 location="Maishofen" region="Salzburg" 5752 location="Viehhofen" region="Salzburg" 5753 location="Saalbach" region="Salzburg" 5754 location="Hinterglemm" region="Salzburg" 5760 location="Saalfelden am Steinernen Meer" region="Salzburg" 5761 location="Maria Alm am Steinernen Meer" region="Salzburg" 5771 location="Leogang" region="Salzburg" 6020 location="Innsbruck" region="Tirol" 6060 location="Hall in Tirol" region="Tirol" 6063 location="Rum" region="Tirol" 6065 location="Thaur" region="Tirol" 6067 location="Absam" region="Tirol" 6068 location="Mils" region="Tirol" 6069 location="Gnadenwald" region="Tirol" 6070 location="Ampass" region="Tirol" 6071 location="Aldrans" region="Tirol" 6072 location="Lans" region="Tirol" 6073 location="Sistrans" region="Tirol" 6074 location="Rinn" region="Tirol" 6075 location="Tulfes" region="Tirol" 6080 location="Innsbruck-Igls" region="Tirol" 6082 location="Patsch" region="Tirol" 6083 location="Ellbögen" region="Tirol" 6091 location="Götzens" region="Tirol" 6092 location="Birgitz" region="Tirol" 6094 location="Axams" region="Tirol" 6095 location="Grinzens" region="Tirol" 6100 location="Seefeld in Tirol" region="Tirol" 6103 location="Reith bei Seefeld" region="Tirol" 6105 location="Leutasch" region="Tirol" 6108 location="Scharnitz" region="Tirol" 6111 location="Volders" region="Tirol" 6112 location="Wattens" region="Tirol" 6113 location="Wattenberg" region="Tirol" 6114 location="Kolsass" region="Tirol" 6115 location="Kolsassberg" region="Tirol" 6116 location="Weer" region="Tirol" 6121 location="Baumkirchen" region="Tirol" 6122 location="Fritzens" region="Tirol" 6123 location="Terfens" region="Tirol" 6130 location="Schwaz" region="Tirol" 6133 location="Weerberg" region="Tirol" 6134 location="Vomp" region="Tirol" 6135 location="Stans" region="Tirol" 6136 location="Pill" region="Tirol" 6141 location="Schönberg im Stubaital" region="Tirol" 6142 location="Mieders" region="Tirol" 6143 location="Matrei am Brenner" region="Tirol" 6145 location="Navis" region="Tirol" 6150 location="Steinach am Brenner" region="Tirol" 6152 location="Trins" region="Tirol" 6154 location="St. Jodok am Brenner" region="Tirol" 6156 location="Gries am Brenner" region="Tirol" 6157 location="Obernberg am Brenner" region="Tirol" 6161 location="Natters" region="Tirol" 6162 location="Mutters" region="Tirol" 6165 location="Telfes im Stubai" region="Tirol" 6166 location="Fulpmes" region="Tirol" 6167 location="Neustift im Stubaital" region="Tirol" 6170 location="Zirl" region="Tirol" 6173 location="Oberperfuss" region="Tirol" 6175 location="Kematen in Tirol" region="Tirol" 6176 location="Völs" region="Tirol" 6178 location="Unterperfuss" region="Tirol" 6179 location="Ranggen" region="Tirol" 6181 location="Sellrain" region="Tirol" 6182 location="Gries im Sellrain" region="Tirol" 6183 location="Kühtai" region="Tirol" 6184 location="St. Sigmund" region="Tirol" 6200 location="Jenbach" region="Tirol" 6210 location="Wiesing" region="Tirol" 6212 location="Maurach" region="Tirol" 6213 location="Pertisau" region="Tirol" 6215 location="Achenkirch" region="Tirol" 6220 location="Buch in Tirol" region="Tirol" 6222 location="Gallzein" region="Tirol" 6230 location="Brixlegg" region="Tirol" 6232 location="Münster" region="Tirol" 6233 location="Kramsach" region="Tirol" 6234 location="Brandenberg" region="Tirol" 6235 location="Reith im Alpbachtal" region="Tirol" 6236 location="Alpbach" region="Tirol" 6240 location="Rattenberg" region="Tirol" 6241 location="Radfeld" region="Tirol" 6250 location="Kundl" region="Tirol" 6252 location="Breitenbach am Inn" region="Tirol" 6260 location="Bruck am Ziller" region="Tirol" 6261 location="Strass im Zillertal" region="Tirol" 6262 location="Schlitters" region="Tirol" 6263 location="Fügen" region="Tirol" 6264 location="Fügenberg" region="Tirol" 6265 location="Hart im Zillertal" region="Tirol" 6271 location="Uderns" region="Tirol" 6272 location="Kaltenbach" region="Tirol" 6273 location="Ried im Zillertal" region="Tirol" 6274 location="Aschau" region="Tirol" 6275 location="Stumm" region="Tirol" 6276 location="Stummerberg" region="Tirol" 6277 location="Zellberg" region="Tirol" 6278 location="Hainzenberg" region="Tirol" 6280 location="Zell am Ziller" region="Tirol" 6281 location="Gerlos" region="Tirol" 6283 location="Hippach" region="Tirol" 6284 location="Ramsau im Zillertal" region="Tirol" 6290 location="Mayrhofen" region="Tirol" 6292 location="Finkenberg" region="Tirol" 6293 location="Tux" region="Tirol" 6294 location="Hintertux" region="Tirol" 6295 location="Ginzling" region="Tirol" 6300 location="Wörgl" region="Tirol" 6305 location="Itter" region="Tirol" 6306 location="Söll" region="Tirol" 6311 location="Wildschönau-Oberau" region="Tirol" 6313 location="Wildschönau-Auffach" region="Tirol" 6314 location="Wildschönau-Niederau" region="Tirol" 6320 location="Angerberg" region="Tirol" 6321 location="Angath" region="Tirol" 6322 location="Kirchbichl" region="Tirol" 6323 location="Bad Häring" region="Tirol" 6324 location="Mariastein" region="Tirol" 6330 location="Kufstein" region="Tirol" 6334 location="Schwoich" region="Tirol" 6335 location="Thiersee" region="Tirol" 6336 location="Langkampfen" region="Tirol" 6341 location="Ebbs" region="Tirol" 6342 location="Niederndorf" region="Tirol" 6343 location="Erl" region="Tirol" 6344 location="Walchsee" region="Tirol" 6345 location="Kössen" region="Tirol" 6346 location="Niederndorferberg" region="Tirol" 6347 location="Rettenschöss" region="Tirol" 6351 location="Scheffau am Wilden Kaiser" region="Tirol" 6352 location="Ellmau" region="Tirol" 6353 location="Going am Wilden Kaiser" region="Tirol" 6361 location="Hopfgarten" region="Tirol" 6363 location="Westendorf" region="Tirol" 6364 location="Brixen im Thale" region="Tirol" 6365 location="Kirchberg in Tirol" region="Tirol" 6370 location="Kitzbühel" region="Tirol" 6371 location="Aurach" region="Tirol" 6372 location="Oberndorf in Tirol" region="Tirol" 6373 location="Jochberg" region="Tirol" 6380 location="St. Johann in Tirol" region="Tirol" 6382 location="Kirchdorf in Tirol" region="Tirol" 6383 location="Erpfendorf" region="Tirol" 6384 location="Waidring" region="Tirol" 6385 location="Schwendt" region="Tirol" 6391 location="Fieberbrunn" region="Tirol" 6392 location="St. Jakob in Haus" region="Tirol" 6393 location="St. Ulrich am Pillersee" region="Tirol" 6395 location="Hochfilzen" region="Tirol" 6401 location="Inzing" region="Tirol" 6402 location="Hatting" region="Tirol" 6403 location="Flaurling" region="Tirol" 6404 location="Polling" region="Tirol" 6405 location="Pfaffenhofen" region="Tirol" 6406 location="Oberhofen im Inntal" region="Tirol" 6408 location="Pettnau" region="Tirol" 6410 location="Telfs" region="Tirol" 6413 location="Wildermieming" region="Tirol" 6414 location="Mieming" region="Tirol" 6416 location="Obsteig" region="Tirol" 6421 location="Rietz" region="Tirol" 6422 location="Stams" region="Tirol" 6423 location="Mötz" region="Tirol" 6424 location="Silz" region="Tirol" 6425 location="Haiming" region="Tirol" 6426 location="Roppen" region="Tirol" 6430 location="Ötztal Bahnhof" region="Tirol" 6432 location="Sautens" region="Tirol" 6433 location="Oetz" region="Tirol" 6441 location="Umhausen" region="Tirol" 6444 location="Längenfeld" region="Tirol" 6450 location="Sölden" region="Tirol" 6452 location="Hochsölden" region="Tirol" 6456 location="Obergurgl" region="Tirol" 6458 location="Vent" region="Tirol" 6460 location="Imst" region="Tirol" 6462 location="Karres" region="Tirol" 6463 location="Karrösten" region="Tirol" 6464 location="Tarrenz" region="Tirol" 6465 location="Nassereith" region="Tirol" 6471 location="Arzl im Pitztal" region="Tirol" 6473 location="Wenns" region="Tirol" 6474 location="Jerzens" region="Tirol" 6481 location="St. Leonhard im Pitztal" region="Tirol" 6491 location="Schönwies" region="Tirol" 6492 location="Imsterberg" region="Tirol" 6493 location="Mils" region="Tirol" 6500 location="Landeck" region="Tirol" 6511 location="Zams" region="Tirol" 6521 location="Fließ" region="Tirol" 6522 location="Prutz" region="Tirol" 6524 location="Feichten im Kaunertal" region="Tirol" 6525 location="Faggen" region="Tirol" 6526 location="Kauns" region="Tirol" 6527 location="Kaunerberg" region="Tirol" 6528 location="Fendels" region="Tirol" 6531 location="Ried im Oberinntal" region="Tirol" 6532 location="Ladis" region="Tirol" 6533 location="Fiss" region="Tirol" 6534 location="Serfaus" region="Tirol" 6541 location="Tösens" region="Tirol" 6542 location="Pfunds" region="Tirol" 6543 location="Nauders" region="Tirol" 6544 location="Spiss" region="Tirol" 6551 location="Pians" region="Tirol" 6552 location="Tobadill" region="Tirol" 6553 location="See" region="Tirol" 6555 location="Kappl" region="Tirol" 6561 location="Ischgl" region="Tirol" 6562 location="Mathon" region="Tirol" 6563 location="Galtür" region="Tirol" 6571 location="Strengen" region="Tirol" 6572 location="Flirsch" region="Tirol" 6574 location="Pettneu am Arlberg" region="Tirol" 6580 location="St. Anton am Arlberg" region="Tirol" 6591 location="Grins" region="Tirol" 6600 location="Reutte" region="Tirol" 6604 location="Höfen" region="Tirol" 6610 location="Wängle" region="Tirol" 6611 location="Heiterwang" region="Tirol" 6621 location="Bichlbach" region="Tirol" 6622 location="Berwang" region="Tirol" 6623 location="Namlos" region="Tirol" 6631 location="Lermoos" region="Tirol" 6632 location="Ehrwald" region="Tirol" 6633 location="Biberwier" region="Tirol" 6642 location="Stanzach" region="Tirol" 6644 location="Elmen" region="Tirol" 6645 location="Vorderhornbach" region="Tirol" 6646 location="Hinterhornbach" region="Tirol" 6647 location="Pfafflar" region="Tirol" 6650 location="Gramais" region="Tirol" 6651 location="Häselgehr" region="Tirol" 6652 location="Elbigenalp" region="Tirol" 6653 location="Bach" region="Tirol" 6654 location="Holzgau" region="Tirol" 6655 location="Steeg" region="Tirol" 6670 location="Forchach" region="Tirol" 6671 location="Weißenbach am Lech" region="Tirol" 6672 location="Nesselwängle" region="Tirol" 6673 location="Grän" region="Tirol" 6675 location="Tannheim" region="Tirol" 6677 location="Schattwald" region="Tirol" 6682 location="Vils" region="Tirol" 6691 location="Jungholz" region="Tirol" 6700 location="Bludenz" region="Vorarlberg" 6706 location="Bürs" region="Vorarlberg" 6707 location="Bürserberg" region="Vorarlberg" 6708 location="Brand" region="Vorarlberg" 6710 location="Nenzing" region="Vorarlberg" 6712 location="Thüringen" region="Vorarlberg" 6713 location="Ludesch" region="Vorarlberg" 6714 location="Nüziders" region="Vorarlberg" 6719 location="Bludesch" region="Vorarlberg" 6721 location="Thüringerberg" region="Vorarlberg" 6722 location="St. Gerold" region="Vorarlberg" 6723 location="Blons" region="Vorarlberg" 6731 location="Sonntag" region="Vorarlberg" 6733 location="Fontanella" region="Vorarlberg" 6741 location="Raggal" region="Vorarlberg" 6751 location="Braz" region="Vorarlberg" 6752 location="Dalaas" region="Vorarlberg" 6754 location="Klösterle" region="Vorarlberg" 6762 location="Stuben" region="Vorarlberg" 6763 location="Zürs" region="Vorarlberg" 6764 location="Lech" region="Vorarlberg" 6767 location="Warth" region="Vorarlberg" 6771 location="St. Anton im Montafon" region="Vorarlberg" 6773 location="Vandans" region="Vorarlberg" 6774 location="Tschagguns" region="Vorarlberg" 6780 location="Schruns" region="Vorarlberg" 6781 location="Bartholomäberg" region="Vorarlberg" 6782 location="Silbertal" region="Vorarlberg" 6787 location="Gargellen" region="Vorarlberg" 6791 location="St. Gallenkirch" region="Vorarlberg" 6793 location="Gaschurn" region="Vorarlberg" 6794 location="Partenen" region="Vorarlberg" 6800 location="Feldkirch" region="Vorarlberg" 6811 location="Göfis" region="Vorarlberg" 6812 location="Meiningen" region="Vorarlberg" 6820 location="Frastanz" region="Vorarlberg" 6822 location="Satteins" region="Vorarlberg" 6824 location="Schlins" region="Vorarlberg" 6830 location="Rankweil" region="Vorarlberg" 6832 location="Sulz-Röthis" region="Vorarlberg" 6833 location="Klaus-Weiler" region="Vorarlberg" 6834 location="Übersaxen" region="Vorarlberg" 6835 location="Zwischenwasser" region="Vorarlberg" 6836 location="Viktorsberg" region="Vorarlberg" 6837 location="Weiler" region="Vorarlberg" 6840 location="Götzis" region="Vorarlberg" 6841 location="Mäder" region="Vorarlberg" 6842 location="Koblach" region="Vorarlberg" 6844 location="Altach" region="Vorarlberg" 6845 location="Hohenems" region="Vorarlberg" 6850 location="Dornbirn" region="Vorarlberg" 6858 location="Schwarzach" region="Vorarlberg" 6861 location="Alberschwende" region="Vorarlberg" 6863 location="Egg" region="Vorarlberg" 6866 location="Andelsbuch" region="Vorarlberg" 6867 location="Schwarzenberg" region="Vorarlberg" 6870 location="Bezau" region="Vorarlberg" 6874 location="Bizau" region="Vorarlberg" 6881 location="Mellau" region="Vorarlberg" 6882 location="Schnepfau" region="Vorarlberg" 6883 location="Au" region="Vorarlberg" 6884 location="Damüls" region="Vorarlberg" 6886 location="Schoppernau" region="Vorarlberg" 6888 location="Schröcken" region="Vorarlberg" 6890 location="Lustenau" region="Vorarlberg" 6900 location="Bregenz" region="Vorarlberg" 6911 location="Lochau" region="Vorarlberg" 6912 location="Hörbranz" region="Vorarlberg" 6914 location="Hohenweiler" region="Vorarlberg" 6921 location="Kennelbach" region="Vorarlberg" 6922 location="Wolfurt" region="Vorarlberg" 6923 location="Lauterach" region="Vorarlberg" 6932 location="Langen bei Bregenz" region="Vorarlberg" 6933 location="Doren" region="Vorarlberg" 6934 location="Sulzberg" region="Vorarlberg" 6941 location="Langenegg" region="Vorarlberg" 6942 location="Krumbach" region="Vorarlberg" 6943 location="Riefensberg" region="Vorarlberg" 6951 location="Lingenau" region="Vorarlberg" 6952 location="Hittisau" region="Vorarlberg" 6960 location="Wolfurt-Bahnhof" region="Vorarlberg" 6971 location="Hard" region="Vorarlberg" 6972 location="Fußach" region="Vorarlberg" 6973 location="Höchst" region="Vorarlberg" 6974 location="Gaißau" region="Vorarlberg" 6991 location="Riezlern" region="Vorarlberg" 6992 location="Hirschegg" region="Vorarlberg" 6993 location="Mittelberg" region="Vorarlberg" 7000 location="Eisenstadt" region="Burgenland" 7011 location="Siegendorf" region="Burgenland" 7012 location="Zagersdorf" region="Burgenland" 7013 location="Klingenbach" region="Burgenland" 7020 location="Loipersbach im Burgenland" region="Burgenland" 7021 location="Draßburg" region="Burgenland" 7022 location="Schattendorf" region="Burgenland" 7023 location="Zemendorf" region="Burgenland" 7024 location="Hirm" region="Burgenland" 7031 location="Krensdorf" region="Burgenland" 7032 location="Sigleß" region="Burgenland" 7033 location="Pöttsching" region="Burgenland" 7034 location="Zillingtal" region="Burgenland" 7035 location="Steinbrunn" region="Burgenland" 7041 location="Wulkaprodersdorf" region="Burgenland" 7042 location="Antau" region="Burgenland" 7051 location="Großhöflein" region="Burgenland" 7052 location="Müllendorf" region="Burgenland" 7053 location="Hornstein" region="Burgenland" 7061 location="Trausdorf an der Wulka" region="Burgenland" 7062 location="St. Margarethen im Burgenland" region="Burgenland" 7063 location="Oggau" region="Burgenland" 7064 location="Oslip" region="Burgenland" 7071 location="Rust" region="Burgenland" 7072 location="Mörbisch am See" region="Burgenland" 7081 location="Schützen am Gebirge" region="Burgenland" 7082 location="Donnerskirchen" region="Burgenland" 7083 location="Purbach am Neusiedler See" region="Burgenland" 7091 location="Breitenbrunn am Neusiedler See" region="Burgenland" 7092 location="Winden am See" region="Burgenland" 7093 location="Jois" region="Burgenland" 7100 location="Neusiedl am See" region="Burgenland" 7111 location="Parndorf" region="Burgenland" 7121 location="Weiden am See" region="Burgenland" 7122 location="Gols" region="Burgenland" 7123 location="Mönchhof" region="Burgenland" 7131 location="Halbturn" region="Burgenland" 7132 location="Frauenkirchen" region="Burgenland" 7141 location="Podersdorf am See" region="Burgenland" 7142 location="Illmitz" region="Burgenland" 7143 location="Apetlon" region="Burgenland" 7151 location="Wallern im Burgenland" region="Burgenland" 7152 location="Pamhagen" region="Burgenland" 7161 location="St. Andrä am Zicksee" region="Burgenland" 7162 location="Tadten" region="Burgenland" 7163 location="Andau" region="Burgenland" 7201 location="Neudörfl" region="Burgenland" 7202 location="Bad Sauerbrunn" region="Burgenland" 7203 location="Wiesen" region="Burgenland" 7210 location="Mattersburg" region="Burgenland" 7212 location="Forchtenstein" region="Burgenland" 7221 location="Marz" region="Burgenland" 7222 location="Rohrbach bei Mattersburg" region="Burgenland" 7223 location="Sieggraben" region="Burgenland" 7301 location="Deutschkreutz" region="Burgenland" 7302 location="Nikitsch" region="Burgenland" 7304 location="Großwarasdorf" region="Burgenland" 7311 location="Neckenmarkt" region="Burgenland" 7312 location="Horitschon" region="Burgenland" 7321 location="Lackendorf" region="Burgenland" 7322 location="Lackenbach" region="Burgenland" 7323 location="Ritzing" region="Burgenland" 7331 location="Weppersdorf" region="Burgenland" 7332 location="Kobersdorf" region="Burgenland" 7341 location="Markt St. Martin" region="Burgenland" 7342 location="Kaisersdorf" region="Burgenland" 7343 location="Neutal" region="Burgenland" 7344 location="Stoob" region="Burgenland" 7350 location="Oberpullendorf" region="Burgenland" 7361 location="Lutzmannsburg" region="Burgenland" 7371 location="Unterrabnitz" region="Burgenland" 7372 location="Draßmarkt" region="Burgenland" 7373 location="Piringsdorf" region="Burgenland" 7374 location="Weingraben" region="Burgenland" 7400 location="Oberwart" region="Burgenland" 7410 location="Loipersdorf-Kitzladen" region="Burgenland" 7411 location="Markt Allhau" region="Burgenland" 7412 location="Wolfau" region="Burgenland" 7421 location="Tauchen-Schaueregg" region="Steiermark" 7422 location="Riedlingsdorf" region="Burgenland" 7423 location="Pinkafeld" region="Burgenland" 7425 location="Wiesfleck" region="Burgenland" 7431 location="Bad Tatzmannsdorf" region="Burgenland" 7432 location="Oberschützen" region="Burgenland" 7433 location="Mariasdorf" region="Burgenland" 7434 location="Bernstein" region="Burgenland" 7435 location="Unterkohlstätten" region="Burgenland" 7441 location="Pilgersdorf" region="Burgenland" 7442 location="Lockenhaus" region="Burgenland" 7443 location="Rattersdorf-Liebing" region="Burgenland" 7444 location="Mannersdorf an der Rabnitz" region="Burgenland" 7451 location="Oberloisdorf" region="Burgenland" 7452 location="Unterpullendorf" region="Burgenland" 7453 location="Steinberg-Dörfl" region="Burgenland" 7461 location="Stadtschlaining" region="Burgenland" 7463 location="Weiden bei Rechnitz" region="Burgenland" 7464 location="Markt Neuhodis" region="Burgenland" 7471 location="Rechnitz" region="Burgenland" 7472 location="Schachendorf" region="Burgenland" 7473 location="Hannersdorf" region="Burgenland" 7474 location="Deutsch Schützen" region="Burgenland" 7501 location="Rotenturm an der Pinka" region="Burgenland" 7502 location="Unterwart" region="Burgenland" 7503 location="Großpetersdorf" region="Burgenland" 7511 location="Mischendorf" region="Burgenland" 7512 location="Kohfidisch" region="Burgenland" 7521 location="Eberau" region="Burgenland" 7522 location="Strem" region="Burgenland" 7531 location="Kemeten" region="Burgenland" 7532 location="Litzelsdorf" region="Burgenland" 7533 location="Ollersdorf im Burgenland" region="Burgenland" 7534 location="Olbendorf" region="Burgenland" 7535 location="St. Michael im Burgenland" region="Burgenland" 7536 location="Güttenbach" region="Burgenland" 7537 location="Neuberg im Burgenland" region="Burgenland" 7540 location="Güssing" region="Burgenland" 7542 location="Gerersdorf bei Güssing" region="Burgenland" 7543 location="Kukmirn" region="Burgenland" 7544 location="Tobaj" region="Burgenland" 7551 location="Stegersbach" region="Burgenland" 7552 location="Stinatz" region="Burgenland" 7561 location="Heiligenkreuz im Lafnitztal" region="Burgenland" 7562 location="Eltendorf" region="Burgenland" 7563 location="Königsdorf" region="Burgenland" 7564 location="Dobersdorf" region="Burgenland" 7571 location="Rudersdorf" region="Burgenland" 7572 location="Deutsch Kaltenbrunn" region="Burgenland" 7574 location="Burgauberg-Neudauberg" region="Burgenland" 8010 location="Graz" region="Steiermark" 8020 location="Graz" region="Steiermark" 8036 location="Graz" region="Steiermark" 8041 location="Graz-Liebenau" region="Steiermark" 8042 location="Graz-St. Peter" region="Steiermark" 8043 location="Graz-Kroisbach" region="Steiermark" 8044 location="Graz-Mariatrost" region="Steiermark" 8045 location="Graz-Andritz" region="Steiermark" 8046 location="Graz-St. Veit" region="Steiermark" 8047 location="Graz-Ragnitz" region="Steiermark" 8051 location="Graz-Gösting" region="Steiermark" 8052 location="Graz-Wetzelsdorf" region="Steiermark" 8053 location="Graz-Neuhart" region="Steiermark" 8054 location="Graz-Straßgang" region="Steiermark" 8055 location="Graz-Puntigam" region="Steiermark" 8061 location="St. Radegund bei Graz" region="Steiermark" 8062 location="Kumberg" region="Steiermark" 8063 location="Eggersdorf bei Graz" region="Steiermark" 8071 location="Hausmannstätten" region="Steiermark" 8072 location="Fernitz" region="Steiermark" 8073 location="Feldkirchen bei Graz" region="Steiermark" 8074 location="Raaba" region="Steiermark" 8075 location="Hart bei Graz" region="Steiermark" 8076 location="Vasoldsberg" region="Steiermark" 8077 location="Gössendorf" region="Steiermark" 8081 location="Heiligenkreuz am Waasen" region="Steiermark" 8082 location="Kirchbach in Steiermark" region="Steiermark" 8083 location="St. Stefan im Rosental" region="Steiermark" 8091 location="Jagerberg" region="Steiermark" 8092 location="Mettersdorf am Saßbach" region="Steiermark" 8093 location="St. Peter am Ottersbach" region="Steiermark" 8101 location="Gratkorn" region="Steiermark" 8102 location="Semriach" region="Steiermark" 8103 location="Rein" region="Steiermark" 8111 location="Judendorf-Straßengel" region="Steiermark" 8112 location="Gratwein" region="Steiermark" 8113 location="St. Oswald bei Plankenwarth" region="Steiermark" 8114 location="Stübing" region="Steiermark" 8120 location="Peggau" region="Steiermark" 8121 location="Deutschfeistritz" region="Steiermark" 8122 location="Waldstein" region="Steiermark" 8124 location="Übelbach" region="Steiermark" 8130 location="Frohnleiten" region="Steiermark" 8131 location="Mixnitz" region="Steiermark" 8132 location="Pernegg an der Mur" region="Steiermark" 8141 location="Unterpremstätten" region="Steiermark" 8142 location="Wundschuh" region="Steiermark" 8143 location="Dobl" region="Steiermark" 8144 location="Tobelbad" region="Steiermark" 8151 location="Hitzendorf" region="Steiermark" 8152 location="Stallhofen" region="Steiermark" 8153 location="Geistthal" region="Steiermark" 8160 location="Weiz" region="Steiermark" 8162 location="Passail" region="Steiermark" 8163 location="Fladnitz an der Teichalm" region="Steiermark" 8171 location="St. Kathrein am Offenegg" region="Steiermark" 8172 location="Heilbrunn" region="Steiermark" 8181 location="St. Ruprecht an der Raab" region="Steiermark" 8182 location="Puch bei Weiz" region="Steiermark" 8183 location="Floing" region="Steiermark" 8184 location="Anger" region="Steiermark" 8190 location="Birkfeld" region="Steiermark" 8191 location="Koglhof" region="Steiermark" 8192 location="Strallegg" region="Steiermark" 8200 location="Gleisdorf" region="Steiermark" 8211 location="Ilztal" region="Steiermark" 8212 location="Pischelsdorf am Kulm" region="Steiermark" 8221 location="Hirnsdorf" region="Steiermark" 8222 location="St. Johann bei Herberstein" region="Steiermark" 8223 location="Stubenberg am See" region="Steiermark" 8224 location="Kaindorf bei Hartberg" region="Steiermark" 8225 location="Pöllau bei Hartberg" region="Steiermark" 8230 location="Hartberg" region="Steiermark" 8232 location="Grafendorf bei Hartberg" region="Steiermark" 8233 location="Lafnitz" region="Steiermark" 8234 location="Rohrbach an der Lafnitz" region="Steiermark" 8240 location="Friedberg" region="Steiermark" 8241 location="Dechantskirchen" region="Steiermark" 8242 location="St. Lorenzen am Wechsel" region="Steiermark" 8243 location="Pinggau" region="Steiermark" 8244 location="Schäffern" region="Steiermark" 8250 location="Vorau" region="Steiermark" 8251 location="Bruck an der Lafnitz" region="Steiermark" 8252 location="Mönichwald" region="Steiermark" 8253 location="Waldbach" region="Steiermark" 8254 location="Wenigzell" region="Steiermark" 8255 location="St. Jakob" region="Steiermark" 8261 location="Sinabelkirchen" region="Steiermark" 8262 location="Ilz" region="Steiermark" 8263 location="Großwilfersdorf" region="Steiermark" 8264 location="Hainersdorf" region="Steiermark" 8265 location="Großsteinbach" region="Steiermark" 8271 location="Bad Waltersdorf" region="Steiermark" 8272 location="Sebersdorf" region="Steiermark" 8273 location="Ebersdorf" region="Steiermark" 8274 location="Buch" region="Steiermark" 8280 location="Fürstenfeld" region="Steiermark" 8282 location="Loipersdorf bei Fürstenfeld" region="Steiermark" 8283 location="Bad Blumau" region="Steiermark" 8291 location="Burgau" region="Steiermark" 8292 location="Neudau" region="Steiermark" 8293 location="Wörth an der Lafnitz" region="Steiermark" 8294 location="Unterrohr" region="Steiermark" 8295 location="St. Johann in der Haide" region="Steiermark" 8301 location="Laßnitzhöhe" region="Steiermark" 8302 location="Nestelbach bei Graz" region="Steiermark" 8311 location="Markt Hartmannsdorf" region="Steiermark" 8312 location="Ottendorf an der Rittschein" region="Steiermark" 8313 location="Breitenfeld an der Rittschein" region="Steiermark" 8321 location="St. Margarethen an der Raab" region="Steiermark" 8322 location="Studenzen" region="Steiermark" 8323 location="St. Marein bei Graz" region="Steiermark" 8324 location="Kirchberg an der Raab" region="Steiermark" 8330 location="Feldbach" region="Steiermark" 8332 location="Edelsbach bei Feldbach" region="Steiermark" 8333 location="Riegersburg" region="Steiermark" 8334 location="Lödersdorf" region="Steiermark" 8341 location="Paldau" region="Steiermark" 8342 location="Gnas" region="Steiermark" 8343 location="Trautmannsdorf in Oststeiermark" region="Steiermark" 8344 location="Bad Gleichenberg" region="Steiermark" 8345 location="Straden" region="Steiermark" 8350 location="Fehring" region="Steiermark" 8352 location="Unterlamm" region="Steiermark" 8353 location="Kapfenstein" region="Steiermark" 8354 location="St. Anna am Aigen" region="Steiermark" 8355 location="Tieschen" region="Steiermark" 8361 location="Hatzendorf" region="Steiermark" 8362 location="Söchau" region="Steiermark" 8380 location="Jennersdorf" region="Burgenland" 8382 location="Mogersdorf" region="Burgenland" 8383 location="St. Martin an der Raab" region="Burgenland" 8384 location="Minihof-Liebau" region="Burgenland" 8385 location="Neuhaus am Klausenbach" region="Burgenland" 8401 location="Kalsdorf bei Graz" region="Steiermark" 8402 location="Werndorf" region="Steiermark" 8403 location="Lebring" region="Steiermark" 8410 location="Wildon" region="Steiermark" 8411 location="Hengsberg" region="Steiermark" 8412 location="Allerheiligen bei Wildon" region="Steiermark" 8413 location="St. Georgen an der Stiefing" region="Steiermark" 8421 location="Wolfsberg im Schwarzautal" region="Steiermark" 8422 location="St. Nikolai ob Draßling" region="Steiermark" 8423 location="St. Veit am Vogau" region="Steiermark" 8424 location="Gabersdorf" region="Steiermark" 8430 location="Leibnitz" region="Steiermark" 8431 location="Gralla" region="Steiermark" 8434 location="Tillmitsch" region="Steiermark" 8435 location="Wagna" region="Steiermark" 8441 location="Fresing" region="Steiermark" 8442 location="Kitzeck im Sausal" region="Steiermark" 8443 location="Gleinstätten" region="Steiermark" 8444 location="St. Andrä im Sausal" region="Steiermark" 8451 location="Heimschuh" region="Steiermark" 8452 location="Großklein" region="Steiermark" 8453 location="St. Johann im Saggautal" region="Steiermark" 8454 location="Arnfels" region="Steiermark" 8455 location="Oberhaag" region="Steiermark" 8461 location="Ehrenhausen" region="Steiermark" 8462 location="Gamlitz" region="Steiermark" 8463 location="Leutschach" region="Steiermark" 8471 location="Spielfeld" region="Steiermark" 8472 location="Straß in Steiermark" region="Steiermark" 8473 location="Weitersfeld an der Mur" region="Steiermark" 8480 location="Mureck" region="Steiermark" 8481 location="Weinburg am Saßbach" region="Steiermark" 8483 location="Deutsch Goritz" region="Steiermark" 8484 location="Unterpurkla" region="Steiermark" 8490 location="Bad Radkersburg" region="Steiermark" 8492 location="Halbenrain" region="Steiermark" 8493 location="Klöch" region="Steiermark" 8501 location="Lieboch" region="Steiermark" 8502 location="Lannach" region="Steiermark" 8503 location="St. Josef Weststeiermark" region="Steiermark" 8504 location="Preding" region="Steiermark" 8505 location="St. Nikolai im Sausal" region="Steiermark" 8510 location="Stainz" region="Steiermark" 8511 location="St. Stefan ob Stainz" region="Steiermark" 8521 location="Wettmannstätten" region="Steiermark" 8522 location="Groß St. Florian" region="Steiermark" 8523 location="Frauental an der Laßnitz" region="Steiermark" 8524 location="Bad Gams" region="Steiermark" 8530 location="Deutschlandsberg" region="Steiermark" 8541 location="Schwanberg" region="Steiermark" 8542 location="St. Peter im Sulmtal" region="Steiermark" 8543 location="St. Martin im Sulmtal" region="Steiermark" 8544 location="Pölfing-Brunn" region="Steiermark" 8551 location="Wies" region="Steiermark" 8552 location="Eibiswald" region="Steiermark" 8553 location="St. Oswald ob Eibiswald" region="Steiermark" 8554 location="Soboth" region="Steiermark" 8561 location="Söding" region="Steiermark" 8562 location="Mooskirchen" region="Steiermark" 8563 location="Ligist" region="Steiermark" 8564 location="Krottendorf-Gaisfeld" region="Steiermark" 8565 location="St. Johann ob Hohenburg" region="Steiermark" 8570 location="Voitsberg" region="Steiermark" 8572 location="Bärnbach" region="Steiermark" 8573 location="Kainach bei Voitsberg" region="Steiermark" 8580 location="Köflach" region="Steiermark" 8582 location="Rosental an der Kainach" region="Steiermark" 8583 location="Edelschrott" region="Steiermark" 8584 location="Hirschegg" region="Steiermark" 8591 location="Maria Lankowitz" region="Steiermark" 8592 location="Salla" region="Steiermark" 8593 location="Graden" region="Steiermark" 8600 location="Bruck an der Mur" region="Steiermark" 8605 location="Kapfenberg" region="Steiermark" 8611 location="St. Katharein an der Laming" region="Steiermark" 8612 location="Tragöß-Oberort" region="Steiermark" 8614 location="Breitenau" region="Steiermark" 8616 location="Gasen" region="Steiermark" 8621 location="Thörl" region="Steiermark" 8622 location="Etmißl" region="Steiermark" 8623 location="Aflenz Kurort" region="Steiermark" 8624 location="Au" region="Steiermark" 8625 location="Turnau" region="Steiermark" 8630 location="Mariazell" region="Steiermark" 8632 location="Gußwerk" region="Steiermark" 8634 location="Wegscheid" region="Steiermark" 8635 location="Gollrad" region="Steiermark" 8636 location="Seewiesen" region="Steiermark" 8641 location="St. Marein im Mürztal" region="Steiermark" 8642 location="St. Lorenzen im Mürztal" region="Steiermark" 8643 location="Allerheiligen im Mürztal" region="Steiermark" 8644 location="Mürzhofen" region="Steiermark" 8650 location="Kindberg" region="Steiermark" 8652 location="Kindberg-Aumühl" region="Steiermark" 8653 location="Stanz im Mürztal" region="Steiermark" 8654 location="Fischbach" region="Steiermark" 8661 location="Wartberg im Mürztal" region="Steiermark" 8662 location="Mitterdorf im Mürztal" region="Steiermark" 8663 location="Dorf Veitsch" region="Steiermark" 8664 location="Großveitsch" region="Steiermark" 8665 location="Langenwang" region="Steiermark" 8670 location="Krieglach" region="Steiermark" 8671 location="Alpl" region="Steiermark" 8672 location="St. Kathrein am Hauenstein" region="Steiermark" 8673 location="Ratten" region="Steiermark" 8674 location="Rettenegg" region="Steiermark" 8680 location="Mürzzuschlag" region="Steiermark" 8682 location="Mürzzuschlag-Hönigsberg" region="Steiermark" 8684 location="Spital am Semmering" region="Steiermark" 8685 location="Steinhaus am Semmering" region="Steiermark" 8691 location="Kapellen" region="Steiermark" 8692 location="Neuberg an der Mürz" region="Steiermark" 8693 location="Mürzsteg" region="Steiermark" 8694 location="Frein an der Mürz" region="Steiermark" 8700 location="Leoben" region="Steiermark" 8712 location="Niklasdorf" region="Steiermark" 8713 location="St. Stefan ob Leoben" region="Steiermark" 8714 location="Kraubath an der Mur" region="Steiermark" 8715 location="St. Lorenzen bei Knittelfeld" region="Steiermark" 8720 location="Knittelfeld" region="Steiermark" 8723 location="Kobenz" region="Steiermark" 8724 location="Spielberg" region="Steiermark" 8731 location="Bischoffeld" region="Steiermark" 8732 location="Seckau" region="Steiermark" 8733 location="St. Marein bei Knittelfeld" region="Steiermark" 8734 location="Großlobming" region="Steiermark" 8740 location="Zeltweg" region="Steiermark" 8741 location="Weißkirchen in Steiermark" region="Steiermark" 8742 location="Obdach" region="Steiermark" 8750 location="Judenburg" region="Steiermark" 8753 location="Fohnsdorf" region="Steiermark" 8754 location="Thalheim" region="Steiermark" 8755 location="St. Peter ob Judenburg" region="Steiermark" 8756 location="St. Georgen ob Judenburg" region="Steiermark" 8761 location="Pöls" region="Steiermark" 8762 location="Oberzeiring" region="Steiermark" 8763 location="Möderbrugg" region="Steiermark" 8764 location="Pusterwald" region="Steiermark" 8765 location="St. Johann am Tauern" region="Steiermark" 8770 location="St. Michael in Obersteiermark" region="Steiermark" 8772 location="Timmersdorf" region="Steiermark" 8773 location="Kammern im Liesingtal" region="Steiermark" 8774 location="Mautern in Steiermark" region="Steiermark" 8775 location="Kalwang" region="Steiermark" 8781 location="Wald am Schoberpaß" region="Steiermark" 8782 location="Treglwang" region="Steiermark" 8783 location="Gaishorn am See" region="Steiermark" 8784 location="Trieben" region="Steiermark" 8785 location="Hohentauern" region="Steiermark" 8786 location="Rottenmann" region="Steiermark" 8790 location="Eisenerz" region="Steiermark" 8792 location="St. Peter-Freienstein" region="Steiermark" 8793 location="Trofaiach" region="Steiermark" 8794 location="Vordernberg" region="Steiermark" 8795 location="Radmer" region="Steiermark" 8800 location="Unzmarkt" region="Steiermark" 8811 location="Scheifling" region="Steiermark" 8812 location="Mariahof" region="Steiermark" 8813 location="St. Lambrecht" region="Steiermark" 8820 location="Neumarkt in Steiermark" region="Steiermark" 8822 location="Mühlen" region="Steiermark" 8831 location="Niederwölz" region="Steiermark" 8832 location="Oberwölz" region="Steiermark" 8833 location="Teufenbach" region="Steiermark" 8841 location="Frojach" region="Steiermark" 8842 location="Katsch an der Mur" region="Steiermark" 8843 location="St. Peter am Kammersberg" region="Steiermark" 8844 location="Schöder" region="Steiermark" 8850 location="Murau" region="Steiermark" 8852 location="Stolzalpe" region="Steiermark" 8853 location="Ranten" region="Steiermark" 8854 location="Krakaudorf" region="Steiermark" 8861 location="St. Georgen ob Murau" region="Steiermark" 8862 location="Stadl an der Mur" region="Steiermark" 8863 location="Predlitz" region="Steiermark" 8864 location="Turrach" region="Steiermark" 8900 location="Selzthal" region="Steiermark" 8903 location="Lassing" region="Steiermark" 8904 location="Ardning" region="Steiermark" 8911 location="Admont" region="Steiermark" 8912 location="Johnsbach" region="Steiermark" 8913 location="Weng" region="Steiermark" 8920 location="Hieflau" region="Steiermark" 8921 location="Lainbach" region="Steiermark" 8922 location="Gams bei Hieflau" region="Steiermark" 8923 location="Palfau" region="Steiermark" 8924 location="Wildalpen" region="Steiermark" 8931 location="Landl" region="Steiermark" 8932 location="Weißenbach an der Enns" region="Steiermark" 8933 location="St. Gallen" region="Steiermark" 8934 location="Altenmarkt bei St. Gallen" region="Steiermark" 8940 location="Liezen" region="Steiermark" 8942 location="Wörschach" region="Steiermark" 8943 location="Aigen im Ennstal" region="Steiermark" 8950 location="Stainach" region="Steiermark" 8951 location="Trautenfels" region="Steiermark" 8952 location="Irdning" region="Steiermark" 8953 location="Donnersbach" region="Steiermark" 8954 location="St. Martin am Grimming" region="Steiermark" 8960 location="Öblarn" region="Steiermark" 8961 location="Stein an der Enns" region="Steiermark" 8962 location="Gröbming" region="Steiermark" 8965 location="Pruggern" region="Steiermark" 8966 location="Aich-Assach" region="Steiermark" 8967 location="Haus" region="Steiermark" 8970 location="Schladming" region="Steiermark" 8971 location="Rohrmoos-Untertal" region="Steiermark" 8972 location="Ramsau" region="Steiermark" 8973 location="Pichl" region="Steiermark" 8974 location="Mandling" region="Steiermark" 8982 location="Tauplitz" region="Steiermark" 8983 location="Bad Mitterndorf" region="Steiermark" 8984 location="Kainisch" region="Steiermark" 8990 location="Bad Aussee" region="Steiermark" 8992 location="Altaussee" region="Steiermark" 8993 location="Grundlsee" region="Steiermark" 9020 location="Klagenfurt am Wörthersee" region="Kärnten" 9061 location="Klagenfurt-Wölfnitz" region="Kärnten" 9062 location="Moosburg" region="Kärnten" 9063 location="Maria Saal" region="Kärnten" 9064 location="Pischeldorf" region="Kärnten" 9065 location="Ebenthal" region="Kärnten" 9071 location="Köttmannsdorf" region="Kärnten" 9072 location="Ludmannsdorf" region="Kärnten" 9073 location="Klagenfurt-Viktring" region="Kärnten" 9074 location="Keutschach" region="Kärnten" 9081 location="Reifnitz" region="Kärnten" 9082 location="Maria Wörth" region="Kärnten" 9100 location="Völkermarkt" region="Kärnten" 9102 location="Mittertrixen" region="Kärnten" 9103 location="Diex" region="Kärnten" 9111 location="Haimburg" region="Kärnten" 9112 location="Griffen" region="Kärnten" 9113 location="Ruden" region="Kärnten" 9121 location="Tainach" region="Kärnten" 9122 location="St. Kanzian am Klopeiner See" region="Kärnten" 9123 location="St. Primus" region="Kärnten" 9125 location="Kühnsdorf" region="Kärnten" 9130 location="Poggersdorf" region="Kärnten" 9131 location="Grafenstein" region="Kärnten" 9132 location="Gallizien" region="Kärnten" 9133 location="Sittersdorf" region="Kärnten" 9135 location="Bad Eisenkappel" region="Kärnten" 9141 location="Eberndorf" region="Kärnten" 9142 location="Globasnitz" region="Kärnten" 9143 location="St. Michael ob Bleiburg" region="Kärnten" 9150 location="Bleiburg" region="Kärnten" 9155 location="Neuhaus" region="Kärnten" 9161 location="Maria Rain" region="Kärnten" 9162 location="Strau" region="Kärnten" 9163 location="Unterbergen" region="Kärnten" 9170 location="Ferlach" region="Kärnten" 9173 location="St. Margareten im Rosental" region="Kärnten" 9181 location="Feistritz im Rosental" region="Kärnten" 9182 location="Maria Elend" region="Kärnten" 9183 location="Rosenbach" region="Kärnten" 9184 location="St. Jakob im Rosental" region="Kärnten" 9201 location="Krumpendorf" region="Kärnten" 9210 location="Pörtschach am Wörther See" region="Kärnten" 9212 location="Techelsberg am Wörther See" region="Kärnten" 9220 location="Velden am Wörther See" region="Kärnten" 9231 location="Köstenberg" region="Kärnten" 9232 location="Rosegg" region="Kärnten" 9241 location="Wernberg" region="Kärnten" 9300 location="St. Veit an der Glan" region="Kärnten" 9311 location="Kraig" region="Kärnten" 9312 location="Meiselding" region="Kärnten" 9313 location="St. Georgen am Längsee" region="Kärnten" 9314 location="Launsdorf" region="Kärnten" 9321 location="Kappel am Krappfeld" region="Kärnten" 9322 location="Micheldorf" region="Kärnten" 9323 location="Wildbad Einöd" region="Steiermark" 9330 location="Treibach-Althofen" region="Kärnten" 9334 location="Guttaring" region="Kärnten" 9335 location="Lölling" region="Kärnten" 9341 location="Straßburg" region="Kärnten" 9342 location="Gurk" region="Kärnten" 9343 location="Zweinitz" region="Kärnten" 9344 location="Weitensfeld" region="Kärnten" 9345 location="Kleinglödnitz" region="Kärnten" 9346 location="Glödnitz" region="Kärnten" 9360 location="Friesach" region="Kärnten" 9361 location="St. Salvator" region="Kärnten" 9362 location="Grades" region="Kärnten" 9363 location="Metnitz" region="Kärnten" 9371 location="Brückl" region="Kärnten" 9372 location="Eberstein" region="Kärnten" 9373 location="Klein St. Paul" region="Kärnten" 9374 location="Wieting" region="Kärnten" 9375 location="Hüttenberg" region="Kärnten" 9376 location="Knappenberg" region="Kärnten" 9400 location="Wolfsberg" region="Kärnten" 9411 location="St. Michael" region="Kärnten" 9412 location="St. Margarethen im Lavanttal" region="Kärnten" 9413 location="St. Gertraud" region="Kärnten" 9421 location="Eitweg" region="Kärnten" 9422 location="Maria Rojach" region="Kärnten" 9423 location="St. Georgen" region="Kärnten" 9431 location="St. Stefan" region="Kärnten" 9433 location="St. Andrä" region="Kärnten" 9441 location="Twimberg" region="Kärnten" 9451 location="Preitenegg" region="Kärnten" 9461 location="Prebl" region="Kärnten" 9462 location="Bad St. Leonhard im Lavanttal" region="Kärnten" 9463 location="Reichenfels" region="Kärnten" 9470 location="St. Paul im Lavanttal" region="Kärnten" 9472 location="Ettendorf" region="Kärnten" 9473 location="Lavamünd" region="Kärnten" 9500 location="Villach" region="Kärnten" 9504 location="Villach-Warmbad Villach" region="Kärnten" 9520 location="Sattendorf" region="Kärnten" 9521 location="Treffen" region="Kärnten" 9523 location="Villach-Landskron" region="Kärnten" 9524 location="Villach-St. Magdalen" region="Kärnten" 9530 location="Bad Bleiberg" region="Kärnten" 9531 location="Kreuth" region="Kärnten" 9535 location="Schiefling am Wörthersee" region="Kärnten" 9536 location="St. Egyden" region="Kärnten" 9541 location="Einöde" region="Kärnten" 9542 location="Afritz" region="Kärnten" 9543 location="Arriach" region="Kärnten" 9544 location="Feld am See" region="Kärnten" 9545 location="Radenthein" region="Kärnten" 9546 location="Bad Kleinkirchheim" region="Kärnten" 9551 location="Bodensdorf" region="Kärnten" 9552 location="Steindorf am Ossiacher See" region="Kärnten" 9554 location="St. Urban" region="Kärnten" 9555 location="Glanegg" region="Kärnten" 9556 location="Liebenfels" region="Kärnten" 9560 location="Feldkirchen in Kärnten" region="Kärnten" 9562 location="Himmelberg" region="Kärnten" 9563 location="Gnesau" region="Kärnten" 9564 location="Patergassen" region="Kärnten" 9565 location="Ebene Reichenau" region="Kärnten" 9570 location="Ossiach" region="Kärnten" 9571 location="Sirnitz" region="Kärnten" 9572 location="Deutsch Griffen" region="Kärnten" 9580 location="Villach-Drobollach am Faaker See" region="Kärnten" 9581 location="Ledenitzen" region="Kärnten" 9582 location="Latschach" region="Kärnten" 9583 location="Faak am See" region="Kärnten" 9584 location="Finkenstein" region="Kärnten" 9585 location="Gödersdorf" region="Kärnten" 9586 location="Fürnitz" region="Kärnten" 9587 location="Riegersdorf" region="Kärnten" 9601 location="Arnoldstein" region="Kärnten" 9602 location="Thörl-Maglern" region="Kärnten" 9611 location="Nötsch" region="Kärnten" 9612 location="St. Georgen im Gailtal" region="Kärnten" 9613 location="Feistritz an der Gail" region="Kärnten" 9614 location="Vorderberg" region="Kärnten" 9615 location="Görtschach" region="Kärnten" 9620 location="Hermagor" region="Kärnten" 9622 location="Weißbriach" region="Kärnten" 9623 location="St. Stefan an der Gail" region="Kärnten" 9624 location="Egg" region="Kärnten" 9631 location="Jenig" region="Kärnten" 9632 location="Kirchbach" region="Kärnten" 9633 location="Reisach" region="Kärnten" 9634 location="Gundersheim" region="Kärnten" 9635 location="Dellach" region="Kärnten" 9640 location="Kötschach-Mauthen" region="Kärnten" 9651 location="St. Jakob im Lesachtal" region="Kärnten" 9652 location="Birnbaum" region="Kärnten" 9653 location="Liesing" region="Kärnten" 9654 location="St. Lorenzen im Lesachtal" region="Kärnten" 9655 location="Maria Luggau" region="Kärnten" 9701 location="Rothenthurn" region="Kärnten" 9702 location="Ferndorf" region="Kärnten" 9710 location="Feistritz an der Drau" region="Kärnten" 9711 location="Paternion" region="Kärnten" 9712 location="Fresach" region="Kärnten" 9713 location="Zlan" region="Kärnten" 9714 location="Stockenboi" region="Kärnten" 9721 location="Weißenstein" region="Kärnten" 9722 location="Gummern" region="Kärnten" 9751 location="Sachsenburg" region="Kärnten" 9753 location="Lind im Drautal" region="Kärnten" 9754 location="Steinfeld" region="Kärnten" 9761 location="Greifenburg" region="Kärnten" 9762 location="Weißensee" region="Kärnten" 9771 location="Berg im Drautal" region="Kärnten" 9772 location="Dellach" region="Kärnten" 9773 location="Irschen" region="Kärnten" 9781 location="Oberdrauburg" region="Kärnten" 9782 location="Nikolsdorf" region="Tirol" 9800 location="Spittal an der Drau" region="Kärnten" 9805 location="Baldramsdorf" region="Kärnten" 9811 location="Lendorf" region="Kärnten" 9812 location="Pusarnitz" region="Kärnten" 9813 location="Möllbrücke" region="Kärnten" 9814 location="Mühldorf" region="Kärnten" 9815 location="Kolbnitz" region="Kärnten" 9816 location="Penk" region="Kärnten" 9821 location="Obervellach" region="Kärnten" 9822 location="Mallnitz" region="Kärnten" 9831 location="Flattach" region="Kärnten" 9832 location="Stall" region="Kärnten" 9833 location="Rangersdorf" region="Kärnten" 9841 location="Winklern" region="Kärnten" 9842 location="Mörtschach" region="Kärnten" 9843 location="Großkirchheim" region="Kärnten" 9844 location="Heiligenblut" region="Kärnten" 9851 location="Lieserbrücke" region="Kärnten" 9852 location="Trebesing" region="Kärnten" 9853 location="Gmünd" region="Kärnten" 9854 location="Malta" region="Kärnten" 9861 location="Eisentratten" region="Kärnten" 9862 location="Kremsbrücke" region="Kärnten" 9863 location="Rennweg" region="Kärnten" 9871 location="Seeboden" region="Kärnten" 9872 location="Millstatt am See" region="Kärnten" 9873 location="Döbriach" region="Kärnten" 9900 location="Lienz" region="Tirol" 9903 location="Oberlienz" region="Tirol" 9904 location="Thurn" region="Tirol" 9905 location="Gaimberg" region="Tirol" 9906 location="Lavant" region="Tirol" 9907 location="Tristach" region="Tirol" 9908 location="Amlach" region="Tirol" 9909 location="Leisach" region="Tirol" 9911 location="Assling" region="Tirol" 9912 location="Anras" region="Tirol" 9913 location="Abfaltersbach" region="Tirol" 9918 location="Strassen" region="Tirol" 9919 location="Heinfels" region="Tirol" 9920 location="Sillian" region="Tirol" 9931 location="Außervillgraten" region="Tirol" 9932 location="Innervillgraten" region="Tirol" 9941 location="Kartitsch" region="Tirol" 9942 location="Obertilliach" region="Tirol" 9943 location="Untertilliach" region="Tirol" 9951 location="Ainet" region="Tirol" 9952 location="St. Johann im Walde" region="Tirol" 9954 location="Schlaiten" region="Tirol" 9961 location="Hopfgarten in Defereggen" region="Tirol" 9962 location="St. Veit in Defereggen" region="Tirol" 9963 location="St. Jakob in Defereggen" region="Tirol" 9971 location="Matrei in Osttirol" region="Tirol" 9972 location="Virgen" region="Tirol" 9974 location="Prägraten" region="Tirol" 9981 location="Kals" region="Tirol" 9990 location="Nußdorf-Debant" region="Tirol" 9991 location="Dölsach" region="Tirol" 9992 location="Iselsberg-Stronach" region="Tirol" python-stdnum-1.13/stdnum/at/vnr.py0000644000000000000000000000463613555400447017342 0ustar rootroot00000000000000# vnr.py - functions for handling Austrian social security numbers # coding: utf-8 # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """VNR, SVNR, VSNR (Versicherungsnummer, Austrian social security number). The Austian Versicherungsnummer is a personal identification number used for social security. The number is 10 digits long and consists of a 3 digit serial, a check digit and 6 digits that usually specify the person's birth date. More information: * https://de.wikipedia.org/wiki/Sozialversicherungsnummer#Österreich >>> validate('1237 010180') '1237010180' >>> validate('2237 010180') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ') def calc_check_digit(number): """Calculate the check digit. The fourth digit in the number is ignored.""" weights = (3, 7, 9, 0, 5, 8, 4, 2, 1, 6) return str(sum(w * int(n) for w, n in zip(weights, number)) % 11) def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number) or number.startswith('0'): raise InvalidFormat() if len(number) != 10: raise InvalidLength() if calc_check_digit(number) != number[3]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/at/fa.dat0000644000000000000000000000421013555400447017227 0ustar rootroot00000000000000# List of Finanzamtsnummern was manually generated from # https://de.wikipedia.org/wiki/Abgabenkontonummer 03 office="Wien 3/6/7/11/15 Schwechat Gerasdorf" region="Wien" 04 office="Wien 4/5/10" region="Wien" 06 office="Wien 8/16/17" region="Wien" 07 office="Wien 9/18/19 Klosterneuburg" region="Wien" 08 office="Wien 12/13/14 Purkersdorf" region="Wien" 09 office="Wien 1/23" region="Wien" 10 office="für Gebühren, Verkehrsteuern und Glücksspiel" region="" 12 office="Wien 2/20/21/22" region="Wien" 15 office="Amstetten Melk Scheibbs" region="Niederösterreich" 16 office="Baden Mödling" region="Niederösterreich" 18 office="Gänserndorf Mistelbach" region="Niederösterreich" 22 office="Hollabrunn Korneuburg Tulln" region="Niederösterreich" 23 office="Waldviertel" region="Niederösterreich" 29 office="Lilienfeld St. Pölten" region="Niederösterreich" 33 office="Neunkirchen Wr. Neustadt" region="Niederösterreich" 38 office="Bruck Eisenstadt Oberwart" region="Burgenland, Niederösterreich" 41 office="Braunau Ried Schärding" region="Oberösterreich" 46 office="Linz" region="Oberösterreich" 51 office="Kirchdorf Perg Steyr" region="Oberösterreich" 52 office="Freistadt Rohrbach Urfahr" region="Oberösterreich" 53 office="Gmunden Vöcklabruck" region="Oberösterreich" 54 office="Grieskirchen Wels" region="Oberösterreich" 57 office="Klagenfurt" region="Kärnten" 59 office="St. Veit Wolfsberg" region="Kärnten" 61 office="Spittal Villach" region="Kärnten" 65 office="Bruck Leoben Mürzzuschlag" region="Steiermark" 67 office="Oststeiermark" region="Steiermark" 68 office="Graz-Stadt" region="Steiermark" 69 office="Graz-Umgebung" region="Steiermark" 71 office="Judenburg Liezen" region="Steiermark" 72 office="Deutschlandsberg Leibnitz Voitsberg" region="Steiermark" 81 office="Innsbruck" region="Tirol" 82 office="Kitzbühel Lienz" region="Tirol" 83 office="Kufstein Schwaz" region="Tirol" 84 office="Landeck Reutte" region="Tirol" 90 office="St. Johann Tamsweg Zell am See" region="Salzburg" 91 office="Salzburg-Stadt" region="Salzburg" 93 office="Salzburg-Land" region="Salzburg" 97 office="Bregenz" region="Vorarlberg" 98 office="Feldkirch" region="Vorarlberg" python-stdnum-1.13/stdnum/gb/0000755000000000000000000000000013611057637016140 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/gb/__init__.py0000644000000000000000000000156213555400447020253 0ustar rootroot00000000000000# __init__.py - collection of United Kingdom numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of United Kingdom numbers.""" python-stdnum-1.13/stdnum/gb/sedol.py0000644000000000000000000000527713555400447017631 0ustar rootroot00000000000000# sedol.py - functions for handling SEDOL numbers # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """SEDOL number (Stock Exchange Daily Official List number). The SEDOL number is a security identifier used in the United Kingdom and Ireland assigned by the London Stock Exchange. A SEDOL is seven characters in length consisting of six alphanumeric digits, followed by a check digit. >>> validate('B15KXQ8') 'B15KXQ8' >>> validate('B15KXQ7') Traceback (most recent call last): ... InvalidChecksum: ... >>> to_isin('B15KXQ8') 'GB00B15KXQ89' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits # the letters allowed in an SEDOL (vowels are never used) _alphabet = '0123456789 BCD FGH JKLMN PQRST VWXYZ' def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip().upper() def calc_check_digit(number): """Calculate the check digits for the number.""" weights = (1, 3, 1, 7, 3, 9) s = sum(w * _alphabet.index(n) for w, n in zip(weights, number)) return str((10 - s) % 10) def validate(number): """Check if the number is valid. This checks the length and check digit.""" number = compact(number) if not all(x in _alphabet for x in number): raise InvalidFormat() if len(number) != 7: raise InvalidLength() if isdigits(number[0]) and not isdigits(number): # new style SEDOLs are supposed to start with a letter, old-style # numbers should be fully numeric raise InvalidFormat() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is valid.""" try: return bool(validate(number)) except ValidationError: return False def to_isin(number): """Convert the number to an ISIN.""" from stdnum import isin return isin.from_natid('GB', number) python-stdnum-1.13/stdnum/gb/vat.py0000644000000000000000000001023713555400447017305 0ustar rootroot00000000000000# vat.py - functions for handling United Kingdom VAT numbers # # Copyright (C) 2012-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """VAT (United Kingdom (and Isle of Man) VAT registration number). The VAT number can either be a 9-digit standard number, a 12-digit standard number followed by a 3-digit branch identifier, a 5-digit number for government departments (first two digits are GD) or a 5-digit number for health authorities (first two digits are HA). The 9-digit variants use a weighted checksum. >>> validate('GB 980 7806 84') '980780684' >>> validate('802311781') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> format('980780684') '980 7806 84' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -.').upper().strip() if number.startswith('GB'): number = number[2:] return number def checksum(number): """Calculate the checksum. The checksum is only used for the 9 digits of the number and the result can either be 0 or 42.""" weights = (8, 7, 6, 5, 4, 3, 2, 10, 1) return sum(w * int(n) for w, n in zip(weights, number)) % 97 def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if len(number) == 5: if not isdigits(number[2:]): raise InvalidFormat() if number.startswith('GD') and int(number[2:]) < 500: # government department pass elif number.startswith('HA') and int(number[2:]) >= 500: # health authority pass else: raise InvalidComponent() elif len(number) == 11 and number[0:6] in ('GD8888', 'HA8888'): if not isdigits(number[6:]): raise InvalidFormat() if number.startswith('GD') and int(number[6:9]) < 500: # government department pass elif number.startswith('HA') and int(number[6:9]) >= 500: # health authority pass else: raise InvalidComponent() if int(number[6:9]) % 97 != int(number[9:11]): raise InvalidChecksum() elif len(number) in (9, 12): if not isdigits(number): raise InvalidFormat() # standard number: nnn nnnn nn # branch trader: nnn nnnn nn nnn (ignore the last thee digits) # restarting: 100 nnnn nn if int(number[:3]) >= 100: if checksum(number[:9]) not in (0, 42, 55): raise InvalidChecksum() else: if checksum(number[:9]) != 0: raise InvalidChecksum() else: raise InvalidLength() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) if len(number) == 5: # government department or health authority return number if len(number) == 12: # includes branch number return number[:3] + ' ' + number[3:7] + ' ' + number[7:9] + ' ' + number[9:] # standard number: nnn nnnn nn return number[:3] + ' ' + number[3:7] + ' ' + number[7:] python-stdnum-1.13/stdnum/gb/upn.py0000644000000000000000000000760713555400447017324 0ustar rootroot00000000000000# upn.py - functions for handling English UPNs # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """UPN (English Unique Pupil Number). The Unique Pupil Number (UPN) is a 13-character code that identifies pupils in English state schools and is designed to aid tracking pupil progress through the school system. The number consists of a check letter, a 3-digit LA (Local Authority) number for the issuing school, a 4-digit DfE number (School Establishment Number), 2 digits for the issue year and 3 digits for a serial number. Temporary numbers have a 2-digit serial and a letter. More information: * https://www.gov.uk/government/publications/unique-pupil-numbers >>> validate('B801200005001') 'B801200005001' >>> validate('A801200005001') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('X80120000A001') # middle part must be numeric Traceback (most recent call last): ... InvalidFormat: ... >>> validate('E000200005001') # LA number must be known Traceback (most recent call last): ... InvalidComponent: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits # The allowed characters in an UPN. _alphabet = 'ABCDEFGHJKLMNPQRTUVWXYZ0123456789' # The known values for the LA (Local Authority) number. # https://www.gov.uk/government/statistics/new-local-authority-codes-january-2011 _la_numbers = set(( 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 330, 331, 332, 333, 334, 335, 336, 340, 341, 342, 343, 344, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 370, 371, 372, 373, 380, 381, 382, 383, 384, 390, 391, 392, 393, 394, 420, 800, 801, 802, 803, 805, 806, 807, 808, 810, 811, 812, 813, 815, 816, 821, 822, 823, 825, 826, 830, 831, 835, 836, 837, 840, 841, 845, 846, 850, 851, 852, 855, 856, 857, 860, 861, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 908, 909, 916, 919, 921, 925, 926, 928, 929, 931, 933, 935, 936, 937, 938)) def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').upper().strip() def calc_check_digit(number): """Calculate the check digit for the number.""" check = sum(i * _alphabet.index(n) for i, n in enumerate(number[-12:], 2)) % 23 return _alphabet[check] def validate(number): """Check if the number is a valid UPN. This checks length, formatting and check digits.""" number = compact(number) if len(number) != 13: raise InvalidLength() if not isdigits(number[1:-1]) or number[-1] not in _alphabet: raise InvalidFormat() if int(number[1:4]) not in _la_numbers: raise InvalidComponent() if calc_check_digit(number[1:]) != number[0]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid UPN.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/gb/nhs.py0000644000000000000000000000541513555400447017305 0ustar rootroot00000000000000# nhs.py - functions for handling United Kingdom NHS numbers # # Copyright (C) 2016-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NHS (United Kingdom National Health Service patient identifier). The NHS number is used by the NHS (National Health Service) and its partners to uniquely identify patients. The number is used in England, Wales and the Isle of Man. The number is assigned at birth and consists of 10 digits where the final digit is a check digit. More information: * https://en.wikipedia.org/wiki/NHS_number * http://www.nhs.uk/NHSEngland/thenhs/records/nhs-number/ * https://digital.nhs.uk/article/301/NHS-Number * http://www.datadictionary.nhs.uk/data_dictionary/attributes/n/nhs/nhs_number_de.asp >>> validate('943-476-5870') '9434765870' >>> validate('9434765871') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> format('9434765870') '943 476 5870' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip() def checksum(number): """Calculate the checksum. The checksum is only used for the 9 digits of the number and the result can either be 0 or 42.""" return sum(i * int(n) for i, n in enumerate(reversed(number), 1)) % 11 def validate(number): """Check if the number is valid. This checks the length and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 10: raise InvalidLength() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number is valid.""" try: return bool(validate(number)) except ValidationError: return False def format(number, separator=' '): """Reformat the number to the standard presentation format.""" number = compact(number) return separator.join((number[0:3], number[3:6], number[6:])) python-stdnum-1.13/stdnum/isil.py0000644000000000000000000000711513555400447017064 0ustar rootroot00000000000000# isil.py - functions for handling identifiers for libraries and related # organizations # # Copyright (C) 2011-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ISIL (International Standard Identifier for Libraries). The ISIL is the International Standard Identifier for Libraries and Related Organizations (ISO 15511) used to uniquely identify libraries, archives, museums, and similar organisations. The identifier can be up to 15 characters that may use digits, letters (case insensitive) hyphens, colons and slashes. The non-alphanumeric characters are part of the identifier and are not just for readability. The identifier consists of two parts separated by a hyphen. The first part is either a two-letter ISO 3166 country code or a (not two-letter) non-national prefix that identifies the agency that issued the ISIL. The second part is the is the identifier issued by that agency. Only the first part can be validated since it is registered globally. There may be some validation possible with the second parts (some agencies provide web services for validation) but there is no common format to these services. More information: * https://en.wikipedia.org/wiki/ISBT_128 * http://biblstandard.dk/isil/ * https://www.iso.org/standard/57332.html >>> validate('IT-RM0267') 'IT-RM0267' >>> validate('OCLC-DLC') 'OCLC-DLC' >>> validate('WW-RM0267') # unregistered country code Traceback (most recent call last): ... InvalidComponent: ... >>> format('it-RM0267') 'IT-RM0267' """ from stdnum.exceptions import * from stdnum.util import clean # the valid characters in an ISIL _alphabet = set( '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-:/') def compact(number): """Convert the ISIL to the minimal representation. This strips surrounding whitespace.""" return clean(number, '').strip() def _is_known_agency(agency): """Check whether the specified agency is valid.""" # look it up in the db from stdnum import numdb results = numdb.get('isil').info(agency.upper() + '$') # there should be only one part and it should have properties return len(results) == 1 and bool(results[0][1]) def validate(number): """Check if the number provided is a valid ISIL.""" number = compact(number) if not all(x in _alphabet for x in number): raise InvalidFormat() if len(number) > 15: raise InvalidLength() if not _is_known_agency(number.split('-')[0]): raise InvalidComponent() return number def is_valid(number): """Check if the number provided is a valid ISIL.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) parts = number.split('-') if len(parts) > 1 and _is_known_agency(parts[0]): parts[0] = parts[0].upper() return '-'.join(parts) python-stdnum-1.13/stdnum/nl/0000755000000000000000000000000013611057637016161 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/nl/bsn.py0000644000000000000000000000552613555400450017315 0ustar rootroot00000000000000# bsn.py - functions for handling BSNs # # Copyright (C) 2010-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """BSN (Burgerservicenummer, the Dutch citizen identification number). The BSN is a unique personal identifier and has been introduced as the successor to the sofinummer. It is issued to each Dutch national. The number consists of up to nine digits (the leading zeros are commonly omitted) and contains a simple checksum. More information: * https://en.wikipedia.org/wiki/National_identification_number#Netherlands * https://nl.wikipedia.org/wiki/Burgerservicenummer * http://www.burgerservicenummer.nl/ >>> validate('1112.22.333') '111222333' >>> validate('1112.52.333') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('1112223334') Traceback (most recent call last): ... InvalidLength: ... >>> format('111222333') '1112.22.333' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -.').strip() # pad with leading zeroes return (9 - len(number)) * '0' + number def checksum(number): """Calculate the checksum over the number. A valid number should have a checksum of 0.""" return (sum((9 - i) * int(n) for i, n in enumerate(number[:-1])) - int(number[-1])) % 11 def validate(number): """Check if the number is a valid BSN. This checks the length and whether the check digit is correct.""" number = compact(number) if not isdigits(number) or int(number) <= 0: raise InvalidFormat() if len(number) != 9: raise InvalidLength() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid BSN.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the passed number to the standard presentation format.""" number = compact(number) return number[:4] + '.' + number[4:6] + '.' + number[6:] python-stdnum-1.13/stdnum/nl/postcode.py0000644000000000000000000000466113555400450020352 0ustar rootroot00000000000000# postcode.py - functions for handling Dutch postal codes # # Copyright (C) 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Postcode (the Dutch postal code). The Dutch postal code consists of four numbers followed by two letters, separated by a single space. More information: * https://en.wikipedia.org/wiki/Postal_codes_in_the_Netherlands * https://nl.wikipedia.org/wiki/Postcodes_in_Nederland >>> validate('2601 DC') '2601 DC' >>> validate('NL-2611ET') '2611 ET' >>> validate('26112 ET') Traceback (most recent call last): ... InvalidFormat: ... >>> validate('2611 SS') # a few letter combinations are banned Traceback (most recent call last): ... InvalidComponent: ... """ import re from stdnum.exceptions import * from stdnum.util import clean _postcode_re = re.compile(r'^(?P[1-9][0-9]{3})(?P[A-Z]{2})$') _postcode_blacklist = ('SA', 'SD', 'SS') def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('NL'): number = number[2:] return number def validate(number): """Check if the number is in the correct format. This currently does not check whether the code corresponds to a real address.""" number = compact(number) match = _postcode_re.search(number) if not match: raise InvalidFormat() if match.group('pt2') in _postcode_blacklist: raise InvalidComponent() return '%s %s' % (match.group('pt1'), match.group('pt2')) def is_valid(number): """Check if the number is a valid postal code.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/nl/onderwijsnummer.py0000644000000000000000000000445413555400450021762 0ustar rootroot00000000000000# onderwijsnummer.py - functions for handling onderwijsnummers # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Onderwijsnummer (the Dutch student identification number). The onderwijsnummers (education number) is very similar to the BSN (Dutch citizen identification number), but is for students without a BSN. It uses a checksum mechanism similar to the BSN. More information: * https://nl.wikipedia.org/wiki/Onderwijsnummer >>> validate('1012.22.331') '101222331' >>> validate('100252333') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('1012.22.3333') Traceback (most recent call last): ... InvalidLength: ... >>> validate('2112.22.337') # number must start with 10 Traceback (most recent call last): ... InvalidFormat: ... """ from stdnum.exceptions import * from stdnum.nl.bsn import checksum, compact from stdnum.util import isdigits __all__ = ['compact', 'validate', 'is_valid'] def validate(number): """Check if the number is a valid onderwijsnummer. This checks the length and whether the check digit is correct and whether it starts with the right sequence.""" number = compact(number) if not isdigits(number) or int(number) <= 0: raise InvalidFormat() if not number.startswith('10'): raise InvalidFormat() if len(number) != 9: raise InvalidLength() if checksum(number) != 5: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid onderwijsnummer.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/nl/__init__.py0000644000000000000000000000174313555400450020267 0ustar rootroot00000000000000# __init__.py - collection of Dutch numbers # coding: utf-8 # # Copyright (C) 2012-2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Dutch numbers.""" # provide aliases from stdnum.nl import btw as vat # noqa: F401 from stdnum.nl import postcode as postal_code # noqa: F401 python-stdnum-1.13/stdnum/nl/brin.py0000644000000000000000000000520313555400450017455 0ustar rootroot00000000000000# brin.py - functions for handling Brin numbers # # Copyright (C) 2013-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """BRIN number (the Dutch school identification number). The BRIN (Basisregistratie Instellingen) is a number to identify schools and related institutions. The number consists of four alphanumeric characters, sometimes extended with two digits to indicate the site (this complete code is called the vestigingsnummer). The register of these numbers can be downloaded from: https://www.duo.nl/open_onderwijsdata/databestanden/ More information: * https://nl.wikipedia.org/wiki/Basisregistratie_Instellingen >>> validate('05 KO') '05KO' >>> validate('07NU 00') '07NU00' >>> validate('12KB1') Traceback (most recent call last): ... InvalidLength: ... >>> validate('30AJ0A') # location code has letter Traceback (most recent call last): ... InvalidFormat: ... """ import re from stdnum.exceptions import * from stdnum.util import clean # this regular expression is based on what was found in the online # database: the first two digits are always numeric, followed by two # letters and an optional two letter location identifier _brin_re = re.compile(r'^(?P[0-9]{2}[A-Z]{2})(?P[0-9]{2})?$') def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -.').upper().strip() def validate(number): """Check if the number is a valid Brun number. This currently does not check whether the number points to a registered school.""" number = compact(number) if len(number) not in (4, 6): raise InvalidLength() match = _brin_re.search(number) if not match: raise InvalidFormat() return number def is_valid(number): """Check if the number is a valid Brun number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/nl/btw.py0000644000000000000000000000600013606452301017312 0ustar rootroot00000000000000# btw.py - functions for handling Dutch VAT numbers # # Copyright (C) 2012-2020 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Btw-identificatienummer (Omzetbelastingnummer, the Dutch VAT number). The btw-identificatienummer (previously the btw-nummer) is the Dutch number for identifying parties in a transaction for which VAT is due. The btw-nummer is used in communication with the tax agency while the btw-identificatienummer (EORI-nummer) can be used when dealing with other companies though they are used interchangeably. The btw-nummer consists of a RSIN or BSN followed by the letter B and two digits that identify the number of the company created. The btw-identificatienummer has a similar format but different checksum and does not contain the BSN. More information: * https://en.wikipedia.org/wiki/VAT_identification_number * https://nl.wikipedia.org/wiki/Btw-nummer_(Nederland) >>> validate('004495445B01') '004495445B01' >>> validate('NL4495445B01') '004495445B01' >>> validate('NL002455799B11') # valid since 2020-01-01 '002455799B11' >>> validate('123456789B90') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.iso7064 import mod_97_10 from stdnum.nl import bsn from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -.').upper().strip() if number.startswith('NL'): number = number[2:] return bsn.compact(number[:-3]) + number[-3:] def validate(number): """Check if the number is a valid btw number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number[:9]) or int(number[:9]) <= 0: raise InvalidFormat() if not isdigits(number[10:]) or int(number[10:]) <= 0: raise InvalidFormat() if len(number) != 12: raise InvalidLength() if number[9] != 'B': raise InvalidFormat() if not bsn.is_valid(number[:9]) and not mod_97_10.is_valid('NL' + number): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid btw number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/exceptions.py0000644000000000000000000000431313555400447020302 0ustar rootroot00000000000000# exceptions.py - collection of stdnum exceptions # coding: utf-8 # # Copyright (C) 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of exceptions. The validation functions of stdnum should raise one of the below exceptions when validation of the number fails. """ class ValidationError(Exception): """Top-level error for validating numbers. This exception should normally not be raised, only subclasses of this exception.""" def __str__(self): """Return the exception message.""" return ''.join(self.args[:1]) or getattr(self, 'message', '') class InvalidFormat(ValidationError): """Something is wrong with the format of the number. This generally means characters or delimiters that are not allowed are part of the number or required parts are missing.""" message = 'The number has an invalid format.' class InvalidChecksum(ValidationError): """The number's internal checksum or check digit does not match.""" message = "The number's checksum or check digit is invalid." class InvalidLength(InvalidFormat): """The length of the number is wrong.""" message = 'The number has an invalid length.' class InvalidComponent(ValidationError): """One of the parts of the number has an invalid reference. Some part of the number refers to some external entity like a country code, a date or a predefined collection of values. The number contains some invalid reference.""" message = 'One of the parts of the number are invalid or unknown.' python-stdnum-1.13/stdnum/me/0000755000000000000000000000000013611057637016151 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/me/iban.py0000644000000000000000000000431113555400450017423 0ustar rootroot00000000000000# iban.py - functions for handling Montenegro IBANs # coding: utf-8 # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Montenegro IBAN (International Bank Account Number). The IBAN is used to identify bank accounts across national borders. The Montenegro IBAN is built up of the IBAN prefix (ME) and check digits, followed by a 3 digit bank identifier, a 13 digit account number and 2 more check digits. >>> validate('ME 2551 0000 0000 0623 4133') 'ME25510000000006234133' >>> validate('ME52510000000006234132') # incorrect national check digits Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('GR1601101050000010547023795') # not a Montenegro IBAN Traceback (most recent call last): ... InvalidComponent: ... """ from stdnum import iban from stdnum.exceptions import * __all__ = ['compact', 'format', 'validate', 'is_valid'] compact = iban.compact format = iban.format def _checksum(number): """Calculate the check digits over the provided part of the number.""" return int(number) % 97 def validate(number): """Check if the number provided is a valid Montenegro IBAN.""" number = iban.validate(number, check_country=False) if not number.startswith('ME'): raise InvalidComponent() if _checksum(number[4:]) != 1: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid Montenegro IBAN.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/me/__init__.py0000644000000000000000000000155213555400450020255 0ustar rootroot00000000000000# __init__.py - collection of Montenegro numbers # coding: utf-8 # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Montenegro numbers.""" python-stdnum-1.13/stdnum/de/0000755000000000000000000000000013611057637016140 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/de/wkn.py0000644000000000000000000000446713555400447017322 0ustar rootroot00000000000000# wkn.py - functions for handling Wertpapierkennnummer # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Wertpapierkennnummer (German securities identification code). The WKN, WPKN, WPK (Wertpapierkennnummer) is a German code to identify securities. It is a 6-digit alphanumeric number without a check digit that no longer has any structure. It is expected to be replaced by the ISIN. >>> validate('A0MNRK') 'A0MNRK' >>> validate('AOMNRK') # no capital o allowed Traceback (most recent call last): ... InvalidFormat: ... >>> to_isin('SKWM02') 'DE000SKWM021' """ from stdnum.exceptions import * from stdnum.util import clean def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip().upper() # O and I are not valid but are accounted for in the check digit calculation _alphabet = '0123456789ABCDEFGH JKLMN PQRSTUVWXYZ' def validate(number): """Check if the number provided is valid. This checks the length and check digit.""" number = compact(number) if not all(x in _alphabet for x in number): raise InvalidFormat() if len(number) != 6: raise InvalidLength() return number def is_valid(number): """Check if the number provided is valid. This checks the length and check digit.""" try: return bool(validate(number)) except ValidationError: return False def to_isin(number): """Convert the number to an ISIN.""" from stdnum import isin return isin.from_natid('DE', number) python-stdnum-1.13/stdnum/de/stnr.py0000644000000000000000000001536113555400447017504 0ustar rootroot00000000000000# steuernummer.py - functions for handling German tax numbers # coding: utf-8 # # Copyright (C) 2017 Holvi Payment Services # Copyright (C) 2018-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """St.-Nr. (Steuernummer, German tax number). The Steuernummer (St.-Nr.) is a tax number assigned by regional tax offices to taxable individuals and organisations. The number is being replaced by the Steuerliche Identifikationsnummer (IdNr). The number has 10 or 11 digits for the regional form (per Bundesland) and 13 digits for the number that is unique within Germany. The number consists of (part of) the Bundesfinanzamtsnummer (BUFA-Nr.), a district number, a serial number and a check digit. More information: * https://de.wikipedia.org/wiki/Steuernummer >>> validate(' 181/815/0815 5') '18181508155' >>> validate('201/123/12340', 'Sachsen') '20112312340' >>> validate('4151081508156', 'Thuringen') '4151081508156' >>> validate('4151181508156', 'Thuringen') Traceback (most recent call last): ... InvalidFormat: ... >>> validate('136695978') Traceback (most recent call last): ... InvalidLength: ... """ import re from stdnum.exceptions import * from stdnum.util import clean, isdigits # The number formats per region (regional and country-wide format) _number_formats_per_region = { 'Baden-Württemberg': ['FFBBBUUUUP', '28FF0BBBUUUUP'], 'Bayern': ['FFFBBBUUUUP', '9FFF0BBBUUUUP'], 'Berlin': ['FFBBBUUUUP', '11FF0BBBUUUUP'], 'Brandenburg': ['0FFBBBUUUUP', '30FF0BBBUUUUP'], 'Bremen': ['FFBBBUUUUP', '24FF0BBBUUUUP'], 'Hamburg': ['FFBBBUUUUP', '22FF0BBBUUUUP'], 'Hessen': ['0FFBBBUUUUP', '26FF0BBBUUUUP'], 'Mecklenburg-Vorpommern': ['0FFBBBUUUUP', '40FF0BBBUUUUP'], 'Niedersachsen': ['FFBBBUUUUP', '23FF0BBBUUUUP'], 'Nordrhein-Westfalen': ['FFFBBBBUUUP', '5FFF0BBBBUUUP'], 'Rheinland-Pfalz': ['FFBBBUUUUP', '27FF0BBBUUUUP'], 'Saarland': ['0FFBBBUUUUP', '10FF0BBBUUUUP'], 'Sachsen': ['2FFBBBUUUUP', '32FF0BBBUUUUP'], 'Sachsen-Anhalt': ['1FFBBBUUUUP', '31FF0BBBUUUUP'], 'Schleswig-Holstein': ['FFBBBUUUUP', '21FF0BBBUUUUP'], 'Thüringen': ['1FFBBBUUUUP', '41FF0BBBUUUUP'], } REGIONS = sorted(_number_formats_per_region.keys()) """Valid regions recognised by this module.""" def _clean_region(region): """Convert the region name to something that we can use for comparison without running into encoding issues.""" return ''.join( x for x in region.lower() if x in 'abcdefghijklmnopqrstvwxyz') class _Format(): def __init__(self, fmt): self._fmt = fmt self._re = re.compile('^%s$' % re.sub( r'([FBUP])\1*', lambda x: r'(\d{%d})' % len(x.group(0)), fmt)) def match(self, number): return self._re.match(number) def replace(self, f, b, u, p): items = iter([f, b, u, p]) return re.sub(r'([FBUP])\1*', lambda x: next(items), self._fmt) # Convert the structure to something that we can easily use _number_formats_per_region = dict( (_clean_region(region), [ region, _Format(formats[0]), _Format(formats[1])]) for region, formats in _number_formats_per_region.items()) def _get_formats(region=None): """Return the formats for the region.""" if region: region = _clean_region(region) if region not in _number_formats_per_region: raise InvalidComponent() return [_number_formats_per_region[region]] return _number_formats_per_region.values() def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -./,').strip() def validate(number, region=None): """Check if the number is a valid tax number. This checks the length and formatting. The region can be supplied to verify that the number is assigned in that region.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) not in (10, 11, 13): raise InvalidLength() if not any(region_fmt.match(number) or country_fmt.match(number) for _region, region_fmt, country_fmt in _get_formats(region)): raise InvalidFormat() return number def is_valid(number, region=None): """Check if the number is a valid tax number. This checks the length and formatting. The region can be supplied to verify that the number is assigned in that region.""" try: return bool(validate(number, region)) except ValidationError: return False def guess_regions(number): """Return a list of regions this number is valid for.""" number = compact(number) return sorted( region for region, region_fmt, country_fmt in _get_formats() if region_fmt.match(number) or country_fmt.match(number)) def to_regional_number(number): """Convert the number to a regional (10 or 11 digit) number.""" number = compact(number) for _region, region_fmt, country_fmt in _get_formats(): m = country_fmt.match(number) if m: return region_fmt.replace(*m.groups()) raise InvalidFormat() def to_country_number(number, region=None): """Convert the number to the nationally unique number. The region is needed if the number is not only valid for one particular region.""" number = compact(number) formats = ( (region_fmt.match(number), country_fmt) for _region, region_fmt, country_fmt in _get_formats(region)) formats = [ (region_match, country_fmt) for region_match, country_fmt in formats if region_match] if not formats: raise InvalidFormat() if len(formats) != 1: raise InvalidComponent() return formats[0][1].replace(*formats[0][0].groups()) def format(number, region=None): """Reformat the passed number to the standard format.""" number = compact(number) for _region, region_fmt, _country_fmt in _get_formats(region): m = region_fmt.match(number) if m: f, b, u, p = m.groups() return region_fmt.replace(f + '/', b + '/', u, p) return number python-stdnum-1.13/stdnum/de/__init__.py0000644000000000000000000000171413555400447020252 0ustar rootroot00000000000000# __init__.py - collection of German numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of German numbers.""" # provide businessid as an alias from stdnum.de import handelsregisternummer as businessid # noqa: F401 python-stdnum-1.13/stdnum/de/handelsregisternummer.py0000644000000000000000000002462313555400447023126 0ustar rootroot00000000000000# handelsregisternummer.py - functions for handling German company registry id # coding: utf-8 # # Copyright (C) 2015 Holvi Payment Services Oy # Copyright (C) 2018-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Handelsregisternummer (German company register number). The number consists of the court where the company has registered, the type of register and the registration number. The type of the register is either HRA or HRB where the letter "B" stands for HR section B, where limited liability companies and corporations are entered (GmbH's and AG's). There is also a section HRA for business partnerships (OHG's, KG's etc.). In other words: businesses in section HRB are limited liability companies, while businesses in HRA have personally liable partners. More information: * https://www.handelsregister.de/ * https://en.wikipedia.org/wiki/German_Trade_Register * https://offeneregister.de/ >>> validate('Aachen HRA 11223') 'Aachen HRA 11223' >>> validate('Frankfurt/Oder GnR 11223', company_form='e.G.') 'Frankfurt/Oder GnR 11223' >>> validate('Aachen HRC 44123') Traceback (most recent call last): ... InvalidFormat: ... >>> validate('Aachen HRA 44123', company_form='GmbH') Traceback (most recent call last): ... InvalidComponent: ... """ import re import unicodedata from stdnum.exceptions import * from stdnum.util import clean, to_unicode # The known courts that have a Handelsregister GERMAN_COURTS = ( 'Aachen', 'Altenburg', 'Amberg', 'Ansbach', 'Apolda', 'Arnsberg', 'Arnstadt Zweigstelle Ilmenau', 'Arnstadt', 'Aschaffenburg', 'Augsburg', 'Aurich', 'Bad Hersfeld', 'Bad Homburg v.d.H.', 'Bad Kreuznach', 'Bad Oeynhausen', 'Bad Salzungen', 'Bamberg', 'Bayreuth', 'Berlin (Charlottenburg)', 'Bielefeld', 'Bochum', 'Bonn', 'Braunschweig', 'Bremen', 'Chemnitz', 'Coburg', 'Coesfeld', 'Cottbus', 'Darmstadt', 'Deggendorf', 'Dortmund', 'Dresden', 'Duisburg', 'Düren', 'Düsseldorf', 'Eisenach', 'Erfurt', 'Eschwege', 'Essen', 'Flensburg', 'Frankfurt am Main', 'Frankfurt/Oder', 'Freiburg', 'Friedberg', 'Fritzlar', 'Fulda', 'Fürth', 'Gelsenkirchen', 'Gera', 'Gießen', 'Gotha', 'Greiz', 'Göttingen', 'Gütersloh', 'Hagen', 'Hamburg', 'Hamm', 'Hanau', 'Hannover', 'Heilbad Heiligenstadt', 'Hildburghausen', 'Hildesheim', 'Hof', 'Homburg', 'Ingolstadt', 'Iserlohn', 'Jena', 'Kaiserslautern', 'Kassel', 'Kempten (Allgäu)', 'Kiel', 'Kleve', 'Koblenz', 'Korbach', 'Krefeld', 'Köln', 'Königstein', 'Landau', 'Landshut', 'Langenfeld', 'Lebach', 'Leipzig', 'Lemgo', 'Limburg', 'Ludwigshafen a.Rhein (Ludwigshafen)', 'Lübeck', 'Lüneburg', 'Mainz', 'Mannheim', 'Marburg', 'Meiningen', 'Memmingen', 'Merzig', 'Montabaur', 'Mönchengladbach', 'Mühlhausen', 'München', 'Münster', 'Neubrandenburg', 'Neunkirchen', 'Neuruppin', 'Neuss', 'Nordhausen', 'Nürnberg', 'Offenbach am Main', 'Oldenburg (Oldenburg)', 'Osnabrück', 'Ottweiler', 'Paderborn', 'Passau', 'Pinneberg', 'Potsdam', 'Pößneck Zweigstelle Bad Lobenstein', 'Pößneck', 'Recklinghausen', 'Regensburg', 'Rostock', 'Rudolstadt Zweigstelle Saalfeld', 'Rudolstadt', 'Saarbrücken', 'Saarlouis', 'Schweinfurt', 'Schwerin', 'Siegburg', 'Siegen', 'Sondershausen', 'Sonneberg', 'St. Ingbert (St Ingbert)', 'St. Wendel (St Wendel)', 'Stadthagen', 'Stadtroda', 'Steinfurt', 'Stendal', 'Stralsund', 'Straubing', 'Stuttgart', 'Suhl', 'Sömmerda', 'Tostedt', 'Traunstein', 'Ulm', 'Völklingen', 'Walsrode', 'Weiden i. d. OPf.', 'Weimar', 'Wetzlar', 'Wiesbaden', 'Wittlich', 'Wuppertal', 'Würzburg', 'Zweibrücken', ) def _to_min(court): """Convert the court name for quick comparison without encoding issues.""" return ''.join( x for x in unicodedata.normalize('NFD', to_unicode(court).lower()) if x in 'abcdefghijklmnopqrstuvwxyz') # Build a dictionary for lookup up courts _courts = dict( (_to_min(court), court) for court in GERMAN_COURTS) _courts.update( (_to_min(alias), court) for alias, court in ( ('Allgäu', 'Kempten (Allgäu)'), ('Bad Homburg', 'Bad Homburg v.d.H.'), ('Berlin', 'Berlin (Charlottenburg)'), ('Charlottenburg', 'Berlin (Charlottenburg)'), ('Kaln', 'Köln'), # for encoding issues ('Kempten', 'Kempten (Allgäu)'), ('Ludwigshafen am Rhein (Ludwigshafen)', 'Ludwigshafen a.Rhein (Ludwigshafen)'), ('Ludwigshafen am Rhein', 'Ludwigshafen a.Rhein (Ludwigshafen)'), ('Ludwigshafen', 'Ludwigshafen a.Rhein (Ludwigshafen)'), ('Oldenburg', 'Oldenburg (Oldenburg)'), ('St. Ingbert', 'St. Ingbert (St Ingbert)'), ('St. Wendel', 'St. Wendel (St Wendel)'), ('Weiden in der Oberpfalz', 'Weiden i. d. OPf.'), ('Weiden', 'Weiden i. d. OPf.'), ('Paderborn früher Höxter', 'Paderborn'), )) # The known registry types REGISTRY_TYPES = ( 'HRA', 'HRB', 'PR', 'GnR', 'VR', ) COMPANY_FORM_REGISTRY_TYPES = { 'e.K.': 'HRA', 'e.V.': 'VR', 'Verein': 'VR', 'OHG': 'HRA', 'KG': 'HRA', 'KGaA': 'HRB', 'Vor-GmbH': 'HRB', 'GmbH': 'HRB', 'UG': 'HRB', 'UG i.G.': 'HRB', 'AG': 'HRB', 'e.G.': 'GnR', 'PartG': 'PR', } # possible formats the number can be specified in _court_re = r'(?P.*)' _registry_re = r'(?P%s)' % '|'.join(REGISTRY_TYPES) _number_re = r'(?P[1-9][0-9]{0,5})(\s*(?P[A-ZÖ]{1,3}))?' _formats = [ _registry_re + r'\s+' + _number_re + r',?\s+' + _court_re + '$', _court_re + r',?\s+' + _registry_re + r'\s+' + _number_re + '$', ] def _split(number): """Split the number into a court, registry, register number and optionally qualifier.""" number = clean(number).strip() for fmt in _formats: m = re.match(fmt, number, flags=re.I | re.U) if m: return m.group('court').strip(), m.group('registry'), m.group('nr'), m.group('x') raise InvalidFormat() def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" court, registry, number, qualifier = _split(number) return ' '.join(x for x in [court, registry, number, qualifier] if x) def validate(number, company_form=None): """Check if the number is a valid company registry number. If a company_form (eg. GmbH or PartG) is given, the number is validated to have the correct registry type.""" court, registry, number, qualifier = _split(number) court = _courts.get(_to_min(court)) if not court: raise InvalidComponent() if not isinstance(court, type(number)): # pragma: no cover (Python 2 code) court = court.decode('utf-8') if company_form and COMPANY_FORM_REGISTRY_TYPES.get(company_form) != registry: raise InvalidComponent() return ' '.join(x for x in [court, registry, number, qualifier] if x) def is_valid(number): """Check if the number is a valid company registry number.""" try: return bool(validate(number)) except ValidationError: return False # The base URL for performing lookups _offeneregister_url = 'https://db.offeneregister.de/openregister-ef9e802.json' def check_offeneregister(number, timeout=30): # pragma: no cover (not part of normal test suite) """Retrieve registration information from the OffeneRegister.de web site. This basically returns the JSON response from the web service as a dict. It will contain something like the following:: { 'retrieved_at': '2018-06-24T12:34:53Z', 'native_company_number': 'The number requested', 'company_number': 'Compact company number', 'registrar': 'Registar', 'federal_state': 'State name', 'registered_office': 'Office', 'register_art': 'Register type', 'register_nummer': 'Number' 'name': 'The name of the organisation', 'current_status': 'currently registered', } Will return None if the number is invalid or unknown. """ # this function isn't automatically tested because it would require # network access for the tests and unnecessarily load the web service import requests court, registry, number, qualifier = _split(number) # First lookup the registrar code # (we could look up the number by registrar (court), registry and number # but it seems those queries are too slow) response = requests.get( _offeneregister_url, params={ 'sql': 'select company_number from company where registrar = :p0 limit 1', 'p0': court}, timeout=timeout) response.raise_for_status() try: registrar = response.json()['rows'][0][0].split('_')[0] except (KeyError, IndexError) as e: # noqa: F841 raise InvalidComponent() # unknown registrar code # Lookup the number number = '%s_%s%s' % (registrar, registry, number) response = requests.get( _offeneregister_url, params={ 'sql': 'select * from company where company_number = :p0 limit 1', 'p0': number}, timeout=timeout) response.raise_for_status() try: json = response.json() return dict(zip(json['columns'], json['rows'][0])) except (KeyError, IndexError) as e: # noqa: F841 return # number not found python-stdnum-1.13/stdnum/de/vat.py0000644000000000000000000000416213555400447017305 0ustar rootroot00000000000000# vat.py - functions for handling German VAT numbers # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Ust ID Nr. (Umsatzsteur Identifikationnummer, German VAT number). The number is 10 digits long and uses the ISO 7064 Mod 11, 10 check digit algorithm. >>> compact('DE 136,695 976') '136695976' >>> validate('DE136695976') '136695976' >>> validate('136695978') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.iso7064 import mod_11_10 from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -./,').upper().strip() if number.startswith('DE'): number = number[2:] return number def validate(number): """Check if the number provided is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number) or number[0] == '0': raise InvalidFormat() if len(number) != 9: raise InvalidLength() mod_11_10.validate(number) return number def is_valid(number): """Check if the number provided is a valid VAT number. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/de/idnr.py0000644000000000000000000000613713555400447017453 0ustar rootroot00000000000000# idnr.py - functions for handling German tax id # coding: utf-8 # # Copyright (C) 2017 Holvi Payment Services Oy # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """IdNr (Steuerliche Identifikationsnummer, German personal tax number). The IdNr (or Steuer-IdNr) is a personal identification number that is assigned to individuals in Germany for tax purposes and is meant to replace the Steuernummer. The number consists of 11 digits and does not embed any personal information. More information: * https://de.wikipedia.org/wiki/Steuerliche_Identifikationsnummer * http://www.identifikationsmerkmal.de/ >>> validate('36 574 261 809') '36574261809' >>> validate('36574261890') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('36554266806') # more digits repeated Traceback (most recent call last): ... InvalidFormat: ... >>> format('36574261809') '36 574 261 809' """ from collections import defaultdict from stdnum.exceptions import * from stdnum.iso7064 import mod_11_10 from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -./,').strip() def validate(number): """Check if the number provided is a valid tax identification number. This checks the length, formatting and check digit.""" number = compact(number) if len(number) != 11: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if number.startswith('0'): raise InvalidFormat() # In the first 10 digits exactly one digit must be repeated two or # three times and other digits can appear only once. counter = defaultdict(int) for n in number[:10]: counter[n] += 1 counts = [c for c in counter.values() if c > 1] if len(counts) != 1 or counts[0] not in (2, 3): raise InvalidFormat() return mod_11_10.validate(number) def is_valid(number): """Check if the number provided is a valid tax identification number. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return ' '.join((number[:2], number[2:5], number[5:8], number[8:])) python-stdnum-1.13/stdnum/py/0000755000000000000000000000000013611057637016200 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/py/ruc.py0000644000000000000000000000555013555400450017340 0ustar rootroot00000000000000# rut.py - functions for handling Paraguay RUC numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """RUC number (Registro Único de Contribuyentes, Paraguay tax number). The Registro Único del Contribuyente (RUC) is the unique taxpayer registry that maintains identification numbers for all persons (national or foreign) and legal entities in Paraguay. The RUC number for legal entities consists of 8 digits starting after 80000000. Number for residents and foreigners are up to 9 digits. The last digit is a check digit. More information: * https://www.ruc.com.py/ >>> validate('80028061-0') '800280610' >>> validate('9991603') '9991603' >>> validate('2660-3') '26603' >>> validate('800532492') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('80123456789') Traceback (most recent call last): ... InvalidLength: ... >>> format('800000358') '80000035-8' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace. """ return clean(number, ' -').upper().strip() def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included. """ s = sum((i + 2) * int(n) for i, n in enumerate(reversed(number))) return str((-s % 11) % 10) def validate(number): """Check if the number is a valid Paraguay RUC number. This checks the length, formatting and check digit. """ number = compact(number) if len(number) > 9: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if number[-1] != calc_check_digit(number[:-1]): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid Paraguay RUC number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join([number[:-1], number[-1]]) python-stdnum-1.13/stdnum/py/__init__.py0000644000000000000000000000165613555400450020311 0ustar rootroot00000000000000# __init__.py - collection of Paraguayan numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Paraguayan numbers.""" # provide aliases from stdnum.py import ruc as vat # noqa: F401 python-stdnum-1.13/stdnum/se/0000755000000000000000000000000013611057637016157 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/se/__init__.py0000644000000000000000000000166613555400450020271 0ustar rootroot00000000000000# __init__.py - collection of Swedish numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Swedish numbers.""" # provide aliases from stdnum.se import personnummer as personalid # noqa: F401 python-stdnum-1.13/stdnum/se/personnummer.py0000644000000000000000000000715013555400450021256 0ustar rootroot00000000000000# personnummer.py - functions for handling Swedish Personal identity numbers # coding: utf-8 # # Copyright (C) 2018 Ilya Vihtinsky # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Personnummer (Swedish personal identity number). The Swedish Personnummer is assigned at birth to all Swedish nationals and to immigrants for tax and identification purposes. The number consists of 10 or 12 digits and starts with the birth date, followed by a serial and a check digit. More information: * https://en.wikipedia.org/wiki/Personal_identity_number_(Sweden) >>> validate('880320-0016') '880320-0016' >>> validate('8803200016') '880320-0016' >>> validate('880320-0018') Traceback (most recent call last): ... InvalidChecksum: ... >>> get_gender('890102-3286') 'F' >>> get_birth_date('811228-9841') datetime.date(1981, 12, 28) >>> format('8803200016') '880320-0016' """ import datetime from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' :') if len(number) in (10, 12) and number[-5] not in '-+': number = '%s-%s' % (number[:-4], number[-4:]) return number def get_birth_date(number): """Guess the birth date from the number. Note that it may be 100 years off because the number has only the last two digits of the year.""" number = compact(number) if len(number) == 13: year = int(number[0:4]) month = int(number[4:6]) day = int(number[6:8]) else: year = datetime.date.today().year century = year // 100 if int(number[0:2]) > year % 100: century -= 1 if number[-5] == '+': century -= 1 year = int('%d%s' % (century, number[0:2])) month = int(number[2:4]) day = int(number[4:6]) try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def get_gender(number): """Get the person's birth gender ('M' or 'F').""" number = compact(number) if int(number[-2]) % 2: return 'M' else: return 'F' def validate(number): """Check if the number is a valid identity number.""" number = compact(number) if len(number) not in (11, 13): raise InvalidLength() if number[-5] not in '-+': raise InvalidFormat() digits = clean(number, '-+') if not isdigits(digits): raise InvalidFormat() get_birth_date(number) luhn.validate(digits[-10:]) return number def is_valid(number): """Check if the number is a valid identity number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" return compact(number) python-stdnum-1.13/stdnum/se/vat.py0000644000000000000000000000411713555400450017316 0ustar rootroot00000000000000# vat.py - functions for handling Swedish VAT numbers # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """VAT (Moms, Mervärdesskatt, Swedish VAT number). The Momsregistreringsnummer is used for VAT (Moms, Mervärdesskatt) purposes and consists of 12 digits of which the last two should be 01. The first 10 digits should have a valid Luhn checksum. >>> validate('SE 123456789701') '123456789701' >>> validate('123456789101') # invalid check digits Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.se import orgnr from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -.').upper().strip() if number.startswith('SE'): number = number[2:] return number def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number) or number[-2:] != '01': raise InvalidFormat() orgnr.validate(number[:-2]) return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/se/orgnr.py0000644000000000000000000000447313555400450017660 0ustar rootroot00000000000000# orgnr.py - functions for handling Swedish organisation numbers # coding: utf-8 # # Copyright (C) 2012-2015 Arthur de Jong # Copyright (C) 2014 Tomas Thor Jonsson # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Orgnr (Organisationsnummer, Swedish company number). The Orgnr (Organisationsnummer) is the national number to identify Swedish companies and consists of 10 digits. These are the first 10 digits in the Swedish VAT number, i.e. it's the VAT number without the 'SE' in front and the '01' at the end. >>> validate('1234567897') '1234567897' >>> validate('1234567891') # invalid check digits Traceback (most recent call last): ... InvalidChecksum: ... >>> format('123456-7897') '123456-7897' """ from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -.').strip() def validate(number): """Check if the number is a valid organisation number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 10: raise InvalidLength() return luhn.validate(number) def is_valid(number): """Check if the number is a valid organisation number""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return number[:6] + '-' + number[6:] python-stdnum-1.13/stdnum/isbn.dat0000644000000000000000000004161413611053275017175 0ustar rootroot00000000000000# generated from RangeMessage.xml, downloaded from # https://www.isbn-international.org/export_rangemessage.xml # file serial 8fd7c3b9-d154-48cb-9f68-90c2713e2eda # file date Fri, 17 Jan 2020 14:32:59 CET 978 0-5,600-649,65-65,7-7,80-94,950-989,9900-9989,99900-99999 0 agency="English language" 00-19,200-227,2280-2289,229-368,3690-3699,370-638,6390-6397 6398000-6399999,640-647,6480000-6489999,649-654,6550-6559,656-699 7000-8499,85000-89999,900000-949999,9500000-9999999 1 agency="English language" 000-009,01-06,0700-0999,100-397,3980-5499,55000-64999,6500-6799 68000-68599,6860-7139,714-716,7170-7319,7320000-7399999,74000-77499 7750000-7753999,77540-77639,7764000-7764999,77650-77699,7770000-7776999 77770-78999,7900-7999,80000-86719,8672-8675,86760-86979,869800-915999 9160000-9165059,916506-972999,9730-9877,987800-998999,9990000-9999999 2 agency="French language" 00-19,200-349,35000-39999,400-489,490000-494999,495-495,4960-4966 49670-49699,497-699,7000-8399,84000-89999,900000-919799,91980-91980 919810-919942,9199430-9199689,919969-949999,9500000-9999999 3 agency="German language" 00-02,030-033,0340-0369,03700-03999,04-19,200-699,7000-8499,85000-89999 900000-949999,9500000-9539999,95400-96999,9700000-9849999,98500-99999 4 agency="Japan" 00-19,200-699,7000-8499,85000-89999,900000-949999,9500000-9999999 5 agency="former U.S.S.R" 00000-00499,0050-0099,01-19,200-420,4210-4299,430-430,4310-4399,440-440 4410-4499,450-603,6040000-6049999,605-699,7000-8499,85000-89999 900000-909999,91000-91999,9200-9299,93000-94999,9500000-9500999 9501-9799,98000-98999,9900000-9909999,9910-9999 600 agency="Iran" 00-09,100-499,5000-8999,90000-98679,9868-9929,993-995,99600-99999 601 agency="Kazakhstan" 00-19,200-699,7000-7999,80000-84999,85-99 602 agency="Indonesia" 00-06,0700-1399,14000-14999,1500-1699,17000-19999,200-499,50000-53999 5400-5999,60000-61999,6200-6999,70000-74999,7500-9499,95000-99999 603 agency="Saudi Arabia" 00-04,05-49,500-799,8000-8999,90000-99999 604 agency="Vietnam" 0-4,50-89,900-979,9800-9999 605 agency="Turkey" 00-02,030-039,04-09,100-199,2000-2399,240-399,4000-5999,60000-74999 7500-7999,80000-89999,9000-9999 606 agency="Romania" 000-089,09-49,500-799,8000-9099,910-919,92000-96499,9650-9749,975-999 607 agency="Mexico" 00-39,400-749,7500-9499,95000-99999 608 agency="Macedonia" 0-0,10-19,200-449,4500-6499,65000-69999,7-9 609 agency="Lithuania" 00-39,400-799,8000-9499,95000-99999 611 agency="Thailand" 612 agency="Peru" 00-29,300-399,4000-4499,45000-49999,50-99 613 agency="Mauritius" 0-9 614 agency="Lebanon" 00-39,400-799,8000-9499,95000-99999 615 agency="Hungary" 00-09,100-499,5000-7999,80000-89999 616 agency="Thailand" 00-19,200-699,7000-8999,90000-99999 617 agency="Ukraine" 00-49,500-699,7000-8999,90000-99999 618 agency="Greece" 00-19,200-499,5000-7999,80000-99999 619 agency="Bulgaria" 00-14,150-699,7000-8999,90000-99999 620 agency="Mauritius" 0-9 621 agency="Philippines" 00-29,400-599,8000-8999,95000-99999 622 agency="Iran" 00-08,200-299,6000-7499,95000-99999 623 agency="Indonesia" 00-09,200-299,7000-7999,90000-99999 624 agency="Sri Lanka" 00-04,200-249,5000-5999,95000-99999 625 agency="Turkey" 00-00,400-449,7000-7999 65 agency="Brazil" 300-302,5000-5129,80000-81699,900000-902249 7 agency="China, People's Republic" 00-09,100-499,5000-7999,80000-89999,900000-999999 80 agency="former Czechoslovakia" 00-19,200-699,7000-8499,85000-89999,900000-998999,99900-99999 81 agency="India" 00-19,200-699,7000-8499,85000-89999,900000-999999 82 agency="Norway" 00-19,200-689,690000-699999,7000-8999,90000-98999,990000-999999 83 agency="Poland" 00-19,200-599,60000-69999,7000-8499,85000-89999,900000-999999 84 agency="Spain" 00-11,120000-129999,1300-1399,140-149,15000-19999,200-699,7000-8499 85000-89999,9000-9199,920000-923999,92400-92999,930000-949999 95000-96999,9700-9999 85 agency="Brazil" 00-19,200-454,455000-455299,45530-45599,456-528,52900-53199,5320-5339 534-539,54000-54029,54030-54039,540400-540499,54050-54089,540900-540999 54100-54399,5440-5479,54800-54999,5500-5999,60000-69999,7000-8499 85000-89999,900000-924999,92500-94499,9450-9599,96-97,98000-99999 86 agency="former Yugoslavia" 00-29,300-599,6000-7999,80000-89999,900000-999999 87 agency="Denmark" 00-29,400-649,7000-7999,85000-94999,970000-999999 88 agency="Italy" 00-19,200-311,31200-31499,315-318,31900-32299,323-326,3270-3389,339-360 3610-3629,363-548,5490-5549,555-599,6000-8499,85000-89999,900000-909999 910-926,9270-9399,940000-947999,94800-99999 89 agency="Korea, Republic" 00-24,250-549,5500-8499,85000-94999,950000-969999,97000-98999,990-999 90 agency="Netherlands" 00-19,200-499,5000-6999,70000-79999,800000-849999,8500-8999,90-90,94-94 91 agency="Sweden" 0-1,20-49,500-649,7000-8199,85000-94999,970000-999999 92 agency="International NGO Publishers and EU Organizations" 0-5,60-79,800-899,9000-9499,95000-98999,990000-999999 93 agency="India" 00-09,100-499,5000-7999,80000-94999,950000-999999 94 agency="Netherlands" 000-599,6000-8999,90000-99999 950 agency="Argentina" 00-49,500-899,9000-9899,99000-99999 951 agency="Finland" 0-1,20-54,550-889,8900-9499,95000-99999 952 agency="Finland" 00-19,200-499,5000-5999,60-65,6600-6699,67000-69999,7000-7999,80-94 9500-9899,99000-99999 953 agency="Croatia" 0-0,10-14,150-479,48000-49999,500-500,50100-50999,51-54,55000-59999 6000-9499,95000-99999 954 agency="Bulgaria" 00-28,2900-2999,300-799,8000-8999,90000-92999,9300-9999 955 agency="Sri Lanka" 0000-1999,20-33,3400-3549,35500-35999,3600-3799,38000-38999,3900-4099 41000-44999,4500-4999,50000-54999,550-710,71100-71499,7150-9499 95000-99999 956 agency="Chile" 00-08,09000-09999,10-19,200-599,6000-6999,7000-9999 957 agency="Taiwan" 00-02,0300-0499,05-19,2000-2099,21-27,28000-30999,31-43,440-819 8200-9699,97000-99999 958 agency="Colombia" 00-50,5100-5199,52000-53999,5400-5599,56000-59999,600-799,8000-9499 95000-99999 959 agency="Cuba" 00-19,200-699,7000-8499,85000-99999 960 agency="Greece" 00-19,200-659,6600-6899,690-699,7000-8499,85000-92999,93-93,9400-9799 98000-99999 961 agency="Slovenia" 00-19,200-599,6000-8999,90000-94999 962 agency="Hong Kong, China" 00-19,200-699,7000-8499,85000-86999,8700-8999,900-999 963 agency="Hungary" 00-19,200-699,7000-8499,85000-89999,9000-9999 964 agency="Iran" 00-14,150-249,2500-2999,300-549,5500-8999,90000-96999,970-989,9900-9999 965 agency="Israel" 00-19,200-599,7000-7999,90000-99999 966 agency="Ukraine" 00-12,130-139,14-14,1500-1699,170-199,2000-2789,279-289,2900-2999 300-699,7000-8999,90000-90999,910-949,95000-97999,980-999 967 agency="Malaysia" 00-00,0100-0999,10000-19999,2000-2499,300-499,5000-5999,60-89,900-989 9900-9989,99900-99999 968 agency="Mexico" 01-39,400-499,5000-7999,800-899,9000-9999 969 agency="Pakistan" 0-1,20-22,23000-23999,24-39,400-749,7500-9999 970 agency="Mexico" 01-59,600-899,9000-9099,91000-96999,9700-9999 971 agency="Philippines" 000-015,0160-0199,02-02,0300-0599,06-49,500-849,8500-9099,91000-95999 9600-9699,97-98,9900-9999 972 agency="Portugal" 0-1,20-54,550-799,8000-9499,95000-99999 973 agency="Romania" 0-0,100-169,1700-1999,20-54,550-759,7600-8499,85000-88999,8900-9499 95000-99999 974 agency="Thailand" 00-19,200-699,7000-8499,85000-89999,90000-94999,9500-9999 975 agency="Turkey" 00000-01999,02-23,2400-2499,250-599,6000-9199,92000-98999,990-999 976 agency="Caribbean Community" 0-3,40-59,600-799,8000-9499,95000-99999 977 agency="Egypt" 00-19,200-499,5000-6999,700-849,85000-89999,90-98,990-999 978 agency="Nigeria" 000-199,2000-2999,30000-79999,8000-8999,900-999 979 agency="Indonesia" 000-099,1000-1499,15000-19999,20-29,3000-3999,400-799,8000-9499 95000-99999 980 agency="Venezuela" 00-19,200-599,6000-9999 981 agency="Singapore" 00-16,17000-17999,18-19,200-299,3000-3099,310-399,4000-9999 982 agency="South Pacific" 00-09,100-699,70-89,9000-9799,98000-99999 983 agency="Malaysia" 00-01,020-199,2000-3999,40000-44999,45-49,50-79,800-899,9000-9899 99000-99999 984 agency="Bangladesh" 00-39,400-799,8000-8999,90000-99999 985 agency="Belarus" 00-39,400-599,6000-8799,880-899,90000-99999 986 agency="Taiwan" 00-11,120-539,5400-7999,80000-99999 987 agency="Argentina" 00-09,1000-1999,20000-29999,30-35,3600-3999,4000-4199,42-43,4400-4499 45000-48999,4900-4999,500-829,8300-8499,85-89,9000-9499,95000-99999 988 agency="Hong Kong, China" 00-11,12000-19999,200-739,74000-76999,77000-79999,8000-9699,97000-99999 989 agency="Portugal" 0-1,20-53,54000-54999,550-799,8000-9499,95000-99999 9916 agency="Estonia" 0-0,10-39,4-4,600-749,9500-9999 9917 agency="Bolivia" 0-0,30-34,600-699,9800-9999 9918 agency="Malta" 0-0,20-29,600-799,9500-9999 9919 agency="Mongolia" 20-27,500-599,9500-9999 9920 agency="Morocco" 35-39,600-799,9300-9999 9921 agency="Kuwait" 0-0,30-39,700-899,9700-9999 9922 agency="Iraq" 20-29,600-799,9000-9999 9923 agency="Jordan" 0-0,10-49,700-899,9700-9999 9924 agency="Cambodia" 30-39,500-649,9000-9999 9925 agency="Cyprus" 0-2,30-54,550-734,7350-9999 9926 agency="Bosnia and Herzegovina" 0-1,20-39,400-799,8000-9999 9927 agency="Qatar" 00-09,100-399,4000-4999 9928 agency="Albania" 00-09,100-399,4000-4999 9929 agency="Guatemala" 0-3,40-54,550-799,8000-9999 9930 agency="Costa Rica" 00-49,500-939,9400-9999 9931 agency="Algeria" 00-29,300-899,9000-9999 9932 agency="Lao People's Democratic Republic" 00-39,400-849,8500-9999 9933 agency="Syria" 0-0,10-39,400-899,9000-9999 9934 agency="Latvia" 0-0,10-49,500-799,8000-9999 9935 agency="Iceland" 0-0,10-39,400-899,9000-9999 9936 agency="Afghanistan" 0-1,20-39,400-799,8000-9999 9937 agency="Nepal" 0-2,30-49,500-799,8000-9999 9938 agency="Tunisia" 00-79,800-949,9500-9999 9939 agency="Armenia" 0-4,50-79,800-899,9000-9799,98-99 9940 agency="Montenegro" 0-1,20-49,500-839,84-86,8700-8999,9000-9999 9941 agency="Georgia" 0-0,10-39,400-799,8-8,9000-9999 9942 agency="Ecuador" 00-74,750-849,8500-8999,900-984,9850-9999 9943 agency="Uzbekistan" 00-29,300-399,4000-9749,975-999 9944 agency="Turkey" 0000-0999,100-499,5000-5999,60-69,700-799,80-89,900-999 9945 agency="Dominican Republic" 00-00,010-079,08-39,400-569,57-57,580-849,8500-9999 9946 agency="Korea, P.D.R." 0-1,20-39,400-899,9000-9999 9947 agency="Algeria" 0-1,20-79,800-999 9948 agency="United Arab Emirates" 00-39,400-849,8500-9999 9949 agency="Estonia" 00-08,090-099,10-39,400-699,70-71,7200-7499,75-89,9000-9999 9950 agency="Palestine" 00-29,300-849,8500-9999 9951 agency="Kosova" 00-39,400-849,8500-9999 9952 agency="Azerbaijan" 0-1,20-39,400-799,8000-9999 9953 agency="Lebanon" 0-0,10-39,400-599,60-89,9000-9299,93-96,970-999 9954 agency="Morocco" 0-1,20-39,400-799,8000-9899,99-99 9955 agency="Lithuania" 00-39,400-929,9300-9999 9956 agency="Cameroon" 0-0,10-39,400-899,9000-9999 9957 agency="Jordan" 00-39,400-649,65-67,680-699,70-84,8500-8799,88-99 9958 agency="Bosnia and Herzegovina" 00-01,020-029,0300-0399,040-089,0900-0999,10-18,1900-1999,20-49,500-899 9000-9999 9959 agency="Libya" 0-1,20-79,800-949,9500-9699,970-979,98-99 9960 agency="Saudi Arabia" 00-59,600-899,9000-9999 9961 agency="Algeria" 0-2,30-69,700-949,9500-9999 9962 agency="Panama" 00-54,5500-5599,56-59,600-849,8500-9999 9963 agency="Cyprus" 0-1,2000-2499,250-279,2800-2999,30-54,550-734,7350-7499,7500-9999 9964 agency="Ghana" 0-6,70-94,950-999 9965 agency="Kazakhstan" 00-39,400-899,9000-9999 9966 agency="Kenya" 000-139,14-14,1500-1999,20-69,7000-7499,750-820,8210-8249,825-825 8260-8289,829-959,9600-9999 9967 agency="Kyrgyz Republic" 00-39,400-899,9000-9999 9968 agency="Costa Rica" 00-49,500-939,9400-9999 9970 agency="Uganda" 00-39,400-899,9000-9999 9971 agency="Singapore" 0-5,60-89,900-989,9900-9999 9972 agency="Peru" 00-09,1-1,200-249,2500-2999,30-59,600-899,9000-9999 9973 agency="Tunisia" 00-05,060-089,0900-0999,10-69,700-969,9700-9999 9974 agency="Uruguay" 0-2,30-54,550-749,7500-8799,880-909,91-94,95-99 9975 agency="Moldova" 0-0,100-299,3000-3999,4000-4499,45-89,900-949,9500-9999 9976 agency="Tanzania" 0-4,5000-5899,59-89,900-989,9900-9999 9977 agency="Costa Rica" 00-89,900-989,9900-9999 9978 agency="Ecuador" 00-29,300-399,40-94,950-989,9900-9999 9979 agency="Iceland" 0-4,50-64,650-659,66-75,760-899,9000-9999 9980 agency="Papua New Guinea" 0-3,40-89,900-989,9900-9999 9981 agency="Morocco" 00-09,100-159,1600-1999,20-79,800-949,9500-9999 9982 agency="Zambia" 00-79,800-989,9900-9999 9983 agency="Gambia" 80-94,950-989,9900-9999 9984 agency="Latvia" 00-49,500-899,9000-9999 9985 agency="Estonia" 0-4,50-79,800-899,9000-9999 9986 agency="Lithuania" 00-39,400-899,9000-9399,940-969,97-99 9987 agency="Tanzania" 00-39,400-879,8800-9999 9988 agency="Ghana" 0-2,30-54,550-749,7500-9999 9989 agency="Macedonia" 0-0,100-199,2000-2999,30-59,600-949,9500-9999 99901 agency="Bahrain" 00-49,500-799,80-99 99902 agency="Reserved Agency" 99903 agency="Mauritius" 0-1,20-89,900-999 99904 agency="Curaçao" 0-5,60-89,900-999 99905 agency="Bolivia" 0-3,40-79,800-999 99906 agency="Kuwait" 0-2,30-59,600-699,70-89,90-94,950-999 99908 agency="Malawi" 0-0,10-89,900-999 99909 agency="Malta" 0-3,40-94,950-999 99910 agency="Sierra Leone" 0-2,30-89,900-999 99911 agency="Lesotho" 00-59,600-999 99912 agency="Botswana" 0-3,400-599,60-89,900-999 99913 agency="Andorra" 0-2,30-35,600-604 99914 agency="International NGO Publishers" 0-4,50-69,7-7,80-89,900-999 99915 agency="Maldives" 0-4,50-79,800-999 99916 agency="Namibia" 0-2,30-69,700-999 99917 agency="Brunei Darussalam" 0-2,30-89,900-999 99918 agency="Faroe Islands" 0-3,40-79,800-999 99919 agency="Benin" 0-2,300-399,40-79,800-999 99920 agency="Andorra" 0-4,50-89,900-999 99921 agency="Qatar" 0-1,20-69,700-799,8-8,90-99 99922 agency="Guatemala" 0-3,40-69,700-999 99923 agency="El Salvador" 0-1,20-79,800-999 99924 agency="Nicaragua" 0-1,20-79,800-999 99925 agency="Paraguay" 0-3,40-79,800-999 99926 agency="Honduras" 0-0,10-59,600-869,87-89,90-99 99927 agency="Albania" 0-2,30-59,600-999 99928 agency="Georgia" 0-0,10-79,800-999 99929 agency="Mongolia" 0-4,50-79,800-999 99930 agency="Armenia" 0-4,50-79,800-999 99931 agency="Seychelles" 0-4,50-79,800-999 99932 agency="Malta" 0-0,10-59,600-699,7-7,80-99 99933 agency="Nepal" 0-2,30-59,600-999 99934 agency="Dominican Republic" 0-1,20-79,800-999 99935 agency="Haiti" 0-2,30-59,600-699,7-8,90-99 99936 agency="Bhutan" 0-0,10-59,600-999 99937 agency="Macau" 0-1,20-59,600-999 99938 agency="Srpska, Republic of" 0-1,20-59,600-899,90-99 99939 agency="Guatemala" 0-5,60-89,900-999 99940 agency="Georgia" 0-0,10-69,700-999 99941 agency="Armenia" 0-2,30-79,800-999 99942 agency="Sudan" 0-4,50-79,800-999 99943 agency="Albania" 0-2,30-59,600-999 99944 agency="Ethiopia" 0-4,50-79,800-999 99945 agency="Namibia" 0-5,60-89,900-999 99946 agency="Nepal" 0-2,30-59,600-999 99947 agency="Tajikistan" 0-2,30-69,700-999 99948 agency="Eritrea" 0-4,50-79,800-999 99949 agency="Mauritius" 0-1,20-89,900-999 99950 agency="Cambodia" 0-4,50-79,800-999 99951 agency="Reserved Agency" 99952 agency="Mali" 0-4,50-79,800-999 99953 agency="Paraguay" 0-2,30-79,800-939,94-99 99954 agency="Bolivia" 0-2,30-69,700-879,88-99 99955 agency="Srpska, Republic of" 0-1,20-59,600-799,80-99 99956 agency="Albania" 00-59,600-859,86-99 99957 agency="Malta" 0-1,20-79,800-949,95-99 99958 agency="Bahrain" 0-4,50-93,940-949,950-999 99959 agency="Luxembourg" 0-2,30-59,600-999 99960 agency="Malawi" 0-0,10-94,950-999 99961 agency="El Salvador" 0-2,300-369,37-89,900-999 99962 agency="Mongolia" 0-4,50-79,800-999 99963 agency="Cambodia" 00-49,500-919,92-99 99964 agency="Nicaragua" 0-1,20-79,800-999 99965 agency="Macau" 0-2,300-359,36-62,630-999 99966 agency="Kuwait" 0-2,30-69,700-799,80-96,970-999 99967 agency="Paraguay" 0-0,10-59,600-999 99968 agency="Botswana" 0-3,400-599,60-89,900-999 99969 agency="Oman" 0-4,50-79,800-999 99970 agency="Haiti" 0-4,50-89,900-999 99971 agency="Myanmar" 0-3,40-84,850-999 99972 agency="Faroe Islands" 0-4,50-89,900-999 99973 agency="Mongolia" 0-3,40-79,800-999 99974 agency="Bolivia" 0-0,10-25,260-399,40-63,640-649,65-79,800-999 99975 agency="Tajikistan" 0-2,300-399,40-79,800-999 99976 agency="Srpska, Republic of" 0-1,20-59,600-799,900-999 99977 agency="Rwanda" 0-1,40-69,700-799 99978 agency="Mongolia" 0-4,50-69,700-999 99979 agency="Honduras" 0-4,50-79,800-999 99980 agency="Bhutan" 0-0,30-59,800-999 99981 agency="Macau" 0-1,30-49,800-999 99982 agency="Benin" 0-0,50-59,900-949 99983 agency="El Salvador" 0-0,50-69,950-999 979 10-12,8-8 10 agency="France" 00-19,200-699,7000-8999,90000-97599,976000-999999 11 agency="Korea, Republic" 00-24,250-549,5500-8499,85000-94999,950000-999999 12 agency="Italy" 200-200,80000-84999 8 agency="United States" 6000-6999,9850000-9850009 python-stdnum-1.13/stdnum/cr/0000755000000000000000000000000013611057636016153 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/cr/cr.py0000644000000000000000000000560713555400447017140 0ustar rootroot00000000000000# cr.py - functions for handling Costa Rica DIMEX numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CR (Cédula de Residencia, Costa Rica foreigners ID number). The Cédula de Residencia (CR), also know as DIMEX or Documento de Identificación Migratorio para Extranjeros, is an identifier of foreigners in Costa Rica. This number consists of 11 or 12 digits in the form 1NNN-CC...C-EE...E where NNN represents the code of the country the foreigner comes from as specified by Costa Rica's Dirección General de Migración y Extranjería, CC...C is a sequence telling how many Cédula de Residencia have been issued in total and EE...E is a sequence telling how many Cédula de Residencia have been issued for that particular foreign country. More information: * https://www.hacienda.go.cr/consultapagos/ayuda_cedulas.htm * https://www.procomer.com/downloads/quiero/guia_solicitud_vuce.pdf (page 12) * https://www.hacienda.go.cr/ATV/frmConsultaSituTributaria.aspx >>> validate('155812994816') '155812994816' >>> validate('30123456789') Traceback (most recent call last): ... InvalidComponent: ... >>> validate('12345678') Traceback (most recent call last): ... InvalidLength: ... >>> format('122200569906') '122200569906' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace. """ return clean(number, ' -').upper().strip() def validate(number): """Check if the number is a valid Costa Rica CR number. This checks the length and formatting. """ number = compact(number) if len(number) not in (11, 12): raise InvalidLength() if not isdigits(number): raise InvalidFormat() if number[0] != '1': raise InvalidComponent() return number def is_valid(number): """Check if the number is a valid Costa Rica CR number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" return compact(number) python-stdnum-1.13/stdnum/cr/__init__.py0000644000000000000000000000155613555400447020272 0ustar rootroot00000000000000# __init__.py - collection of Costa Rican numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Costa Rican numbers.""" python-stdnum-1.13/stdnum/cr/cpf.py0000644000000000000000000000636713555400447017310 0ustar rootroot00000000000000# cpf.py - functions for handling Costa Rica CPF numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CPF (Cédula de Persona Física, Costa Rica physical person ID number). The Cédula de Persona Física (CPF), also known as Cédula de Identidad is an identifier of physical persons. The number consists of 10 digits in the form 0P-TTTT-AAAA where P represents the province, TTTT represents the volume (tomo) padded with zeroes on the left, and AAAA represents the entry (asiento) also padded with zeroes on the left. It seems to be usual for the leading zeroes in each of the three parts to be omitted. More information: * https://www.hacienda.go.cr/consultapagos/ayuda_cedulas.htm * https://www.procomer.com/downloads/quiero/guia_solicitud_vuce.pdf (page 11) * https://www.hacienda.go.cr/ATV/frmConsultaSituTributaria.aspx >>> validate('3-0455-0175') '0304550175' >>> validate('30-1234-1234') Traceback (most recent call last): ... InvalidComponent: ... >>> validate('12345678') Traceback (most recent call last): ... InvalidLength: ... >>> format('701610395') '07-0161-0395' >>> format('1-613-584') '01-0613-0584' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace. Also adds padding zeroes if necessary. """ number = clean(number, ' ').upper().strip() parts = number.split('-') if len(parts) == 3: # Pad each group with zeroes parts[0] = '0' * (2 - len(parts[0])) + parts[0] parts[1] = '0' * (4 - len(parts[1])) + parts[1] parts[2] = '0' * (4 - len(parts[2])) + parts[2] number = ''.join(parts) if len(number) == 9: number = '0' + number # Add leading zero return number def validate(number): """Check if the number is a valid Costa Rica CPF number. This checks the length and formatting. """ number = compact(number) if len(number) != 10: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if number[0] != '0': raise InvalidComponent() return number def is_valid(number): """Check if the number is a valid Costa Rica CPF number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join([number[:2], number[2:6], number[6:]]) python-stdnum-1.13/stdnum/cr/cpj.py0000644000000000000000000000676113555400447017312 0ustar rootroot00000000000000# cpj.py - functions for handling Costa Rica CPJ numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CPJ (Cédula de Persona Jurídica, Costa Rica tax number). The Cédula de Persona Jurídica (CPJ) is an identifier of legal entities for tax purposes. This number consists of 10 digits, the first indicates the class of juridical person, followed by a 3 digit sequence number identifying the type of juridical person, followed by 6 digits sequence number assigned by Registro Nacional de la República de Costa Rica. More information: * https://www.hacienda.go.cr/consultapagos/ayuda_cedulas.htm * https://www.procomer.com/downloads/quiero/guia_solicitud_vuce.pdf (page 11) * http://www.registronacional.go.cr/personas_juridicas/documentos/Consultas/Listado%20de%20Clases%20y%20Tipos%20Cedulas%20Juridicas.pdf * https://www.hacienda.go.cr/ATV/frmConsultaSituTributaria.aspx >>> validate('3-101-999999') '3101999999' >>> validate('3-534-123559') Traceback (most recent call last): ... InvalidComponent: ... >>> validate('310132541') Traceback (most recent call last): ... InvalidLength: ... >>> format('4 000 042138') '4-000-042138' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace. """ return clean(number, ' -').upper().strip() def validate(number): """Check if the number is a valid Costa Rica CPJ number. This checks the length and formatting. """ number = compact(number) if len(number) != 10: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if number[0] not in ('2', '3', '4', '5'): raise InvalidComponent() if number[0] == '2' and number[1:4] not in ('100', '200', '300', '400'): raise InvalidComponent() class_three_types = ('002', '003', '004', '005', '006', '007', '008', '009', '010', '011', '012', '013', '014', '101', '102', '103', '104', '105', '106', '107', '108', '109', '110') if number[0] == '3' and number[1:4] not in class_three_types: raise InvalidComponent() if number[0] == '4' and number[1:4] != '000': raise InvalidComponent() if number[0] == '5' and number[1:4] != '001': raise InvalidComponent() return number def is_valid(number): """Check if the number is a valid Costa Rica CPJ number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join([number[0], number[1:4], number[4:]]) python-stdnum-1.13/stdnum/verhoeff.py0000644000000000000000000000707013555400450017722 0ustar rootroot00000000000000# verhoeff.py - functions for performing the Verhoeff checksum # # Copyright (C) 2010-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """The Verhoeff algorithm. The Verhoeff algorithm is a checksum algorithm that should catch most common (typing) errors in numbers. The algorithm uses two tables for permutations and multiplications and as a result is more complex than the Luhn algorithm. More information: * https://en.wikipedia.org/wiki/Verhoeff_algorithm * https://en.wikibooks.org/wiki/Algorithm_Implementation/Checksums/Verhoeff_Algorithm The module provides the checksum() function to calculate the Verhoeff checksum a calc_check_digit() function to generate a check digit that can be append to an existing number to result in a number with a valid checksum and validation functions. >>> validate('1234') Traceback (most recent call last): ... InvalidChecksum: ... >>> checksum('1234') 1 >>> calc_check_digit('1234') '0' >>> validate('12340') '12340' """ from stdnum.exceptions import * # These are the multiplication and permutation tables used in the # Verhoeff algorithm. _multiplication_table = ( (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), (1, 2, 3, 4, 0, 6, 7, 8, 9, 5), (2, 3, 4, 0, 1, 7, 8, 9, 5, 6), (3, 4, 0, 1, 2, 8, 9, 5, 6, 7), (4, 0, 1, 2, 3, 9, 5, 6, 7, 8), (5, 9, 8, 7, 6, 0, 4, 3, 2, 1), (6, 5, 9, 8, 7, 1, 0, 4, 3, 2), (7, 6, 5, 9, 8, 2, 1, 0, 4, 3), (8, 7, 6, 5, 9, 3, 2, 1, 0, 4), (9, 8, 7, 6, 5, 4, 3, 2, 1, 0)) _permutation_table = ( (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), (1, 5, 7, 6, 2, 8, 3, 0, 9, 4), (5, 8, 0, 3, 7, 9, 6, 1, 4, 2), (8, 9, 1, 6, 0, 4, 3, 5, 2, 7), (9, 4, 5, 3, 1, 2, 6, 8, 7, 0), (4, 2, 8, 6, 5, 7, 3, 9, 0, 1), (2, 7, 9, 3, 8, 0, 6, 4, 1, 5), (7, 0, 4, 6, 9, 1, 3, 2, 5, 8)) def checksum(number): """Calculate the Verhoeff checksum over the provided number. The checksum is returned as an int. Valid numbers should have a checksum of 0.""" # transform number list number = tuple(int(n) for n in reversed(str(number))) # calculate checksum check = 0 for i, n in enumerate(number): check = _multiplication_table[check][_permutation_table[i % 8][n]] return check def validate(number): """Check if the number provided passes the Verhoeff checksum.""" if not bool(number): raise InvalidFormat() try: valid = checksum(number) == 0 except Exception: raise InvalidFormat() if not valid: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided passes the Verhoeff checksum.""" try: return bool(validate(number)) except ValidationError: return False def calc_check_digit(number): """Calculate the extra digit that should be appended to the number to make it a valid number.""" return str(_multiplication_table[checksum(str(number) + '0')].index(0)) python-stdnum-1.13/stdnum/bitcoin.py0000644000000000000000000001220213555400447017544 0ustar rootroot00000000000000# bitcoin.py - functions for handling Bitcoin addresses # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Bitcoin address. A Bitcoin address is an identifier that is used as destination in a Bitcoin transaction. It is based on a hash of the public portion of a keypair. There are currently three address formats in use: * P2PKH: pay to pubkey hash * P2SH: pay to script hash * Bech32 More information: * https://en.bitcoin.it/wiki/Address >>> validate('1NEDqZPvTWRaoho48qXuLLsrYomMXPABfD') '1NEDqZPvTWRaoho48qXuLLsrYomMXPABfD' >>> validate('BC1QARDV855YJNGSPVXUTTQ897AQCA3LXJU2Y69JCE') 'bc1qardv855yjngspvxuttq897aqca3lxju2y69jce' >>> validate('1NEDqZPvTWRaoho48qXuLLsrYomMXPABfX') Traceback (most recent call last): ... InvalidChecksum: ... """ import hashlib import struct from functools import reduce from stdnum.exceptions import * from stdnum.util import clean def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' ').strip() if number[:3].lower() == 'bc1': number = number.lower() return number # Base58 encoding character set as used in Bitcoin addresses _base58_alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' def b58decode(s): """Decode a Base58 encoded string to a bytestring.""" value = reduce(lambda a, c: a * 58 + _base58_alphabet.index(c), s, 0) result = b'' while value >= 256: value, mod = divmod(value, 256) result = struct.pack('B', mod) + result result = struct.pack('B', value) + result return struct.pack('B', 0) * (len(s) - len(s.lstrip('1'))) + result # Bech32 character set as used in Bitcoin addresses _bech32_alphabet = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l' # The Bech32 generator tests and values for checksum calculation _bech32_generator = ( (1 << 0, 0x3b6a57b2), (1 << 1, 0x26508e6d), (1 << 2, 0x1ea119fa), (1 << 3, 0x3d4233dd), (1 << 4, 0x2a1462b3)) def bech32_checksum(values): """Calculate the Bech32 checksum.""" chk = 1 for value in values: top = chk >> 25 chk = (chk & 0x1ffffff) << 5 | value for t, v in _bech32_generator: chk ^= v if top & t else 0 return chk def b32decode(data): """Decode a list of Base32 values to a bytestring.""" acc, bits = 0, 0 result = b'' for value in data: acc = ((acc << 5) | value) & 0xfff bits += 5 if bits >= 8: bits -= 8 result = result + struct.pack('B', (acc >> bits) & 0xff) if bits >= 5 or acc & ((1 << bits) - 1): raise InvalidComponent() return result def _expand_hrp(hrp): """Convert the human-readable part to format for checksum calculation.""" return [ord(c) >> 5 for c in hrp] + [0] + [ord(c) & 31 for c in hrp] def validate(number): """Check if the number provided is valid. This checks the length and check digit.""" number = compact(number) if number.startswith('1') or number.startswith('3'): # P2PKH (pay to pubkey hash) or P2SH (pay to script hash) address if not all(x in _base58_alphabet for x in number): raise InvalidFormat() address = b58decode(number) if len(address) != 25: raise InvalidLength() if hashlib.sha256(hashlib.sha256(address[:-4]).digest()).digest()[:4] != address[-4:]: raise InvalidChecksum() elif number.startswith('bc1'): # Bech32 type address if not all(x in _bech32_alphabet for x in number[3:]): raise InvalidFormat() if len(number) < 11 or len(number) > 90: raise InvalidLength() data = [_bech32_alphabet.index(x) for x in number[3:]] if bech32_checksum(_expand_hrp('bc') + data) != 1: raise InvalidChecksum() witness_version = data[0] witness_program = b32decode(data[1:-6]) if witness_version > 16: raise InvalidComponent() if len(witness_program) < 2 or len(witness_program) > 40: raise InvalidLength() if witness_version == 0 and len(witness_program) not in (20, 32): raise InvalidLength() else: raise InvalidComponent() return number def is_valid(number): """Check if the number provided is valid. This checks the length and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/cy/0000755000000000000000000000000013611057636016162 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/cy/__init__.py0000644000000000000000000000154413555400447020276 0ustar rootroot00000000000000# __init__.py - collection of Cypriot numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Cypriot numbers.""" python-stdnum-1.13/stdnum/cy/vat.py0000644000000000000000000000515213555400447017330 0ustar rootroot00000000000000# vat.py - functions for handling Cypriot VAT numbers # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Αριθμός Εγγραφής Φ.Π.Α. (Cypriot VAT number). The Cypriot Αριθμός Εγγραφής Φ.Π.Α. (VAT) number consists of 9 digits where the last one is a is a letter and functions as a check digit. >>> compact('CY-10259033P') '10259033P' >>> validate('CY-10259033P ') '10259033P' >>> validate('CY-10259033Z') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('CY'): number = number[2:] return number def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" translation = { '0': 1, '1': 0, '2': 5, '3': 7, '4': 9, '5': 13, '6': 15, '7': 17, '8': 19, '9': 21, } return 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'[( sum(translation[x] for x in number[::2]) + sum(int(x) for x in number[1::2]) ) % 26] def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number[:-1]): raise InvalidFormat() if len(number) != 9: raise InvalidLength() if number[0:2] == '12': raise InvalidComponent() if number[-1] != calc_check_digit(number[:-1]): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/lei.py0000644000000000000000000000420313555400450016662 0ustar rootroot00000000000000# lei.py - functions for handling Legal Entity Identifiers (LEIs) # coding: utf-8 # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """LEI (Legal Entity Identifier). The Legal Entity Identifier (LEI) is used to identify legal entities for use in financial transactions. A LEI is a 20-character alphanumeric string that consists of a 4-character issuing LOU (Local Operating Unit), 2 digits that are often 0, 13 digits to identify the organisation and 2 check digits. More information: * https://en.wikipedia.org/wiki/Legal_Entity_Identifier * http://www.lei-lookup.com/ * https://www.gleif.org/ * http://openleis.com/ >>> validate('213800KUD8LAJWSQ9D15') '213800KUD8LAJWSQ9D15' >>> validate('213800KUD8LXJWSQ9D15') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.iso7064 import mod_97_10 from stdnum.util import clean def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding white space.""" return clean(number, ' -').strip().upper() def validate(number): """Check if the number is valid. This checks the length, format and check digits.""" number = compact(number) mod_97_10.validate(number) return number def is_valid(number): """Check if the number is valid.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/uy/0000755000000000000000000000000013611057637016205 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/uy/rut.py0000644000000000000000000000670213555400450017366 0ustar rootroot00000000000000# rut.py - functions for handling Uruguay RUT numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """RUT (Registro Único Tributario, Uruguay tax number). The Registro Único Tributario (RUT) is an identifier of legal entities for tax purposes. This number consists of 12 digits, the first two indicate the registration number, followed by a 6 digit sequence number, followed by 001 and a check digit. More information: * https://www.agesic.gub.uy/innovaportal/file/1634/1/modelo_de_datos.pdf (page 71) * https://servicios.dgi.gub.uy/ServiciosEnLinea/dgi--servicios-en-linea--consulta-de-certifcado-unico >>> validate('21-100342-001-7') '211003420017' >>> validate('UY 21 140634 001 1') '211406340011' >>> validate('210303670014') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('12345678') Traceback (most recent call last): ... InvalidLength: ... >>> format('211003420017') '21-100342-001-7' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits # There are various online validation services available but they require # registration and WS-Securety signatures. # https://www.agesic.gub.uy/innovaportal/v/1600/9/agesic/consulta-de-entidad-por-rut.html # https://servicios.dgi.gub.uy/ServiciosEnLinea/ampliar/servicios-automatizados def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace. """ number = clean(number, ' -').upper().strip() if number.startswith('UY'): return number[2:] return number def calc_check_digit(number): """Calculate the check digit.""" weights = (4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2) total = sum(int(n) * w for w, n in zip(weights, number)) return str(-total % 11) def validate(number): """Check if the number is a valid Uruguay RUT number. This checks the length, formatting and check digit. """ number = compact(number) if len(number) != 12: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if number[:2] < '01' or number[:2] > '21': raise InvalidComponent() if number[2:8] == '000000': raise InvalidComponent() if number[8:11] != '001': raise InvalidComponent() if number[-1] != calc_check_digit(number): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid Uruguay RUT number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join([number[:2], number[2:-4], number[-4:-1], number[-1]]) python-stdnum-1.13/stdnum/uy/__init__.py0000644000000000000000000000165413555400450020314 0ustar rootroot00000000000000# __init__.py - collection of Uruguayan numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Uruguayan numbers.""" # provide aliases from stdnum.uy import rut as vat # noqa: F401 python-stdnum-1.13/stdnum/sm/0000755000000000000000000000000013611057637016167 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/sm/__init__.py0000644000000000000000000000166413555400450020277 0ustar rootroot00000000000000# __init__.py - collection of San Marino numbers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of San Marino numbers.""" # provide vat as an alias from stdnum.sm import coe as vat # noqa: F401 python-stdnum-1.13/stdnum/sm/coe.py0000644000000000000000000000470413555400450017304 0ustar rootroot00000000000000# coe.py - functions for handling San Marino tax numbers # coding: utf-8 # # Copyright (C) 2008-2011 Cédric Krier # Copyright (C) 2008-2011 B2CK # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """COE (Codice operatore economico, San Marino national tax number). The COE is a tax identification number of up to 5-digits used in San Marino. Leading zeroes are commonly dropped. >>> validate('51') '51' >>> validate('024165') '24165' >>> validate('2416A') Traceback (most recent call last): ... InvalidFormat: ... >>> validate('1124165') Traceback (most recent call last): ... InvalidLength: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits # a collection of all registered numbers with 2 or less digits _lownumbers = set(( 2, 4, 6, 7, 8, 9, 10, 11, 13, 16, 18, 19, 20, 21, 25, 26, 30, 32, 33, 35, 36, 37, 38, 39, 40, 42, 45, 47, 49, 51, 52, 55, 56, 57, 58, 59, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 79, 80, 81, 84, 85, 87, 88, 91, 92, 94, 95, 96, 97, 99)) def compact(number): """Convert the number to the minimal representation. This strips surrounding whitespace and separation dash.""" return clean(number, '.').strip().lstrip('0') def validate(number): """Check if the number is a valid COE. This checks the length and formatting.""" number = compact(number) if len(number) > 5 or len(number) == 0: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if len(number) < 3 and int(number) not in _lownumbers: raise InvalidComponent() return number def is_valid(number): """Check if the number is a valid COE.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/hu/0000755000000000000000000000000013611057637016164 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/hu/__init__.py0000644000000000000000000000166313555400447020301 0ustar rootroot00000000000000# __init__.py - collection of Hungarian numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Hungarian numbers.""" # provide vat as an alias from stdnum.hu import anum as vat # noqa: F401 python-stdnum-1.13/stdnum/hu/anum.py0000644000000000000000000000442013555400447017474 0ustar rootroot00000000000000# anum.py - functions for handling Hungarian VAT numbers # coding: utf-8 # # Copyright (C) 2012-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ANUM (Közösségi adószám, Hungarian VAT number). The ANUM is the Hungarian VAT (Közösségi adószám) number. It is an 8-digit taxpayer registration number that includes a weighted checksum. >>> validate('HU-12892312') '12892312' >>> validate('HU-12892313') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('HU'): number = number[2:] return number def checksum(number): """Calculate the checksum. Valid numbers should have a checksum of 0.""" weights = (9, 7, 3, 1, 9, 7, 3, 1) return sum(w * int(n) for w, n in zip(weights, number)) % 10 def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 8: raise InvalidLength() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ie/0000755000000000000000000000000013611057637016145 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/ie/pps.py0000644000000000000000000000614613555400447017326 0ustar rootroot00000000000000# pps.py - functions for handling Irish PPS numbers # # Copyright (C) 2012, 2013 Arthur de Jong # Copyright (C) 2014 Olivier Dony # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """PPS No (Personal Public Service Number, Irish personal number). The Personal Public Service number consists of 7 digits, and one or two letters. The first letter is a check character. When present (which should be the case for new numbers as of 2013), the second letter can be 'A' (for individuals) or 'H' (for non-individuals, such as limited companies, trusts, partnerships and unincorporated bodies). Pre-2013 values may have 'W', 'T', or 'X' as the second letter ; it is ignored by the check. >>> validate('6433435F') # pre-2013 '6433435F' >>> validate('6433435FT') # pre-2013 with special final 'T' '6433435FT' >>> validate('6433435FW') # pre-2013 format for married women '6433435FW' >>> validate('6433435E') # incorrect check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('6433435OA') # 2013 format (personal) '6433435OA' >>> validate('6433435IH') # 2013 format (non-personal) '6433435IH' >>> validate('6433435VH') # 2013 format (incorrect check) Traceback (most recent call last): ... InvalidChecksum: ... """ import re from stdnum.exceptions import * from stdnum.ie import vat from stdnum.util import clean pps_re = re.compile(r'^\d{7}[A-W][AHWTX]?$') """Regular expression used to check syntax of PPS numbers.""" def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').upper().strip() def validate(number): """Check if the number provided is a valid PPS number. This checks the length, formatting and check digit.""" number = compact(number) if not pps_re.match(number): raise InvalidFormat() if len(number) == 9 and number[8] in 'AH': # new 2013 format if number[7] != vat.calc_check_digit(number[:7] + number[8:]): raise InvalidChecksum() else: # old format, last letter ignored if number[7] != vat.calc_check_digit(number[:7]): raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid PPS number. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ie/__init__.py0000644000000000000000000000154013555400447020254 0ustar rootroot00000000000000# __init__.py - collection of Irish numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Irish numbers.""" python-stdnum-1.13/stdnum/ie/vat.py0000644000000000000000000000717713555400447017323 0ustar rootroot00000000000000# vat.py - functions for handling Irish VAT numbers # # Copyright (C) 2012-2016 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """VAT (Irish tax reference number). The Irish VAT number consists of 8 or 9 digits. The number is either 7 digits and 1 letter (optionally followed by a W for married women), 7 digits and 2 letters, or 6 digits and 2 letters or symbols (in second and last position). >>> validate('IE 6433435F') # pre-2013 format '6433435F' >>> validate('IE 6433435OA') # 2013 format '6433435OA' >>> validate('6433435E') # incorrect check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('8D79739I') # old style number '8D79739I' >>> validate('8?79739J') # incorrect old style Traceback (most recent call last): ... InvalidFormat: ... >>> convert('1F23456T') '0234561T' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('IE'): number = number[2:] return number _alphabet = 'WABCDEFGHIJKLMNOPQRSTUV' def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" number = compact(number).zfill(7) return _alphabet[( sum((8 - i) * int(n) for i, n in enumerate(number[:7])) + 9 * _alphabet.index(number[7:])) % 23] def validate(number): """Check if the number provided is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number[:1]) or not isdigits(number[2:7]): raise InvalidFormat() if not all(x in _alphabet for x in number[7:]): raise InvalidFormat() if len(number) not in (8, 9): raise InvalidLength() if isdigits(number[:7]): # new system (7 digits followed by 1 or 2 letters) if number[7] != calc_check_digit(number[:7] + number[8:]): raise InvalidChecksum() elif number[1] in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ+*': # old system (second character is a letter or symbol) if number[7] != calc_check_digit(number[2:7] + number[0]): raise InvalidChecksum() else: raise InvalidFormat() return number def is_valid(number): """Check if the number provided is a valid VAT number. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False def convert(number): """Convert an "old" style 8-digit VAT number where the second character is a letter to the new 8-digit format where only the last digit is a character.""" number = compact(number) if len(number) == 8 and not isdigits(number[1]): number = '0' + number[2:7] + number[0] + number[7:] return number python-stdnum-1.13/stdnum/rs/0000755000000000000000000000000013611057637016174 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/rs/__init__.py0000644000000000000000000000165613555400450020305 0ustar rootroot00000000000000# __init__.py - collection of Serbian numbers # coding: utf-8 # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Serbian numbers.""" # provide vat as an alias from stdnum.rs import pib as vat # noqa: F401 python-stdnum-1.13/stdnum/rs/pib.py0000644000000000000000000000365313555400450017317 0ustar rootroot00000000000000# pib.py - functions for handling Serbian VAT numbers # coding: utf-8 # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """PIB (Poreski Identifikacioni Broj, Serbian tax identification number). The Serbian tax identification number consists of 9 digits where the last digit is a check digit. >>> validate('101134702') '101134702' >>> validate('101134703') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.iso7064 import mod_11_10 from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -.').strip() def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 9: raise InvalidLength() mod_11_10.validate(number) return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/lv/0000755000000000000000000000000013611057637016171 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/lv/__init__.py0000644000000000000000000000165613555400450020302 0ustar rootroot00000000000000# __init__.py - collection of Latvian numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Latvian numbers.""" # provide vat as an alias from stdnum.lv import pvn as vat # noqa: F401 python-stdnum-1.13/stdnum/lv/pvn.py0000644000000000000000000000745213555400450017346 0ustar rootroot00000000000000# pvn.py - functions for handling Latvian PVN (VAT) numbers # coding: utf-8 # # Copyright (C) 2012-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """PVN (Pievienotās vērtības nodokļa, Latvian VAT number). The PVN is a 11-digit number that can either be a reference to a legal entity (in which case the first digit > 3) or a natural person (in which case it should be the same as the personal code (personas kods)). Personal codes start with 6 digits to denote the birth date in the form ddmmyy. >>> validate('LV 4000 3521 600') '40003521600' >>> validate('40003521601') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('161175-19997') # personal code '16117519997' >>> validate('161375-19997') # invalid date Traceback (most recent call last): ... InvalidComponent: ... """ import datetime from stdnum.exceptions import * from stdnum.util import clean, isdigits # validation functions are available on-line but it is not allowed # to perform automated queries: # https://www6.vid.gov.lv/VID_PDB?aspxerrorpath=/vid_pdb/pvn.asp def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('LV'): number = number[2:] return number def checksum(number): """Calculate the checksum for legal entities.""" weights = (9, 1, 4, 8, 3, 10, 2, 5, 7, 6, 1) return sum(w * int(n) for w, n in zip(weights, number)) % 11 def calc_check_digit_pers(number): """Calculate the check digit for personal codes. The number passed should not have the check digit included.""" # note that this algorithm has not been confirmed by an independent source weights = (10, 5, 8, 4, 2, 1, 6, 3, 7, 9) check = 1 + sum(weights[i] * int(n) for i, n in enumerate(number)) return str(check % 11 % 10) def get_birth_date(number): """Split the date parts from the number and return the birth date.""" number = compact(number) day = int(number[0:2]) month = int(number[2:4]) year = int(number[4:6]) year += 1800 + int(number[6]) * 100 try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 11: raise InvalidLength() if number[0] > '3': # legal entity if checksum(number) != 3: raise InvalidChecksum() else: # natural resident, check if birth date is valid get_birth_date(number) # TODO: check that the birth date is not in the future if calc_check_digit_pers(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/be/0000755000000000000000000000000013611057636016135 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/be/iban.py0000644000000000000000000000576313555400447017432 0ustar rootroot00000000000000# iban.py - functions for handling Belgian IBANs # coding: utf-8 # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Belgian IBAN (International Bank Account Number). The IBAN is used to identify bank accounts across national borders. The Belgian IBAN is built up of the IBAN prefix (BE) and check digits, followed by a 3 digit bank identifier, a 7 digit account number and 2 more check digits. * https://www.nbb.be/en/payment-systems/payment-standards/bank-identification-codes >>> validate('BE32 123-4567890-02') 'BE32123456789002' >>> validate('BE41091811735141') # incorrect national check digits Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('BE83138811735115') # unknown bank code Traceback (most recent call last): ... InvalidComponent: ... >>> validate('GR1601101050000010547023795') # not a Belgian IBAN Traceback (most recent call last): ... InvalidComponent: ... >>> to_bic('BE 48 3200 7018 4927') 'BBRUBEBB' >>> to_bic('BE83138811735115') is None True """ from stdnum import iban from stdnum.exceptions import * __all__ = ['compact', 'format', 'validate', 'is_valid'] compact = iban.compact format = iban.format def _calc_check_digits(number): """Calculate the check digits over the provided part of the number.""" check = int(number) % 97 return '%02d' % (check or 97) def info(number): """Return a dictionary of data about the supplied number. This typically returns the name of the bank and a BIC if it is valid.""" number = compact(number) from stdnum import numdb return numdb.get('be/banks').info(number[4:7])[0][1] def to_bic(number): """Return the BIC for the bank that this number refers to.""" bic = info(number).get('bic') if bic: return str(bic) def validate(number): """Check if the number provided is a valid Belgian IBAN.""" number = iban.validate(number, check_country=False) if not number.startswith('BE'): raise InvalidComponent() if number[-2:] != _calc_check_digits(number[4:-2]): raise InvalidChecksum() if not info(number): raise InvalidComponent() return number def is_valid(number): """Check if the number provided is a valid Belgian IBAN.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/be/__init__.py0000644000000000000000000000170113555400447020244 0ustar rootroot00000000000000# __init__.py - collection of Belgian numbers # coding: utf-8 # # Copyright (C) 2012-2016 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Belgian numbers.""" # provide businessid as an alias from stdnum.be import vat as businessid # noqa: F401 python-stdnum-1.13/stdnum/be/vat.py0000644000000000000000000000465113555400447017306 0ustar rootroot00000000000000# vat.py - functions for handling Belgian VAT numbers # # Copyright (C) 2012-2016 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """BTW, TVA, NWSt, ondernemingsnummer (Belgian enterprise number). The enterprise number (ondernemingsnummer) is a unique identifier of companies within the Belgian administrative services. It was previously the VAT ID number. The number consists of 10 digits. >>> compact('BE403019261') '0403019261' >>> compact('(0)403019261') '0403019261' >>> validate('BE 428759497') '0428759497' >>> validate('BE431150351') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -./').upper().strip() if number.startswith('BE'): number = number[2:] if number.startswith('(0)'): number = '0' + number[3:] if len(number) == 9: number = '0' + number # old format had 9 digits return number def checksum(number): """Calculate the checksum.""" return (int(number[:-2]) + int(number[-2:])) % 97 def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 10: raise InvalidLength() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/be/banks.dat0000644000000000000000000002300713611053275017722 0ustar rootroot00000000000000# generated from current_codes.xls downloaded from # https://www.nbb.be/doc/be/be/protocol/current_codes.xls # version 31/12/2019 000-000 bic="BPOTBEB1" bank="bpost bank" 001-049 bic="GEBABEBB" bank="BNP Paribas Fortis" 050-099 bic="GKCCBEBB" bank="BELFIUS BANK" 100-101 bic="NBBEBEBB203" bank="Nationale Bank van België" 102-102 bank="Uitwisselingscentrum en Verrekening (U.C.V.)" 103-108 bic="NICABEBB" bank="Crelan" 109-110 bic="CTBKBEBX" bank="Beobank" 111-111 bic="ABERBE22" bank="Bank J. Van Breda & C°" 113-114 bic="CTBKBEBX" bank="Beobank" 119-124 bic="CTBKBEBX" bank="Beobank" 125-126 bic="CPHBBE75" bank="Banque CPH" 127-127 bic="CTBKBEBX" bank="Beobank" 129-129 bic="CTBKBEBX" bank="Beobank" 131-131 bic="CTBKBEBX" bank="Beobank" 132-132 bic="BNAGBEBB" bank="Bank Nagelmackers" 133-134 bic="CTBKBEBX" bank="Beobank" 137-137 bic="GEBABEBB" bank="BNP Paribas Fortis" 140-149 bic="GEBABEBB" bank="BNP Paribas Fortis" 150-150 bic="BCMCBEBB" bank="Bancontact Payconiq Company" 171-171 bic="CPHBBE75" bank="Banque CPH" 172-173 bic="RABOBE23" bank="Coöperatieve Rabobank U.A." 175-175 bank="Systèmes Technologiques d'Echange et de Traitement - STET" 176-176 bic="BSCHBEBBRET" bank="Santander Consumer Bank" 178-179 bic="COBABEBX" bank="Commerzbank" 183-183 bic="BARBBEBB" bank="Bank of Baroda" 185-185 bic="BBRUBEBB" bank="ING België" 189-189 bic="SMBCBEBB" bank="Sumitomo Mitsui Banking Corporation (SMBC)" 190-199 bic="CREGBEBB" bank="CBC Banque et Assurances" 200-214 bic="GEBABEBB" bank="BNP Paribas Fortis" 220-298 bic="GEBABEBB" bank="BNP Paribas Fortis" 299-299 bic="BPOTBEB1" bank="bpost bank" 300-399 bic="BBRUBEBB" bank="ING België" 400-499 bic="KREDBEBB" bank="KBC Bank" 500-500 bic="MTPSBEBB" bank="Moneytrans Payment Services" 501-501 bic="DHBNBEBB" bank="Demir-Halk Bank (Nederland) (DHB)" 504-504 bic="PANXBEB1" bank="PAY-NXT" 507-507 bic="DIERBE21" bank="Dierickx, Leys & Cie Effectenbank" 508-508 bic="PARBBEBZMDC" bank="BNP Paribas Securities Services" 509-509 bic="ABNABE2AIPC" bank="ABN AMRO Bank N.V." 510-510 bic="VAPEBE22" bank="VAN DE PUT & CO Privaatbankiers" 512-512 bic="DNIBBE21" bank="NIBC BANK" 513-513 bic="SGPBBE99" bank="ABN AMRO Bank N.V." 514-514 bic="PUILBEBB" bank="Puilaetco Dewaay Private Bankers" 515-515 bic="IRVTBEBB" bank="The Bank of New York Mellon NV/SA" 521-521 bic="FVLBBE22" bank="F. van Lanschot Bankiers" 522-522 bic="UTWBBEBB" bank="United Taiwan Bank" 523-523 bic="TRIOBEBB" bank="Triodos Bank" 524-524 bic="WAFABEBB" bank="Attijariwafa bank Europe" 525-525 bic="FVLBBE2E" bank="F. van Lanschot Bankiers" 530-530 bic="SHIZBEBB" bank="Shizuoka Bank (Europe)" 535-535 bic="FBHLBE22" bank="CREDIT EUROPE BANK NV" 538-538 bank="Hoist Finance AB" 541-541 bic="BKIDBE22" bank="BANK OF INDIA" 546-546 bic="WAFABEBB" bank="Attijariwafa bank Europe" 548-548 bic="LOCYBEBB" bank="Lombard Odier (Europe)" 549-549 bic="CHASBEBX" bank="JP Morgan Chase Bank" 550-560 bic="GKCCBEBB" bank="BELFIUS BANK" 562-569 bic="GKCCBEBB" bank="BELFIUS BANK" 570-579 bic="CITIBEBX" bank="Citibank Europe Plc - Belgium Branch" 581-581 bic="MHCBBEBB" bank="Mizuho Bank Europe N.V. Brussels Branch" 583-583 bic="DEGRBEBB" bank="Banque Degroof Petercam Luxembourg" 585-585 bic="RCBPBEBB" bank="Rothschild Belgique Succursale Rothschild Martin Maurel" 586-586 bic="CFFRBEB1" bank="Crédit Foncier de France" 587-587 bic="BIBLBE21" bank="BinckBank" 588-588 bic="CMCIBEB1BTB" bank="Banque Transatlantique Belgium" 590-594 bic="BSCHBEBB" bank="Santander Consumer Bank" 595-601 bic="CTBKBEBX" bank="Beobank" 605-605 bic="BKCHBEBB" bank="Bank of China (Luxembourg) S.A., Brussels Branch" 607-607 bic="ICBKBEBB" bank="Industrial and Commercial Bank of China (Europe)" 609-609 bank="Elavon Financial Services Designated Activity Company" 610-613 bic="DEUTBEBE" bank="Deutsche Bank AG" 624-625 bic="GKCCBEBB" bank="BELFIUS BANK" 630-631 bic="BBRUBEBB" bank="ING België" 634-636 bic="BNAGBEBB" bank="Bank Nagelmackers" 638-638 bic="GKCCBEBB" bank="BELFIUS BANK" 639-639 bic="ABNABE2AMYO" bank="ABN AMRO Bank N.V." 640-640 bic="ADIABE22" bank="KBC Bank N.V. Business Center Diamant" 642-642 bic="BBVABEBB" bank="Banco Bilbao Vizcaya Argentaria" 643-643 bic="BMPBBEBB" bank="Aion" 644-644 bank="FCA Bank S.p.A." 645-645 bic="JVBABE22" bank="Bank J. Van Breda & C°" 646-647 bic="BNAGBEBB" bank="Bank Nagelmackers" 648-648 bic="BMPBBEBBVOD" bank="Aion" 649-649 bank="Caisse d'Epargne et de Prévoyance Hauts de France" 651-651 bic="KEYTBEBB" bank="Arkéa Direct Bank (nom commercial / commerciële naam: Keytrade Bank)" 652-652 bic="BBRUBEBB" bank="ING België" 654-654 bank="Crédit foncier et communal d'Alsace et de Lorraine - Banque" 657-657 bic="GKCCBEBB" bank="BELFIUS BANK" 658-658 bic="HABBBEBB" bank="Habib Bank" 663-663 bic="BMEUBEB1" bank="BMCE Euro Services" 664-664 bic="BCDMBEBB" bank="Banque Chaabi du Maroc" 666-666 bank="WORLDLINE NV" 667-667 bic="CMCIBEB1CIC" bank="Crédit Industriel et Commercial - Succursale de Bruxelles" 668-668 bic="SBINBE2X" bank="State Bank of India" 669-669 bank="WORLDLINE NV" 670-670 bank="CNH Industrial Capital EUROPE" 671-671 bic="EURBBE99" bank="Europabank" 672-672 bic="GKCCBEBB" bank="BELFIUS BANK" 673-673 bic="BBRUBEBB" bank="ING België" 674-674 bic="ABNABE2AIDJ" bank="ABN AMRO Bank N.V." 675-675 bic="BYBBBEBB" bank="Byblos Bank Europe" 676-676 bic="DEGRBEBB" bank="Bank Degroof Petercam" 677-677 bic="CBPXBE99" bank="Compagnie de Banque Privée Quilvest" 678-678 bic="DELEBE22" bank="Delen Private Bank" 679-679 bic="PCHQBEBB" bank="bpost" 680-680 bic="GKCCBEBB" bank="BELFIUS BANK" 682-683 bic="GKCCBEBB" bank="BELFIUS BANK" 684-684 bic="SGABBEB2" bank="Société Générale" 685-686 bic="BOFABE3X" bank="Bank of Amerika Merrill Lynch International DAC - Brussels Branch" 687-687 bic="MGTCBEBE" bank="Euroclear Bank" 688-688 bic="SGABBEB2" bank="Société Générale" 693-693 bic="BOTKBEBX" bank="MUFG Bank (Europe)" 694-694 bic="DEUTBEBE" bank="Deutsche Bank AG" 696-696 bic="CRLYBEBB" bank="Crédit Agricole Corporate & Investment Bank" 698-698 bic="NATXBEB1" bank="Natixis Bank" 700-709 bic="AXABBE22" bank="AXA Bank Belgium" 719-719 bic="ABNABE2AXXX" bank="ABN AMRO Bank N.V." 722-722 bic="ABNABE2AIPC" bank="ABN AMRO Bank N.V." 725-727 bic="KREDBEBB" bank="KBC Bank" 728-729 bic="CREGBEBB" bank="CBC Banque et Assurances" 730-731 bic="KREDBEBB" bank="KBC Bank" 732-732 bic="CREGBEBB" bank="CBC Banque et Assurances" 733-741 bic="KREDBEBB" bank="KBC Bank" 742-742 bic="CREGBEBB" bank="CBC Banque et Assurances" 743-749 bic="KREDBEBB" bank="KBC Bank" 750-774 bic="AXABBE22" bank="AXA Bank Belgium" 775-799 bic="GKCCBEBB" bank="BELFIUS BANK" 800-816 bic="AXABBE22" bank="AXA Bank Belgium" 817-817 bic="ISAEBEBB" bank="CACEIS Bank Belgian Branch" 823-823 bic="BLUXBEBB" bank="Banque de Luxembourg" 824-824 bank="ING Bank" 825-826 bic="DEUTBEBE" bank="Deutsche Bank AG" 828-828 bic="BBRUBEBB" bank="ING België" 830-839 bic="GKCCBEBB" bank="BELFIUS BANK" 840-840 bic="PRIBBEBB" bank="Edmond de Rothschild (Europe)" 844-844 bic="RABOBE22" bank="Rabobank.be" 845-845 bic="DEGRBEBB" bank="Bank Degroof Petercam" 850-853 bic="NICABEBB" bank="Crelan" 859-860 bic="NICABEBB" bank="Crelan" 862-863 bic="NICABEBB" bank="Crelan" 865-866 bic="NICABEBB" bank="Crelan" 868-868 bic="KREDBEBB" bank="KBC Bank" 871-871 bic="BNAGBEBB" bank="Bank Nagelmackers" 873-873 bic="PCHQBEBB" bank="bpost" 876-876 bic="MBWMBEBB" bank="MeDirect Bank S.A." 877-879 bic="BNAGBEBB" bank="Bank Nagelmackers" 880-881 bic="BBRUBEBB" bank="ING België" 883-884 bic="BBRUBEBB" bank="ING België" 887-888 bic="BBRUBEBB" bank="ING België" 890-899 bic="VDSPBE91" bank="vdk bank" 906-906 bic="CEKVBE81" bank="Centrale Kredietverlening (C.K.V.)" 908-908 bic="CEKVBE81" bank="Centrale Kredietverlening (C.K.V.)" 910-910 bic="BBRUBEBB" bank="ING België" 911-911 bic="TUNZBEB1" bank="Ingenico Financial Solutions" 912-912 bank="Hi - Media Porte Monnaie Electronique" 913-913 bic="EPBFBEBB" bank="EPBF" 914-914 bic="FXBBBEBB" bank="FX4BIZ" 915-915 bic="OONXBEBB" bank="Oonex" 916-916 bic="GOCFBEB1" bank="GOLD COMMODITIES FOREX (G.C.F.)" 917-917 bank="Buy Way Personal Finance" 920-920 bic="BBRUBEBB" bank="ING België" 922-923 bic="BBRUBEBB" bank="ING België" 924-924 bic="FMMSBEB1" bank="Fimaser" 926-926 bic="EBPBBEB1" bank="Ebury Partners Belgium" 928-928 bic="VPAYBE21" bank="VIVA Payment Services" 929-931 bic="BBRUBEBB" bank="ING België" 934-934 bic="BBRUBEBB" bank="ING België" 936-936 bic="BBRUBEBB" bank="ING België" 939-939 bic="BBRUBEBB" bank="ING België" 940-940 bic="CLIQBEB1" bank="Banque Centrale de Compensation (Clearnet)" 941-941 bic="CVMCBEBB" bank="C A Indosuez Wealth (Europe)" 942-942 bic="PUILBEBB" bank="Puilaetco Dewaay Private Bankers" 943-943 bank="CNH Industrial Financial Services SAS" 944-944 bank="J.P. Morgan Europe Ltd ." 945-945 bic="JPMGBEBB" bank="J.P. Morgan Bank Luxembourg - Brussels Branch" 946-946 bank="J.P. Morgan AG" 948-948 bank="HomeSend" 949-949 bic="HSBCBEBB" bank="HSBC France Belgian Branch" 950-959 bic="CTBKBEBX" bank="Beobank" 960-960 bic="ABNABE2AIPC" bank="ABN AMRO Bank N.V." 961-961 bic="BBRUBEBB" bank="ING België" 963-963 bic="AXABBE22" bank="AXA Bank Belgium" 967-967 bic="TRWIBEB1" bank="TransferWise" 968-968 bic="ENIBBEBB" bank="Banque Eni" 969-969 bic="PUILBEBB" bank="Puilaetco Dewaay Private Bankers" 971-971 bic="BBRUBEBB" bank="ING België" 973-973 bic="ARSPBE22" bank="Argenta Spaarbank (ASPA)" 974-974 bic="PESOBEB1" bank="PPS EU SA" 975-975 bic="AXABBE22" bank="AXA Bank Belgium" 976-976 bic="BBRUBEBB" bank="ING België" 977-977 bank="Paynovate" 978-980 bic="ARSPBE22" bank="Argenta Spaarbank (ASPA)" 981-984 bic="PCHQBEBB" bank="bpost" 985-988 bic="BPOTBEB1" bank="bpost bank" 989-989 bank="bpost" 990-999 bank="Bpost" python-stdnum-1.13/stdnum/mx/0000755000000000000000000000000013611057637016174 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/mx/__init__.py0000644000000000000000000000174213555400450020301 0ustar rootroot00000000000000# __init__.py - collection of Mexican numbers # coding: utf-8 # # Copyright (C) 2015-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Mexican numbers.""" # provide aliases from stdnum.mx import curp as personalid # noqa: F401 from stdnum.mx import rfc as vat # noqa: F401 python-stdnum-1.13/stdnum/mx/curp.py0000644000000000000000000001027013555400450017507 0ustar rootroot00000000000000# curp.py - functions for handling Mexican personal identifiers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CURP (Clave Única de Registro de Población, Mexican personal ID). The Clave Única de Registro de Población (Population Registry Code) is unique identifier for both citizens and residents of Mexico. The is an 18-character alphanumeric that contains certain letters from the person's name, their gender and birth date and a check digit. More information: * http://en.wikipedia.org/wiki/CURP * https://www.gob.mx/curp/ >>> validate('BOXW310820HNERXN09') 'BOXW310820HNERXN09' >>> validate('BOXW310820HNERXN08') Traceback (most recent call last): ... InvalidChecksum: ... >>> get_birth_date('BOXW310820HNERXN09') datetime.date(1931, 8, 20) >>> get_gender('BOXW310820HNERXN09') 'M' """ import datetime import re from stdnum.exceptions import * from stdnum.util import clean # these values should not appear as first part _name_blacklist = set(''' BACA BAKA BUEI BUEY CACA CACO CAGA CAGO CAKA CAKO COGE COGI COJA COJE COJI COJO COLA CULO FALO FETO GETA GUEI GUEY JETA JOTO KACA KACO KAGA KAGO KAKA KAKO KOGE KOGI KOJA KOJE KOJI KOJO KOLA KULO LILO LOCA LOCO LOKA LOKO MAME MAMO MEAR MEAS MEON MIAR MION MOCO MOKO MULA MULO NACA NACO PEDA PEDO PENE PIPI PITO POPO PUTA PUTO QULO RATA ROBA ROBE ROBO RUIN SENO TETA VACA VAGA VAGO VAKA VUEI VUEY WUEI WUEY '''.split()) # these are valid two-character states _valid_states = set(''' AS BC BS CC CH CL CM CS DF DG GR GT HG JC MC MN MS NE NL NT OC PL QR QT SL SP SR TC TL TS VZ YN ZS '''.split()) def compact(number): """Convert the number to the minimal representation. This strips surrounding whitespace and separation dash.""" return clean(number, '-_ ').upper().strip() def get_birth_date(number): """Split the date parts from the number and return the birth date.""" number = compact(number) year = int(number[4:6]) month = int(number[6:8]) day = int(number[8:10]) if number[16].isdigit(): year += 1900 else: year += 2000 try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def get_gender(number): """Get the gender (M/F) from the person's CURP.""" number = compact(number) if number[10] == 'H': return 'M' elif number[10] == 'M': return 'F' else: raise InvalidComponent() # characters used for checksum calculation, _alphabet = '0123456789ABCDEFGHIJKLMN&OPQRSTUVWXYZ' def calc_check_digit(number): """Calculate the check digit.""" check = sum(_alphabet.index(c) * (18 - i) for i, c in enumerate(number[:17])) return str((10 - check % 10) % 10) def validate(number, validate_check_digits=False): """Check if the number is a valid CURP.""" number = compact(number) if len(number) != 18: raise InvalidLength() if not re.match(u'^[A-Z]{4}[0-9]{6}[A-Z]{6}[0-9A-Z][0-9]$', number): raise InvalidFormat() if number[:4] in _name_blacklist: raise InvalidComponent() get_birth_date(number) get_gender(number) if number[11:13] not in _valid_states: raise InvalidComponent() if number[-1] != calc_check_digit(number): raise InvalidChecksum() return number def is_valid(number, validate_check_digits=False): """Check if the number provided is a valid CURP.""" try: return bool(validate(number, validate_check_digits)) except ValidationError: return False python-stdnum-1.13/stdnum/mx/rfc.py0000644000000000000000000001232413555400450017312 0ustar rootroot00000000000000# rfc.py - functions for handling Mexican tax numbers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """RFC (Registro Federal de Contribuyentes, Mexican tax number). This number is used to identify individuals and companies for tax purposes. The company number is 12 digits where the first 3 letters or digits are derived from the name of the company, the following 6 contain the date of incorporation, followed by 3 check digits. Personal numbers consist of 13 digits where the first 4 characters from the person's name, followed by their birth date and 3 check digits. The first two check digits are calculated based on the person's or company's full name. The last check digit is calculated over all the preceding digits in the number. However, it seems a lot of numbers (estimated at around 1.5% of all numbers) are in use with invalid check digits so this test is disabled by default. More information: * http://www.sisi.org.mx/jspsi/documentos/2005/seguimiento/06101/0610100162005_065.doc * https://es.wikipedia.org/wiki/Registro_Federal_de_Contribuyentes_(M%C3%A9xico) An online validation service is available at: * https://portalsat.plataforma.sat.gob.mx/ConsultaRFC/ >>> validate('GODE 561231 GR8') # personal number 'GODE561231GR8' >>> validate('MAB-930714-8T4') # company number 'MAB9307148T4' >>> validate('COMG-600703') # personal number without serial 'COMG600703' >>> validate('VACE-460910-SX6') 'VACE460910SX6' >>> validate('VACE-460910-SX6', validate_check_digits=True) Traceback (most recent call last): ... InvalidChecksum: ... >>> format('GODE561231GR8') 'GODE 561231 GR8' """ import datetime import re from stdnum.exceptions import * from stdnum.util import clean, to_unicode # these values should not appear as first part of a personal number _name_blacklist = set([ 'BUEI', 'BUEY', 'CACA', 'CACO', 'CAGA', 'CAGO', 'CAKA', 'CAKO', 'COGE', 'COJA', 'COJE', 'COJI', 'COJO', 'CULO', 'FETO', 'GUEY', 'JOTO', 'KACA', 'KACO', 'KAGA', 'KAGO', 'KAKA', 'KOGE', 'KOJO', 'KULO', 'MAME', 'MAMO', 'MEAR', 'MEAS', 'MEON', 'MION', 'MOCO', 'MULA', 'PEDA', 'PEDO', 'PENE', 'PUTA', 'PUTO', 'QULO', 'RATA', 'RUIN', ]) # characters used for checksum calculation, _alphabet = u'0123456789ABCDEFGHIJKLMN&OPQRSTUVWXYZ Ñ' def compact(number): """Convert the number to the minimal representation. This strips surrounding whitespace and separation dash.""" return clean(number, '-_ ').upper().strip() def _get_date(number): """Convert the part of the number that represents a date into a datetime. Note that the century may be incorrect.""" year = int(number[0:2]) month = int(number[2:4]) day = int(number[4:6]) try: return datetime.date(year + 2000, month, day) except ValueError: raise InvalidComponent() def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" number = to_unicode(number) number = (' ' + number)[-12:] check = sum(_alphabet.index(n) * (13 - i) for i, n in enumerate(number)) return _alphabet[(11 - check) % 11] def validate(number, validate_check_digits=False): """Check if the number is a valid RFC.""" number = compact(number) n = to_unicode(number) if len(n) in (10, 13): # number assigned to person if not re.match(u'^[A-Z&Ñ]{4}[0-9]{6}[0-9A-Z]{0,3}$', n): raise InvalidFormat() if n[:4] in _name_blacklist: raise InvalidComponent() _get_date(n[4:10]) elif len(n) == 12: # number assigned to company if not re.match(u'^[A-Z&Ñ]{3}[0-9]{6}[0-9A-Z]{3}$', n): raise InvalidFormat() _get_date(n[3:9]) else: raise InvalidLength() if validate_check_digits and len(n) >= 12: if not re.match(u'^[1-9A-V][1-9A-Z][0-9A]$', n[-3:]): raise InvalidComponent() if n[-1] != calc_check_digit(n[:-1]): raise InvalidChecksum() return number def is_valid(number, validate_check_digits=False): """Check if the number provided is a valid RFC.""" try: return bool(validate(number, validate_check_digits)) except ValidationError: return False def format(number, separator=' '): """Reformat the number to the standard presentation format.""" number = compact(number) if len(number) == 12: return separator.join(( number[:3], number[3:9], number[9:])).strip(separator) return separator.join(( number[:4], number[4:10], number[10:])).strip(separator) python-stdnum-1.13/stdnum/hr/0000755000000000000000000000000013611057637016161 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/hr/__init__.py0000644000000000000000000000166013555400447020273 0ustar rootroot00000000000000# __init__.py - collection of Croatian numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Croatian numbers.""" # provide vat as an alias from stdnum.hr import oib as vat # noqa: F401 python-stdnum-1.13/stdnum/hr/oib.py0000644000000000000000000000424613555400447017310 0ustar rootroot00000000000000# cnp.py - functions for handling Croatian OIB numbers # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """OIB (Osobni identifikacijski broj, Croatian identification number). The personal identification number is used to identify persons and legal entities in Croatia. It has 11 digits (sometimes prefixed by HR), contains no personal information and uses the ISO 7064 Mod 11, 10 checksum algorithm. >>> validate('HR 33392005961') '33392005961' >>> validate('33392005962') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.iso7064 import mod_11_10 from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('HR'): number = number[2:] return number def validate(number): """Check if the number is a valid OIB number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 11: raise InvalidLength() mod_11_10.validate(number) return number def is_valid(number): """Check if the number is a valid OIB number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/isil.dat0000644000000000000000000000775013611053275017205 0ustar rootroot00000000000000# generated from ISIL Registration Authority, downloaded from # https://english.slks.dk/libraries/library-standards/isil/ AR$ country="Argentine Republic" ra="Argentine Standardization and Certification Institute (IRAM)" ra_url="http://www.iram.org.ar/" AT$ country="Austria" ra="Die Österreichische Bibliothekenverbund und Service GmbH" ra_url="http://www.obvsg.at/" AU$ country="Australia" ra="National Library of Australia" ra_url="http://www.nla.gov.au/ilrs" BE$ country="Belgium" ra="Royal Library of Belgium" ra_url="http://www.kbr.be/" BY$ country="Belarus" ra="National Library of Belarus" ra_url="http://www.nlb.by/portal/page/portal/index?lang=en" BG$ country="Bulgaria" ra="National Library of Bulgaria" ra_url="http://www.nationallibrary.bg/wp/?page_id=220" CA$ country="Canada" ra="Library and Archives Canada" ra_url="http://www.bac-lac.gc.ca/eng/Pages/home.aspx" CH$ country="Switzerland" ra="Swiss National Library" ra_url="https://www.nb.admin.ch/snl/en/home.html" CY$ country="Cyprus" ra="Cyprus University of Technology – Library" ra_url="http://library.cut.ac.cy/en/isil" DE$ country="Germany" ra="Staatsbibliothek zu Berlin" ra_url="http://sigel.staatsbibliothek-berlin.de/" DK$ country="Denmark" ra="Danish Agency for Culture and Palaces" ra_url="https://english.slks.dk/libraries/" EG$ country="Egypt" ra="Egyptian National Scientific and Technical Information Network (ENSTINET)" ra_url="http://www.sti.sci.eg/index.php?option=com_content&view=article&id=30:focal-point&catid=1:pages&Itemid=56" FI$ country="Finland" ra="The National Library of Finland" ra_url="http://isil.kansalliskirjasto.fi/en/" FR$ country="France" ra="Agence Bibliographique de l'Enseignement Superieur" ra_url="http://www.abes.fr/" GB$ country="United Kingdom" ra="British Library" ra_url="http://www.bl.uk/bibliographic/isilagency.html" GL$ country="Greenland" ra="Central and Public Library of Greenland" ra_url="https://www.katak.gl/" HU$ country="Hungary" ra="National Széchényi Library" ra_url="http://www.oszk.hu/orszagos-konyvtari-szabvanyositas/isil-kodok" IL$ country="Israel" ra="National Library of Israel" ra_url="http://nli.org.il/eng" IR$ country="Islamic Republic of Iran" ra="National Library and Archives of Islamic Republic of Iran of Iran" ra_url="http://www.nlai.ir/special_services/stds/isil.htm" IT$ country="Italy" ra="Istituto Centrale per il Catalogo Unico delle biblioteche italiane e per le informazioni bibliografiche" ra_url="http://www.iccu.sbn.it/genera.jsp?id=78&l=en" JP$ country="Japan" ra="National Diet Library" ra_url="http://www.ndl.go.jp/en/library/isil/index.html" KR$ country="Republic of Korea" ra="The National Library of Korea" ra_url="http://www.nl.go.kr/isil/" LU$ country="Luxembourg" ra="Archives nationales de Luxembourg" ra_url="http://www.anlux.public.lu/" NL$ country="The Netherlands" ra="Koninklijke Bibliotheek, National Library of the Netherlands" ra_url="http://www.kb.nl/expertise/voor-bibliotheken/interbibliotheciar-leenverkeer/internationale-standard-identifier-for-libraries-isil" NO$ country="Norway" ra="National Library of Norway" ra_url="http://www.nb.no/" NZ$ country="New Zealand" ra="National Library of New Zealand Te Puna Matauranga o Aotearoa" ra_url="http://natlib.govt.nz/" QA$ country="Qatar" ra="Qatar National Library (QNL)" ra_url="http://www.qnl.qa/" RO$ country="Romania" ra="National Library of Romania" ra_url="http://www.bibnat.ro/Sistemul-ISIL-in-Romania-s382-ro.htm" RU$ country="Russian Federation" ra="Russian National Public Library for Science and Technology" ra_url="http://english.gpntb.ru/" SI$ country="The Republic of Slovenia" ra="National and University Library" ra_url="http://www.nuk.uni-lj.si/nukeng3.asp?id=311364382" SK$ country="Slovak Republic" ra="Slovak National Library" ra_url="http://www.snk.sk/en/information-for/libraries-and-librarians/isil.html" US$ country="United States of America" ra="Library of Congress" ra_url="http://www.loc.gov/marc/organizations/" O$ ra="See OCLC" OCLC$ ra="OCLC" ra_url="http://www.oclc.org" ZDB$ ra="Staatsbibliothek zu Berlin" python-stdnum-1.13/stdnum/meid.py0000644000000000000000000001541413555400450017035 0ustar rootroot00000000000000# meid.py - functions for handling Mobile Equipment Identifiers (MEIDs) # # Copyright (C) 2010-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """MEID (Mobile Equipment Identifier). The Mobile Equipment Identifier is used to identify a physical piece of CDMA mobile station equipment. >>> validate('AF 01 23 45 0A BC DE C') 'AF0123450ABCDE' >>> validate('29360 87365 0070 3710 0') 'AF0123450ABCDE' >>> validate('29360 87365 0070 3710 0', strip_check_digit=False) 'AF0123450ABCDEC' >>> validate('29360 87365 0070 3710 1') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('af0123450abcDEC', add_check_digit=True) 'AF 01 23 45 0A BC DE C' >>> format('af0123450abcDEC', format='dec', add_check_digit=True) '29360 87365 0070 3710 0' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits _hex_alphabet = '0123456789ABCDEF' def _cleanup(number): """Remove any grouping information from the number and removes surrounding whitespace.""" return clean(number, ' -').strip().upper() def _ishex(number): for x in number: if x not in _hex_alphabet: return False return True def _parse(number): number = _cleanup(number) if len(number) in (14, 15): # 14 or 15 digit hex representation if not _ishex(number): raise InvalidFormat() return number[0:14], number[14:] elif len(number) in (18, 19): # 18-digit decimal representation if not isdigits(number): raise InvalidFormat() return number[0:18], number[18:] else: raise InvalidLength() def calc_check_digit(number): """Calculate the check digit for the number. The number should not already have a check digit.""" # both the 18-digit decimal format and the 14-digit hex format # containing only decimal digits should use the decimal Luhn check from stdnum import luhn if isdigits(number): return luhn.calc_check_digit(number) else: return luhn.calc_check_digit(number, alphabet=_hex_alphabet) def compact(number, strip_check_digit=True): """Convert the MEID number to the minimal (hexadecimal) representation. This strips grouping information, removes surrounding whitespace and converts to hexadecimal if needed. If the check digit is to be preserved and conversion is done a new check digit is recalculated.""" # first parse the number number, cd = _parse(number) # strip check digit if needed if strip_check_digit: cd = '' # convert to hex if needed if len(number) == 18: number = '%08X%06X' % (int(number[0:10]), int(number[10:18])) if cd: cd = calc_check_digit(number) # put parts back together again return number + cd def _bit_length(n): """Return the number of bits necessary to store the number in binary.""" try: return n.bit_length() except AttributeError: # pragma: no cover (Python 2.6 only) import math return int(math.log(n, 2)) + 1 def validate(number, strip_check_digit=True): """Check if the number is a valid MEID number. This converts the representation format of the number (if it is decimal it is not converted to hexadecimal).""" from stdnum import luhn # first parse the number number, cd = _parse(number) if len(number) == 18: # decimal format can be easily determined if cd: luhn.validate(number + cd) # convert to hex manufacturer_code = int(number[0:10]) serial_num = int(number[10:18]) if _bit_length(manufacturer_code) > 32 or _bit_length(serial_num) > 24: raise InvalidComponent() number = '%08X%06X' % (manufacturer_code, serial_num) cd = calc_check_digit(number) elif isdigits(number): # if the remaining hex format is fully decimal it is an IMEI number from stdnum import imei imei.validate(number + cd) else: # normal hex Luhn validation if cd: luhn.validate(number + cd, alphabet=_hex_alphabet) if strip_check_digit: cd = '' return number + cd def is_valid(number): """Check if the number is a valid MEID number.""" try: return bool(validate(number)) except ValidationError: return False def format(number, separator=' ', format=None, add_check_digit=False): """Reformat the number to the standard presentation format. The separator used can be provided. If the format is specified (either 'hex' or 'dec') the number is reformatted in that format, otherwise the current representation is kept. If add_check_digit is True a check digit will be added if it is not present yet.""" # first parse the number number, cd = _parse(number) # format conversions if needed if format == 'dec' and len(number) == 14: # convert to decimal number = '%010d%08d' % (int(number[0:8], 16), int(number[8:14], 16)) if cd: cd = calc_check_digit(number) elif format == 'hex' and len(number) == 18: # convert to hex number = '%08X%06X' % (int(number[0:10]), int(number[10:18])) if cd: cd = calc_check_digit(number) # see if we need to add a check digit if add_check_digit and not cd: cd = calc_check_digit(number) # split number according to format if len(number) == 14: number = [number[i * 2:i * 2 + 2] for i in range(7)] + [cd] else: number = (number[:5], number[5:10], number[10:14], number[14:], cd) return separator.join(x for x in number if x) def to_binary(number): """Convert the number to its binary representation (without the check digit).""" from binascii import a2b_hex return a2b_hex(compact(number, strip_check_digit=True)) def to_pseudo_esn(number): """Convert the provided MEID to a pseudo ESN (pESN). The ESN is returned in compact hexadecimal representation.""" import hashlib # return the last 6 digits of the SHA1 hash prefixed with the reserved # manufacturer code return '80' + hashlib.sha1(to_binary(number)).hexdigest()[-6:].upper() python-stdnum-1.13/stdnum/iso9362.py0000644000000000000000000000214413555400450017231 0ustar rootroot00000000000000# iso9362.py - compatibility module for stdnum.bic # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA # flake8: noqa import sys import warnings warnings.warn( 'The stdnum.iso9362 module has been renamed, use stdnum.bic instead.', DeprecationWarning, stacklevel=2) # We ensure that stdnum.bic is exposed in this module's place import stdnum.bic # isort:skip sys.modules[__name__] = stdnum.bic python-stdnum-1.13/stdnum/iban.py0000644000000000000000000001065713555400447017042 0ustar rootroot00000000000000# iban.py - functions for handling International Bank Account Numbers (IBANs) # # Copyright (C) 2011-2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """IBAN (International Bank Account Number). The IBAN is used to identify bank accounts across national borders. The first two letters are a country code. The next two digits are check digits for the ISO 7064 Mod 97, 10 checksum. Each country uses its own format for the remainder of the number. Some countries may also use checksum algorithms within their number but this is only checked for a few countries. More information: * https://en.wikipedia.org/wiki/International_Bank_Account_Number * https://www.swift.com/products_services/bic_and_iban_format_registration_iban_format_r >>> validate('GR16 0110 1050 0000 1054 7023 795') 'GR1601101050000010547023795' >>> validate('BE31435411161155') 'BE31435411161155' >>> compact('GR16 0110 1050 0000 1054 7023 795') 'GR1601101050000010547023795' >>> format('GR1601101050000010547023795') 'GR16 0110 1050 0000 1054 7023 795' >>> calc_check_digits('BExx435411161155') '31' """ import re from stdnum import numdb from stdnum.exceptions import * from stdnum.iso7064 import mod_97_10 from stdnum.util import clean, get_cc_module # our open copy of the IBAN database _ibandb = numdb.get('iban') # regular expression to check IBAN structure _struct_re = re.compile(r'([1-9][0-9]*)!([nac])') # cache of country codes to modules _country_modules = {} def compact(number): """Convert the iban number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -.').strip().upper() def calc_check_digits(number): """Calculate the check digits that should be put in the number to make it valid. Check digits in the supplied number are ignored.""" number = compact(number) return mod_97_10.calc_check_digits(number[4:] + number[:2]) def _struct_to_re(structure): """Convert an IBAN structure to a regular expression that can be used to validate the number.""" def conv(match): chars = { 'n': '[0-9]', 'a': '[A-Z]', 'c': '[A-Za-z0-9]', }[match.group(2)] return '%s{%s}' % (chars, match.group(1)) return re.compile('^%s$' % _struct_re.sub(conv, structure)) def _get_cc_module(cc): """Get the IBAN module based on the country code.""" cc = cc.lower() if cc not in _country_modules: _country_modules[cc] = get_cc_module(cc, 'iban') return _country_modules[cc] def validate(number, check_country=True): """Check if the number provided is a valid IBAN. The country-specific check can be disabled with the check_country argument.""" number = compact(number) # ensure that checksum is valid mod_97_10.validate(number[4:] + number[:4]) # look up the number info = _ibandb.info(number) if not info[0][1]: raise InvalidComponent() # check if the bban part of number has the correct structure bban = number[4:] if not _struct_to_re(info[0][1].get('bban', '')).match(bban): raise InvalidFormat() # check the country-specific module if it exists if check_country: module = _get_cc_module(number[:2]) if module: module.validate(number) # return the compact representation return number def is_valid(number, check_country=True): """Check if the number provided is a valid IBAN.""" try: return bool(validate(number, check_country=check_country)) except ValidationError: return False def format(number, separator=' '): """Reformat the passed number to the space-separated format.""" number = compact(number) return separator.join(number[i:i + 4] for i in range(0, len(number), 4)) python-stdnum-1.13/stdnum/figi.py0000644000000000000000000000551313555400447017042 0ustar rootroot00000000000000# figi.py - functions for handling FIGI numbers # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """FIGI (Financial Instrument Global Identifier). The Financial Instrument Global Identifier (FIGI) is a 12-character alpha-numerical unique identifier of financial instruments such as common stock, options, derivatives, futures, corporate and government bonds, municipals, currencies, and mortgage products. More information: * https://openfigi.com/ * https://en.wikipedia.org/wiki/Financial_Instrument_Global_Identifier >>> validate('BBG000BLNQ16') 'BBG000BLNQ16' >>> validate('BBG000BLNQ14') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip().upper() def calc_check_digit(number): """Calculate the check digits for the number.""" # we use the full alphabet for the check digit calculation alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' # convert to numeric first, then double some, then sum individual digits number = ''.join( str(alphabet.index(n) * (1, 2)[i % 2]) for i, n in enumerate(number[:11])) return str((10 - sum(int(n) for n in number)) % 10) def validate(number): """Check if the number provided is a valid FIGI.""" number = compact(number) if not all(x in '0123456789BCDFGHJKLMNPQRSTVWXYZ' for x in number): raise InvalidFormat() if len(number) != 12: raise InvalidLength() if isdigits(number[0]) or isdigits(number[1]): raise InvalidFormat() if number[:2] in ('BS', 'BM', 'GG', 'GB', 'VG'): raise InvalidComponent() if number[2] != 'G': raise InvalidComponent() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid FIGI.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/kr/0000755000000000000000000000000013611057637016164 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/kr/rrn.py0000644000000000000000000001065713555400450017340 0ustar rootroot00000000000000# rrn.py - functions for handling South Korean RRN numbers # coding: utf-8 # # Copyright (C) 2019 Dimitri Papadopoulos # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """RRN (South Korean resident registration number). The RRN (resident registration number, 주민등록번호) is a 13-digit number issued to all residents of the Republic of Korea. Foreigners residing in the Republic of Korea receive an alien registration number (ARN) which follows the same encoding pattern. The first six digits code the date of birth. The seventh digit encodes the century and gender. The next four digits encode the place of birth for Koreans or the issuing agency for foreigners, followed by two digits for the community center number, one serial number and a check digit. More information: * http://www.law.go.kr/lsSc.do?tabMenuId=tab18&p1=&subMenu=1&nwYn=1§ion=&tabNo=&query=%EA%B0%9C%EC%9D%B8%EC%A0%95%EB%B3%B4%20%EB%B3%B4%ED%98%B8%EB%B2%95 * https://en.wikipedia.org/wiki/Resident_registration_number * https://techscience.org/a/2015092901/ >>> validate('971013-9019902') '9710139019902' >>> validate('971013-9019903') # incorrect checksum Traceback (most recent call last): ... InvalidChecksum: ... """ import datetime from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, '-').strip() def calc_check_digit(number): """Calculate the check digit.""" weights = (2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5) check = sum(w * int(n) for w, n in zip(weights, number)) return str((11 - (check % 11)) % 10) def get_birth_date(number, allow_future=True): """Split the date parts from the number and return the birth date. If allow_future is False birth dates in the future are rejected.""" number = compact(number) year = int(number[0:2]) month = int(number[2:4]) day = int(number[4:6]) if number[6] in '1256': # born 1900-1999 year += 1900 elif number[6] in '3478': # born 2000-2099 year += 2000 else: # born 1800-1899 year += 1800 try: date_of_birth = datetime.date(year, month, day) except ValueError: raise InvalidComponent() else: # The resident registration number is given to each Korean citizen # at birth or by naturalization, although the resident registration # card is issued upon the 17th birthday. if not allow_future and date_of_birth >= datetime.date.today(): raise InvalidComponent() return date_of_birth def validate(number, allow_future=True): """Check if the number is a valid RNN. This checks the length, formatting and check digit. If allow_future is False birth dates in the future are rejected.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 13: raise InvalidLength() get_birth_date(number, allow_future) place_of_birth = int(number[7:9]) if place_of_birth > 96: raise InvalidComponent() # We cannot check the community center (CC), any information on # valid/invalid CC digits is welcome. if number[-1] != calc_check_digit(number[:-1]): raise InvalidChecksum() return number def is_valid(number, allow_future=True): """Check if the number provided is valid.""" try: return bool(validate(number, allow_future)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) if len(number) == 13: number = number[:6] + '-' + number[6:] return number python-stdnum-1.13/stdnum/kr/__init__.py0000644000000000000000000000156413555400450020273 0ustar rootroot00000000000000# __init__.py - collection of South Korean numbers # coding: utf-8 # # Copyright (C) 2019 Dimitri Papadopoulos # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of South Korean numbers.""" python-stdnum-1.13/stdnum/imei.py0000644000000000000000000000700413555400447017044 0ustar rootroot00000000000000# imei.py - functions for handling International Mobile Equipment Identity # (IMEI) numbers # # Copyright (C) 2010-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """IMEI (International Mobile Equipment Identity). The IMEI is used to identify mobile phones. An IMEI is 14, 15 (when the check digit is included) or 16 digits (IMEISV) long. The check digit is validated using the Luhn algorithm. More information: * https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity >>> validate('35686800-004141-20') '3568680000414120' >>> validate('35-417803-685978-1') Traceback (most recent call last): ... InvalidChecksum: ... >>> compact('35686800-004141-20') '3568680000414120' >>> format('354178036859789') '35-417803-685978-9' >>> format('35686800-004141', add_check_digit=True) '35-686800-004141-8' >>> imei_type('35686800-004141-20') 'IMEISV' >>> split('35686800-004141') ('35686800', '004141', '') """ from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the IMEI number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip().upper() def validate(number): """Check if the number provided is a valid IMEI (or IMEISV) number.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) == 15: # only 15 digit IMEI has check digit luhn.validate(number) elif len(number) not in (14, 16): # neither IMEI without check digit or IMEISV (which doesn't have one) raise InvalidLength() return number def imei_type(number): """Check the passed number and return 'IMEI', 'IMEISV' or None (for invalid) for checking the type of number passed.""" try: number = validate(number) except ValidationError: return None if len(number) in (14, 15): return 'IMEI' else: # len(number) == 16: return 'IMEISV' def is_valid(number): """Check if the number provided is a valid IMEI (or IMEISV) number.""" try: return bool(validate(number)) except ValidationError: return False def split(number): """Split the number into a Type Allocation Code (TAC), serial number and either the checksum (for IMEI) or the software version number (for IMEISV).""" number = compact(number) return (number[:8], number[8:14], number[14:]) def format(number, separator='-', add_check_digit=False): """Reformat the number to the standard presentation format.""" number = compact(number) if len(number) == 14 and add_check_digit: number += luhn.calc_check_digit(number) number = (number[:2], number[2:8], number[8:14], number[14:]) return separator.join(x for x in number if x) python-stdnum-1.13/stdnum/my/0000755000000000000000000000000013611057637016175 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/my/bp.dat0000644000000000000000000001752513610634751017277 0ustar rootroot00000000000000# generated from National Registration Department of Malaysia, downloaded from # https://www.jpn.gov.my/kod-negeri/ # https://www.jpn.gov.my/en/kod-negara/ 01 state="Johor" country="Malaysia" countries="Malaysia" 02 state="Kedah" country="Malaysia" countries="Malaysia" 03 state="Kelantan" country="Malaysia" countries="Malaysia" 04 state="Melaka" country="Malaysia" countries="Malaysia" 05 state="Negeri Sembilan" country="Malaysia" countries="Malaysia" 06 state="Pahang" country="Malaysia" countries="Malaysia" 07 state="Pulau Pinang" country="Malaysia" countries="Malaysia" 08 state="Perak" country="Malaysia" countries="Malaysia" 09 state="Perlis" country="Malaysia" countries="Malaysia" 10 state="Selangor" country="Malaysia" countries="Malaysia" 11 state="Terengganu" country="Malaysia" countries="Malaysia" 12 state="Sabah" country="Malaysia" countries="Malaysia" 13 state="Sarawak" country="Malaysia" countries="Malaysia" 14 state="Wilayah Persekutuan (Kuala Lumpur)" country="Malaysia" countries="Malaysia" 15 state="Wilayah Persekutuan (Labuan)" country="Malaysia" countries="Malaysia" 16 state="Wilayah Persekutuan (Putrajaya)" country="Malaysia" countries="Malaysia" 21 state="Johor" country="Malaysia" countries="Malaysia" 22 state="Johor" country="Malaysia" countries="Malaysia" 23 state="Johor" country="Malaysia" countries="Malaysia" 24 state="Johor" country="Malaysia" countries="Malaysia" 25 state="Kedah" country="Malaysia" countries="Malaysia" 26 state="Kedah" country="Malaysia" countries="Malaysia" 27 state="Kedah" country="Malaysia" countries="Malaysia" 28 state="Kelantan" country="Malaysia" countries="Malaysia" 29 state="Kelantan" country="Malaysia" countries="Malaysia" 30 state="Melaka" country="Malaysia" countries="Malaysia" 31 state="Negeri Sembilan" country="Malaysia" countries="Malaysia" 32 state="Pahang" country="Malaysia" countries="Malaysia" 33 state="Pahang" country="Malaysia" countries="Malaysia" 34 state="Pulau Pinang" country="Malaysia" countries="Malaysia" 35 state="Pulau Pinang" country="Malaysia" countries="Malaysia" 36 state="Perak" country="Malaysia" countries="Malaysia" 37 state="Perak" country="Malaysia" countries="Malaysia" 38 state="Perak" country="Malaysia" countries="Malaysia" 39 state="Perak" country="Malaysia" countries="Malaysia" 40 state="Perlis" country="Malaysia" countries="Malaysia" 41 state="Selangor" country="Malaysia" countries="Malaysia" 42 state="Selangor" country="Malaysia" countries="Malaysia" 43 state="Selangor" country="Malaysia" countries="Malaysia" 44 state="Selangor" country="Malaysia" countries="Malaysia" 45 state="Terengganu" country="Malaysia" countries="Malaysia" 46 state="Terengganu" country="Malaysia" countries="Malaysia" 47 state="Sabah" country="Malaysia" countries="Malaysia" 48 state="Sabah" country="Malaysia" countries="Malaysia" 49 state="Sabah" country="Malaysia" countries="Malaysia" 50 state="Sarawak" country="Malaysia" countries="Malaysia" 51 state="Sarawak" country="Malaysia" countries="Malaysia" 52 state="Sarawak" country="Malaysia" countries="Malaysia" 53 state="Sarawak" country="Malaysia" countries="Malaysia" 54 state="Wilayah Persekutuan (Kuala Lumpur)" country="Malaysia" countries="Malaysia" 55 state="Wilayah Persekutuan (Kuala Lumpur)" country="Malaysia" countries="Malaysia" 56 state="Wilayah Persekutuan (Kuala Lumpur)" country="Malaysia" countries="Malaysia" 57 state="Wilayah Persekutuan (Kuala Lumpur)" country="Malaysia" countries="Malaysia" 58 state="Wilayah Persekutuan (Labuan)" country="Malaysia" countries="Malaysia" 59 state="Negeri Sembilan" country="Malaysia" countries="Malaysia" 60 country="BRUNEI" countries="BRUNEI" 61 country="INDONESIA" countries="INDONESIA" 62 countries="CAMBODIA, DEMOCRATIC KAMPUCHE, KAMPUCHEA" 63 country="LAOS" countries="LAOS" 64 countries="BURMA, MYANMAR" 65 country="PHILIPPINES" countries="PHILIPPINES" 66 country="SINGAPURA" countries="SINGAPURA" 67 country="THAILAND" countries="THAILAND" 68 country="VIETNAM" countries="VIETNAM" 71,72 country="LUAR NEGARA" countries="LUAR NEGARA" 74 country="CHINA" countries="CHINA" 75 country="INDIA" countries="INDIA" 76 country="PAKISTAN" countries="PAKISTAN" 77 countries="ARAB SAUDI, SAUDI ARABIA" 78 country="SRI LANKA" countries="SRI LANKA" 79 country="BANGLADESH" countries="BANGLADESH" 82 state="Negeri Tidak Diketahui" country="Malaysia" countries="Malaysia" 83 countries="AMERICAN SAMOA, ASIA PASIFIK, AUSTRALIA, CHRISTMAS ISLAND, COCOS(KEELING) ISLANDS, COOK ISLANDS, FIJI, FRENCH POLYNESIA, GUAM, HEARD AND MCDONALD ISLANDS, MARSHALL ISLANDS, MICRONESIA, NEW CALEDONIA, NEW ZEALAND, NIUE, NORFOLK ISLANDS, PAPUA NEW GUINEA, TIMOR LESTE, TOKELAU, UNITED STATES MINOR OUTLYING ISLANDS, WALLIS AND FUTUNA ISLANDS" 84 countries="AMERIKA SELATAN, ANGUILLA, ARGENTINA, ARUBA, BOLIVIA, BRAZIL, CHILE, COLOMBIA, ECUADOR, FRENCH GUIANA, GUADELOUPE, GUYANA, PARAGUAY, PERU, SOUTH GEORGIA & THE SOUTH SANDWICH ISLANDS, SURINAME, URUGUAY, VENEZUELA" 85 countries="AFRIKA, AFRIKA SELATAN, ALGERIA, ANGOLA, BOTSWANA, BURUNDI, CAMEROON, CENTRAL AFRICAN REPUBLIC, CHAD, CONGO-BRAZZAVILLE, CONGO-KINSHASA, DJIBOUTI, EGYPT, ERITREA, ETHIOPIA, GABON, GAMBIA, GHANA, GUINEA, KENYA, LIBERIA, MALAWI, MALI, MAURITANIA, MAYOTTE, MOROCCO, MOZAMBIQUE, NAMIBIA, NIGER, NIGERIA, REUNION, RWANDA, SENEGAL, SIERRA LEONE, SOMALIA, SUDAN, SWAZILAND, TANZANIA, TOGO, TONGA, TUNISIA, UGANDA, WESTERN SAHARA, ZAIRE, ZAMBIA, ZIMBABWE" 86 countries="ARMENIA, AUSTRIA, BELGIUM, CYPRUS, DENMARK, EUROPAH, FAEROE ISLANDS, FINLAND, FINLAND, METROPOLITAN, FRANCE, GERMANY, GERMANY (DEM.REP), GERMANY (FED.REP), GREECE, HOLY SEE (VATICAN CITY), ITALY, LUXEMBOURG, MACEDONIA, MALTA, MEDITERANEAN, MONACO, NETHERLANDS, NORWAY, PORTUGAL, REP. OF MOLDOVA, SLOVAKIA, SLOVENIA, SPAIN, SWEDEN, SWITZERLAND, UK-DEPENDENT TERRITORIES CIT, UK-NATIONAL OVERSEAS, UK-OVERSEAS CITIZEN, UK-PROTECTED PERSON, UK-SUBJECT" 87 countries="BRITAIN, GREAT BRITAIN, IRELAND" 88 countries="BAHRAIN, IRAN, IRAQ, ISRAEL, JORDAN, KUWAIT, LEBANON, OMAN, QATAR, REPUBLIC OF YEMEN, SYRIA, TIMUR TENGAH, TURKEY, UNITED ARAB EMIRATE, YEMEN ARAB REP., YEMEN PEOPLE DEM.RE" 89 countries="JAPAN, KOREA (SELATAN), KOREA (UTARA), TAIWAN, TIMUR JAUH" 90 countries="BAHAMAS, BARBADOS, BELIZE, CARIBBEAN, COSTA RICA, CUBA, DOMINICA, DOMINICAN REPUBLIC, EL SALVADOR, GRENADA, GUATEMALA, HAITI, HONDURAS, JAMAICA, MARTINIQUE, MEXICO, NICARAGUA, PANAMA, PUERTO RICO, ST. KITTS AND NEVIS, ST. LUCIA, ST. VINCENT AND THE GRENADINES, TRINIDAD & TOBAGO, TURKS AND CAICOS ISLANDS, VIRGIN ISLANDS (USA)" 91 countries="AMERIKA UTARA, CANADA, GREENLAND, NETHERLANDS ANTILLES, ST. PIERRE AND MIQUELON, UNITED STATES OF AMERICA" 92 countries="ALBANIA, BELARUS, BOSNIA HERZEGOVINA, BULGARIA, BYELORUSSIA, CROATIA, CZECH REPUBLIC, CZECHOSLOVAKIA, ESTONIA, GEORGIA, HUNGARY, LATVIA, LITHUANIA, MONTENEGRO, POLAND, REPUBLIC OF KOSOVO, ROMANIA, RUSSIAN FEDERATION, SERBIA, U.S.S.R, UKRAINE" 93 countries="AFGHANISTAN, ANDORRA/ANDORA, ANTARTICA, ANTIGUA & BARBUDA, AZERBAIJAN, BENIN, BERMUDA, BHUTAN, BORA-BORA, BOUVET ISLAND, BRITISH INDIAN OCEAN TERRITORY, BURKINA FASO/BURKINA, CAPE VERDE, CAYMAN ISLANDS, COMOROS, DAHOMEY, EQUATORIAL GUINEA, FALKLAND ISLANDS, FRENCH SOUTHERN TERRITORIES, GIBRALTAR, GUINEA-BISSAU, HONG KONG, ICELAND, IVORY COAST, KAZAKHSTAN, KIRIBATI, KYRGYZSTAN, LESOTHO, LIBYA, LIECHTENSTEIN, MACAU, MADAGASCAR, MAGHRIBI, MALAGASY, MALDIVES, MAURITIUS, MONGOLIA, MONTSERRAT, NAURU, NEPAL, NORTHERN MARIANAS ISLANDS, OUTER MONGOLIA, PALAU, PALESTINE, PITCAIRN ISLANDS, SAMAO BARAT, SAMOA, SAN MARINO, SAO TOME & PRINCIPE, SEYCHELLES, SOLOMON ISLANDS, ST. HELENA, ST.LUCIA, ST.VICENT, SVALBARD AND JAN MAYEN ISLANDS, SWAPO, TAJIKISTAN, TURKMENISTAN, TUVALU, UPPER VOLTA, UZBEKISTAN, VANUATU, VATICAN CITY, VIRGIN ISLANDS (BRITISH), WESTERN SAMOA, YUGOSLAVIA" 98 countries="STATELESS PERSON ARTICLE 1/1954, Tanpa Negara" 99 countries="MAKLUMAT TIADA, MEKAH, NEUTRAL ZONE, REFUGEE, REFUGEE ARTICLE 1/1951, UN SPECIALIZED AGENCY, UNITED NATIONS ORGANIZATION, UNSPECIFIED NATIONALITY" python-stdnum-1.13/stdnum/my/__init__.py0000644000000000000000000000155013555400450020277 0ustar rootroot00000000000000# __init__.py - collection of Malaysian numbers # coding: utf-8 # # Copyright (C) 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Malaysian numbers.""" python-stdnum-1.13/stdnum/my/nric.py0000644000000000000000000000703213555400450017474 0ustar rootroot00000000000000# nric.py - functions for handling NRIC numbers # # Copyright (C) 2013, 2014 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NRIC No. (Malaysian National Registration Identity Card Number). The NRIC No. is the unique identifier for issued to Malaysian citizens and permanent residents. The number consist of 12 digits in three sections. The first 6 digits represent the birth date, followed by two digits represeting the birth place and finally four digits. The gender of a person can be derived from the last digit: odd numbers for males and even numbers for females. >>> validate('770305-02-1234') '770305021234' >>> validate('771305-02-1234') # invalid date Traceback (most recent call last): ... InvalidComponent: ... >>> validate('770305-17-1234') # unknown birth place code Traceback (most recent call last): ... InvalidComponent: ... >>> format('770305021234') '770305-02-1234' """ import datetime from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -*').strip() def get_birth_date(number): """Split the date parts from the number and return the birth date. Note that in some cases it may return the registration date instead of the birth date and it may be a century off.""" number = compact(number) year = int(number[0:2]) month = int(number[2:4]) day = int(number[4:6]) # this is a bit broken but it's easy try: return datetime.date(year + 1900, month, day) except ValueError: pass try: return datetime.date(year + 2000, month, day) except ValueError: raise InvalidComponent() def get_birth_place(number): """Use the number to look up the place of birth of the person. This can either be a state or federal territory within Malaysia or a country outside of Malaysia.""" from stdnum import numdb number = compact(number) results = numdb.get('my/bp').info(number[6:8])[0][1] if not results: raise InvalidComponent() return results def validate(number): """Check if the number is a valid NRIC number. This checks the length, formatting and birth date and place.""" number = compact(number) if len(number) != 12: raise InvalidLength() if not isdigits(number): raise InvalidFormat() get_birth_date(number) get_birth_place(number) return number def is_valid(number): """Check if the number is a valid NRIC number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return number[:6] + '-' + number[6:8] + '-' + number[8:] python-stdnum-1.13/stdnum/lt/0000755000000000000000000000000013611057637016167 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/lt/pvm.py0000644000000000000000000000565613555400450017347 0ustar rootroot00000000000000# pvm.py - functions for handling Lithuanian VAT numbers # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """PVM (Pridėtinės vertės mokestis mokėtojo kodas, Lithuanian VAT number). The PVM is used for VAT purposes in Lithuania. It is 9 digits (for legal entities) or 12 digits long (for temporarily registered taxpayers). This module does not check the format of Lithuanian personal codes (Asmens kodas). >>> validate('119511515') # organisation '119511515' >>> validate('LT 100001919017') # temporarily registered '100001919017' >>> validate('100001919018') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('100004801610') # second step in check digit calculation '100004801610' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('LT'): number = number[2:] return number def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" check = sum((1 + i % 9) * int(n) for i, n in enumerate(number)) % 11 if check == 10: check = sum((1 + (i + 2) % 9) * int(n) for i, n in enumerate(number)) return str(check % 11 % 10) def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) == 9: # legal entities if number[7] != '1': raise InvalidComponent() elif len(number) == 12: # temporary tax payers and natural persons if number[10] != '1': raise InvalidComponent() else: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/lt/__init__.py0000644000000000000000000000166413555400450020277 0ustar rootroot00000000000000# __init__.py - collection of Lithuanian numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Lithuanian numbers.""" # provide vat as an alias from stdnum.lt import pvm as vat # noqa: F401 python-stdnum-1.13/stdnum/lt/asmens.py0000644000000000000000000000467313555400450020031 0ustar rootroot00000000000000# asmens.py - functions for handling Lithuanian personal numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Asmens kodas (Lithuanian, personal numbers). The Asmens kodas consists of 11 digits. The first digits denotes the gender and birth century, the second through seventh denotes the birth date, followed by a three-digit serial and a check digit. More information: * https://lt.wikipedia.org/wiki/Asmens_kodas * https://en.wikipedia.org/wiki/National_identification_number#Lithuania >>> validate('33309240064') '33309240064' >>> validate('33309240164') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.ee.ik import calc_check_digit, get_birth_date from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip() def validate(number, validate_birth_date=True): """Check if the number provided is valid. This checks the length, formatting, embedded date and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 11: raise InvalidLength() if validate_birth_date and number[0] != '9': get_birth_date(number) if number[-1] != calc_check_digit(number): raise InvalidChecksum() return number def is_valid(number, validate_birth_date=True): """Check if the number provided is valid. This checks the length, formatting, embedded date and check digit.""" try: return bool(validate(number, validate_birth_date)) except ValidationError: return False python-stdnum-1.13/stdnum/cn/0000755000000000000000000000000013611057636016147 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/cn/__init__.py0000644000000000000000000000155513555400447020265 0ustar rootroot00000000000000# __init__.py - collection of United States numbers # coding: utf-8 # # Copyright (C) 2014 Jiangge Zhang # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of China (PRC) numbers.""" python-stdnum-1.13/stdnum/cn/loc.dat0000644000000000000000000075363313611053275017432 0ustar rootroot00000000000000# generated from National Bureau of Statistics of the People's # Republic of China, downloaded from https://github.com/cn/GB2260 # 2020-01-18 17:01:01.298881 110101 county="东城区" prefecture="市辖区" province="北京市" 110102 county="西城区" prefecture="市辖区" province="北京市" 110103 county="崇文区" prefecture="市辖区" province="北京市" 110104 county="宣武区" prefecture="市辖区" province="北京市" 110105 county="朝阳区" prefecture="市辖区" province="北京市" 110106 county="丰台区" prefecture="市辖区" province="北京市" 110107 county="石景山区" prefecture="市辖区" province="北京市" 110108 county="海淀区" prefecture="市辖区" province="北京市" 110109 county="门头沟区" prefecture="市辖区" province="北京市" 110111 county="房山区" prefecture="市辖区" province="北京市" 110112 county="通州区" prefecture="市辖区" province="北京市" 110113 county="顺义区" prefecture="市辖区" province="北京市" 110114 county="昌平区" prefecture="市辖区" province="北京市" 110115 county="大兴区" prefecture="市辖区" province="北京市" 110116 county="怀柔区" prefecture="市辖区" province="北京市" 110117 county="平谷区" prefecture="市辖区" province="北京市" 110228 county="密云县" prefecture="县" province="北京市" 110229 county="延庆县" prefecture="县" province="北京市" 120101 county="和平区" prefecture="市辖区" province="天津市" 120102 county="河东区" prefecture="市辖区" province="天津市" 120103 county="河西区" prefecture="市辖区" province="天津市" 120104 county="南开区" prefecture="市辖区" province="天津市" 120105 county="河北区" prefecture="市辖区" province="天津市" 120106 county="红桥区" prefecture="市辖区" province="天津市" 120107 county="塘沽区" prefecture="市辖区" province="天津市" 120108 county="汉沽区" prefecture="市辖区" province="天津市" 120109 county="大港区" prefecture="市辖区" province="天津市" 120110 county="东丽区" prefecture="市辖区" province="天津市" 120111 county="西青区" prefecture="市辖区" province="天津市" 120112 county="津南区" prefecture="市辖区" province="天津市" 120113 county="北辰区" prefecture="市辖区" province="天津市" 120114 county="武清区" prefecture="市辖区" province="天津市" 120115 county="宝坻区" prefecture="市辖区" province="天津市" 120116 county="滨海新区" prefecture="市辖区" province="天津市" 120221 county="宁河县" prefecture="县" province="天津市" 120223 county="静海县" prefecture="县" province="天津市" 120225 county="蓟县" prefecture="县" province="天津市" 130101 county="市辖区" prefecture="石家庄市" province="河北省" 130102 county="长安区" prefecture="石家庄市" province="河北省" 130103 county="桥东区" prefecture="石家庄市" province="河北省" 130104 county="桥西区" prefecture="石家庄市" province="河北省" 130105 county="新华区" prefecture="石家庄市" province="河北省" 130107 county="井陉矿区" prefecture="石家庄市" province="河北省" 130108 county="裕华区" prefecture="石家庄市" province="河北省" 130109 county="藁城区" prefecture="石家庄市" province="河北省" 130110 county="鹿泉区" prefecture="石家庄市" province="河北省" 130111 county="栾城区" prefecture="石家庄市" province="河北省" 130121 county="井陉县" prefecture="石家庄市" province="河北省" 130123 county="正定县" prefecture="石家庄市" province="河北省" 130124 county="栾城县" prefecture="石家庄市" province="河北省" 130125 county="行唐县" prefecture="石家庄市" province="河北省" 130126 county="灵寿县" prefecture="石家庄市" province="河北省" 130127 county="高邑县" prefecture="石家庄市" province="河北省" 130128 county="深泽县" prefecture="石家庄市" province="河北省" 130129 county="赞皇县" prefecture="石家庄市" province="河北省" 130130 county="无极县" prefecture="石家庄市" province="河北省" 130131 county="平山县" prefecture="石家庄市" province="河北省" 130132 county="元氏县" prefecture="石家庄市" province="河北省" 130133 county="赵县" prefecture="石家庄市" province="河北省" 130181 county="辛集市" prefecture="石家庄市" province="河北省" 130182 county="藁城市" prefecture="石家庄市" province="河北省" 130183 county="晋州市" prefecture="石家庄市" province="河北省" 130184 county="新乐市" prefecture="石家庄市" province="河北省" 130185 county="鹿泉市" prefecture="石家庄市" province="河北省" 130201 county="市辖区" prefecture="唐山市" province="河北省" 130202 county="路南区" prefecture="唐山市" province="河北省" 130203 county="路北区" prefecture="唐山市" province="河北省" 130204 county="古冶区" prefecture="唐山市" province="河北省" 130205 county="开平区" prefecture="唐山市" province="河北省" 130207 county="丰南区" prefecture="唐山市" province="河北省" 130208 county="丰润区" prefecture="唐山市" province="河北省" 130209 county="曹妃甸区" prefecture="唐山市" province="河北省" 130223 county="滦县" prefecture="唐山市" province="河北省" 130224 county="滦南县" prefecture="唐山市" province="河北省" 130225 county="乐亭县" prefecture="唐山市" province="河北省" 130227 county="迁西县" prefecture="唐山市" province="河北省" 130229 county="玉田县" prefecture="唐山市" province="河北省" 130230 county="唐海县" prefecture="唐山市" province="河北省" 130281 county="遵化市" prefecture="唐山市" province="河北省" 130283 county="迁安市" prefecture="唐山市" province="河北省" 130301 county="市辖区" prefecture="秦皇岛市" province="河北省" 130302 county="海港区" prefecture="秦皇岛市" province="河北省" 130303 county="山海关区" prefecture="秦皇岛市" province="河北省" 130304 county="北戴河区" prefecture="秦皇岛市" province="河北省" 130321 county="青龙满族自治县" prefecture="秦皇岛市" province="河北省" 130322 county="昌黎县" prefecture="秦皇岛市" province="河北省" 130323 county="抚宁县" prefecture="秦皇岛市" province="河北省" 130324 county="卢龙县" prefecture="秦皇岛市" province="河北省" 130401 county="市辖区" prefecture="邯郸市" province="河北省" 130402 county="邯山区" prefecture="邯郸市" province="河北省" 130403 county="丛台区" prefecture="邯郸市" province="河北省" 130404 county="复兴区" prefecture="邯郸市" province="河北省" 130406 county="峰峰矿区" prefecture="邯郸市" province="河北省" 130421 county="邯郸县" prefecture="邯郸市" province="河北省" 130423 county="临漳县" prefecture="邯郸市" province="河北省" 130424 county="成安县" prefecture="邯郸市" province="河北省" 130425 county="大名县" prefecture="邯郸市" province="河北省" 130426 county="涉县" prefecture="邯郸市" province="河北省" 130427 county="磁县" prefecture="邯郸市" province="河北省" 130428 county="肥乡县" prefecture="邯郸市" province="河北省" 130429 county="永年县" prefecture="邯郸市" province="河北省" 130430 county="邱县" prefecture="邯郸市" province="河北省" 130431 county="鸡泽县" prefecture="邯郸市" province="河北省" 130432 county="广平县" prefecture="邯郸市" province="河北省" 130433 county="馆陶县" prefecture="邯郸市" province="河北省" 130434 county="魏县" prefecture="邯郸市" province="河北省" 130435 county="曲周县" prefecture="邯郸市" province="河北省" 130481 county="武安市" prefecture="邯郸市" province="河北省" 130501 county="市辖区" prefecture="邢台市" province="河北省" 130502 county="桥东区" prefecture="邢台市" province="河北省" 130503 county="桥西区" prefecture="邢台市" province="河北省" 130521 county="邢台县" prefecture="邢台市" province="河北省" 130522 county="临城县" prefecture="邢台市" province="河北省" 130523 county="内丘县" prefecture="邢台市" province="河北省" 130524 county="柏乡县" prefecture="邢台市" province="河北省" 130525 county="隆尧县" prefecture="邢台市" province="河北省" 130526 county="任县" prefecture="邢台市" province="河北省" 130527 county="南和县" prefecture="邢台市" province="河北省" 130528 county="宁晋县" prefecture="邢台市" province="河北省" 130529 county="巨鹿县" prefecture="邢台市" province="河北省" 130530 county="新河县" prefecture="邢台市" province="河北省" 130531 county="广宗县" prefecture="邢台市" province="河北省" 130532 county="平乡县" prefecture="邢台市" province="河北省" 130533 county="威县" prefecture="邢台市" province="河北省" 130534 county="清河县" prefecture="邢台市" province="河北省" 130535 county="临西县" prefecture="邢台市" province="河北省" 130581 county="南宫市" prefecture="邢台市" province="河北省" 130582 county="沙河市" prefecture="邢台市" province="河北省" 130601 county="市辖区" prefecture="保定市" province="河北省" 130602 county="新市区" prefecture="保定市" province="河北省" 130603 county="北市区" prefecture="保定市" province="河北省" 130604 county="南市区" prefecture="保定市" province="河北省" 130621 county="满城县" prefecture="保定市" province="河北省" 130622 county="清苑县" prefecture="保定市" province="河北省" 130623 county="涞水县" prefecture="保定市" province="河北省" 130624 county="阜平县" prefecture="保定市" province="河北省" 130625 county="徐水县" prefecture="保定市" province="河北省" 130626 county="定兴县" prefecture="保定市" province="河北省" 130627 county="唐县" prefecture="保定市" province="河北省" 130628 county="高阳县" prefecture="保定市" province="河北省" 130629 county="容城县" prefecture="保定市" province="河北省" 130630 county="涞源县" prefecture="保定市" province="河北省" 130631 county="望都县" prefecture="保定市" province="河北省" 130632 county="安新县" prefecture="保定市" province="河北省" 130633 county="易县" prefecture="保定市" province="河北省" 130634 county="曲阳县" prefecture="保定市" province="河北省" 130635 county="蠡县" prefecture="保定市" province="河北省" 130636 county="顺平县" prefecture="保定市" province="河北省" 130637 county="博野县" prefecture="保定市" province="河北省" 130638 county="雄县" prefecture="保定市" province="河北省" 130681 county="涿州市" prefecture="保定市" province="河北省" 130682 county="定州市" prefecture="保定市" province="河北省" 130683 county="安国市" prefecture="保定市" province="河北省" 130684 county="高碑店市" prefecture="保定市" province="河北省" 130701 county="市辖区" prefecture="张家口市" province="河北省" 130702 county="桥东区" prefecture="张家口市" province="河北省" 130703 county="桥西区" prefecture="张家口市" province="河北省" 130705 county="宣化区" prefecture="张家口市" province="河北省" 130706 county="下花园区" prefecture="张家口市" province="河北省" 130721 county="宣化县" prefecture="张家口市" province="河北省" 130722 county="张北县" prefecture="张家口市" province="河北省" 130723 county="康保县" prefecture="张家口市" province="河北省" 130724 county="沽源县" prefecture="张家口市" province="河北省" 130725 county="尚义县" prefecture="张家口市" province="河北省" 130726 county="蔚县" prefecture="张家口市" province="河北省" 130727 county="阳原县" prefecture="张家口市" province="河北省" 130728 county="怀安县" prefecture="张家口市" province="河北省" 130729 county="万全县" prefecture="张家口市" province="河北省" 130730 county="怀来县" prefecture="张家口市" province="河北省" 130731 county="涿鹿县" prefecture="张家口市" province="河北省" 130732 county="赤城县" prefecture="张家口市" province="河北省" 130733 county="崇礼县" prefecture="张家口市" province="河北省" 130801 county="市辖区" prefecture="承德市" province="河北省" 130802 county="双桥区" prefecture="承德市" province="河北省" 130803 county="双滦区" prefecture="承德市" province="河北省" 130804 county="鹰手营子矿区" prefecture="承德市" province="河北省" 130821 county="承德县" prefecture="承德市" province="河北省" 130822 county="兴隆县" prefecture="承德市" province="河北省" 130823 county="平泉县" prefecture="承德市" province="河北省" 130824 county="滦平县" prefecture="承德市" province="河北省" 130825 county="隆化县" prefecture="承德市" province="河北省" 130826 county="丰宁满族自治县" prefecture="承德市" province="河北省" 130827 county="宽城满族自治县" prefecture="承德市" province="河北省" 130828 county="围场满族蒙古族自治县" prefecture="承德市" province="河北省" 130901 county="市辖区" prefecture="沧州市" province="河北省" 130902 county="新华区" prefecture="沧州市" province="河北省" 130903 county="运河区" prefecture="沧州市" province="河北省" 130921 county="沧县" prefecture="沧州市" province="河北省" 130922 county="青县" prefecture="沧州市" province="河北省" 130923 county="东光县" prefecture="沧州市" province="河北省" 130924 county="海兴县" prefecture="沧州市" province="河北省" 130925 county="盐山县" prefecture="沧州市" province="河北省" 130926 county="肃宁县" prefecture="沧州市" province="河北省" 130927 county="南皮县" prefecture="沧州市" province="河北省" 130928 county="吴桥县" prefecture="沧州市" province="河北省" 130929 county="献县" prefecture="沧州市" province="河北省" 130930 county="孟村回族自治县" prefecture="沧州市" province="河北省" 130981 county="泊头市" prefecture="沧州市" province="河北省" 130982 county="任丘市" prefecture="沧州市" province="河北省" 130983 county="黄骅市" prefecture="沧州市" province="河北省" 130984 county="河间市" prefecture="沧州市" province="河北省" 131001 county="市辖区" prefecture="廊坊市" province="河北省" 131002 county="安次区" prefecture="廊坊市" province="河北省" 131003 county="广阳区" prefecture="廊坊市" province="河北省" 131022 county="固安县" prefecture="廊坊市" province="河北省" 131023 county="永清县" prefecture="廊坊市" province="河北省" 131024 county="香河县" prefecture="廊坊市" province="河北省" 131025 county="大城县" prefecture="廊坊市" province="河北省" 131026 county="文安县" prefecture="廊坊市" province="河北省" 131028 county="大厂回族自治县" prefecture="廊坊市" province="河北省" 131081 county="霸州市" prefecture="廊坊市" province="河北省" 131082 county="三河市" prefecture="廊坊市" province="河北省" 131101 county="市辖区" prefecture="衡水市" province="河北省" 131102 county="桃城区" prefecture="衡水市" province="河北省" 131121 county="枣强县" prefecture="衡水市" province="河北省" 131122 county="武邑县" prefecture="衡水市" province="河北省" 131123 county="武强县" prefecture="衡水市" province="河北省" 131124 county="饶阳县" prefecture="衡水市" province="河北省" 131125 county="安平县" prefecture="衡水市" province="河北省" 131126 county="故城县" prefecture="衡水市" province="河北省" 131127 county="景县" prefecture="衡水市" province="河北省" 131128 county="阜城县" prefecture="衡水市" province="河北省" 131181 county="冀州市" prefecture="衡水市" province="河北省" 131182 county="深州市" prefecture="衡水市" province="河北省" 140101 county="市辖区" prefecture="太原市" province="山西省" 140105 county="小店区" prefecture="太原市" province="山西省" 140106 county="迎泽区" prefecture="太原市" province="山西省" 140107 county="杏花岭区" prefecture="太原市" province="山西省" 140108 county="尖草坪区" prefecture="太原市" province="山西省" 140109 county="万柏林区" prefecture="太原市" province="山西省" 140110 county="晋源区" prefecture="太原市" province="山西省" 140121 county="清徐县" prefecture="太原市" province="山西省" 140122 county="阳曲县" prefecture="太原市" province="山西省" 140123 county="娄烦县" prefecture="太原市" province="山西省" 140181 county="古交市" prefecture="太原市" province="山西省" 140201 county="市辖区" prefecture="大同市" province="山西省" 140202 county="城区" prefecture="大同市" province="山西省" 140203 county="矿区" prefecture="大同市" province="山西省" 140211 county="南郊区" prefecture="大同市" province="山西省" 140212 county="新荣区" prefecture="大同市" province="山西省" 140221 county="阳高县" prefecture="大同市" province="山西省" 140222 county="天镇县" prefecture="大同市" province="山西省" 140223 county="广灵县" prefecture="大同市" province="山西省" 140224 county="灵丘县" prefecture="大同市" province="山西省" 140225 county="浑源县" prefecture="大同市" province="山西省" 140226 county="左云县" prefecture="大同市" province="山西省" 140227 county="大同县" prefecture="大同市" province="山西省" 140301 county="市辖区" prefecture="阳泉市" province="山西省" 140302 county="城区" prefecture="阳泉市" province="山西省" 140303 county="矿区" prefecture="阳泉市" province="山西省" 140311 county="郊区" prefecture="阳泉市" province="山西省" 140321 county="平定县" prefecture="阳泉市" province="山西省" 140322 county="盂县" prefecture="阳泉市" province="山西省" 140401 county="市辖区" prefecture="长治市" province="山西省" 140402 county="城区" prefecture="长治市" province="山西省" 140411 county="郊区" prefecture="长治市" province="山西省" 140421 county="长治县" prefecture="长治市" province="山西省" 140423 county="襄垣县" prefecture="长治市" province="山西省" 140424 county="屯留县" prefecture="长治市" province="山西省" 140425 county="平顺县" prefecture="长治市" province="山西省" 140426 county="黎城县" prefecture="长治市" province="山西省" 140427 county="壶关县" prefecture="长治市" province="山西省" 140428 county="长子县" prefecture="长治市" province="山西省" 140429 county="武乡县" prefecture="长治市" province="山西省" 140430 county="沁县" prefecture="长治市" province="山西省" 140431 county="沁源县" prefecture="长治市" province="山西省" 140481 county="潞城市" prefecture="长治市" province="山西省" 140501 county="市辖区" prefecture="晋城市" province="山西省" 140502 county="城区" prefecture="晋城市" province="山西省" 140521 county="沁水县" prefecture="晋城市" province="山西省" 140522 county="阳城县" prefecture="晋城市" province="山西省" 140524 county="陵川县" prefecture="晋城市" province="山西省" 140525 county="泽州县" prefecture="晋城市" province="山西省" 140581 county="高平市" prefecture="晋城市" province="山西省" 140601 county="市辖区" prefecture="朔州市" province="山西省" 140602 county="朔城区" prefecture="朔州市" province="山西省" 140603 county="平鲁区" prefecture="朔州市" province="山西省" 140621 county="山阴县" prefecture="朔州市" province="山西省" 140622 county="应县" prefecture="朔州市" province="山西省" 140623 county="右玉县" prefecture="朔州市" province="山西省" 140624 county="怀仁县" prefecture="朔州市" province="山西省" 140701 county="市辖区" prefecture="晋中市" province="山西省" 140702 county="榆次区" prefecture="晋中市" province="山西省" 140721 county="榆社县" prefecture="晋中市" province="山西省" 140722 county="左权县" prefecture="晋中市" province="山西省" 140723 county="和顺县" prefecture="晋中市" province="山西省" 140724 county="昔阳县" prefecture="晋中市" province="山西省" 140725 county="寿阳县" prefecture="晋中市" province="山西省" 140726 county="太谷县" prefecture="晋中市" province="山西省" 140727 county="祁县" prefecture="晋中市" province="山西省" 140728 county="平遥县" prefecture="晋中市" province="山西省" 140729 county="灵石县" prefecture="晋中市" province="山西省" 140781 county="介休市" prefecture="晋中市" province="山西省" 140801 county="市辖区" prefecture="运城市" province="山西省" 140802 county="盐湖区" prefecture="运城市" province="山西省" 140821 county="临猗县" prefecture="运城市" province="山西省" 140822 county="万荣县" prefecture="运城市" province="山西省" 140823 county="闻喜县" prefecture="运城市" province="山西省" 140824 county="稷山县" prefecture="运城市" province="山西省" 140825 county="新绛县" prefecture="运城市" province="山西省" 140826 county="绛县" prefecture="运城市" province="山西省" 140827 county="垣曲县" prefecture="运城市" province="山西省" 140828 county="夏县" prefecture="运城市" province="山西省" 140829 county="平陆县" prefecture="运城市" province="山西省" 140830 county="芮城县" prefecture="运城市" province="山西省" 140881 county="永济市" prefecture="运城市" province="山西省" 140882 county="河津市" prefecture="运城市" province="山西省" 140901 county="市辖区" prefecture="忻州市" province="山西省" 140902 county="忻府区" prefecture="忻州市" province="山西省" 140921 county="定襄县" prefecture="忻州市" province="山西省" 140922 county="五台县" prefecture="忻州市" province="山西省" 140923 county="代县" prefecture="忻州市" province="山西省" 140924 county="繁峙县" prefecture="忻州市" province="山西省" 140925 county="宁武县" prefecture="忻州市" province="山西省" 140926 county="静乐县" prefecture="忻州市" province="山西省" 140927 county="神池县" prefecture="忻州市" province="山西省" 140928 county="五寨县" prefecture="忻州市" province="山西省" 140929 county="岢岚县" prefecture="忻州市" province="山西省" 140930 county="河曲县" prefecture="忻州市" province="山西省" 140931 county="保德县" prefecture="忻州市" province="山西省" 140932 county="偏关县" prefecture="忻州市" province="山西省" 140981 county="原平市" prefecture="忻州市" province="山西省" 141001 county="市辖区" prefecture="临汾市" province="山西省" 141002 county="尧都区" prefecture="临汾市" province="山西省" 141021 county="曲沃县" prefecture="临汾市" province="山西省" 141022 county="翼城县" prefecture="临汾市" province="山西省" 141023 county="襄汾县" prefecture="临汾市" province="山西省" 141024 county="洪洞县" prefecture="临汾市" province="山西省" 141025 county="古县" prefecture="临汾市" province="山西省" 141026 county="安泽县" prefecture="临汾市" province="山西省" 141027 county="浮山县" prefecture="临汾市" province="山西省" 141028 county="吉县" prefecture="临汾市" province="山西省" 141029 county="乡宁县" prefecture="临汾市" province="山西省" 141030 county="大宁县" prefecture="临汾市" province="山西省" 141031 county="隰县" prefecture="临汾市" province="山西省" 141032 county="永和县" prefecture="临汾市" province="山西省" 141033 county="蒲县" prefecture="临汾市" province="山西省" 141034 county="汾西县" prefecture="临汾市" province="山西省" 141081 county="侯马市" prefecture="临汾市" province="山西省" 141082 county="霍州市" prefecture="临汾市" province="山西省" 141101 county="市辖区" prefecture="吕梁市" province="山西省" 141102 county="离石区" prefecture="吕梁市" province="山西省" 141121 county="文水县" prefecture="吕梁市" province="山西省" 141122 county="交城县" prefecture="吕梁市" province="山西省" 141123 county="兴县" prefecture="吕梁市" province="山西省" 141124 county="临县" prefecture="吕梁市" province="山西省" 141125 county="柳林县" prefecture="吕梁市" province="山西省" 141126 county="石楼县" prefecture="吕梁市" province="山西省" 141127 county="岚县" prefecture="吕梁市" province="山西省" 141128 county="方山县" prefecture="吕梁市" province="山西省" 141129 county="中阳县" prefecture="吕梁市" province="山西省" 141130 county="交口县" prefecture="吕梁市" province="山西省" 141181 county="孝义市" prefecture="吕梁市" province="山西省" 141182 county="汾阳市" prefecture="吕梁市" province="山西省" 142301 county="孝义市" prefecture="吕梁地区" province="山西省" 142302 county="离石市" prefecture="吕梁地区" province="山西省" 142303 county="汾阳市" prefecture="吕梁地区" province="山西省" 142322 county="文水县" prefecture="吕梁地区" province="山西省" 142323 county="交城县" prefecture="吕梁地区" province="山西省" 142325 county="兴县" prefecture="吕梁地区" province="山西省" 142326 county="临县" prefecture="吕梁地区" province="山西省" 142327 county="柳林县" prefecture="吕梁地区" province="山西省" 142328 county="石楼县" prefecture="吕梁地区" province="山西省" 142329 county="岚县" prefecture="吕梁地区" province="山西省" 142330 county="方山县" prefecture="吕梁地区" province="山西省" 142332 county="中阳县" prefecture="吕梁地区" province="山西省" 142333 county="交口县" prefecture="吕梁地区" province="山西省" 150101 county="市辖区" prefecture="呼和浩特市" province="内蒙古自治区" 150102 county="新城区" prefecture="呼和浩特市" province="内蒙古自治区" 150103 county="回民区" prefecture="呼和浩特市" province="内蒙古自治区" 150104 county="玉泉区" prefecture="呼和浩特市" province="内蒙古自治区" 150105 county="赛罕区" prefecture="呼和浩特市" province="内蒙古自治区" 150121 county="土默特左旗" prefecture="呼和浩特市" province="内蒙古自治区" 150122 county="托克托县" prefecture="呼和浩特市" province="内蒙古自治区" 150123 county="和林格尔县" prefecture="呼和浩特市" province="内蒙古自治区" 150124 county="清水河县" prefecture="呼和浩特市" province="内蒙古自治区" 150125 county="武川县" prefecture="呼和浩特市" province="内蒙古自治区" 150201 county="市辖区" prefecture="包头市" province="内蒙古自治区" 150202 county="东河区" prefecture="包头市" province="内蒙古自治区" 150203 county="昆都仑区" prefecture="包头市" province="内蒙古自治区" 150204 county="青山区" prefecture="包头市" province="内蒙古自治区" 150205 county="石拐区" prefecture="包头市" province="内蒙古自治区" 150206 county="白云鄂博矿区" prefecture="包头市" province="内蒙古自治区" 150207 county="九原区" prefecture="包头市" province="内蒙古自治区" 150221 county="土默特右旗" prefecture="包头市" province="内蒙古自治区" 150222 county="固阳县" prefecture="包头市" province="内蒙古自治区" 150223 county="达尔罕茂明安联合旗" prefecture="包头市" province="内蒙古自治区" 150301 county="市辖区" prefecture="乌海市" province="内蒙古自治区" 150302 county="海勃湾区" prefecture="乌海市" province="内蒙古自治区" 150303 county="海南区" prefecture="乌海市" province="内蒙古自治区" 150304 county="乌达区" prefecture="乌海市" province="内蒙古自治区" 150401 county="市辖区" prefecture="赤峰市" province="内蒙古自治区" 150402 county="红山区" prefecture="赤峰市" province="内蒙古自治区" 150403 county="元宝山区" prefecture="赤峰市" province="内蒙古自治区" 150404 county="松山区" prefecture="赤峰市" province="内蒙古自治区" 150421 county="阿鲁科尔沁旗" prefecture="赤峰市" province="内蒙古自治区" 150422 county="巴林左旗" prefecture="赤峰市" province="内蒙古自治区" 150423 county="巴林右旗" prefecture="赤峰市" province="内蒙古自治区" 150424 county="林西县" prefecture="赤峰市" province="内蒙古自治区" 150425 county="克什克腾旗" prefecture="赤峰市" province="内蒙古自治区" 150426 county="翁牛特旗" prefecture="赤峰市" province="内蒙古自治区" 150428 county="喀喇沁旗" prefecture="赤峰市" province="内蒙古自治区" 150429 county="宁城县" prefecture="赤峰市" province="内蒙古自治区" 150430 county="敖汉旗" prefecture="赤峰市" province="内蒙古自治区" 150501 county="市辖区" prefecture="通辽市" province="内蒙古自治区" 150502 county="科尔沁区" prefecture="通辽市" province="内蒙古自治区" 150521 county="科尔沁左翼中旗" prefecture="通辽市" province="内蒙古自治区" 150522 county="科尔沁左翼后旗" prefecture="通辽市" province="内蒙古自治区" 150523 county="开鲁县" prefecture="通辽市" province="内蒙古自治区" 150524 county="库伦旗" prefecture="通辽市" province="内蒙古自治区" 150525 county="奈曼旗" prefecture="通辽市" province="内蒙古自治区" 150526 county="扎鲁特旗" prefecture="通辽市" province="内蒙古自治区" 150581 county="霍林郭勒市" prefecture="通辽市" province="内蒙古自治区" 150601 county="市辖区" prefecture="鄂尔多斯市" province="内蒙古自治区" 150602 county="东胜区" prefecture="鄂尔多斯市" province="内蒙古自治区" 150621 county="达拉特旗" prefecture="鄂尔多斯市" province="内蒙古自治区" 150622 county="准格尔旗" prefecture="鄂尔多斯市" province="内蒙古自治区" 150623 county="鄂托克前旗" prefecture="鄂尔多斯市" province="内蒙古自治区" 150624 county="鄂托克旗" prefecture="鄂尔多斯市" province="内蒙古自治区" 150625 county="杭锦旗" prefecture="鄂尔多斯市" province="内蒙古自治区" 150626 county="乌审旗" prefecture="鄂尔多斯市" province="内蒙古自治区" 150627 county="伊金霍洛旗" prefecture="鄂尔多斯市" province="内蒙古自治区" 150701 county="市辖区" prefecture="呼伦贝尔市" province="内蒙古自治区" 150702 county="海拉尔区" prefecture="呼伦贝尔市" province="内蒙古自治区" 150703 county="扎赉诺尔区" prefecture="呼伦贝尔市" province="内蒙古自治区" 150721 county="阿荣旗" prefecture="呼伦贝尔市" province="内蒙古自治区" 150722 county="莫力达瓦达斡尔族自治旗" prefecture="呼伦贝尔市" province="内蒙古自治区" 150723 county="鄂伦春自治旗" prefecture="呼伦贝尔市" province="内蒙古自治区" 150724 county="鄂温克族自治旗" prefecture="呼伦贝尔市" province="内蒙古自治区" 150725 county="陈巴尔虎旗" prefecture="呼伦贝尔市" province="内蒙古自治区" 150726 county="新巴尔虎左旗" prefecture="呼伦贝尔市" province="内蒙古自治区" 150727 county="新巴尔虎右旗" prefecture="呼伦贝尔市" province="内蒙古自治区" 150781 county="满洲里市" prefecture="呼伦贝尔市" province="内蒙古自治区" 150782 county="牙克石市" prefecture="呼伦贝尔市" province="内蒙古自治区" 150783 county="扎兰屯市" prefecture="呼伦贝尔市" province="内蒙古自治区" 150784 county="额尔古纳市" prefecture="呼伦贝尔市" province="内蒙古自治区" 150785 county="根河市" prefecture="呼伦贝尔市" province="内蒙古自治区" 150801 county="市辖区" prefecture="巴彦淖尔市" province="内蒙古自治区" 150802 county="临河区" prefecture="巴彦淖尔市" province="内蒙古自治区" 150821 county="五原县" prefecture="巴彦淖尔市" province="内蒙古自治区" 150822 county="磴口县" prefecture="巴彦淖尔市" province="内蒙古自治区" 150823 county="乌拉特前旗" prefecture="巴彦淖尔市" province="内蒙古自治区" 150824 county="乌拉特中旗" prefecture="巴彦淖尔市" province="内蒙古自治区" 150825 county="乌拉特后旗" prefecture="巴彦淖尔市" province="内蒙古自治区" 150826 county="杭锦后旗" prefecture="巴彦淖尔市" province="内蒙古自治区" 150901 county="市辖区" prefecture="乌兰察布市" province="内蒙古自治区" 150902 county="集宁区" prefecture="乌兰察布市" province="内蒙古自治区" 150921 county="卓资县" prefecture="乌兰察布市" province="内蒙古自治区" 150922 county="化德县" prefecture="乌兰察布市" province="内蒙古自治区" 150923 county="商都县" prefecture="乌兰察布市" province="内蒙古自治区" 150924 county="兴和县" prefecture="乌兰察布市" province="内蒙古自治区" 150925 county="凉城县" prefecture="乌兰察布市" province="内蒙古自治区" 150926 county="察哈尔右翼前旗" prefecture="乌兰察布市" province="内蒙古自治区" 150927 county="察哈尔右翼中旗" prefecture="乌兰察布市" province="内蒙古自治区" 150928 county="察哈尔右翼后旗" prefecture="乌兰察布市" province="内蒙古自治区" 150929 county="四子王旗" prefecture="乌兰察布市" province="内蒙古自治区" 150981 county="丰镇市" prefecture="乌兰察布市" province="内蒙古自治区" 152201 county="乌兰浩特市" prefecture="兴安盟" province="内蒙古自治区" 152202 county="阿尔山市" prefecture="兴安盟" province="内蒙古自治区" 152221 county="科尔沁右翼前旗" prefecture="兴安盟" province="内蒙古自治区" 152222 county="科尔沁右翼中旗" prefecture="兴安盟" province="内蒙古自治区" 152223 county="扎赉特旗" prefecture="兴安盟" province="内蒙古自治区" 152224 county="突泉县" prefecture="兴安盟" province="内蒙古自治区" 152501 county="二连浩特市" prefecture="锡林郭勒盟" province="内蒙古自治区" 152502 county="锡林浩特市" prefecture="锡林郭勒盟" province="内蒙古自治区" 152522 county="阿巴嘎旗" prefecture="锡林郭勒盟" province="内蒙古自治区" 152523 county="苏尼特左旗" prefecture="锡林郭勒盟" province="内蒙古自治区" 152524 county="苏尼特右旗" prefecture="锡林郭勒盟" province="内蒙古自治区" 152525 county="东乌珠穆沁旗" prefecture="锡林郭勒盟" province="内蒙古自治区" 152526 county="西乌珠穆沁旗" prefecture="锡林郭勒盟" province="内蒙古自治区" 152527 county="太仆寺旗" prefecture="锡林郭勒盟" province="内蒙古自治区" 152528 county="镶黄旗" prefecture="锡林郭勒盟" province="内蒙古自治区" 152529 county="正镶白旗" prefecture="锡林郭勒盟" province="内蒙古自治区" 152530 county="正蓝旗" prefecture="锡林郭勒盟" province="内蒙古自治区" 152531 county="多伦县" prefecture="锡林郭勒盟" province="内蒙古自治区" 152601 county="集宁市" prefecture="乌兰察布盟" province="内蒙古自治区" 152602 county="丰镇市" prefecture="乌兰察布盟" province="内蒙古自治区" 152624 county="卓资县" prefecture="乌兰察布盟" province="内蒙古自治区" 152625 county="化德县" prefecture="乌兰察布盟" province="内蒙古自治区" 152626 county="商都县" prefecture="乌兰察布盟" province="内蒙古自治区" 152627 county="兴和县" prefecture="乌兰察布盟" province="内蒙古自治区" 152629 county="凉城县" prefecture="乌兰察布盟" province="内蒙古自治区" 152630 county="察哈尔右翼前旗" prefecture="乌兰察布盟" province="内蒙古自治区" 152631 county="察哈尔右翼中旗" prefecture="乌兰察布盟" province="内蒙古自治区" 152632 county="察哈尔右翼后旗" prefecture="乌兰察布盟" province="内蒙古自治区" 152634 county="四子王旗" prefecture="乌兰察布盟" province="内蒙古自治区" 152801 county="临河市" prefecture="巴彦淖尔盟" province="内蒙古自治区" 152822 county="五原县" prefecture="巴彦淖尔盟" province="内蒙古自治区" 152823 county="磴口县" prefecture="巴彦淖尔盟" province="内蒙古自治区" 152824 county="乌拉特前旗" prefecture="巴彦淖尔盟" province="内蒙古自治区" 152825 county="乌拉特中旗" prefecture="巴彦淖尔盟" province="内蒙古自治区" 152826 county="乌拉特后旗" prefecture="巴彦淖尔盟" province="内蒙古自治区" 152827 county="杭锦后旗" prefecture="巴彦淖尔盟" province="内蒙古自治区" 152921 county="阿拉善左旗" prefecture="阿拉善盟" province="内蒙古自治区" 152922 county="阿拉善右旗" prefecture="阿拉善盟" province="内蒙古自治区" 152923 county="额济纳旗" prefecture="阿拉善盟" province="内蒙古自治区" 210101 county="市辖区" prefecture="沈阳市" province="辽宁省" 210102 county="和平区" prefecture="沈阳市" province="辽宁省" 210103 county="沈河区" prefecture="沈阳市" province="辽宁省" 210104 county="大东区" prefecture="沈阳市" province="辽宁省" 210105 county="皇姑区" prefecture="沈阳市" province="辽宁省" 210106 county="铁西区" prefecture="沈阳市" province="辽宁省" 210111 county="苏家屯区" prefecture="沈阳市" province="辽宁省" 210112 county="浑南区" prefecture="沈阳市" province="辽宁省" 210113 county="沈北新区" prefecture="沈阳市" province="辽宁省" 210114 county="于洪区" prefecture="沈阳市" province="辽宁省" 210122 county="辽中县" prefecture="沈阳市" province="辽宁省" 210123 county="康平县" prefecture="沈阳市" province="辽宁省" 210124 county="法库县" prefecture="沈阳市" province="辽宁省" 210181 county="新民市" prefecture="沈阳市" province="辽宁省" 210201 county="市辖区" prefecture="大连市" province="辽宁省" 210202 county="中山区" prefecture="大连市" province="辽宁省" 210203 county="西岗区" prefecture="大连市" province="辽宁省" 210204 county="沙河口区" prefecture="大连市" province="辽宁省" 210211 county="甘井子区" prefecture="大连市" province="辽宁省" 210212 county="旅顺口区" prefecture="大连市" province="辽宁省" 210213 county="金州区" prefecture="大连市" province="辽宁省" 210224 county="长海县" prefecture="大连市" province="辽宁省" 210281 county="瓦房店市" prefecture="大连市" province="辽宁省" 210282 county="普兰店市" prefecture="大连市" province="辽宁省" 210283 county="庄河市" prefecture="大连市" province="辽宁省" 210301 county="市辖区" prefecture="鞍山市" province="辽宁省" 210302 county="铁东区" prefecture="鞍山市" province="辽宁省" 210303 county="铁西区" prefecture="鞍山市" province="辽宁省" 210304 county="立山区" prefecture="鞍山市" province="辽宁省" 210311 county="千山区" prefecture="鞍山市" province="辽宁省" 210321 county="台安县" prefecture="鞍山市" province="辽宁省" 210323 county="岫岩满族自治县" prefecture="鞍山市" province="辽宁省" 210381 county="海城市" prefecture="鞍山市" province="辽宁省" 210401 county="市辖区" prefecture="抚顺市" province="辽宁省" 210402 county="新抚区" prefecture="抚顺市" province="辽宁省" 210403 county="东洲区" prefecture="抚顺市" province="辽宁省" 210404 county="望花区" prefecture="抚顺市" province="辽宁省" 210411 county="顺城区" prefecture="抚顺市" province="辽宁省" 210421 county="抚顺县" prefecture="抚顺市" province="辽宁省" 210422 county="新宾满族自治县" prefecture="抚顺市" province="辽宁省" 210423 county="清原满族自治县" prefecture="抚顺市" province="辽宁省" 210501 county="市辖区" prefecture="本溪市" province="辽宁省" 210502 county="平山区" prefecture="本溪市" province="辽宁省" 210503 county="溪湖区" prefecture="本溪市" province="辽宁省" 210504 county="明山区" prefecture="本溪市" province="辽宁省" 210505 county="南芬区" prefecture="本溪市" province="辽宁省" 210521 county="本溪满族自治县" prefecture="本溪市" province="辽宁省" 210522 county="桓仁满族自治县" prefecture="本溪市" province="辽宁省" 210601 county="市辖区" prefecture="丹东市" province="辽宁省" 210602 county="元宝区" prefecture="丹东市" province="辽宁省" 210603 county="振兴区" prefecture="丹东市" province="辽宁省" 210604 county="振安区" prefecture="丹东市" province="辽宁省" 210624 county="宽甸满族自治县" prefecture="丹东市" province="辽宁省" 210681 county="东港市" prefecture="丹东市" province="辽宁省" 210682 county="凤城市" prefecture="丹东市" province="辽宁省" 210701 county="市辖区" prefecture="锦州市" province="辽宁省" 210702 county="古塔区" prefecture="锦州市" province="辽宁省" 210703 county="凌河区" prefecture="锦州市" province="辽宁省" 210711 county="太和区" prefecture="锦州市" province="辽宁省" 210726 county="黑山县" prefecture="锦州市" province="辽宁省" 210727 county="义县" prefecture="锦州市" province="辽宁省" 210781 county="凌海市" prefecture="锦州市" province="辽宁省" 210782 county="北镇市" prefecture="锦州市" province="辽宁省" 210801 county="市辖区" prefecture="营口市" province="辽宁省" 210802 county="站前区" prefecture="营口市" province="辽宁省" 210803 county="西市区" prefecture="营口市" province="辽宁省" 210804 county="鲅鱼圈区" prefecture="营口市" province="辽宁省" 210811 county="老边区" prefecture="营口市" province="辽宁省" 210881 county="盖州市" prefecture="营口市" province="辽宁省" 210882 county="大石桥市" prefecture="营口市" province="辽宁省" 210901 county="市辖区" prefecture="阜新市" province="辽宁省" 210902 county="海州区" prefecture="阜新市" province="辽宁省" 210903 county="新邱区" prefecture="阜新市" province="辽宁省" 210904 county="太平区" prefecture="阜新市" province="辽宁省" 210905 county="清河门区" prefecture="阜新市" province="辽宁省" 210911 county="细河区" prefecture="阜新市" province="辽宁省" 210921 county="阜新蒙古族自治县" prefecture="阜新市" province="辽宁省" 210922 county="彰武县" prefecture="阜新市" province="辽宁省" 211001 county="市辖区" prefecture="辽阳市" province="辽宁省" 211002 county="白塔区" prefecture="辽阳市" province="辽宁省" 211003 county="文圣区" prefecture="辽阳市" province="辽宁省" 211004 county="宏伟区" prefecture="辽阳市" province="辽宁省" 211005 county="弓长岭区" prefecture="辽阳市" province="辽宁省" 211011 county="太子河区" prefecture="辽阳市" province="辽宁省" 211021 county="辽阳县" prefecture="辽阳市" province="辽宁省" 211081 county="灯塔市" prefecture="辽阳市" province="辽宁省" 211101 county="市辖区" prefecture="盘锦市" province="辽宁省" 211102 county="双台子区" prefecture="盘锦市" province="辽宁省" 211103 county="兴隆台区" prefecture="盘锦市" province="辽宁省" 211121 county="大洼县" prefecture="盘锦市" province="辽宁省" 211122 county="盘山县" prefecture="盘锦市" province="辽宁省" 211201 county="市辖区" prefecture="铁岭市" province="辽宁省" 211202 county="银州区" prefecture="铁岭市" province="辽宁省" 211204 county="清河区" prefecture="铁岭市" province="辽宁省" 211221 county="铁岭县" prefecture="铁岭市" province="辽宁省" 211223 county="西丰县" prefecture="铁岭市" province="辽宁省" 211224 county="昌图县" prefecture="铁岭市" province="辽宁省" 211281 county="调兵山市" prefecture="铁岭市" province="辽宁省" 211282 county="开原市" prefecture="铁岭市" province="辽宁省" 211301 county="市辖区" prefecture="朝阳市" province="辽宁省" 211302 county="双塔区" prefecture="朝阳市" province="辽宁省" 211303 county="龙城区" prefecture="朝阳市" province="辽宁省" 211321 county="朝阳县" prefecture="朝阳市" province="辽宁省" 211322 county="建平县" prefecture="朝阳市" province="辽宁省" 211324 county="喀喇沁左翼蒙古族自治县" prefecture="朝阳市" province="辽宁省" 211381 county="北票市" prefecture="朝阳市" province="辽宁省" 211382 county="凌源市" prefecture="朝阳市" province="辽宁省" 211401 county="市辖区" prefecture="葫芦岛市" province="辽宁省" 211402 county="连山区" prefecture="葫芦岛市" province="辽宁省" 211403 county="龙港区" prefecture="葫芦岛市" province="辽宁省" 211404 county="南票区" prefecture="葫芦岛市" province="辽宁省" 211421 county="绥中县" prefecture="葫芦岛市" province="辽宁省" 211422 county="建昌县" prefecture="葫芦岛市" province="辽宁省" 211481 county="兴城市" prefecture="葫芦岛市" province="辽宁省" 220101 county="市辖区" prefecture="长春市" province="吉林省" 220102 county="南关区" prefecture="长春市" province="吉林省" 220103 county="宽城区" prefecture="长春市" province="吉林省" 220104 county="朝阳区" prefecture="长春市" province="吉林省" 220105 county="二道区" prefecture="长春市" province="吉林省" 220106 county="绿园区" prefecture="长春市" province="吉林省" 220112 county="双阳区" prefecture="长春市" province="吉林省" 220113 county="九台区" prefecture="长春市" province="吉林省" 220122 county="农安县" prefecture="长春市" province="吉林省" 220181 county="九台市" prefecture="长春市" province="吉林省" 220182 county="榆树市" prefecture="长春市" province="吉林省" 220183 county="德惠市" prefecture="长春市" province="吉林省" 220201 county="市辖区" prefecture="吉林市" province="吉林省" 220202 county="昌邑区" prefecture="吉林市" province="吉林省" 220203 county="龙潭区" prefecture="吉林市" province="吉林省" 220204 county="船营区" prefecture="吉林市" province="吉林省" 220211 county="丰满区" prefecture="吉林市" province="吉林省" 220221 county="永吉县" prefecture="吉林市" province="吉林省" 220281 county="蛟河市" prefecture="吉林市" province="吉林省" 220282 county="桦甸市" prefecture="吉林市" province="吉林省" 220283 county="舒兰市" prefecture="吉林市" province="吉林省" 220284 county="磐石市" prefecture="吉林市" province="吉林省" 220301 county="市辖区" prefecture="四平市" province="吉林省" 220302 county="铁西区" prefecture="四平市" province="吉林省" 220303 county="铁东区" prefecture="四平市" province="吉林省" 220322 county="梨树县" prefecture="四平市" province="吉林省" 220323 county="伊通满族自治县" prefecture="四平市" province="吉林省" 220381 county="公主岭市" prefecture="四平市" province="吉林省" 220382 county="双辽市" prefecture="四平市" province="吉林省" 220401 county="市辖区" prefecture="辽源市" province="吉林省" 220402 county="龙山区" prefecture="辽源市" province="吉林省" 220403 county="西安区" prefecture="辽源市" province="吉林省" 220421 county="东丰县" prefecture="辽源市" province="吉林省" 220422 county="东辽县" prefecture="辽源市" province="吉林省" 220501 county="市辖区" prefecture="通化市" province="吉林省" 220502 county="东昌区" prefecture="通化市" province="吉林省" 220503 county="二道江区" prefecture="通化市" province="吉林省" 220521 county="通化县" prefecture="通化市" province="吉林省" 220523 county="辉南县" prefecture="通化市" province="吉林省" 220524 county="柳河县" prefecture="通化市" province="吉林省" 220581 county="梅河口市" prefecture="通化市" province="吉林省" 220582 county="集安市" prefecture="通化市" province="吉林省" 220601 county="市辖区" prefecture="白山市" province="吉林省" 220602 county="浑江区" prefecture="白山市" province="吉林省" 220604 county="江源区" prefecture="白山市" province="吉林省" 220605 county="江源区" prefecture="白山市" province="吉林省" 220621 county="抚松县" prefecture="白山市" province="吉林省" 220622 county="靖宇县" prefecture="白山市" province="吉林省" 220623 county="长白朝鲜族自治县" prefecture="白山市" province="吉林省" 220625 county="江源县" prefecture="白山市" province="吉林省" 220681 county="临江市" prefecture="白山市" province="吉林省" 220701 county="市辖区" prefecture="松原市" province="吉林省" 220702 county="宁江区" prefecture="松原市" province="吉林省" 220721 county="前郭尔罗斯蒙古族自治县" prefecture="松原市" province="吉林省" 220722 county="长岭县" prefecture="松原市" province="吉林省" 220723 county="乾安县" prefecture="松原市" province="吉林省" 220724 county="扶余县" prefecture="松原市" province="吉林省" 220781 county="扶余市" prefecture="松原市" province="吉林省" 220801 county="市辖区" prefecture="白城市" province="吉林省" 220802 county="洮北区" prefecture="白城市" province="吉林省" 220821 county="镇赉县" prefecture="白城市" province="吉林省" 220822 county="通榆县" prefecture="白城市" province="吉林省" 220881 county="洮南市" prefecture="白城市" province="吉林省" 220882 county="大安市" prefecture="白城市" province="吉林省" 222401 county="延吉市" prefecture="延边朝鲜族自治州" province="吉林省" 222402 county="图们市" prefecture="延边朝鲜族自治州" province="吉林省" 222403 county="敦化市" prefecture="延边朝鲜族自治州" province="吉林省" 222404 county="珲春市" prefecture="延边朝鲜族自治州" province="吉林省" 222405 county="龙井市" prefecture="延边朝鲜族自治州" province="吉林省" 222406 county="和龙市" prefecture="延边朝鲜族自治州" province="吉林省" 222424 county="汪清县" prefecture="延边朝鲜族自治州" province="吉林省" 222426 county="安图县" prefecture="延边朝鲜族自治州" province="吉林省" 230101 county="市辖区" prefecture="哈尔滨市" province="黑龙江省" 230102 county="道里区" prefecture="哈尔滨市" province="黑龙江省" 230103 county="南岗区" prefecture="哈尔滨市" province="黑龙江省" 230104 county="道外区" prefecture="哈尔滨市" province="黑龙江省" 230105 county="太平区" prefecture="哈尔滨市" province="黑龙江省" 230106 county="香坊区" prefecture="哈尔滨市" province="黑龙江省" 230107 county="动力区" prefecture="哈尔滨市" province="黑龙江省" 230108 county="平房区" prefecture="哈尔滨市" province="黑龙江省" 230109 county="松北区" prefecture="哈尔滨市" province="黑龙江省" 230110 county="香坊区" prefecture="哈尔滨市" province="黑龙江省" 230111 county="呼兰区" prefecture="哈尔滨市" province="黑龙江省" 230112 county="阿城区" prefecture="哈尔滨市" province="黑龙江省" 230121 county="呼兰县" prefecture="哈尔滨市" province="黑龙江省" 230123 county="依兰县" prefecture="哈尔滨市" province="黑龙江省" 230124 county="方正县" prefecture="哈尔滨市" province="黑龙江省" 230125 county="宾县" prefecture="哈尔滨市" province="黑龙江省" 230126 county="巴彦县" prefecture="哈尔滨市" province="黑龙江省" 230127 county="木兰县" prefecture="哈尔滨市" province="黑龙江省" 230128 county="通河县" prefecture="哈尔滨市" province="黑龙江省" 230129 county="延寿县" prefecture="哈尔滨市" province="黑龙江省" 230181 county="阿城市" prefecture="哈尔滨市" province="黑龙江省" 230182 county="双城市" prefecture="哈尔滨市" province="黑龙江省" 230183 county="尚志市" prefecture="哈尔滨市" province="黑龙江省" 230184 county="五常市" prefecture="哈尔滨市" province="黑龙江省" 230201 county="市辖区" prefecture="齐齐哈尔市" province="黑龙江省" 230202 county="龙沙区" prefecture="齐齐哈尔市" province="黑龙江省" 230203 county="建华区" prefecture="齐齐哈尔市" province="黑龙江省" 230204 county="铁锋区" prefecture="齐齐哈尔市" province="黑龙江省" 230205 county="昂昂溪区" prefecture="齐齐哈尔市" province="黑龙江省" 230206 county="富拉尔基区" prefecture="齐齐哈尔市" province="黑龙江省" 230207 county="碾子山区" prefecture="齐齐哈尔市" province="黑龙江省" 230208 county="梅里斯达斡尔族区" prefecture="齐齐哈尔市" province="黑龙江省" 230221 county="龙江县" prefecture="齐齐哈尔市" province="黑龙江省" 230223 county="依安县" prefecture="齐齐哈尔市" province="黑龙江省" 230224 county="泰来县" prefecture="齐齐哈尔市" province="黑龙江省" 230225 county="甘南县" prefecture="齐齐哈尔市" province="黑龙江省" 230227 county="富裕县" prefecture="齐齐哈尔市" province="黑龙江省" 230229 county="克山县" prefecture="齐齐哈尔市" province="黑龙江省" 230230 county="克东县" prefecture="齐齐哈尔市" province="黑龙江省" 230231 county="拜泉县" prefecture="齐齐哈尔市" province="黑龙江省" 230281 county="讷河市" prefecture="齐齐哈尔市" province="黑龙江省" 230301 county="市辖区" prefecture="鸡西市" province="黑龙江省" 230302 county="鸡冠区" prefecture="鸡西市" province="黑龙江省" 230303 county="恒山区" prefecture="鸡西市" province="黑龙江省" 230304 county="滴道区" prefecture="鸡西市" province="黑龙江省" 230305 county="梨树区" prefecture="鸡西市" province="黑龙江省" 230306 county="城子河区" prefecture="鸡西市" province="黑龙江省" 230307 county="麻山区" prefecture="鸡西市" province="黑龙江省" 230321 county="鸡东县" prefecture="鸡西市" province="黑龙江省" 230381 county="虎林市" prefecture="鸡西市" province="黑龙江省" 230382 county="密山市" prefecture="鸡西市" province="黑龙江省" 230401 county="市辖区" prefecture="鹤岗市" province="黑龙江省" 230402 county="向阳区" prefecture="鹤岗市" province="黑龙江省" 230403 county="工农区" prefecture="鹤岗市" province="黑龙江省" 230404 county="南山区" prefecture="鹤岗市" province="黑龙江省" 230405 county="兴安区" prefecture="鹤岗市" province="黑龙江省" 230406 county="东山区" prefecture="鹤岗市" province="黑龙江省" 230407 county="兴山区" prefecture="鹤岗市" province="黑龙江省" 230421 county="萝北县" prefecture="鹤岗市" province="黑龙江省" 230422 county="绥滨县" prefecture="鹤岗市" province="黑龙江省" 230501 county="市辖区" prefecture="双鸭山市" province="黑龙江省" 230502 county="尖山区" prefecture="双鸭山市" province="黑龙江省" 230503 county="岭东区" prefecture="双鸭山市" province="黑龙江省" 230505 county="四方台区" prefecture="双鸭山市" province="黑龙江省" 230506 county="宝山区" prefecture="双鸭山市" province="黑龙江省" 230521 county="集贤县" prefecture="双鸭山市" province="黑龙江省" 230522 county="友谊县" prefecture="双鸭山市" province="黑龙江省" 230523 county="宝清县" prefecture="双鸭山市" province="黑龙江省" 230524 county="饶河县" prefecture="双鸭山市" province="黑龙江省" 230601 county="市辖区" prefecture="大庆市" province="黑龙江省" 230602 county="萨尔图区" prefecture="大庆市" province="黑龙江省" 230603 county="龙凤区" prefecture="大庆市" province="黑龙江省" 230604 county="让胡路区" prefecture="大庆市" province="黑龙江省" 230605 county="红岗区" prefecture="大庆市" province="黑龙江省" 230606 county="大同区" prefecture="大庆市" province="黑龙江省" 230621 county="肇州县" prefecture="大庆市" province="黑龙江省" 230622 county="肇源县" prefecture="大庆市" province="黑龙江省" 230623 county="林甸县" prefecture="大庆市" province="黑龙江省" 230624 county="杜尔伯特蒙古族自治县" prefecture="大庆市" province="黑龙江省" 230701 county="市辖区" prefecture="伊春市" province="黑龙江省" 230702 county="伊春区" prefecture="伊春市" province="黑龙江省" 230703 county="南岔区" prefecture="伊春市" province="黑龙江省" 230704 county="友好区" prefecture="伊春市" province="黑龙江省" 230705 county="西林区" prefecture="伊春市" province="黑龙江省" 230706 county="翠峦区" prefecture="伊春市" province="黑龙江省" 230707 county="新青区" prefecture="伊春市" province="黑龙江省" 230708 county="美溪区" prefecture="伊春市" province="黑龙江省" 230709 county="金山屯区" prefecture="伊春市" province="黑龙江省" 230710 county="五营区" prefecture="伊春市" province="黑龙江省" 230711 county="乌马河区" prefecture="伊春市" province="黑龙江省" 230712 county="汤旺河区" prefecture="伊春市" province="黑龙江省" 230713 county="带岭区" prefecture="伊春市" province="黑龙江省" 230714 county="乌伊岭区" prefecture="伊春市" province="黑龙江省" 230715 county="红星区" prefecture="伊春市" province="黑龙江省" 230716 county="上甘岭区" prefecture="伊春市" province="黑龙江省" 230722 county="嘉荫县" prefecture="伊春市" province="黑龙江省" 230781 county="铁力市" prefecture="伊春市" province="黑龙江省" 230801 county="市辖区" prefecture="佳木斯市" province="黑龙江省" 230802 county="永红区" prefecture="佳木斯市" province="黑龙江省" 230803 county="向阳区" prefecture="佳木斯市" province="黑龙江省" 230804 county="前进区" prefecture="佳木斯市" province="黑龙江省" 230805 county="东风区" prefecture="佳木斯市" province="黑龙江省" 230811 county="郊区" prefecture="佳木斯市" province="黑龙江省" 230822 county="桦南县" prefecture="佳木斯市" province="黑龙江省" 230826 county="桦川县" prefecture="佳木斯市" province="黑龙江省" 230828 county="汤原县" prefecture="佳木斯市" province="黑龙江省" 230833 county="抚远县" prefecture="佳木斯市" province="黑龙江省" 230881 county="同江市" prefecture="佳木斯市" province="黑龙江省" 230882 county="富锦市" prefecture="佳木斯市" province="黑龙江省" 230901 county="市辖区" prefecture="七台河市" province="黑龙江省" 230902 county="新兴区" prefecture="七台河市" province="黑龙江省" 230903 county="桃山区" prefecture="七台河市" province="黑龙江省" 230904 county="茄子河区" prefecture="七台河市" province="黑龙江省" 230921 county="勃利县" prefecture="七台河市" province="黑龙江省" 231001 county="市辖区" prefecture="牡丹江市" province="黑龙江省" 231002 county="东安区" prefecture="牡丹江市" province="黑龙江省" 231003 county="阳明区" prefecture="牡丹江市" province="黑龙江省" 231004 county="爱民区" prefecture="牡丹江市" province="黑龙江省" 231005 county="西安区" prefecture="牡丹江市" province="黑龙江省" 231024 county="东宁县" prefecture="牡丹江市" province="黑龙江省" 231025 county="林口县" prefecture="牡丹江市" province="黑龙江省" 231081 county="绥芬河市" prefecture="牡丹江市" province="黑龙江省" 231083 county="海林市" prefecture="牡丹江市" province="黑龙江省" 231084 county="宁安市" prefecture="牡丹江市" province="黑龙江省" 231085 county="穆棱市" prefecture="牡丹江市" province="黑龙江省" 231101 county="市辖区" prefecture="黑河市" province="黑龙江省" 231102 county="爱辉区" prefecture="黑河市" province="黑龙江省" 231121 county="嫩江县" prefecture="黑河市" province="黑龙江省" 231123 county="逊克县" prefecture="黑河市" province="黑龙江省" 231124 county="孙吴县" prefecture="黑河市" province="黑龙江省" 231181 county="北安市" prefecture="黑河市" province="黑龙江省" 231182 county="五大连池市" prefecture="黑河市" province="黑龙江省" 231201 county="市辖区" prefecture="绥化市" province="黑龙江省" 231202 county="北林区" prefecture="绥化市" province="黑龙江省" 231221 county="望奎县" prefecture="绥化市" province="黑龙江省" 231222 county="兰西县" prefecture="绥化市" province="黑龙江省" 231223 county="青冈县" prefecture="绥化市" province="黑龙江省" 231224 county="庆安县" prefecture="绥化市" province="黑龙江省" 231225 county="明水县" prefecture="绥化市" province="黑龙江省" 231226 county="绥棱县" prefecture="绥化市" province="黑龙江省" 231281 county="安达市" prefecture="绥化市" province="黑龙江省" 231282 county="肇东市" prefecture="绥化市" province="黑龙江省" 231283 county="海伦市" prefecture="绥化市" province="黑龙江省" 232701 county="加格达奇区" prefecture="大兴安岭地区" province="黑龙江省" 232702 county="松岭区" prefecture="大兴安岭地区" province="黑龙江省" 232703 county="新林区" prefecture="大兴安岭地区" province="黑龙江省" 232704 county="呼中区" prefecture="大兴安岭地区" province="黑龙江省" 232721 county="呼玛县" prefecture="大兴安岭地区" province="黑龙江省" 232722 county="塔河县" prefecture="大兴安岭地区" province="黑龙江省" 232723 county="漠河县" prefecture="大兴安岭地区" province="黑龙江省" 310101 county="黄浦区" prefecture="市辖区" province="上海市" 310103 county="卢湾区" prefecture="市辖区" province="上海市" 310104 county="徐汇区" prefecture="市辖区" province="上海市" 310105 county="长宁区" prefecture="市辖区" province="上海市" 310106 county="静安区" prefecture="市辖区" province="上海市" 310107 county="普陀区" prefecture="市辖区" province="上海市" 310108 county="闸北区" prefecture="市辖区" province="上海市" 310109 county="虹口区" prefecture="市辖区" province="上海市" 310110 county="杨浦区" prefecture="市辖区" province="上海市" 310112 county="闵行区" prefecture="市辖区" province="上海市" 310113 county="宝山区" prefecture="市辖区" province="上海市" 310114 county="嘉定区" prefecture="市辖区" province="上海市" 310115 county="浦东新区" prefecture="市辖区" province="上海市" 310116 county="金山区" prefecture="市辖区" province="上海市" 310117 county="松江区" prefecture="市辖区" province="上海市" 310118 county="青浦区" prefecture="市辖区" province="上海市" 310119 county="南汇区" prefecture="市辖区" province="上海市" 310120 county="奉贤区" prefecture="市辖区" province="上海市" 310230 county="崇明县" prefecture="县" province="上海市" 320101 county="市辖区" prefecture="南京市" province="江苏省" 320102 county="玄武区" prefecture="南京市" province="江苏省" 320103 county="白下区" prefecture="南京市" province="江苏省" 320104 county="秦淮区" prefecture="南京市" province="江苏省" 320105 county="建邺区" prefecture="南京市" province="江苏省" 320106 county="鼓楼区" prefecture="南京市" province="江苏省" 320107 county="下关区" prefecture="南京市" province="江苏省" 320111 county="浦口区" prefecture="南京市" province="江苏省" 320113 county="栖霞区" prefecture="南京市" province="江苏省" 320114 county="雨花台区" prefecture="南京市" province="江苏省" 320115 county="江宁区" prefecture="南京市" province="江苏省" 320116 county="六合区" prefecture="南京市" province="江苏省" 320117 county="溧水区" prefecture="南京市" province="江苏省" 320118 county="高淳区" prefecture="南京市" province="江苏省" 320124 county="溧水县" prefecture="南京市" province="江苏省" 320125 county="高淳县" prefecture="南京市" province="江苏省" 320201 county="市辖区" prefecture="无锡市" province="江苏省" 320202 county="崇安区" prefecture="无锡市" province="江苏省" 320203 county="南长区" prefecture="无锡市" province="江苏省" 320204 county="北塘区" prefecture="无锡市" province="江苏省" 320205 county="锡山区" prefecture="无锡市" province="江苏省" 320206 county="惠山区" prefecture="无锡市" province="江苏省" 320211 county="滨湖区" prefecture="无锡市" province="江苏省" 320281 county="江阴市" prefecture="无锡市" province="江苏省" 320282 county="宜兴市" prefecture="无锡市" province="江苏省" 320301 county="市辖区" prefecture="徐州市" province="江苏省" 320302 county="鼓楼区" prefecture="徐州市" province="江苏省" 320303 county="云龙区" prefecture="徐州市" province="江苏省" 320304 county="九里区" prefecture="徐州市" province="江苏省" 320305 county="贾汪区" prefecture="徐州市" province="江苏省" 320311 county="泉山区" prefecture="徐州市" province="江苏省" 320312 county="铜山区" prefecture="徐州市" province="江苏省" 320321 county="丰县" prefecture="徐州市" province="江苏省" 320322 county="沛县" prefecture="徐州市" province="江苏省" 320323 county="铜山县" prefecture="徐州市" province="江苏省" 320324 county="睢宁县" prefecture="徐州市" province="江苏省" 320381 county="新沂市" prefecture="徐州市" province="江苏省" 320382 county="邳州市" prefecture="徐州市" province="江苏省" 320401 county="市辖区" prefecture="常州市" province="江苏省" 320402 county="天宁区" prefecture="常州市" province="江苏省" 320404 county="钟楼区" prefecture="常州市" province="江苏省" 320405 county="戚墅堰区" prefecture="常州市" province="江苏省" 320411 county="新北区" prefecture="常州市" province="江苏省" 320412 county="武进区" prefecture="常州市" province="江苏省" 320481 county="溧阳市" prefecture="常州市" province="江苏省" 320482 county="金坛市" prefecture="常州市" province="江苏省" 320501 county="市辖区" prefecture="苏州市" province="江苏省" 320502 county="沧浪区" prefecture="苏州市" province="江苏省" 320503 county="平江区" prefecture="苏州市" province="江苏省" 320504 county="金阊区" prefecture="苏州市" province="江苏省" 320505 county="虎丘区" prefecture="苏州市" province="江苏省" 320506 county="吴中区" prefecture="苏州市" province="江苏省" 320507 county="相城区" prefecture="苏州市" province="江苏省" 320508 county="姑苏区" prefecture="苏州市" province="江苏省" 320509 county="吴江区" prefecture="苏州市" province="江苏省" 320581 county="常熟市" prefecture="苏州市" province="江苏省" 320582 county="张家港市" prefecture="苏州市" province="江苏省" 320583 county="昆山市" prefecture="苏州市" province="江苏省" 320584 county="吴江市" prefecture="苏州市" province="江苏省" 320585 county="太仓市" prefecture="苏州市" province="江苏省" 320601 county="市辖区" prefecture="南通市" province="江苏省" 320602 county="崇川区" prefecture="南通市" province="江苏省" 320611 county="港闸区" prefecture="南通市" province="江苏省" 320612 county="通州区" prefecture="南通市" province="江苏省" 320621 county="海安县" prefecture="南通市" province="江苏省" 320623 county="如东县" prefecture="南通市" province="江苏省" 320681 county="启东市" prefecture="南通市" province="江苏省" 320682 county="如皋市" prefecture="南通市" province="江苏省" 320683 county="通州市" prefecture="南通市" province="江苏省" 320684 county="海门市" prefecture="南通市" province="江苏省" 320701 county="市辖区" prefecture="连云港市" province="江苏省" 320703 county="连云区" prefecture="连云港市" province="江苏省" 320705 county="新浦区" prefecture="连云港市" province="江苏省" 320706 county="海州区" prefecture="连云港市" province="江苏省" 320707 county="赣榆区" prefecture="连云港市" province="江苏省" 320721 county="赣榆县" prefecture="连云港市" province="江苏省" 320722 county="东海县" prefecture="连云港市" province="江苏省" 320723 county="灌云县" prefecture="连云港市" province="江苏省" 320724 county="灌南县" prefecture="连云港市" province="江苏省" 320801 county="市辖区" prefecture="淮安市" province="江苏省" 320802 county="清河区" prefecture="淮安市" province="江苏省" 320803 county="淮安区" prefecture="淮安市" province="江苏省" 320804 county="淮阴区" prefecture="淮安市" province="江苏省" 320811 county="清浦区" prefecture="淮安市" province="江苏省" 320826 county="涟水县" prefecture="淮安市" province="江苏省" 320829 county="洪泽县" prefecture="淮安市" province="江苏省" 320830 county="盱眙县" prefecture="淮安市" province="江苏省" 320831 county="金湖县" prefecture="淮安市" province="江苏省" 320901 county="市辖区" prefecture="盐城市" province="江苏省" 320902 county="亭湖区" prefecture="盐城市" province="江苏省" 320903 county="盐都区" prefecture="盐城市" province="江苏省" 320921 county="响水县" prefecture="盐城市" province="江苏省" 320922 county="滨海县" prefecture="盐城市" province="江苏省" 320923 county="阜宁县" prefecture="盐城市" province="江苏省" 320924 county="射阳县" prefecture="盐城市" province="江苏省" 320925 county="建湖县" prefecture="盐城市" province="江苏省" 320928 county="盐都县" prefecture="盐城市" province="江苏省" 320981 county="东台市" prefecture="盐城市" province="江苏省" 320982 county="大丰市" prefecture="盐城市" province="江苏省" 321001 county="市辖区" prefecture="扬州市" province="江苏省" 321002 county="广陵区" prefecture="扬州市" province="江苏省" 321003 county="邗江区" prefecture="扬州市" province="江苏省" 321011 county="维扬区" prefecture="扬州市" province="江苏省" 321012 county="江都区" prefecture="扬州市" province="江苏省" 321023 county="宝应县" prefecture="扬州市" province="江苏省" 321081 county="仪征市" prefecture="扬州市" province="江苏省" 321084 county="高邮市" prefecture="扬州市" province="江苏省" 321088 county="江都市" prefecture="扬州市" province="江苏省" 321101 county="市辖区" prefecture="镇江市" province="江苏省" 321102 county="京口区" prefecture="镇江市" province="江苏省" 321111 county="润州区" prefecture="镇江市" province="江苏省" 321112 county="丹徒区" prefecture="镇江市" province="江苏省" 321181 county="丹阳市" prefecture="镇江市" province="江苏省" 321182 county="扬中市" prefecture="镇江市" province="江苏省" 321183 county="句容市" prefecture="镇江市" province="江苏省" 321201 county="市辖区" prefecture="泰州市" province="江苏省" 321202 county="海陵区" prefecture="泰州市" province="江苏省" 321203 county="高港区" prefecture="泰州市" province="江苏省" 321204 county="姜堰区" prefecture="泰州市" province="江苏省" 321281 county="兴化市" prefecture="泰州市" province="江苏省" 321282 county="靖江市" prefecture="泰州市" province="江苏省" 321283 county="泰兴市" prefecture="泰州市" province="江苏省" 321284 county="姜堰市" prefecture="泰州市" province="江苏省" 321301 county="市辖区" prefecture="宿迁市" province="江苏省" 321302 county="宿城区" prefecture="宿迁市" province="江苏省" 321311 county="宿豫区" prefecture="宿迁市" province="江苏省" 321321 county="宿豫县" prefecture="宿迁市" province="江苏省" 321322 county="沭阳县" prefecture="宿迁市" province="江苏省" 321323 county="泗阳县" prefecture="宿迁市" province="江苏省" 321324 county="泗洪县" prefecture="宿迁市" province="江苏省" 330101 county="市辖区" prefecture="杭州市" province="浙江省" 330102 county="上城区" prefecture="杭州市" province="浙江省" 330103 county="下城区" prefecture="杭州市" province="浙江省" 330104 county="江干区" prefecture="杭州市" province="浙江省" 330105 county="拱墅区" prefecture="杭州市" province="浙江省" 330106 county="西湖区" prefecture="杭州市" province="浙江省" 330108 county="滨江区" prefecture="杭州市" province="浙江省" 330109 county="萧山区" prefecture="杭州市" province="浙江省" 330110 county="余杭区" prefecture="杭州市" province="浙江省" 330122 county="桐庐县" prefecture="杭州市" province="浙江省" 330127 county="淳安县" prefecture="杭州市" province="浙江省" 330182 county="建德市" prefecture="杭州市" province="浙江省" 330183 county="富阳市" prefecture="杭州市" province="浙江省" 330185 county="临安市" prefecture="杭州市" province="浙江省" 330201 county="市辖区" prefecture="宁波市" province="浙江省" 330203 county="海曙区" prefecture="宁波市" province="浙江省" 330204 county="江东区" prefecture="宁波市" province="浙江省" 330205 county="江北区" prefecture="宁波市" province="浙江省" 330206 county="北仑区" prefecture="宁波市" province="浙江省" 330211 county="镇海区" prefecture="宁波市" province="浙江省" 330212 county="鄞州区" prefecture="宁波市" province="浙江省" 330225 county="象山县" prefecture="宁波市" province="浙江省" 330226 county="宁海县" prefecture="宁波市" province="浙江省" 330281 county="余姚市" prefecture="宁波市" province="浙江省" 330282 county="慈溪市" prefecture="宁波市" province="浙江省" 330283 county="奉化市" prefecture="宁波市" province="浙江省" 330301 county="市辖区" prefecture="温州市" province="浙江省" 330302 county="鹿城区" prefecture="温州市" province="浙江省" 330303 county="龙湾区" prefecture="温州市" province="浙江省" 330304 county="瓯海区" prefecture="温州市" province="浙江省" 330322 county="洞头县" prefecture="温州市" province="浙江省" 330324 county="永嘉县" prefecture="温州市" province="浙江省" 330326 county="平阳县" prefecture="温州市" province="浙江省" 330327 county="苍南县" prefecture="温州市" province="浙江省" 330328 county="文成县" prefecture="温州市" province="浙江省" 330329 county="泰顺县" prefecture="温州市" province="浙江省" 330381 county="瑞安市" prefecture="温州市" province="浙江省" 330382 county="乐清市" prefecture="温州市" province="浙江省" 330401 county="市辖区" prefecture="嘉兴市" province="浙江省" 330402 county="南湖区" prefecture="嘉兴市" province="浙江省" 330411 county="秀洲区" prefecture="嘉兴市" province="浙江省" 330421 county="嘉善县" prefecture="嘉兴市" province="浙江省" 330424 county="海盐县" prefecture="嘉兴市" province="浙江省" 330481 county="海宁市" prefecture="嘉兴市" province="浙江省" 330482 county="平湖市" prefecture="嘉兴市" province="浙江省" 330483 county="桐乡市" prefecture="嘉兴市" province="浙江省" 330501 county="市辖区" prefecture="湖州市" province="浙江省" 330502 county="吴兴区" prefecture="湖州市" province="浙江省" 330503 county="南浔区" prefecture="湖州市" province="浙江省" 330521 county="德清县" prefecture="湖州市" province="浙江省" 330522 county="长兴县" prefecture="湖州市" province="浙江省" 330523 county="安吉县" prefecture="湖州市" province="浙江省" 330601 county="市辖区" prefecture="绍兴市" province="浙江省" 330602 county="越城区" prefecture="绍兴市" province="浙江省" 330603 county="柯桥区" prefecture="绍兴市" province="浙江省" 330604 county="上虞区" prefecture="绍兴市" province="浙江省" 330621 county="绍兴县" prefecture="绍兴市" province="浙江省" 330624 county="新昌县" prefecture="绍兴市" province="浙江省" 330681 county="诸暨市" prefecture="绍兴市" province="浙江省" 330682 county="上虞市" prefecture="绍兴市" province="浙江省" 330683 county="嵊州市" prefecture="绍兴市" province="浙江省" 330701 county="市辖区" prefecture="金华市" province="浙江省" 330702 county="婺城区" prefecture="金华市" province="浙江省" 330703 county="金东区" prefecture="金华市" province="浙江省" 330723 county="武义县" prefecture="金华市" province="浙江省" 330726 county="浦江县" prefecture="金华市" province="浙江省" 330727 county="磐安县" prefecture="金华市" province="浙江省" 330781 county="兰溪市" prefecture="金华市" province="浙江省" 330782 county="义乌市" prefecture="金华市" province="浙江省" 330783 county="东阳市" prefecture="金华市" province="浙江省" 330784 county="永康市" prefecture="金华市" province="浙江省" 330801 county="市辖区" prefecture="衢州市" province="浙江省" 330802 county="柯城区" prefecture="衢州市" province="浙江省" 330803 county="衢江区" prefecture="衢州市" province="浙江省" 330822 county="常山县" prefecture="衢州市" province="浙江省" 330824 county="开化县" prefecture="衢州市" province="浙江省" 330825 county="龙游县" prefecture="衢州市" province="浙江省" 330881 county="江山市" prefecture="衢州市" province="浙江省" 330901 county="市辖区" prefecture="舟山市" province="浙江省" 330902 county="定海区" prefecture="舟山市" province="浙江省" 330903 county="普陀区" prefecture="舟山市" province="浙江省" 330921 county="岱山县" prefecture="舟山市" province="浙江省" 330922 county="嵊泗县" prefecture="舟山市" province="浙江省" 331001 county="市辖区" prefecture="台州市" province="浙江省" 331002 county="椒江区" prefecture="台州市" province="浙江省" 331003 county="黄岩区" prefecture="台州市" province="浙江省" 331004 county="路桥区" prefecture="台州市" province="浙江省" 331021 county="玉环县" prefecture="台州市" province="浙江省" 331022 county="三门县" prefecture="台州市" province="浙江省" 331023 county="天台县" prefecture="台州市" province="浙江省" 331024 county="仙居县" prefecture="台州市" province="浙江省" 331081 county="温岭市" prefecture="台州市" province="浙江省" 331082 county="临海市" prefecture="台州市" province="浙江省" 331101 county="市辖区" prefecture="丽水市" province="浙江省" 331102 county="莲都区" prefecture="丽水市" province="浙江省" 331121 county="青田县" prefecture="丽水市" province="浙江省" 331122 county="缙云县" prefecture="丽水市" province="浙江省" 331123 county="遂昌县" prefecture="丽水市" province="浙江省" 331124 county="松阳县" prefecture="丽水市" province="浙江省" 331125 county="云和县" prefecture="丽水市" province="浙江省" 331126 county="庆元县" prefecture="丽水市" province="浙江省" 331127 county="景宁畲族自治县" prefecture="丽水市" province="浙江省" 331181 county="龙泉市" prefecture="丽水市" province="浙江省" 340101 county="市辖区" prefecture="合肥市" province="安徽省" 340102 county="瑶海区" prefecture="合肥市" province="安徽省" 340103 county="庐阳区" prefecture="合肥市" province="安徽省" 340104 county="蜀山区" prefecture="合肥市" province="安徽省" 340111 county="包河区" prefecture="合肥市" province="安徽省" 340121 county="长丰县" prefecture="合肥市" province="安徽省" 340122 county="肥东县" prefecture="合肥市" province="安徽省" 340123 county="肥西县" prefecture="合肥市" province="安徽省" 340124 county="庐江县" prefecture="合肥市" province="安徽省" 340181 county="巢湖市" prefecture="合肥市" province="安徽省" 340201 county="市辖区" prefecture="芜湖市" province="安徽省" 340202 county="镜湖区" prefecture="芜湖市" province="安徽省" 340203 county="弋江区" prefecture="芜湖市" province="安徽省" 340204 county="新芜区" prefecture="芜湖市" province="安徽省" 340207 county="鸠江区" prefecture="芜湖市" province="安徽省" 340208 county="三山区" prefecture="芜湖市" province="安徽省" 340221 county="芜湖县" prefecture="芜湖市" province="安徽省" 340222 county="繁昌县" prefecture="芜湖市" province="安徽省" 340223 county="南陵县" prefecture="芜湖市" province="安徽省" 340225 county="无为县" prefecture="芜湖市" province="安徽省" 340301 county="市辖区" prefecture="蚌埠市" province="安徽省" 340302 county="龙子湖区" prefecture="蚌埠市" province="安徽省" 340303 county="蚌山区" prefecture="蚌埠市" province="安徽省" 340304 county="禹会区" prefecture="蚌埠市" province="安徽省" 340311 county="淮上区" prefecture="蚌埠市" province="安徽省" 340321 county="怀远县" prefecture="蚌埠市" province="安徽省" 340322 county="五河县" prefecture="蚌埠市" province="安徽省" 340323 county="固镇县" prefecture="蚌埠市" province="安徽省" 340401 county="市辖区" prefecture="淮南市" province="安徽省" 340402 county="大通区" prefecture="淮南市" province="安徽省" 340403 county="田家庵区" prefecture="淮南市" province="安徽省" 340404 county="谢家集区" prefecture="淮南市" province="安徽省" 340405 county="八公山区" prefecture="淮南市" province="安徽省" 340406 county="潘集区" prefecture="淮南市" province="安徽省" 340421 county="凤台县" prefecture="淮南市" province="安徽省" 340501 county="市辖区" prefecture="马鞍山市" province="安徽省" 340502 county="金家庄区" prefecture="马鞍山市" province="安徽省" 340503 county="花山区" prefecture="马鞍山市" province="安徽省" 340504 county="雨山区" prefecture="马鞍山市" province="安徽省" 340506 county="博望区" prefecture="马鞍山市" province="安徽省" 340521 county="当涂县" prefecture="马鞍山市" province="安徽省" 340522 county="含山县" prefecture="马鞍山市" province="安徽省" 340523 county="和县" prefecture="马鞍山市" province="安徽省" 340601 county="市辖区" prefecture="淮北市" province="安徽省" 340602 county="杜集区" prefecture="淮北市" province="安徽省" 340603 county="相山区" prefecture="淮北市" province="安徽省" 340604 county="烈山区" prefecture="淮北市" province="安徽省" 340621 county="濉溪县" prefecture="淮北市" province="安徽省" 340701 county="市辖区" prefecture="铜陵市" province="安徽省" 340702 county="铜官山区" prefecture="铜陵市" province="安徽省" 340703 county="狮子山区" prefecture="铜陵市" province="安徽省" 340711 county="郊区" prefecture="铜陵市" province="安徽省" 340721 county="铜陵县" prefecture="铜陵市" province="安徽省" 340801 county="市辖区" prefecture="安庆市" province="安徽省" 340802 county="迎江区" prefecture="安庆市" province="安徽省" 340803 county="大观区" prefecture="安庆市" province="安徽省" 340811 county="宜秀区" prefecture="安庆市" province="安徽省" 340822 county="怀宁县" prefecture="安庆市" province="安徽省" 340823 county="枞阳县" prefecture="安庆市" province="安徽省" 340824 county="潜山县" prefecture="安庆市" province="安徽省" 340825 county="太湖县" prefecture="安庆市" province="安徽省" 340826 county="宿松县" prefecture="安庆市" province="安徽省" 340827 county="望江县" prefecture="安庆市" province="安徽省" 340828 county="岳西县" prefecture="安庆市" province="安徽省" 340881 county="桐城市" prefecture="安庆市" province="安徽省" 341001 county="市辖区" prefecture="黄山市" province="安徽省" 341002 county="屯溪区" prefecture="黄山市" province="安徽省" 341003 county="黄山区" prefecture="黄山市" province="安徽省" 341004 county="徽州区" prefecture="黄山市" province="安徽省" 341021 county="歙县" prefecture="黄山市" province="安徽省" 341022 county="休宁县" prefecture="黄山市" province="安徽省" 341023 county="黟县" prefecture="黄山市" province="安徽省" 341024 county="祁门县" prefecture="黄山市" province="安徽省" 341101 county="市辖区" prefecture="滁州市" province="安徽省" 341102 county="琅琊区" prefecture="滁州市" province="安徽省" 341103 county="南谯区" prefecture="滁州市" province="安徽省" 341122 county="来安县" prefecture="滁州市" province="安徽省" 341124 county="全椒县" prefecture="滁州市" province="安徽省" 341125 county="定远县" prefecture="滁州市" province="安徽省" 341126 county="凤阳县" prefecture="滁州市" province="安徽省" 341181 county="天长市" prefecture="滁州市" province="安徽省" 341182 county="明光市" prefecture="滁州市" province="安徽省" 341201 county="市辖区" prefecture="阜阳市" province="安徽省" 341202 county="颍州区" prefecture="阜阳市" province="安徽省" 341203 county="颍东区" prefecture="阜阳市" province="安徽省" 341204 county="颍泉区" prefecture="阜阳市" province="安徽省" 341221 county="临泉县" prefecture="阜阳市" province="安徽省" 341222 county="太和县" prefecture="阜阳市" province="安徽省" 341225 county="阜南县" prefecture="阜阳市" province="安徽省" 341226 county="颍上县" prefecture="阜阳市" province="安徽省" 341282 county="界首市" prefecture="阜阳市" province="安徽省" 341301 county="市辖区" prefecture="宿州市" province="安徽省" 341302 county="埇桥区" prefecture="宿州市" province="安徽省" 341321 county="砀山县" prefecture="宿州市" province="安徽省" 341322 county="萧县" prefecture="宿州市" province="安徽省" 341323 county="灵璧县" prefecture="宿州市" province="安徽省" 341324 county="泗县" prefecture="宿州市" province="安徽省" 341401 county="市辖区" prefecture="巢湖市" province="安徽省" 341402 county="居巢区" prefecture="巢湖市" province="安徽省" 341421 county="庐江县" prefecture="巢湖市" province="安徽省" 341422 county="无为县" prefecture="巢湖市" province="安徽省" 341423 county="含山县" prefecture="巢湖市" province="安徽省" 341424 county="和县" prefecture="巢湖市" province="安徽省" 341501 county="市辖区" prefecture="六安市" province="安徽省" 341502 county="金安区" prefecture="六安市" province="安徽省" 341503 county="裕安区" prefecture="六安市" province="安徽省" 341521 county="寿县" prefecture="六安市" province="安徽省" 341522 county="霍邱县" prefecture="六安市" province="安徽省" 341523 county="舒城县" prefecture="六安市" province="安徽省" 341524 county="金寨县" prefecture="六安市" province="安徽省" 341525 county="霍山县" prefecture="六安市" province="安徽省" 341601 county="市辖区" prefecture="亳州市" province="安徽省" 341602 county="谯城区" prefecture="亳州市" province="安徽省" 341621 county="涡阳县" prefecture="亳州市" province="安徽省" 341622 county="蒙城县" prefecture="亳州市" province="安徽省" 341623 county="利辛县" prefecture="亳州市" province="安徽省" 341701 county="市辖区" prefecture="池州市" province="安徽省" 341702 county="贵池区" prefecture="池州市" province="安徽省" 341721 county="东至县" prefecture="池州市" province="安徽省" 341722 county="石台县" prefecture="池州市" province="安徽省" 341723 county="青阳县" prefecture="池州市" province="安徽省" 341801 county="市辖区" prefecture="宣城市" province="安徽省" 341802 county="宣州区" prefecture="宣城市" province="安徽省" 341821 county="郎溪县" prefecture="宣城市" province="安徽省" 341822 county="广德县" prefecture="宣城市" province="安徽省" 341823 county="泾县" prefecture="宣城市" province="安徽省" 341824 county="绩溪县" prefecture="宣城市" province="安徽省" 341825 county="旌德县" prefecture="宣城市" province="安徽省" 341881 county="宁国市" prefecture="宣城市" province="安徽省" 350101 county="市辖区" prefecture="福州市" province="福建省" 350102 county="鼓楼区" prefecture="福州市" province="福建省" 350103 county="台江区" prefecture="福州市" province="福建省" 350104 county="仓山区" prefecture="福州市" province="福建省" 350105 county="马尾区" prefecture="福州市" province="福建省" 350111 county="晋安区" prefecture="福州市" province="福建省" 350121 county="闽侯县" prefecture="福州市" province="福建省" 350122 county="连江县" prefecture="福州市" province="福建省" 350123 county="罗源县" prefecture="福州市" province="福建省" 350124 county="闽清县" prefecture="福州市" province="福建省" 350125 county="永泰县" prefecture="福州市" province="福建省" 350128 county="平潭县" prefecture="福州市" province="福建省" 350181 county="福清市" prefecture="福州市" province="福建省" 350182 county="长乐市" prefecture="福州市" province="福建省" 350201 county="市辖区" prefecture="厦门市" province="福建省" 350202 county="鼓浪屿区" prefecture="厦门市" province="福建省" 350203 county="思明区" prefecture="厦门市" province="福建省" 350204 county="开元区" prefecture="厦门市" province="福建省" 350205 county="海沧区" prefecture="厦门市" province="福建省" 350206 county="湖里区" prefecture="厦门市" province="福建省" 350211 county="集美区" prefecture="厦门市" province="福建省" 350212 county="同安区" prefecture="厦门市" province="福建省" 350213 county="翔安区" prefecture="厦门市" province="福建省" 350301 county="市辖区" prefecture="莆田市" province="福建省" 350302 county="城厢区" prefecture="莆田市" province="福建省" 350303 county="涵江区" prefecture="莆田市" province="福建省" 350304 county="荔城区" prefecture="莆田市" province="福建省" 350305 county="秀屿区" prefecture="莆田市" province="福建省" 350322 county="仙游县" prefecture="莆田市" province="福建省" 350401 county="市辖区" prefecture="三明市" province="福建省" 350402 county="梅列区" prefecture="三明市" province="福建省" 350403 county="三元区" prefecture="三明市" province="福建省" 350421 county="明溪县" prefecture="三明市" province="福建省" 350423 county="清流县" prefecture="三明市" province="福建省" 350424 county="宁化县" prefecture="三明市" province="福建省" 350425 county="大田县" prefecture="三明市" province="福建省" 350426 county="尤溪县" prefecture="三明市" province="福建省" 350427 county="沙县" prefecture="三明市" province="福建省" 350428 county="将乐县" prefecture="三明市" province="福建省" 350429 county="泰宁县" prefecture="三明市" province="福建省" 350430 county="建宁县" prefecture="三明市" province="福建省" 350481 county="永安市" prefecture="三明市" province="福建省" 350501 county="市辖区" prefecture="泉州市" province="福建省" 350502 county="鲤城区" prefecture="泉州市" province="福建省" 350503 county="丰泽区" prefecture="泉州市" province="福建省" 350504 county="洛江区" prefecture="泉州市" province="福建省" 350505 county="泉港区" prefecture="泉州市" province="福建省" 350521 county="惠安县" prefecture="泉州市" province="福建省" 350524 county="安溪县" prefecture="泉州市" province="福建省" 350525 county="永春县" prefecture="泉州市" province="福建省" 350526 county="德化县" prefecture="泉州市" province="福建省" 350527 county="金门县" prefecture="泉州市" province="福建省" 350581 county="石狮市" prefecture="泉州市" province="福建省" 350582 county="晋江市" prefecture="泉州市" province="福建省" 350583 county="南安市" prefecture="泉州市" province="福建省" 350601 county="市辖区" prefecture="漳州市" province="福建省" 350602 county="芗城区" prefecture="漳州市" province="福建省" 350603 county="龙文区" prefecture="漳州市" province="福建省" 350622 county="云霄县" prefecture="漳州市" province="福建省" 350623 county="漳浦县" prefecture="漳州市" province="福建省" 350624 county="诏安县" prefecture="漳州市" province="福建省" 350625 county="长泰县" prefecture="漳州市" province="福建省" 350626 county="东山县" prefecture="漳州市" province="福建省" 350627 county="南靖县" prefecture="漳州市" province="福建省" 350628 county="平和县" prefecture="漳州市" province="福建省" 350629 county="华安县" prefecture="漳州市" province="福建省" 350681 county="龙海市" prefecture="漳州市" province="福建省" 350701 county="市辖区" prefecture="南平市" province="福建省" 350702 county="延平区" prefecture="南平市" province="福建省" 350721 county="顺昌县" prefecture="南平市" province="福建省" 350722 county="浦城县" prefecture="南平市" province="福建省" 350723 county="光泽县" prefecture="南平市" province="福建省" 350724 county="松溪县" prefecture="南平市" province="福建省" 350725 county="政和县" prefecture="南平市" province="福建省" 350781 county="邵武市" prefecture="南平市" province="福建省" 350782 county="武夷山市" prefecture="南平市" province="福建省" 350783 county="建瓯市" prefecture="南平市" province="福建省" 350784 county="建阳市" prefecture="南平市" province="福建省" 350801 county="市辖区" prefecture="龙岩市" province="福建省" 350802 county="新罗区" prefecture="龙岩市" province="福建省" 350821 county="长汀县" prefecture="龙岩市" province="福建省" 350822 county="永定县" prefecture="龙岩市" province="福建省" 350823 county="上杭县" prefecture="龙岩市" province="福建省" 350824 county="武平县" prefecture="龙岩市" province="福建省" 350825 county="连城县" prefecture="龙岩市" province="福建省" 350881 county="漳平市" prefecture="龙岩市" province="福建省" 350901 county="市辖区" prefecture="宁德市" province="福建省" 350902 county="蕉城区" prefecture="宁德市" province="福建省" 350921 county="霞浦县" prefecture="宁德市" province="福建省" 350922 county="古田县" prefecture="宁德市" province="福建省" 350923 county="屏南县" prefecture="宁德市" province="福建省" 350924 county="寿宁县" prefecture="宁德市" province="福建省" 350925 county="周宁县" prefecture="宁德市" province="福建省" 350926 county="柘荣县" prefecture="宁德市" province="福建省" 350981 county="福安市" prefecture="宁德市" province="福建省" 350982 county="福鼎市" prefecture="宁德市" province="福建省" 360101 county="市辖区" prefecture="南昌市" province="江西省" 360102 county="东湖区" prefecture="南昌市" province="江西省" 360103 county="西湖区" prefecture="南昌市" province="江西省" 360104 county="青云谱区" prefecture="南昌市" province="江西省" 360105 county="湾里区" prefecture="南昌市" province="江西省" 360111 county="青山湖区" prefecture="南昌市" province="江西省" 360121 county="南昌县" prefecture="南昌市" province="江西省" 360122 county="新建县" prefecture="南昌市" province="江西省" 360123 county="安义县" prefecture="南昌市" province="江西省" 360124 county="进贤县" prefecture="南昌市" province="江西省" 360201 county="市辖区" prefecture="景德镇市" province="江西省" 360202 county="昌江区" prefecture="景德镇市" province="江西省" 360203 county="珠山区" prefecture="景德镇市" province="江西省" 360222 county="浮梁县" prefecture="景德镇市" province="江西省" 360281 county="乐平市" prefecture="景德镇市" province="江西省" 360301 county="市辖区" prefecture="萍乡市" province="江西省" 360302 county="安源区" prefecture="萍乡市" province="江西省" 360313 county="湘东区" prefecture="萍乡市" province="江西省" 360321 county="莲花县" prefecture="萍乡市" province="江西省" 360322 county="上栗县" prefecture="萍乡市" province="江西省" 360323 county="芦溪县" prefecture="萍乡市" province="江西省" 360401 county="市辖区" prefecture="九江市" province="江西省" 360402 county="庐山区" prefecture="九江市" province="江西省" 360403 county="浔阳区" prefecture="九江市" province="江西省" 360421 county="九江县" prefecture="九江市" province="江西省" 360423 county="武宁县" prefecture="九江市" province="江西省" 360424 county="修水县" prefecture="九江市" province="江西省" 360425 county="永修县" prefecture="九江市" province="江西省" 360426 county="德安县" prefecture="九江市" province="江西省" 360427 county="星子县" prefecture="九江市" province="江西省" 360428 county="都昌县" prefecture="九江市" province="江西省" 360429 county="湖口县" prefecture="九江市" province="江西省" 360430 county="彭泽县" prefecture="九江市" province="江西省" 360481 county="瑞昌市" prefecture="九江市" province="江西省" 360482 county="共青城市" prefecture="九江市" province="江西省" 360501 county="市辖区" prefecture="新余市" province="江西省" 360502 county="渝水区" prefecture="新余市" province="江西省" 360521 county="分宜县" prefecture="新余市" province="江西省" 360601 county="市辖区" prefecture="鹰潭市" province="江西省" 360602 county="月湖区" prefecture="鹰潭市" province="江西省" 360622 county="余江县" prefecture="鹰潭市" province="江西省" 360681 county="贵溪市" prefecture="鹰潭市" province="江西省" 360701 county="市辖区" prefecture="赣州市" province="江西省" 360702 county="章贡区" prefecture="赣州市" province="江西省" 360703 county="南康区" prefecture="赣州市" province="江西省" 360721 county="赣县" prefecture="赣州市" province="江西省" 360722 county="信丰县" prefecture="赣州市" province="江西省" 360723 county="大余县" prefecture="赣州市" province="江西省" 360724 county="上犹县" prefecture="赣州市" province="江西省" 360725 county="崇义县" prefecture="赣州市" province="江西省" 360726 county="安远县" prefecture="赣州市" province="江西省" 360727 county="龙南县" prefecture="赣州市" province="江西省" 360728 county="定南县" prefecture="赣州市" province="江西省" 360729 county="全南县" prefecture="赣州市" province="江西省" 360730 county="宁都县" prefecture="赣州市" province="江西省" 360731 county="于都县" prefecture="赣州市" province="江西省" 360732 county="兴国县" prefecture="赣州市" province="江西省" 360733 county="会昌县" prefecture="赣州市" province="江西省" 360734 county="寻乌县" prefecture="赣州市" province="江西省" 360735 county="石城县" prefecture="赣州市" province="江西省" 360781 county="瑞金市" prefecture="赣州市" province="江西省" 360782 county="南康市" prefecture="赣州市" province="江西省" 360801 county="市辖区" prefecture="吉安市" province="江西省" 360802 county="吉州区" prefecture="吉安市" province="江西省" 360803 county="青原区" prefecture="吉安市" province="江西省" 360821 county="吉安县" prefecture="吉安市" province="江西省" 360822 county="吉水县" prefecture="吉安市" province="江西省" 360823 county="峡江县" prefecture="吉安市" province="江西省" 360824 county="新干县" prefecture="吉安市" province="江西省" 360825 county="永丰县" prefecture="吉安市" province="江西省" 360826 county="泰和县" prefecture="吉安市" province="江西省" 360827 county="遂川县" prefecture="吉安市" province="江西省" 360828 county="万安县" prefecture="吉安市" province="江西省" 360829 county="安福县" prefecture="吉安市" province="江西省" 360830 county="永新县" prefecture="吉安市" province="江西省" 360881 county="井冈山市" prefecture="吉安市" province="江西省" 360901 county="市辖区" prefecture="宜春市" province="江西省" 360902 county="袁州区" prefecture="宜春市" province="江西省" 360921 county="奉新县" prefecture="宜春市" province="江西省" 360922 county="万载县" prefecture="宜春市" province="江西省" 360923 county="上高县" prefecture="宜春市" province="江西省" 360924 county="宜丰县" prefecture="宜春市" province="江西省" 360925 county="靖安县" prefecture="宜春市" province="江西省" 360926 county="铜鼓县" prefecture="宜春市" province="江西省" 360981 county="丰城市" prefecture="宜春市" province="江西省" 360982 county="樟树市" prefecture="宜春市" province="江西省" 360983 county="高安市" prefecture="宜春市" province="江西省" 361001 county="市辖区" prefecture="抚州市" province="江西省" 361002 county="临川区" prefecture="抚州市" province="江西省" 361021 county="南城县" prefecture="抚州市" province="江西省" 361022 county="黎川县" prefecture="抚州市" province="江西省" 361023 county="南丰县" prefecture="抚州市" province="江西省" 361024 county="崇仁县" prefecture="抚州市" province="江西省" 361025 county="乐安县" prefecture="抚州市" province="江西省" 361026 county="宜黄县" prefecture="抚州市" province="江西省" 361027 county="金溪县" prefecture="抚州市" province="江西省" 361028 county="资溪县" prefecture="抚州市" province="江西省" 361029 county="东乡县" prefecture="抚州市" province="江西省" 361030 county="广昌县" prefecture="抚州市" province="江西省" 361101 county="市辖区" prefecture="上饶市" province="江西省" 361102 county="信州区" prefecture="上饶市" province="江西省" 361121 county="上饶县" prefecture="上饶市" province="江西省" 361122 county="广丰县" prefecture="上饶市" province="江西省" 361123 county="玉山县" prefecture="上饶市" province="江西省" 361124 county="铅山县" prefecture="上饶市" province="江西省" 361125 county="横峰县" prefecture="上饶市" province="江西省" 361126 county="弋阳县" prefecture="上饶市" province="江西省" 361127 county="余干县" prefecture="上饶市" province="江西省" 361128 county="鄱阳县" prefecture="上饶市" province="江西省" 361129 county="万年县" prefecture="上饶市" province="江西省" 361130 county="婺源县" prefecture="上饶市" province="江西省" 361181 county="德兴市" prefecture="上饶市" province="江西省" 370101 county="市辖区" prefecture="济南市" province="山东省" 370102 county="历下区" prefecture="济南市" province="山东省" 370103 county="市中区" prefecture="济南市" province="山东省" 370104 county="槐荫区" prefecture="济南市" province="山东省" 370105 county="天桥区" prefecture="济南市" province="山东省" 370112 county="历城区" prefecture="济南市" province="山东省" 370113 county="长清区" prefecture="济南市" province="山东省" 370124 county="平阴县" prefecture="济南市" province="山东省" 370125 county="济阳县" prefecture="济南市" province="山东省" 370126 county="商河县" prefecture="济南市" province="山东省" 370181 county="章丘市" prefecture="济南市" province="山东省" 370201 county="市辖区" prefecture="青岛市" province="山东省" 370202 county="市南区" prefecture="青岛市" province="山东省" 370203 county="市北区" prefecture="青岛市" province="山东省" 370205 county="四方区" prefecture="青岛市" province="山东省" 370211 county="黄岛区" prefecture="青岛市" province="山东省" 370212 county="崂山区" prefecture="青岛市" province="山东省" 370213 county="李沧区" prefecture="青岛市" province="山东省" 370214 county="城阳区" prefecture="青岛市" province="山东省" 370281 county="胶州市" prefecture="青岛市" province="山东省" 370282 county="即墨市" prefecture="青岛市" province="山东省" 370283 county="平度市" prefecture="青岛市" province="山东省" 370284 county="胶南市" prefecture="青岛市" province="山东省" 370285 county="莱西市" prefecture="青岛市" province="山东省" 370301 county="市辖区" prefecture="淄博市" province="山东省" 370302 county="淄川区" prefecture="淄博市" province="山东省" 370303 county="张店区" prefecture="淄博市" province="山东省" 370304 county="博山区" prefecture="淄博市" province="山东省" 370305 county="临淄区" prefecture="淄博市" province="山东省" 370306 county="周村区" prefecture="淄博市" province="山东省" 370321 county="桓台县" prefecture="淄博市" province="山东省" 370322 county="高青县" prefecture="淄博市" province="山东省" 370323 county="沂源县" prefecture="淄博市" province="山东省" 370401 county="市辖区" prefecture="枣庄市" province="山东省" 370402 county="市中区" prefecture="枣庄市" province="山东省" 370403 county="薛城区" prefecture="枣庄市" province="山东省" 370404 county="峄城区" prefecture="枣庄市" province="山东省" 370405 county="台儿庄区" prefecture="枣庄市" province="山东省" 370406 county="山亭区" prefecture="枣庄市" province="山东省" 370481 county="滕州市" prefecture="枣庄市" province="山东省" 370501 county="市辖区" prefecture="东营市" province="山东省" 370502 county="东营区" prefecture="东营市" province="山东省" 370503 county="河口区" prefecture="东营市" province="山东省" 370521 county="垦利县" prefecture="东营市" province="山东省" 370522 county="利津县" prefecture="东营市" province="山东省" 370523 county="广饶县" prefecture="东营市" province="山东省" 370601 county="市辖区" prefecture="烟台市" province="山东省" 370602 county="芝罘区" prefecture="烟台市" province="山东省" 370611 county="福山区" prefecture="烟台市" province="山东省" 370612 county="牟平区" prefecture="烟台市" province="山东省" 370613 county="莱山区" prefecture="烟台市" province="山东省" 370634 county="长岛县" prefecture="烟台市" province="山东省" 370681 county="龙口市" prefecture="烟台市" province="山东省" 370682 county="莱阳市" prefecture="烟台市" province="山东省" 370683 county="莱州市" prefecture="烟台市" province="山东省" 370684 county="蓬莱市" prefecture="烟台市" province="山东省" 370685 county="招远市" prefecture="烟台市" province="山东省" 370686 county="栖霞市" prefecture="烟台市" province="山东省" 370687 county="海阳市" prefecture="烟台市" province="山东省" 370701 county="市辖区" prefecture="潍坊市" province="山东省" 370702 county="潍城区" prefecture="潍坊市" province="山东省" 370703 county="寒亭区" prefecture="潍坊市" province="山东省" 370704 county="坊子区" prefecture="潍坊市" province="山东省" 370705 county="奎文区" prefecture="潍坊市" province="山东省" 370724 county="临朐县" prefecture="潍坊市" province="山东省" 370725 county="昌乐县" prefecture="潍坊市" province="山东省" 370781 county="青州市" prefecture="潍坊市" province="山东省" 370782 county="诸城市" prefecture="潍坊市" province="山东省" 370783 county="寿光市" prefecture="潍坊市" province="山东省" 370784 county="安丘市" prefecture="潍坊市" province="山东省" 370785 county="高密市" prefecture="潍坊市" province="山东省" 370786 county="昌邑市" prefecture="潍坊市" province="山东省" 370801 county="市辖区" prefecture="济宁市" province="山东省" 370802 county="市中区" prefecture="济宁市" province="山东省" 370811 county="任城区" prefecture="济宁市" province="山东省" 370812 county="兖州区" prefecture="济宁市" province="山东省" 370826 county="微山县" prefecture="济宁市" province="山东省" 370827 county="鱼台县" prefecture="济宁市" province="山东省" 370828 county="金乡县" prefecture="济宁市" province="山东省" 370829 county="嘉祥县" prefecture="济宁市" province="山东省" 370830 county="汶上县" prefecture="济宁市" province="山东省" 370831 county="泗水县" prefecture="济宁市" province="山东省" 370832 county="梁山县" prefecture="济宁市" province="山东省" 370881 county="曲阜市" prefecture="济宁市" province="山东省" 370882 county="兖州市" prefecture="济宁市" province="山东省" 370883 county="邹城市" prefecture="济宁市" province="山东省" 370901 county="市辖区" prefecture="泰安市" province="山东省" 370902 county="泰山区" prefecture="泰安市" province="山东省" 370903 county="岱岳区" prefecture="泰安市" province="山东省" 370911 county="岱岳区" prefecture="泰安市" province="山东省" 370921 county="宁阳县" prefecture="泰安市" province="山东省" 370923 county="东平县" prefecture="泰安市" province="山东省" 370982 county="新泰市" prefecture="泰安市" province="山东省" 370983 county="肥城市" prefecture="泰安市" province="山东省" 371001 county="市辖区" prefecture="威海市" province="山东省" 371002 county="环翠区" prefecture="威海市" province="山东省" 371003 county="文登区" prefecture="威海市" province="山东省" 371081 county="文登市" prefecture="威海市" province="山东省" 371082 county="荣成市" prefecture="威海市" province="山东省" 371083 county="乳山市" prefecture="威海市" province="山东省" 371101 county="市辖区" prefecture="日照市" province="山东省" 371102 county="东港区" prefecture="日照市" province="山东省" 371103 county="岚山区" prefecture="日照市" province="山东省" 371121 county="五莲县" prefecture="日照市" province="山东省" 371122 county="莒县" prefecture="日照市" province="山东省" 371201 county="市辖区" prefecture="莱芜市" province="山东省" 371202 county="莱城区" prefecture="莱芜市" province="山东省" 371203 county="钢城区" prefecture="莱芜市" province="山东省" 371301 county="市辖区" prefecture="临沂市" province="山东省" 371302 county="兰山区" prefecture="临沂市" province="山东省" 371311 county="罗庄区" prefecture="临沂市" province="山东省" 371312 county="河东区" prefecture="临沂市" province="山东省" 371321 county="沂南县" prefecture="临沂市" province="山东省" 371322 county="郯城县" prefecture="临沂市" province="山东省" 371323 county="沂水县" prefecture="临沂市" province="山东省" 371324 county="兰陵县" prefecture="临沂市" province="山东省" 371325 county="费县" prefecture="临沂市" province="山东省" 371326 county="平邑县" prefecture="临沂市" province="山东省" 371327 county="莒南县" prefecture="临沂市" province="山东省" 371328 county="蒙阴县" prefecture="临沂市" province="山东省" 371329 county="临沭县" prefecture="临沂市" province="山东省" 371401 county="市辖区" prefecture="德州市" province="山东省" 371402 county="德城区" prefecture="德州市" province="山东省" 371403 county="陵城区" prefecture="德州市" province="山东省" 371421 county="陵县" prefecture="德州市" province="山东省" 371422 county="宁津县" prefecture="德州市" province="山东省" 371423 county="庆云县" prefecture="德州市" province="山东省" 371424 county="临邑县" prefecture="德州市" province="山东省" 371425 county="齐河县" prefecture="德州市" province="山东省" 371426 county="平原县" prefecture="德州市" province="山东省" 371427 county="夏津县" prefecture="德州市" province="山东省" 371428 county="武城县" prefecture="德州市" province="山东省" 371481 county="乐陵市" prefecture="德州市" province="山东省" 371482 county="禹城市" prefecture="德州市" province="山东省" 371501 county="市辖区" prefecture="聊城市" province="山东省" 371502 county="东昌府区" prefecture="聊城市" province="山东省" 371521 county="阳谷县" prefecture="聊城市" province="山东省" 371522 county="莘县" prefecture="聊城市" province="山东省" 371523 county="茌平县" prefecture="聊城市" province="山东省" 371524 county="东阿县" prefecture="聊城市" province="山东省" 371525 county="冠县" prefecture="聊城市" province="山东省" 371526 county="高唐县" prefecture="聊城市" province="山东省" 371581 county="临清市" prefecture="聊城市" province="山东省" 371601 county="市辖区" prefecture="滨州市" province="山东省" 371602 county="滨城区" prefecture="滨州市" province="山东省" 371603 county="沾化区" prefecture="滨州市" province="山东省" 371621 county="惠民县" prefecture="滨州市" province="山东省" 371622 county="阳信县" prefecture="滨州市" province="山东省" 371623 county="无棣县" prefecture="滨州市" province="山东省" 371624 county="沾化县" prefecture="滨州市" province="山东省" 371625 county="博兴县" prefecture="滨州市" province="山东省" 371626 county="邹平县" prefecture="滨州市" province="山东省" 371701 county="市辖区" prefecture="菏泽市" province="山东省" 371702 county="牡丹区" prefecture="菏泽市" province="山东省" 371721 county="曹县" prefecture="菏泽市" province="山东省" 371722 county="单县" prefecture="菏泽市" province="山东省" 371723 county="成武县" prefecture="菏泽市" province="山东省" 371724 county="巨野县" prefecture="菏泽市" province="山东省" 371725 county="郓城县" prefecture="菏泽市" province="山东省" 371726 county="鄄城县" prefecture="菏泽市" province="山东省" 371727 county="定陶县" prefecture="菏泽市" province="山东省" 371728 county="东明县" prefecture="菏泽市" province="山东省" 410101 county="市辖区" prefecture="郑州市" province="河南省" 410102 county="中原区" prefecture="郑州市" province="河南省" 410103 county="二七区" prefecture="郑州市" province="河南省" 410104 county="管城回族区" prefecture="郑州市" province="河南省" 410105 county="金水区" prefecture="郑州市" province="河南省" 410106 county="上街区" prefecture="郑州市" province="河南省" 410108 county="惠济区" prefecture="郑州市" province="河南省" 410122 county="中牟县" prefecture="郑州市" province="河南省" 410181 county="巩义市" prefecture="郑州市" province="河南省" 410182 county="荥阳市" prefecture="郑州市" province="河南省" 410183 county="新密市" prefecture="郑州市" province="河南省" 410184 county="新郑市" prefecture="郑州市" province="河南省" 410185 county="登封市" prefecture="郑州市" province="河南省" 410201 county="市辖区" prefecture="开封市" province="河南省" 410202 county="龙亭区" prefecture="开封市" province="河南省" 410203 county="顺河回族区" prefecture="开封市" province="河南省" 410204 county="鼓楼区" prefecture="开封市" province="河南省" 410205 county="禹王台区" prefecture="开封市" province="河南省" 410211 county="金明区" prefecture="开封市" province="河南省" 410221 county="杞县" prefecture="开封市" province="河南省" 410222 county="通许县" prefecture="开封市" province="河南省" 410223 county="尉氏县" prefecture="开封市" province="河南省" 410224 county="开封县" prefecture="开封市" province="河南省" 410225 county="兰考县" prefecture="开封市" province="河南省" 410301 county="市辖区" prefecture="洛阳市" province="河南省" 410302 county="老城区" prefecture="洛阳市" province="河南省" 410303 county="西工区" prefecture="洛阳市" province="河南省" 410304 county="瀍河回族区" prefecture="洛阳市" province="河南省" 410305 county="涧西区" prefecture="洛阳市" province="河南省" 410306 county="吉利区" prefecture="洛阳市" province="河南省" 410307 county="洛龙区" prefecture="洛阳市" province="河南省" 410311 county="洛龙区" prefecture="洛阳市" province="河南省" 410322 county="孟津县" prefecture="洛阳市" province="河南省" 410323 county="新安县" prefecture="洛阳市" province="河南省" 410324 county="栾川县" prefecture="洛阳市" province="河南省" 410325 county="嵩县" prefecture="洛阳市" province="河南省" 410326 county="汝阳县" prefecture="洛阳市" province="河南省" 410327 county="宜阳县" prefecture="洛阳市" province="河南省" 410328 county="洛宁县" prefecture="洛阳市" province="河南省" 410329 county="伊川县" prefecture="洛阳市" province="河南省" 410381 county="偃师市" prefecture="洛阳市" province="河南省" 410401 county="市辖区" prefecture="平顶山市" province="河南省" 410402 county="新华区" prefecture="平顶山市" province="河南省" 410403 county="卫东区" prefecture="平顶山市" province="河南省" 410404 county="石龙区" prefecture="平顶山市" province="河南省" 410411 county="湛河区" prefecture="平顶山市" province="河南省" 410421 county="宝丰县" prefecture="平顶山市" province="河南省" 410422 county="叶县" prefecture="平顶山市" province="河南省" 410423 county="鲁山县" prefecture="平顶山市" province="河南省" 410425 county="郏县" prefecture="平顶山市" province="河南省" 410481 county="舞钢市" prefecture="平顶山市" province="河南省" 410482 county="汝州市" prefecture="平顶山市" province="河南省" 410501 county="市辖区" prefecture="安阳市" province="河南省" 410502 county="文峰区" prefecture="安阳市" province="河南省" 410503 county="北关区" prefecture="安阳市" province="河南省" 410505 county="殷都区" prefecture="安阳市" province="河南省" 410506 county="龙安区" prefecture="安阳市" province="河南省" 410522 county="安阳县" prefecture="安阳市" province="河南省" 410523 county="汤阴县" prefecture="安阳市" province="河南省" 410526 county="滑县" prefecture="安阳市" province="河南省" 410527 county="内黄县" prefecture="安阳市" province="河南省" 410581 county="林州市" prefecture="安阳市" province="河南省" 410601 county="市辖区" prefecture="鹤壁市" province="河南省" 410602 county="鹤山区" prefecture="鹤壁市" province="河南省" 410603 county="山城区" prefecture="鹤壁市" province="河南省" 410611 county="淇滨区" prefecture="鹤壁市" province="河南省" 410621 county="浚县" prefecture="鹤壁市" province="河南省" 410622 county="淇县" prefecture="鹤壁市" province="河南省" 410701 county="市辖区" prefecture="新乡市" province="河南省" 410702 county="红旗区" prefecture="新乡市" province="河南省" 410703 county="卫滨区" prefecture="新乡市" province="河南省" 410704 county="凤泉区" prefecture="新乡市" province="河南省" 410711 county="牧野区" prefecture="新乡市" province="河南省" 410721 county="新乡县" prefecture="新乡市" province="河南省" 410724 county="获嘉县" prefecture="新乡市" province="河南省" 410725 county="原阳县" prefecture="新乡市" province="河南省" 410726 county="延津县" prefecture="新乡市" province="河南省" 410727 county="封丘县" prefecture="新乡市" province="河南省" 410728 county="长垣县" prefecture="新乡市" province="河南省" 410781 county="卫辉市" prefecture="新乡市" province="河南省" 410782 county="辉县市" prefecture="新乡市" province="河南省" 410801 county="市辖区" prefecture="焦作市" province="河南省" 410802 county="解放区" prefecture="焦作市" province="河南省" 410803 county="中站区" prefecture="焦作市" province="河南省" 410804 county="马村区" prefecture="焦作市" province="河南省" 410811 county="山阳区" prefecture="焦作市" province="河南省" 410821 county="修武县" prefecture="焦作市" province="河南省" 410822 county="博爱县" prefecture="焦作市" province="河南省" 410823 county="武陟县" prefecture="焦作市" province="河南省" 410825 county="温县" prefecture="焦作市" province="河南省" 410881 county="济源市" prefecture="焦作市" province="河南省" 410882 county="沁阳市" prefecture="焦作市" province="河南省" 410883 county="孟州市" prefecture="焦作市" province="河南省" 410901 county="市辖区" prefecture="濮阳市" province="河南省" 410902 county="华龙区" prefecture="濮阳市" province="河南省" 410922 county="清丰县" prefecture="濮阳市" province="河南省" 410923 county="南乐县" prefecture="濮阳市" province="河南省" 410926 county="范县" prefecture="濮阳市" province="河南省" 410927 county="台前县" prefecture="濮阳市" province="河南省" 410928 county="濮阳县" prefecture="濮阳市" province="河南省" 411001 county="市辖区" prefecture="许昌市" province="河南省" 411002 county="魏都区" prefecture="许昌市" province="河南省" 411023 county="许昌县" prefecture="许昌市" province="河南省" 411024 county="鄢陵县" prefecture="许昌市" province="河南省" 411025 county="襄城县" prefecture="许昌市" province="河南省" 411081 county="禹州市" prefecture="许昌市" province="河南省" 411082 county="长葛市" prefecture="许昌市" province="河南省" 411101 county="市辖区" prefecture="漯河市" province="河南省" 411102 county="源汇区" prefecture="漯河市" province="河南省" 411103 county="郾城区" prefecture="漯河市" province="河南省" 411104 county="召陵区" prefecture="漯河市" province="河南省" 411121 county="舞阳县" prefecture="漯河市" province="河南省" 411122 county="临颍县" prefecture="漯河市" province="河南省" 411123 county="郾城县" prefecture="漯河市" province="河南省" 411201 county="市辖区" prefecture="三门峡市" province="河南省" 411202 county="湖滨区" prefecture="三门峡市" province="河南省" 411221 county="渑池县" prefecture="三门峡市" province="河南省" 411222 county="陕县" prefecture="三门峡市" province="河南省" 411224 county="卢氏县" prefecture="三门峡市" province="河南省" 411281 county="义马市" prefecture="三门峡市" province="河南省" 411282 county="灵宝市" prefecture="三门峡市" province="河南省" 411301 county="市辖区" prefecture="南阳市" province="河南省" 411302 county="宛城区" prefecture="南阳市" province="河南省" 411303 county="卧龙区" prefecture="南阳市" province="河南省" 411321 county="南召县" prefecture="南阳市" province="河南省" 411322 county="方城县" prefecture="南阳市" province="河南省" 411323 county="西峡县" prefecture="南阳市" province="河南省" 411324 county="镇平县" prefecture="南阳市" province="河南省" 411325 county="内乡县" prefecture="南阳市" province="河南省" 411326 county="淅川县" prefecture="南阳市" province="河南省" 411327 county="社旗县" prefecture="南阳市" province="河南省" 411328 county="唐河县" prefecture="南阳市" province="河南省" 411329 county="新野县" prefecture="南阳市" province="河南省" 411330 county="桐柏县" prefecture="南阳市" province="河南省" 411381 county="邓州市" prefecture="南阳市" province="河南省" 411401 county="市辖区" prefecture="商丘市" province="河南省" 411402 county="梁园区" prefecture="商丘市" province="河南省" 411403 county="睢阳区" prefecture="商丘市" province="河南省" 411421 county="民权县" prefecture="商丘市" province="河南省" 411422 county="睢县" prefecture="商丘市" province="河南省" 411423 county="宁陵县" prefecture="商丘市" province="河南省" 411424 county="柘城县" prefecture="商丘市" province="河南省" 411425 county="虞城县" prefecture="商丘市" province="河南省" 411426 county="夏邑县" prefecture="商丘市" province="河南省" 411481 county="永城市" prefecture="商丘市" province="河南省" 411501 county="市辖区" prefecture="信阳市" province="河南省" 411502 county="浉河区" prefecture="信阳市" province="河南省" 411503 county="平桥区" prefecture="信阳市" province="河南省" 411521 county="罗山县" prefecture="信阳市" province="河南省" 411522 county="光山县" prefecture="信阳市" province="河南省" 411523 county="新县" prefecture="信阳市" province="河南省" 411524 county="商城县" prefecture="信阳市" province="河南省" 411525 county="固始县" prefecture="信阳市" province="河南省" 411526 county="潢川县" prefecture="信阳市" province="河南省" 411527 county="淮滨县" prefecture="信阳市" province="河南省" 411528 county="息县" prefecture="信阳市" province="河南省" 411601 county="市辖区" prefecture="周口市" province="河南省" 411602 county="川汇区" prefecture="周口市" province="河南省" 411621 county="扶沟县" prefecture="周口市" province="河南省" 411622 county="西华县" prefecture="周口市" province="河南省" 411623 county="商水县" prefecture="周口市" province="河南省" 411624 county="沈丘县" prefecture="周口市" province="河南省" 411625 county="郸城县" prefecture="周口市" province="河南省" 411626 county="淮阳县" prefecture="周口市" province="河南省" 411627 county="太康县" prefecture="周口市" province="河南省" 411628 county="鹿邑县" prefecture="周口市" province="河南省" 411681 county="项城市" prefecture="周口市" province="河南省" 411701 county="市辖区" prefecture="驻马店市" province="河南省" 411702 county="驿城区" prefecture="驻马店市" province="河南省" 411721 county="西平县" prefecture="驻马店市" province="河南省" 411722 county="上蔡县" prefecture="驻马店市" province="河南省" 411723 county="平舆县" prefecture="驻马店市" province="河南省" 411724 county="正阳县" prefecture="驻马店市" province="河南省" 411725 county="确山县" prefecture="驻马店市" province="河南省" 411726 county="泌阳县" prefecture="驻马店市" province="河南省" 411727 county="汝南县" prefecture="驻马店市" province="河南省" 411728 county="遂平县" prefecture="驻马店市" province="河南省" 411729 county="新蔡县" prefecture="驻马店市" province="河南省" 419001 county="济源市" prefecture="省直辖县级行政区划" province="河南省" 420101 county="市辖区" prefecture="武汉市" province="湖北省" 420102 county="江岸区" prefecture="武汉市" province="湖北省" 420103 county="江汉区" prefecture="武汉市" province="湖北省" 420104 county="硚口区" prefecture="武汉市" province="湖北省" 420105 county="汉阳区" prefecture="武汉市" province="湖北省" 420106 county="武昌区" prefecture="武汉市" province="湖北省" 420107 county="青山区" prefecture="武汉市" province="湖北省" 420111 county="洪山区" prefecture="武汉市" province="湖北省" 420112 county="东西湖区" prefecture="武汉市" province="湖北省" 420113 county="汉南区" prefecture="武汉市" province="湖北省" 420114 county="蔡甸区" prefecture="武汉市" province="湖北省" 420115 county="江夏区" prefecture="武汉市" province="湖北省" 420116 county="黄陂区" prefecture="武汉市" province="湖北省" 420117 county="新洲区" prefecture="武汉市" province="湖北省" 420201 county="市辖区" prefecture="黄石市" province="湖北省" 420202 county="黄石港区" prefecture="黄石市" province="湖北省" 420203 county="西塞山区" prefecture="黄石市" province="湖北省" 420204 county="下陆区" prefecture="黄石市" province="湖北省" 420205 county="铁山区" prefecture="黄石市" province="湖北省" 420222 county="阳新县" prefecture="黄石市" province="湖北省" 420281 county="大冶市" prefecture="黄石市" province="湖北省" 420301 county="市辖区" prefecture="十堰市" province="湖北省" 420302 county="茅箭区" prefecture="十堰市" province="湖北省" 420303 county="张湾区" prefecture="十堰市" province="湖北省" 420304 county="郧阳区" prefecture="十堰市" province="湖北省" 420321 county="郧县" prefecture="十堰市" province="湖北省" 420322 county="郧西县" prefecture="十堰市" province="湖北省" 420323 county="竹山县" prefecture="十堰市" province="湖北省" 420324 county="竹溪县" prefecture="十堰市" province="湖北省" 420325 county="房县" prefecture="十堰市" province="湖北省" 420381 county="丹江口市" prefecture="十堰市" province="湖北省" 420501 county="市辖区" prefecture="宜昌市" province="湖北省" 420502 county="西陵区" prefecture="宜昌市" province="湖北省" 420503 county="伍家岗区" prefecture="宜昌市" province="湖北省" 420504 county="点军区" prefecture="宜昌市" province="湖北省" 420505 county="猇亭区" prefecture="宜昌市" province="湖北省" 420506 county="夷陵区" prefecture="宜昌市" province="湖北省" 420525 county="远安县" prefecture="宜昌市" province="湖北省" 420526 county="兴山县" prefecture="宜昌市" province="湖北省" 420527 county="秭归县" prefecture="宜昌市" province="湖北省" 420528 county="长阳土家族自治县" prefecture="宜昌市" province="湖北省" 420529 county="五峰土家族自治县" prefecture="宜昌市" province="湖北省" 420581 county="宜都市" prefecture="宜昌市" province="湖北省" 420582 county="当阳市" prefecture="宜昌市" province="湖北省" 420583 county="枝江市" prefecture="宜昌市" province="湖北省" 420601 county="市辖区" prefecture="襄阳市" province="湖北省" 420602 county="襄城区" prefecture="襄阳市" province="湖北省" 420606 county="樊城区" prefecture="襄阳市" province="湖北省" 420607 county="襄州区" prefecture="襄阳市" province="湖北省" 420624 county="南漳县" prefecture="襄阳市" province="湖北省" 420625 county="谷城县" prefecture="襄阳市" province="湖北省" 420626 county="保康县" prefecture="襄阳市" province="湖北省" 420682 county="老河口市" prefecture="襄阳市" province="湖北省" 420683 county="枣阳市" prefecture="襄阳市" province="湖北省" 420684 county="宜城市" prefecture="襄阳市" province="湖北省" 420701 county="市辖区" prefecture="鄂州市" province="湖北省" 420702 county="梁子湖区" prefecture="鄂州市" province="湖北省" 420703 county="华容区" prefecture="鄂州市" province="湖北省" 420704 county="鄂城区" prefecture="鄂州市" province="湖北省" 420801 county="市辖区" prefecture="荆门市" province="湖北省" 420802 county="东宝区" prefecture="荆门市" province="湖北省" 420804 county="掇刀区" prefecture="荆门市" province="湖北省" 420821 county="京山县" prefecture="荆门市" province="湖北省" 420822 county="沙洋县" prefecture="荆门市" province="湖北省" 420881 county="钟祥市" prefecture="荆门市" province="湖北省" 420901 county="市辖区" prefecture="孝感市" province="湖北省" 420902 county="孝南区" prefecture="孝感市" province="湖北省" 420921 county="孝昌县" prefecture="孝感市" province="湖北省" 420922 county="大悟县" prefecture="孝感市" province="湖北省" 420923 county="云梦县" prefecture="孝感市" province="湖北省" 420981 county="应城市" prefecture="孝感市" province="湖北省" 420982 county="安陆市" prefecture="孝感市" province="湖北省" 420984 county="汉川市" prefecture="孝感市" province="湖北省" 421001 county="市辖区" prefecture="荆州市" province="湖北省" 421002 county="沙市区" prefecture="荆州市" province="湖北省" 421003 county="荆州区" prefecture="荆州市" province="湖北省" 421022 county="公安县" prefecture="荆州市" province="湖北省" 421023 county="监利县" prefecture="荆州市" province="湖北省" 421024 county="江陵县" prefecture="荆州市" province="湖北省" 421081 county="石首市" prefecture="荆州市" province="湖北省" 421083 county="洪湖市" prefecture="荆州市" province="湖北省" 421087 county="松滋市" prefecture="荆州市" province="湖北省" 421101 county="市辖区" prefecture="黄冈市" province="湖北省" 421102 county="黄州区" prefecture="黄冈市" province="湖北省" 421121 county="团风县" prefecture="黄冈市" province="湖北省" 421122 county="红安县" prefecture="黄冈市" province="湖北省" 421123 county="罗田县" prefecture="黄冈市" province="湖北省" 421124 county="英山县" prefecture="黄冈市" province="湖北省" 421125 county="浠水县" prefecture="黄冈市" province="湖北省" 421126 county="蕲春县" prefecture="黄冈市" province="湖北省" 421127 county="黄梅县" prefecture="黄冈市" province="湖北省" 421181 county="麻城市" prefecture="黄冈市" province="湖北省" 421182 county="武穴市" prefecture="黄冈市" province="湖北省" 421201 county="市辖区" prefecture="咸宁市" province="湖北省" 421202 county="咸安区" prefecture="咸宁市" province="湖北省" 421221 county="嘉鱼县" prefecture="咸宁市" province="湖北省" 421222 county="通城县" prefecture="咸宁市" province="湖北省" 421223 county="崇阳县" prefecture="咸宁市" province="湖北省" 421224 county="通山县" prefecture="咸宁市" province="湖北省" 421281 county="赤壁市" prefecture="咸宁市" province="湖北省" 421301 county="市辖区" prefecture="随州市" province="湖北省" 421302 county="曾都区" prefecture="随州市" province="湖北省" 421303 county="曾都区" prefecture="随州市" province="湖北省" 421321 county="随县" prefecture="随州市" province="湖北省" 421381 county="广水市" prefecture="随州市" province="湖北省" 422801 county="恩施市" prefecture="恩施土家族苗族自治州" province="湖北省" 422802 county="利川市" prefecture="恩施土家族苗族自治州" province="湖北省" 422822 county="建始县" prefecture="恩施土家族苗族自治州" province="湖北省" 422823 county="巴东县" prefecture="恩施土家族苗族自治州" province="湖北省" 422825 county="宣恩县" prefecture="恩施土家族苗族自治州" province="湖北省" 422826 county="咸丰县" prefecture="恩施土家族苗族自治州" province="湖北省" 422827 county="来凤县" prefecture="恩施土家族苗族自治州" province="湖北省" 422828 county="鹤峰县" prefecture="恩施土家族苗族自治州" province="湖北省" 429004 county="仙桃市" prefecture="省直辖县级行政区划" province="湖北省" 429005 county="潜江市" prefecture="省直辖县级行政区划" province="湖北省" 429006 county="天门市" prefecture="省直辖县级行政区划" province="湖北省" 429021 county="神农架林区" prefecture="省直辖县级行政区划" province="湖北省" 430101 county="市辖区" prefecture="长沙市" province="湖南省" 430102 county="芙蓉区" prefecture="长沙市" province="湖南省" 430103 county="天心区" prefecture="长沙市" province="湖南省" 430104 county="岳麓区" prefecture="长沙市" province="湖南省" 430105 county="开福区" prefecture="长沙市" province="湖南省" 430111 county="雨花区" prefecture="长沙市" province="湖南省" 430112 county="望城区" prefecture="长沙市" province="湖南省" 430121 county="长沙县" prefecture="长沙市" province="湖南省" 430122 county="望城县" prefecture="长沙市" province="湖南省" 430124 county="宁乡县" prefecture="长沙市" province="湖南省" 430181 county="浏阳市" prefecture="长沙市" province="湖南省" 430201 county="市辖区" prefecture="株洲市" province="湖南省" 430202 county="荷塘区" prefecture="株洲市" province="湖南省" 430203 county="芦淞区" prefecture="株洲市" province="湖南省" 430204 county="石峰区" prefecture="株洲市" province="湖南省" 430211 county="天元区" prefecture="株洲市" province="湖南省" 430221 county="株洲县" prefecture="株洲市" province="湖南省" 430223 county="攸县" prefecture="株洲市" province="湖南省" 430224 county="茶陵县" prefecture="株洲市" province="湖南省" 430225 county="炎陵县" prefecture="株洲市" province="湖南省" 430281 county="醴陵市" prefecture="株洲市" province="湖南省" 430301 county="市辖区" prefecture="湘潭市" province="湖南省" 430302 county="雨湖区" prefecture="湘潭市" province="湖南省" 430304 county="岳塘区" prefecture="湘潭市" province="湖南省" 430321 county="湘潭县" prefecture="湘潭市" province="湖南省" 430381 county="湘乡市" prefecture="湘潭市" province="湖南省" 430382 county="韶山市" prefecture="湘潭市" province="湖南省" 430401 county="市辖区" prefecture="衡阳市" province="湖南省" 430405 county="珠晖区" prefecture="衡阳市" province="湖南省" 430406 county="雁峰区" prefecture="衡阳市" province="湖南省" 430407 county="石鼓区" prefecture="衡阳市" province="湖南省" 430408 county="蒸湘区" prefecture="衡阳市" province="湖南省" 430412 county="南岳区" prefecture="衡阳市" province="湖南省" 430421 county="衡阳县" prefecture="衡阳市" province="湖南省" 430422 county="衡南县" prefecture="衡阳市" province="湖南省" 430423 county="衡山县" prefecture="衡阳市" province="湖南省" 430424 county="衡东县" prefecture="衡阳市" province="湖南省" 430426 county="祁东县" prefecture="衡阳市" province="湖南省" 430481 county="耒阳市" prefecture="衡阳市" province="湖南省" 430482 county="常宁市" prefecture="衡阳市" province="湖南省" 430501 county="市辖区" prefecture="邵阳市" province="湖南省" 430502 county="双清区" prefecture="邵阳市" province="湖南省" 430503 county="大祥区" prefecture="邵阳市" province="湖南省" 430511 county="北塔区" prefecture="邵阳市" province="湖南省" 430521 county="邵东县" prefecture="邵阳市" province="湖南省" 430522 county="新邵县" prefecture="邵阳市" province="湖南省" 430523 county="邵阳县" prefecture="邵阳市" province="湖南省" 430524 county="隆回县" prefecture="邵阳市" province="湖南省" 430525 county="洞口县" prefecture="邵阳市" province="湖南省" 430527 county="绥宁县" prefecture="邵阳市" province="湖南省" 430528 county="新宁县" prefecture="邵阳市" province="湖南省" 430529 county="城步苗族自治县" prefecture="邵阳市" province="湖南省" 430581 county="武冈市" prefecture="邵阳市" province="湖南省" 430601 county="市辖区" prefecture="岳阳市" province="湖南省" 430602 county="岳阳楼区" prefecture="岳阳市" province="湖南省" 430603 county="云溪区" prefecture="岳阳市" province="湖南省" 430611 county="君山区" prefecture="岳阳市" province="湖南省" 430621 county="岳阳县" prefecture="岳阳市" province="湖南省" 430623 county="华容县" prefecture="岳阳市" province="湖南省" 430624 county="湘阴县" prefecture="岳阳市" province="湖南省" 430626 county="平江县" prefecture="岳阳市" province="湖南省" 430681 county="汨罗市" prefecture="岳阳市" province="湖南省" 430682 county="临湘市" prefecture="岳阳市" province="湖南省" 430701 county="市辖区" prefecture="常德市" province="湖南省" 430702 county="武陵区" prefecture="常德市" province="湖南省" 430703 county="鼎城区" prefecture="常德市" province="湖南省" 430721 county="安乡县" prefecture="常德市" province="湖南省" 430722 county="汉寿县" prefecture="常德市" province="湖南省" 430723 county="澧县" prefecture="常德市" province="湖南省" 430724 county="临澧县" prefecture="常德市" province="湖南省" 430725 county="桃源县" prefecture="常德市" province="湖南省" 430726 county="石门县" prefecture="常德市" province="湖南省" 430781 county="津市市" prefecture="常德市" province="湖南省" 430801 county="市辖区" prefecture="张家界市" province="湖南省" 430802 county="永定区" prefecture="张家界市" province="湖南省" 430811 county="武陵源区" prefecture="张家界市" province="湖南省" 430821 county="慈利县" prefecture="张家界市" province="湖南省" 430822 county="桑植县" prefecture="张家界市" province="湖南省" 430901 county="市辖区" prefecture="益阳市" province="湖南省" 430902 county="资阳区" prefecture="益阳市" province="湖南省" 430903 county="赫山区" prefecture="益阳市" province="湖南省" 430921 county="南县" prefecture="益阳市" province="湖南省" 430922 county="桃江县" prefecture="益阳市" province="湖南省" 430923 county="安化县" prefecture="益阳市" province="湖南省" 430981 county="沅江市" prefecture="益阳市" province="湖南省" 431001 county="市辖区" prefecture="郴州市" province="湖南省" 431002 county="北湖区" prefecture="郴州市" province="湖南省" 431003 county="苏仙区" prefecture="郴州市" province="湖南省" 431021 county="桂阳县" prefecture="郴州市" province="湖南省" 431022 county="宜章县" prefecture="郴州市" province="湖南省" 431023 county="永兴县" prefecture="郴州市" province="湖南省" 431024 county="嘉禾县" prefecture="郴州市" province="湖南省" 431025 county="临武县" prefecture="郴州市" province="湖南省" 431026 county="汝城县" prefecture="郴州市" province="湖南省" 431027 county="桂东县" prefecture="郴州市" province="湖南省" 431028 county="安仁县" prefecture="郴州市" province="湖南省" 431081 county="资兴市" prefecture="郴州市" province="湖南省" 431101 county="市辖区" prefecture="永州市" province="湖南省" 431102 county="零陵区" prefecture="永州市" province="湖南省" 431103 county="冷水滩区" prefecture="永州市" province="湖南省" 431121 county="祁阳县" prefecture="永州市" province="湖南省" 431122 county="东安县" prefecture="永州市" province="湖南省" 431123 county="双牌县" prefecture="永州市" province="湖南省" 431124 county="道县" prefecture="永州市" province="湖南省" 431125 county="江永县" prefecture="永州市" province="湖南省" 431126 county="宁远县" prefecture="永州市" province="湖南省" 431127 county="蓝山县" prefecture="永州市" province="湖南省" 431128 county="新田县" prefecture="永州市" province="湖南省" 431129 county="江华瑶族自治县" prefecture="永州市" province="湖南省" 431201 county="市辖区" prefecture="怀化市" province="湖南省" 431202 county="鹤城区" prefecture="怀化市" province="湖南省" 431221 county="中方县" prefecture="怀化市" province="湖南省" 431222 county="沅陵县" prefecture="怀化市" province="湖南省" 431223 county="辰溪县" prefecture="怀化市" province="湖南省" 431224 county="溆浦县" prefecture="怀化市" province="湖南省" 431225 county="会同县" prefecture="怀化市" province="湖南省" 431226 county="麻阳苗族自治县" prefecture="怀化市" province="湖南省" 431227 county="新晃侗族自治县" prefecture="怀化市" province="湖南省" 431228 county="芷江侗族自治县" prefecture="怀化市" province="湖南省" 431229 county="靖州苗族侗族自治县" prefecture="怀化市" province="湖南省" 431230 county="通道侗族自治县" prefecture="怀化市" province="湖南省" 431281 county="洪江市" prefecture="怀化市" province="湖南省" 431301 county="市辖区" prefecture="娄底市" province="湖南省" 431302 county="娄星区" prefecture="娄底市" province="湖南省" 431321 county="双峰县" prefecture="娄底市" province="湖南省" 431322 county="新化县" prefecture="娄底市" province="湖南省" 431381 county="冷水江市" prefecture="娄底市" province="湖南省" 431382 county="涟源市" prefecture="娄底市" province="湖南省" 433101 county="吉首市" prefecture="湘西土家族苗族自治州" province="湖南省" 433122 county="泸溪县" prefecture="湘西土家族苗族自治州" province="湖南省" 433123 county="凤凰县" prefecture="湘西土家族苗族自治州" province="湖南省" 433124 county="花垣县" prefecture="湘西土家族苗族自治州" province="湖南省" 433125 county="保靖县" prefecture="湘西土家族苗族自治州" province="湖南省" 433126 county="古丈县" prefecture="湘西土家族苗族自治州" province="湖南省" 433127 county="永顺县" prefecture="湘西土家族苗族自治州" province="湖南省" 433130 county="龙山县" prefecture="湘西土家族苗族自治州" province="湖南省" 440101 county="市辖区" prefecture="广州市" province="广东省" 440102 county="东山区" prefecture="广州市" province="广东省" 440103 county="荔湾区" prefecture="广州市" province="广东省" 440104 county="越秀区" prefecture="广州市" province="广东省" 440105 county="海珠区" prefecture="广州市" province="广东省" 440106 county="天河区" prefecture="广州市" province="广东省" 440107 county="芳村区" prefecture="广州市" province="广东省" 440111 county="白云区" prefecture="广州市" province="广东省" 440112 county="黄埔区" prefecture="广州市" province="广东省" 440113 county="番禺区" prefecture="广州市" province="广东省" 440114 county="花都区" prefecture="广州市" province="广东省" 440115 county="南沙区" prefecture="广州市" province="广东省" 440116 county="萝岗区" prefecture="广州市" province="广东省" 440117 county="从化区" prefecture="广州市" province="广东省" 440118 county="增城区" prefecture="广州市" province="广东省" 440183 county="增城市" prefecture="广州市" province="广东省" 440184 county="从化市" prefecture="广州市" province="广东省" 440201 county="市辖区" prefecture="韶关市" province="广东省" 440202 county="北江区" prefecture="韶关市" province="广东省" 440203 county="武江区" prefecture="韶关市" province="广东省" 440204 county="浈江区" prefecture="韶关市" province="广东省" 440205 county="曲江区" prefecture="韶关市" province="广东省" 440221 county="曲江县" prefecture="韶关市" province="广东省" 440222 county="始兴县" prefecture="韶关市" province="广东省" 440224 county="仁化县" prefecture="韶关市" province="广东省" 440229 county="翁源县" prefecture="韶关市" province="广东省" 440232 county="乳源瑶族自治县" prefecture="韶关市" province="广东省" 440233 county="新丰县" prefecture="韶关市" province="广东省" 440281 county="乐昌市" prefecture="韶关市" province="广东省" 440282 county="南雄市" prefecture="韶关市" province="广东省" 440301 county="市辖区" prefecture="深圳市" province="广东省" 440303 county="罗湖区" prefecture="深圳市" province="广东省" 440304 county="福田区" prefecture="深圳市" province="广东省" 440305 county="南山区" prefecture="深圳市" province="广东省" 440306 county="宝安区" prefecture="深圳市" province="广东省" 440307 county="龙岗区" prefecture="深圳市" province="广东省" 440308 county="盐田区" prefecture="深圳市" province="广东省" 440401 county="市辖区" prefecture="珠海市" province="广东省" 440402 county="香洲区" prefecture="珠海市" province="广东省" 440403 county="斗门区" prefecture="珠海市" province="广东省" 440404 county="金湾区" prefecture="珠海市" province="广东省" 440501 county="市辖区" prefecture="汕头市" province="广东省" 440506 county="达濠区" prefecture="汕头市" province="广东省" 440507 county="龙湖区" prefecture="汕头市" province="广东省" 440508 county="金园区" prefecture="汕头市" province="广东省" 440509 county="升平区" prefecture="汕头市" province="广东省" 440510 county="河浦区" prefecture="汕头市" province="广东省" 440511 county="金平区" prefecture="汕头市" province="广东省" 440512 county="濠江区" prefecture="汕头市" province="广东省" 440513 county="潮阳区" prefecture="汕头市" province="广东省" 440514 county="潮南区" prefecture="汕头市" province="广东省" 440515 county="澄海区" prefecture="汕头市" province="广东省" 440523 county="南澳县" prefecture="汕头市" province="广东省" 440582 county="潮阳市" prefecture="汕头市" province="广东省" 440583 county="澄海市" prefecture="汕头市" province="广东省" 440601 county="市辖区" prefecture="佛山市" province="广东省" 440604 county="禅城区" prefecture="佛山市" province="广东省" 440605 county="南海区" prefecture="佛山市" province="广东省" 440606 county="顺德区" prefecture="佛山市" province="广东省" 440607 county="三水区" prefecture="佛山市" province="广东省" 440608 county="高明区" prefecture="佛山市" province="广东省" 440701 county="市辖区" prefecture="江门市" province="广东省" 440703 county="蓬江区" prefecture="江门市" province="广东省" 440704 county="江海区" prefecture="江门市" province="广东省" 440705 county="新会区" prefecture="江门市" province="广东省" 440781 county="台山市" prefecture="江门市" province="广东省" 440783 county="开平市" prefecture="江门市" province="广东省" 440784 county="鹤山市" prefecture="江门市" province="广东省" 440785 county="恩平市" prefecture="江门市" province="广东省" 440801 county="市辖区" prefecture="湛江市" province="广东省" 440802 county="赤坎区" prefecture="湛江市" province="广东省" 440803 county="霞山区" prefecture="湛江市" province="广东省" 440804 county="坡头区" prefecture="湛江市" province="广东省" 440811 county="麻章区" prefecture="湛江市" province="广东省" 440823 county="遂溪县" prefecture="湛江市" province="广东省" 440825 county="徐闻县" prefecture="湛江市" province="广东省" 440881 county="廉江市" prefecture="湛江市" province="广东省" 440882 county="雷州市" prefecture="湛江市" province="广东省" 440883 county="吴川市" prefecture="湛江市" province="广东省" 440901 county="市辖区" prefecture="茂名市" province="广东省" 440902 county="茂南区" prefecture="茂名市" province="广东省" 440903 county="茂港区" prefecture="茂名市" province="广东省" 440904 county="电白区" prefecture="茂名市" province="广东省" 440923 county="电白县" prefecture="茂名市" province="广东省" 440981 county="高州市" prefecture="茂名市" province="广东省" 440982 county="化州市" prefecture="茂名市" province="广东省" 440983 county="信宜市" prefecture="茂名市" province="广东省" 441201 county="市辖区" prefecture="肇庆市" province="广东省" 441202 county="端州区" prefecture="肇庆市" province="广东省" 441203 county="鼎湖区" prefecture="肇庆市" province="广东省" 441223 county="广宁县" prefecture="肇庆市" province="广东省" 441224 county="怀集县" prefecture="肇庆市" province="广东省" 441225 county="封开县" prefecture="肇庆市" province="广东省" 441226 county="德庆县" prefecture="肇庆市" province="广东省" 441283 county="高要市" prefecture="肇庆市" province="广东省" 441284 county="四会市" prefecture="肇庆市" province="广东省" 441301 county="市辖区" prefecture="惠州市" province="广东省" 441302 county="惠城区" prefecture="惠州市" province="广东省" 441303 county="惠阳区" prefecture="惠州市" province="广东省" 441322 county="博罗县" prefecture="惠州市" province="广东省" 441323 county="惠东县" prefecture="惠州市" province="广东省" 441324 county="龙门县" prefecture="惠州市" province="广东省" 441381 county="惠阳市" prefecture="惠州市" province="广东省" 441401 county="市辖区" prefecture="梅州市" province="广东省" 441402 county="梅江区" prefecture="梅州市" province="广东省" 441403 county="梅县区" prefecture="梅州市" province="广东省" 441421 county="梅县" prefecture="梅州市" province="广东省" 441422 county="大埔县" prefecture="梅州市" province="广东省" 441423 county="丰顺县" prefecture="梅州市" province="广东省" 441424 county="五华县" prefecture="梅州市" province="广东省" 441426 county="平远县" prefecture="梅州市" province="广东省" 441427 county="蕉岭县" prefecture="梅州市" province="广东省" 441481 county="兴宁市" prefecture="梅州市" province="广东省" 441501 county="市辖区" prefecture="汕尾市" province="广东省" 441502 county="城区" prefecture="汕尾市" province="广东省" 441521 county="海丰县" prefecture="汕尾市" province="广东省" 441523 county="陆河县" prefecture="汕尾市" province="广东省" 441581 county="陆丰市" prefecture="汕尾市" province="广东省" 441601 county="市辖区" prefecture="河源市" province="广东省" 441602 county="源城区" prefecture="河源市" province="广东省" 441621 county="紫金县" prefecture="河源市" province="广东省" 441622 county="龙川县" prefecture="河源市" province="广东省" 441623 county="连平县" prefecture="河源市" province="广东省" 441624 county="和平县" prefecture="河源市" province="广东省" 441625 county="东源县" prefecture="河源市" province="广东省" 441701 county="市辖区" prefecture="阳江市" province="广东省" 441702 county="江城区" prefecture="阳江市" province="广东省" 441721 county="阳西县" prefecture="阳江市" province="广东省" 441723 county="阳东县" prefecture="阳江市" province="广东省" 441781 county="阳春市" prefecture="阳江市" province="广东省" 441801 county="市辖区" prefecture="清远市" province="广东省" 441802 county="清城区" prefecture="清远市" province="广东省" 441803 county="清新区" prefecture="清远市" province="广东省" 441821 county="佛冈县" prefecture="清远市" province="广东省" 441823 county="阳山县" prefecture="清远市" province="广东省" 441825 county="连山壮族瑶族自治县" prefecture="清远市" province="广东省" 441826 county="连南瑶族自治县" prefecture="清远市" province="广东省" 441827 county="清新县" prefecture="清远市" province="广东省" 441881 county="英德市" prefecture="清远市" province="广东省" 441882 county="连州市" prefecture="清远市" province="广东省" 445101 county="市辖区" prefecture="潮州市" province="广东省" 445102 county="湘桥区" prefecture="潮州市" province="广东省" 445103 county="潮安区" prefecture="潮州市" province="广东省" 445121 county="潮安县" prefecture="潮州市" province="广东省" 445122 county="饶平县" prefecture="潮州市" province="广东省" 445201 county="市辖区" prefecture="揭阳市" province="广东省" 445202 county="榕城区" prefecture="揭阳市" province="广东省" 445203 county="揭东区" prefecture="揭阳市" province="广东省" 445221 county="揭东县" prefecture="揭阳市" province="广东省" 445222 county="揭西县" prefecture="揭阳市" province="广东省" 445224 county="惠来县" prefecture="揭阳市" province="广东省" 445281 county="普宁市" prefecture="揭阳市" province="广东省" 445301 county="市辖区" prefecture="云浮市" province="广东省" 445302 county="云城区" prefecture="云浮市" province="广东省" 445303 county="云安区" prefecture="云浮市" province="广东省" 445321 county="新兴县" prefecture="云浮市" province="广东省" 445322 county="郁南县" prefecture="云浮市" province="广东省" 445323 county="云安县" prefecture="云浮市" province="广东省" 445381 county="罗定市" prefecture="云浮市" province="广东省" 450101 county="市辖区" prefecture="南宁市" province="广西壮族自治区" 450102 county="兴宁区" prefecture="南宁市" province="广西壮族自治区" 450103 county="青秀区" prefecture="南宁市" province="广西壮族自治区" 450104 county="城北区" prefecture="南宁市" province="广西壮族自治区" 450105 county="江南区" prefecture="南宁市" province="广西壮族自治区" 450106 county="永新区" prefecture="南宁市" province="广西壮族自治区" 450107 county="西乡塘区" prefecture="南宁市" province="广西壮族自治区" 450108 county="良庆区" prefecture="南宁市" province="广西壮族自治区" 450109 county="邕宁区" prefecture="南宁市" province="广西壮族自治区" 450121 county="邕宁县" prefecture="南宁市" province="广西壮族自治区" 450122 county="武鸣县" prefecture="南宁市" province="广西壮族自治区" 450123 county="隆安县" prefecture="南宁市" province="广西壮族自治区" 450124 county="马山县" prefecture="南宁市" province="广西壮族自治区" 450125 county="上林县" prefecture="南宁市" province="广西壮族自治区" 450126 county="宾阳县" prefecture="南宁市" province="广西壮族自治区" 450127 county="横县" prefecture="南宁市" province="广西壮族自治区" 450201 county="市辖区" prefecture="柳州市" province="广西壮族自治区" 450202 county="城中区" prefecture="柳州市" province="广西壮族自治区" 450203 county="鱼峰区" prefecture="柳州市" province="广西壮族自治区" 450204 county="柳南区" prefecture="柳州市" province="广西壮族自治区" 450205 county="柳北区" prefecture="柳州市" province="广西壮族自治区" 450221 county="柳江县" prefecture="柳州市" province="广西壮族自治区" 450222 county="柳城县" prefecture="柳州市" province="广西壮族自治区" 450223 county="鹿寨县" prefecture="柳州市" province="广西壮族自治区" 450224 county="融安县" prefecture="柳州市" province="广西壮族自治区" 450225 county="融水苗族自治县" prefecture="柳州市" province="广西壮族自治区" 450226 county="三江侗族自治县" prefecture="柳州市" province="广西壮族自治区" 450301 county="市辖区" prefecture="桂林市" province="广西壮族自治区" 450302 county="秀峰区" prefecture="桂林市" province="广西壮族自治区" 450303 county="叠彩区" prefecture="桂林市" province="广西壮族自治区" 450304 county="象山区" prefecture="桂林市" province="广西壮族自治区" 450305 county="七星区" prefecture="桂林市" province="广西壮族自治区" 450311 county="雁山区" prefecture="桂林市" province="广西壮族自治区" 450312 county="临桂区" prefecture="桂林市" province="广西壮族自治区" 450321 county="阳朔县" prefecture="桂林市" province="广西壮族自治区" 450322 county="临桂县" prefecture="桂林市" province="广西壮族自治区" 450323 county="灵川县" prefecture="桂林市" province="广西壮族自治区" 450324 county="全州县" prefecture="桂林市" province="广西壮族自治区" 450325 county="兴安县" prefecture="桂林市" province="广西壮族自治区" 450326 county="永福县" prefecture="桂林市" province="广西壮族自治区" 450327 county="灌阳县" prefecture="桂林市" province="广西壮族自治区" 450328 county="龙胜各族自治县" prefecture="桂林市" province="广西壮族自治区" 450329 county="资源县" prefecture="桂林市" province="广西壮族自治区" 450330 county="平乐县" prefecture="桂林市" province="广西壮族自治区" 450331 county="荔浦县" prefecture="桂林市" province="广西壮族自治区" 450332 county="恭城瑶族自治县" prefecture="桂林市" province="广西壮族自治区" 450401 county="市辖区" prefecture="梧州市" province="广西壮族自治区" 450403 county="万秀区" prefecture="梧州市" province="广西壮族自治区" 450404 county="蝶山区" prefecture="梧州市" province="广西壮族自治区" 450405 county="长洲区" prefecture="梧州市" province="广西壮族自治区" 450406 county="龙圩区" prefecture="梧州市" province="广西壮族自治区" 450411 county="市郊区" prefecture="梧州市" province="广西壮族自治区" 450421 county="苍梧县" prefecture="梧州市" province="广西壮族自治区" 450422 county="藤县" prefecture="梧州市" province="广西壮族自治区" 450423 county="蒙山县" prefecture="梧州市" province="广西壮族自治区" 450481 county="岑溪市" prefecture="梧州市" province="广西壮族自治区" 450501 county="市辖区" prefecture="北海市" province="广西壮族自治区" 450502 county="海城区" prefecture="北海市" province="广西壮族自治区" 450503 county="银海区" prefecture="北海市" province="广西壮族自治区" 450512 county="铁山港区" prefecture="北海市" province="广西壮族自治区" 450521 county="合浦县" prefecture="北海市" province="广西壮族自治区" 450601 county="市辖区" prefecture="防城港市" province="广西壮族自治区" 450602 county="港口区" prefecture="防城港市" province="广西壮族自治区" 450603 county="防城区" prefecture="防城港市" province="广西壮族自治区" 450621 county="上思县" prefecture="防城港市" province="广西壮族自治区" 450681 county="东兴市" prefecture="防城港市" province="广西壮族自治区" 450701 county="市辖区" prefecture="钦州市" province="广西壮族自治区" 450702 county="钦南区" prefecture="钦州市" province="广西壮族自治区" 450703 county="钦北区" prefecture="钦州市" province="广西壮族自治区" 450721 county="灵山县" prefecture="钦州市" province="广西壮族自治区" 450722 county="浦北县" prefecture="钦州市" province="广西壮族自治区" 450801 county="市辖区" prefecture="贵港市" province="广西壮族自治区" 450802 county="港北区" prefecture="贵港市" province="广西壮族自治区" 450803 county="港南区" prefecture="贵港市" province="广西壮族自治区" 450804 county="覃塘区" prefecture="贵港市" province="广西壮族自治区" 450821 county="平南县" prefecture="贵港市" province="广西壮族自治区" 450881 county="桂平市" prefecture="贵港市" province="广西壮族自治区" 450901 county="市辖区" prefecture="玉林市" province="广西壮族自治区" 450902 county="玉州区" prefecture="玉林市" province="广西壮族自治区" 450903 county="福绵区" prefecture="玉林市" province="广西壮族自治区" 450921 county="容县" prefecture="玉林市" province="广西壮族自治区" 450922 county="陆川县" prefecture="玉林市" province="广西壮族自治区" 450923 county="博白县" prefecture="玉林市" province="广西壮族自治区" 450924 county="兴业县" prefecture="玉林市" province="广西壮族自治区" 450981 county="北流市" prefecture="玉林市" province="广西壮族自治区" 451001 county="市辖区" prefecture="百色市" province="广西壮族自治区" 451002 county="右江区" prefecture="百色市" province="广西壮族自治区" 451021 county="田阳县" prefecture="百色市" province="广西壮族自治区" 451022 county="田东县" prefecture="百色市" province="广西壮族自治区" 451023 county="平果县" prefecture="百色市" province="广西壮族自治区" 451024 county="德保县" prefecture="百色市" province="广西壮族自治区" 451025 county="靖西县" prefecture="百色市" province="广西壮族自治区" 451026 county="那坡县" prefecture="百色市" province="广西壮族自治区" 451027 county="凌云县" prefecture="百色市" province="广西壮族自治区" 451028 county="乐业县" prefecture="百色市" province="广西壮族自治区" 451029 county="田林县" prefecture="百色市" province="广西壮族自治区" 451030 county="西林县" prefecture="百色市" province="广西壮族自治区" 451031 county="隆林各族自治县" prefecture="百色市" province="广西壮族自治区" 451101 county="市辖区" prefecture="贺州市" province="广西壮族自治区" 451102 county="八步区" prefecture="贺州市" province="广西壮族自治区" 451121 county="昭平县" prefecture="贺州市" province="广西壮族自治区" 451122 county="钟山县" prefecture="贺州市" province="广西壮族自治区" 451123 county="富川瑶族自治县" prefecture="贺州市" province="广西壮族自治区" 451201 county="市辖区" prefecture="河池市" province="广西壮族自治区" 451202 county="金城江区" prefecture="河池市" province="广西壮族自治区" 451221 county="南丹县" prefecture="河池市" province="广西壮族自治区" 451222 county="天峨县" prefecture="河池市" province="广西壮族自治区" 451223 county="凤山县" prefecture="河池市" province="广西壮族自治区" 451224 county="东兰县" prefecture="河池市" province="广西壮族自治区" 451225 county="罗城仫佬族自治县" prefecture="河池市" province="广西壮族自治区" 451226 county="环江毛南族自治县" prefecture="河池市" province="广西壮族自治区" 451227 county="巴马瑶族自治县" prefecture="河池市" province="广西壮族自治区" 451228 county="都安瑶族自治县" prefecture="河池市" province="广西壮族自治区" 451229 county="大化瑶族自治县" prefecture="河池市" province="广西壮族自治区" 451281 county="宜州市" prefecture="河池市" province="广西壮族自治区" 451301 county="市辖区" prefecture="来宾市" province="广西壮族自治区" 451302 county="兴宾区" prefecture="来宾市" province="广西壮族自治区" 451321 county="忻城县" prefecture="来宾市" province="广西壮族自治区" 451322 county="象州县" prefecture="来宾市" province="广西壮族自治区" 451323 county="武宣县" prefecture="来宾市" province="广西壮族自治区" 451324 county="金秀瑶族自治县" prefecture="来宾市" province="广西壮族自治区" 451381 county="合山市" prefecture="来宾市" province="广西壮族自治区" 451401 county="市辖区" prefecture="崇左市" province="广西壮族自治区" 451402 county="江州区" prefecture="崇左市" province="广西壮族自治区" 451421 county="扶绥县" prefecture="崇左市" province="广西壮族自治区" 451422 county="宁明县" prefecture="崇左市" province="广西壮族自治区" 451423 county="龙州县" prefecture="崇左市" province="广西壮族自治区" 451424 county="大新县" prefecture="崇左市" province="广西壮族自治区" 451425 county="天等县" prefecture="崇左市" province="广西壮族自治区" 451481 county="凭祥市" prefecture="崇左市" province="广西壮族自治区" 460101 county="市辖区" prefecture="海口市" province="海南省" 460105 county="秀英区" prefecture="海口市" province="海南省" 460106 county="龙华区" prefecture="海口市" province="海南省" 460107 county="琼山区" prefecture="海口市" province="海南省" 460108 county="美兰区" prefecture="海口市" province="海南省" 460201 county="市辖区" prefecture="三亚市" province="海南省" 460202 county="海棠区" prefecture="三亚市" province="海南省" 460203 county="吉阳区" prefecture="三亚市" province="海南省" 460204 county="天涯区" prefecture="三亚市" province="海南省" 460205 county="崖州区" prefecture="三亚市" province="海南省" 460321 county="西沙群岛" prefecture="三沙市" province="海南省" 460322 county="南沙群岛" prefecture="三沙市" province="海南省" 460323 county="中沙群岛的岛礁及其海域" prefecture="三沙市" province="海南省" 469001 county="五指山市" prefecture="省直辖县级行政区划" province="海南省" 469002 county="琼海市" prefecture="省直辖县级行政区划" province="海南省" 469003 county="儋州市" prefecture="省直辖县级行政区划" province="海南省" 469005 county="文昌市" prefecture="省直辖县级行政区划" province="海南省" 469006 county="万宁市" prefecture="省直辖县级行政区划" province="海南省" 469007 county="东方市" prefecture="省直辖县级行政区划" province="海南省" 469021 county="定安县" prefecture="省直辖县级行政区划" province="海南省" 469022 county="屯昌县" prefecture="省直辖县级行政区划" province="海南省" 469023 county="澄迈县" prefecture="省直辖县级行政区划" province="海南省" 469024 county="临高县" prefecture="省直辖县级行政区划" province="海南省" 469025 county="白沙黎族自治县" prefecture="省直辖县级行政区划" province="海南省" 469026 county="昌江黎族自治县" prefecture="省直辖县级行政区划" province="海南省" 469027 county="乐东黎族自治县" prefecture="省直辖县级行政区划" province="海南省" 469028 county="陵水黎族自治县" prefecture="省直辖县级行政区划" province="海南省" 469029 county="保亭黎族苗族自治县" prefecture="省直辖县级行政区划" province="海南省" 469030 county="琼中黎族苗族自治县" prefecture="省直辖县级行政区划" province="海南省" 469031 county="西沙群岛" prefecture="省直辖县级行政区划" province="海南省" 469032 county="南沙群岛" prefecture="省直辖县级行政区划" province="海南省" 469033 county="中沙群岛的岛礁及其海域" prefecture="省直辖县级行政区划" province="海南省" 469034 county="陵水黎族自治县" prefecture="省直辖县级行政区划" province="海南省" 469035 county="保亭黎族苗族自治县" prefecture="省直辖县级行政区划" province="海南省" 469036 county="琼中黎族苗族自治县" prefecture="省直辖县级行政区划" province="海南省" 469037 county="西沙群岛" prefecture="省直辖县级行政区划" province="海南省" 469038 county="南沙群岛" prefecture="省直辖县级行政区划" province="海南省" 469039 county="中沙群岛的岛礁及其海域" prefecture="省直辖县级行政区划" province="海南省" 500101 county="万州区" prefecture="市辖区" province="重庆市" 500102 county="涪陵区" prefecture="市辖区" province="重庆市" 500103 county="渝中区" prefecture="市辖区" province="重庆市" 500104 county="大渡口区" prefecture="市辖区" province="重庆市" 500105 county="江北区" prefecture="市辖区" province="重庆市" 500106 county="沙坪坝区" prefecture="市辖区" province="重庆市" 500107 county="九龙坡区" prefecture="市辖区" province="重庆市" 500108 county="南岸区" prefecture="市辖区" province="重庆市" 500109 county="北碚区" prefecture="市辖区" province="重庆市" 500110 county="綦江区" prefecture="市辖区" province="重庆市" 500111 county="大足区" prefecture="市辖区" province="重庆市" 500112 county="渝北区" prefecture="市辖区" province="重庆市" 500113 county="巴南区" prefecture="市辖区" province="重庆市" 500114 county="黔江区" prefecture="市辖区" province="重庆市" 500115 county="长寿区" prefecture="市辖区" province="重庆市" 500116 county="江津区" prefecture="市辖区" province="重庆市" 500117 county="合川区" prefecture="市辖区" province="重庆市" 500118 county="永川区" prefecture="市辖区" province="重庆市" 500119 county="南川区" prefecture="市辖区" province="重庆市" 500120 county="璧山区" prefecture="市辖区" province="重庆市" 500151 county="铜梁区" prefecture="市辖区" province="重庆市" 500222 county="綦江县" prefecture="县" province="重庆市" 500223 county="潼南县" prefecture="县" province="重庆市" 500224 county="铜梁县" prefecture="县" province="重庆市" 500225 county="大足县" prefecture="县" province="重庆市" 500226 county="荣昌县" prefecture="县" province="重庆市" 500227 county="璧山县" prefecture="县" province="重庆市" 500228 county="梁平县" prefecture="县" province="重庆市" 500229 county="城口县" prefecture="县" province="重庆市" 500230 county="丰都县" prefecture="县" province="重庆市" 500231 county="垫江县" prefecture="县" province="重庆市" 500232 county="武隆县" prefecture="县" province="重庆市" 500233 county="忠县" prefecture="县" province="重庆市" 500234 county="开县" prefecture="县" province="重庆市" 500235 county="云阳县" prefecture="县" province="重庆市" 500236 county="奉节县" prefecture="县" province="重庆市" 500237 county="巫山县" prefecture="县" province="重庆市" 500238 county="巫溪县" prefecture="县" province="重庆市" 500240 county="石柱土家族自治县" prefecture="县" province="重庆市" 500241 county="秀山土家族苗族自治县" prefecture="县" province="重庆市" 500242 county="酉阳土家族苗族自治县" prefecture="县" province="重庆市" 500243 county="彭水苗族土家族自治县" prefecture="县" province="重庆市" 500381 county="江津市" prefecture="市" province="重庆市" 500382 county="合川市" prefecture="市" province="重庆市" 500383 county="永川市" prefecture="市" province="重庆市" 500384 county="南川市" prefecture="市" province="重庆市" 510101 county="市辖区" prefecture="成都市" province="四川省" 510104 county="锦江区" prefecture="成都市" province="四川省" 510105 county="青羊区" prefecture="成都市" province="四川省" 510106 county="金牛区" prefecture="成都市" province="四川省" 510107 county="武侯区" prefecture="成都市" province="四川省" 510108 county="成华区" prefecture="成都市" province="四川省" 510112 county="龙泉驿区" prefecture="成都市" province="四川省" 510113 county="青白江区" prefecture="成都市" province="四川省" 510114 county="新都区" prefecture="成都市" province="四川省" 510115 county="温江区" prefecture="成都市" province="四川省" 510121 county="金堂县" prefecture="成都市" province="四川省" 510122 county="双流县" prefecture="成都市" province="四川省" 510123 county="温江县" prefecture="成都市" province="四川省" 510124 county="郫县" prefecture="成都市" province="四川省" 510129 county="大邑县" prefecture="成都市" province="四川省" 510131 county="蒲江县" prefecture="成都市" province="四川省" 510132 county="新津县" prefecture="成都市" province="四川省" 510181 county="都江堰市" prefecture="成都市" province="四川省" 510182 county="彭州市" prefecture="成都市" province="四川省" 510183 county="邛崃市" prefecture="成都市" province="四川省" 510184 county="崇州市" prefecture="成都市" province="四川省" 510301 county="市辖区" prefecture="自贡市" province="四川省" 510302 county="自流井区" prefecture="自贡市" province="四川省" 510303 county="贡井区" prefecture="自贡市" province="四川省" 510304 county="大安区" prefecture="自贡市" province="四川省" 510311 county="沿滩区" prefecture="自贡市" province="四川省" 510321 county="荣县" prefecture="自贡市" province="四川省" 510322 county="富顺县" prefecture="自贡市" province="四川省" 510401 county="市辖区" prefecture="攀枝花市" province="四川省" 510402 county="东区" prefecture="攀枝花市" province="四川省" 510403 county="西区" prefecture="攀枝花市" province="四川省" 510411 county="仁和区" prefecture="攀枝花市" province="四川省" 510421 county="米易县" prefecture="攀枝花市" province="四川省" 510422 county="盐边县" prefecture="攀枝花市" province="四川省" 510501 county="市辖区" prefecture="泸州市" province="四川省" 510502 county="江阳区" prefecture="泸州市" province="四川省" 510503 county="纳溪区" prefecture="泸州市" province="四川省" 510504 county="龙马潭区" prefecture="泸州市" province="四川省" 510521 county="泸县" prefecture="泸州市" province="四川省" 510522 county="合江县" prefecture="泸州市" province="四川省" 510524 county="叙永县" prefecture="泸州市" province="四川省" 510525 county="古蔺县" prefecture="泸州市" province="四川省" 510601 county="市辖区" prefecture="德阳市" province="四川省" 510603 county="旌阳区" prefecture="德阳市" province="四川省" 510623 county="中江县" prefecture="德阳市" province="四川省" 510626 county="罗江县" prefecture="德阳市" province="四川省" 510681 county="广汉市" prefecture="德阳市" province="四川省" 510682 county="什邡市" prefecture="德阳市" province="四川省" 510683 county="绵竹市" prefecture="德阳市" province="四川省" 510701 county="市辖区" prefecture="绵阳市" province="四川省" 510703 county="涪城区" prefecture="绵阳市" province="四川省" 510704 county="游仙区" prefecture="绵阳市" province="四川省" 510722 county="三台县" prefecture="绵阳市" province="四川省" 510723 county="盐亭县" prefecture="绵阳市" province="四川省" 510724 county="安县" prefecture="绵阳市" province="四川省" 510725 county="梓潼县" prefecture="绵阳市" province="四川省" 510726 county="北川羌族自治县" prefecture="绵阳市" province="四川省" 510727 county="平武县" prefecture="绵阳市" province="四川省" 510781 county="江油市" prefecture="绵阳市" province="四川省" 510801 county="市辖区" prefecture="广元市" province="四川省" 510802 county="利州区" prefecture="广元市" province="四川省" 510811 county="昭化区" prefecture="广元市" province="四川省" 510812 county="朝天区" prefecture="广元市" province="四川省" 510821 county="旺苍县" prefecture="广元市" province="四川省" 510822 county="青川县" prefecture="广元市" province="四川省" 510823 county="剑阁县" prefecture="广元市" province="四川省" 510824 county="苍溪县" prefecture="广元市" province="四川省" 510901 county="市辖区" prefecture="遂宁市" province="四川省" 510902 county="市中区" prefecture="遂宁市" province="四川省" 510903 county="船山区" prefecture="遂宁市" province="四川省" 510904 county="安居区" prefecture="遂宁市" province="四川省" 510921 county="蓬溪县" prefecture="遂宁市" province="四川省" 510922 county="射洪县" prefecture="遂宁市" province="四川省" 510923 county="大英县" prefecture="遂宁市" province="四川省" 511001 county="市辖区" prefecture="内江市" province="四川省" 511002 county="市中区" prefecture="内江市" province="四川省" 511011 county="东兴区" prefecture="内江市" province="四川省" 511024 county="威远县" prefecture="内江市" province="四川省" 511025 county="资中县" prefecture="内江市" province="四川省" 511028 county="隆昌县" prefecture="内江市" province="四川省" 511101 county="市辖区" prefecture="乐山市" province="四川省" 511102 county="市中区" prefecture="乐山市" province="四川省" 511111 county="沙湾区" prefecture="乐山市" province="四川省" 511112 county="五通桥区" prefecture="乐山市" province="四川省" 511113 county="金口河区" prefecture="乐山市" province="四川省" 511123 county="犍为县" prefecture="乐山市" province="四川省" 511124 county="井研县" prefecture="乐山市" province="四川省" 511126 county="夹江县" prefecture="乐山市" province="四川省" 511129 county="沐川县" prefecture="乐山市" province="四川省" 511132 county="峨边彝族自治县" prefecture="乐山市" province="四川省" 511133 county="马边彝族自治县" prefecture="乐山市" province="四川省" 511181 county="峨眉山市" prefecture="乐山市" province="四川省" 511301 county="市辖区" prefecture="南充市" province="四川省" 511302 county="顺庆区" prefecture="南充市" province="四川省" 511303 county="高坪区" prefecture="南充市" province="四川省" 511304 county="嘉陵区" prefecture="南充市" province="四川省" 511321 county="南部县" prefecture="南充市" province="四川省" 511322 county="营山县" prefecture="南充市" province="四川省" 511323 county="蓬安县" prefecture="南充市" province="四川省" 511324 county="仪陇县" prefecture="南充市" province="四川省" 511325 county="西充县" prefecture="南充市" province="四川省" 511381 county="阆中市" prefecture="南充市" province="四川省" 511401 county="市辖区" prefecture="眉山市" province="四川省" 511402 county="东坡区" prefecture="眉山市" province="四川省" 511421 county="仁寿县" prefecture="眉山市" province="四川省" 511422 county="彭山县" prefecture="眉山市" province="四川省" 511423 county="洪雅县" prefecture="眉山市" province="四川省" 511424 county="丹棱县" prefecture="眉山市" province="四川省" 511425 county="青神县" prefecture="眉山市" province="四川省" 511501 county="市辖区" prefecture="宜宾市" province="四川省" 511502 county="翠屏区" prefecture="宜宾市" province="四川省" 511503 county="南溪区" prefecture="宜宾市" province="四川省" 511521 county="宜宾县" prefecture="宜宾市" province="四川省" 511522 county="南溪县" prefecture="宜宾市" province="四川省" 511523 county="江安县" prefecture="宜宾市" province="四川省" 511524 county="长宁县" prefecture="宜宾市" province="四川省" 511525 county="高县" prefecture="宜宾市" province="四川省" 511526 county="珙县" prefecture="宜宾市" province="四川省" 511527 county="筠连县" prefecture="宜宾市" province="四川省" 511528 county="兴文县" prefecture="宜宾市" province="四川省" 511529 county="屏山县" prefecture="宜宾市" province="四川省" 511601 county="市辖区" prefecture="广安市" province="四川省" 511602 county="广安区" prefecture="广安市" province="四川省" 511603 county="前锋区" prefecture="广安市" province="四川省" 511621 county="岳池县" prefecture="广安市" province="四川省" 511622 county="武胜县" prefecture="广安市" province="四川省" 511623 county="邻水县" prefecture="广安市" province="四川省" 511681 county="华蓥市" prefecture="广安市" province="四川省" 511701 county="市辖区" prefecture="达州市" province="四川省" 511702 county="通川区" prefecture="达州市" province="四川省" 511703 county="达川区" prefecture="达州市" province="四川省" 511721 county="达县" prefecture="达州市" province="四川省" 511722 county="宣汉县" prefecture="达州市" province="四川省" 511723 county="开江县" prefecture="达州市" province="四川省" 511724 county="大竹县" prefecture="达州市" province="四川省" 511725 county="渠县" prefecture="达州市" province="四川省" 511781 county="万源市" prefecture="达州市" province="四川省" 511801 county="市辖区" prefecture="雅安市" province="四川省" 511802 county="雨城区" prefecture="雅安市" province="四川省" 511803 county="名山区" prefecture="雅安市" province="四川省" 511821 county="名山县" prefecture="雅安市" province="四川省" 511822 county="荥经县" prefecture="雅安市" province="四川省" 511823 county="汉源县" prefecture="雅安市" province="四川省" 511824 county="石棉县" prefecture="雅安市" province="四川省" 511825 county="天全县" prefecture="雅安市" province="四川省" 511826 county="芦山县" prefecture="雅安市" province="四川省" 511827 county="宝兴县" prefecture="雅安市" province="四川省" 511901 county="市辖区" prefecture="巴中市" province="四川省" 511902 county="巴州区" prefecture="巴中市" province="四川省" 511903 county="恩阳区" prefecture="巴中市" province="四川省" 511921 county="通江县" prefecture="巴中市" province="四川省" 511922 county="南江县" prefecture="巴中市" province="四川省" 511923 county="平昌县" prefecture="巴中市" province="四川省" 512001 county="市辖区" prefecture="资阳市" province="四川省" 512002 county="雁江区" prefecture="资阳市" province="四川省" 512021 county="安岳县" prefecture="资阳市" province="四川省" 512022 county="乐至县" prefecture="资阳市" province="四川省" 512081 county="简阳市" prefecture="资阳市" province="四川省" 513221 county="汶川县" prefecture="阿坝藏族羌族自治州" province="四川省" 513222 county="理县" prefecture="阿坝藏族羌族自治州" province="四川省" 513223 county="茂县" prefecture="阿坝藏族羌族自治州" province="四川省" 513224 county="松潘县" prefecture="阿坝藏族羌族自治州" province="四川省" 513225 county="九寨沟县" prefecture="阿坝藏族羌族自治州" province="四川省" 513226 county="金川县" prefecture="阿坝藏族羌族自治州" province="四川省" 513227 county="小金县" prefecture="阿坝藏族羌族自治州" province="四川省" 513228 county="黑水县" prefecture="阿坝藏族羌族自治州" province="四川省" 513229 county="马尔康县" prefecture="阿坝藏族羌族自治州" province="四川省" 513230 county="壤塘县" prefecture="阿坝藏族羌族自治州" province="四川省" 513231 county="阿坝县" prefecture="阿坝藏族羌族自治州" province="四川省" 513232 county="若尔盖县" prefecture="阿坝藏族羌族自治州" province="四川省" 513233 county="红原县" prefecture="阿坝藏族羌族自治州" province="四川省" 513321 county="康定县" prefecture="甘孜藏族自治州" province="四川省" 513322 county="泸定县" prefecture="甘孜藏族自治州" province="四川省" 513323 county="丹巴县" prefecture="甘孜藏族自治州" province="四川省" 513324 county="九龙县" prefecture="甘孜藏族自治州" province="四川省" 513325 county="雅江县" prefecture="甘孜藏族自治州" province="四川省" 513326 county="道孚县" prefecture="甘孜藏族自治州" province="四川省" 513327 county="炉霍县" prefecture="甘孜藏族自治州" province="四川省" 513328 county="甘孜县" prefecture="甘孜藏族自治州" province="四川省" 513329 county="新龙县" prefecture="甘孜藏族自治州" province="四川省" 513330 county="德格县" prefecture="甘孜藏族自治州" province="四川省" 513331 county="白玉县" prefecture="甘孜藏族自治州" province="四川省" 513332 county="石渠县" prefecture="甘孜藏族自治州" province="四川省" 513333 county="色达县" prefecture="甘孜藏族自治州" province="四川省" 513334 county="理塘县" prefecture="甘孜藏族自治州" province="四川省" 513335 county="巴塘县" prefecture="甘孜藏族自治州" province="四川省" 513336 county="乡城县" prefecture="甘孜藏族自治州" province="四川省" 513337 county="稻城县" prefecture="甘孜藏族自治州" province="四川省" 513338 county="得荣县" prefecture="甘孜藏族自治州" province="四川省" 513401 county="西昌市" prefecture="凉山彝族自治州" province="四川省" 513422 county="木里藏族自治县" prefecture="凉山彝族自治州" province="四川省" 513423 county="盐源县" prefecture="凉山彝族自治州" province="四川省" 513424 county="德昌县" prefecture="凉山彝族自治州" province="四川省" 513425 county="会理县" prefecture="凉山彝族自治州" province="四川省" 513426 county="会东县" prefecture="凉山彝族自治州" province="四川省" 513427 county="宁南县" prefecture="凉山彝族自治州" province="四川省" 513428 county="普格县" prefecture="凉山彝族自治州" province="四川省" 513429 county="布拖县" prefecture="凉山彝族自治州" province="四川省" 513430 county="金阳县" prefecture="凉山彝族自治州" province="四川省" 513431 county="昭觉县" prefecture="凉山彝族自治州" province="四川省" 513432 county="喜德县" prefecture="凉山彝族自治州" province="四川省" 513433 county="冕宁县" prefecture="凉山彝族自治州" province="四川省" 513434 county="越西县" prefecture="凉山彝族自治州" province="四川省" 513435 county="甘洛县" prefecture="凉山彝族自治州" province="四川省" 513436 county="美姑县" prefecture="凉山彝族自治州" province="四川省" 513437 county="雷波县" prefecture="凉山彝族自治州" province="四川省" 520101 county="市辖区" prefecture="贵阳市" province="贵州省" 520102 county="南明区" prefecture="贵阳市" province="贵州省" 520103 county="云岩区" prefecture="贵阳市" province="贵州省" 520111 county="花溪区" prefecture="贵阳市" province="贵州省" 520112 county="乌当区" prefecture="贵阳市" province="贵州省" 520113 county="白云区" prefecture="贵阳市" province="贵州省" 520114 county="小河区" prefecture="贵阳市" province="贵州省" 520115 county="观山湖区" prefecture="贵阳市" province="贵州省" 520121 county="开阳县" prefecture="贵阳市" province="贵州省" 520122 county="息烽县" prefecture="贵阳市" province="贵州省" 520123 county="修文县" prefecture="贵阳市" province="贵州省" 520181 county="清镇市" prefecture="贵阳市" province="贵州省" 520201 county="钟山区" prefecture="六盘水市" province="贵州省" 520203 county="六枝特区" prefecture="六盘水市" province="贵州省" 520221 county="水城县" prefecture="六盘水市" province="贵州省" 520222 county="盘县" prefecture="六盘水市" province="贵州省" 520301 county="市辖区" prefecture="遵义市" province="贵州省" 520302 county="红花岗区" prefecture="遵义市" province="贵州省" 520303 county="汇川区" prefecture="遵义市" province="贵州省" 520321 county="遵义县" prefecture="遵义市" province="贵州省" 520322 county="桐梓县" prefecture="遵义市" province="贵州省" 520323 county="绥阳县" prefecture="遵义市" province="贵州省" 520324 county="正安县" prefecture="遵义市" province="贵州省" 520325 county="道真仡佬族苗族自治县" prefecture="遵义市" province="贵州省" 520326 county="务川仡佬族苗族自治县" prefecture="遵义市" province="贵州省" 520327 county="凤冈县" prefecture="遵义市" province="贵州省" 520328 county="湄潭县" prefecture="遵义市" province="贵州省" 520329 county="余庆县" prefecture="遵义市" province="贵州省" 520330 county="习水县" prefecture="遵义市" province="贵州省" 520381 county="赤水市" prefecture="遵义市" province="贵州省" 520382 county="仁怀市" prefecture="遵义市" province="贵州省" 520401 county="市辖区" prefecture="安顺市" province="贵州省" 520402 county="西秀区" prefecture="安顺市" province="贵州省" 520421 county="平坝县" prefecture="安顺市" province="贵州省" 520422 county="普定县" prefecture="安顺市" province="贵州省" 520423 county="镇宁布依族苗族自治县" prefecture="安顺市" province="贵州省" 520424 county="关岭布依族苗族自治县" prefecture="安顺市" province="贵州省" 520425 county="紫云苗族布依族自治县" prefecture="安顺市" province="贵州省" 520501 county="市辖区" prefecture="毕节市" province="贵州省" 520502 county="七星关区" prefecture="毕节市" province="贵州省" 520521 county="大方县" prefecture="毕节市" province="贵州省" 520522 county="黔西县" prefecture="毕节市" province="贵州省" 520523 county="金沙县" prefecture="毕节市" province="贵州省" 520524 county="织金县" prefecture="毕节市" province="贵州省" 520525 county="纳雍县" prefecture="毕节市" province="贵州省" 520526 county="威宁彝族回族苗族自治县" prefecture="毕节市" province="贵州省" 520527 county="赫章县" prefecture="毕节市" province="贵州省" 520601 county="市辖区" prefecture="铜仁市" province="贵州省" 520602 county="碧江区" prefecture="铜仁市" province="贵州省" 520603 county="万山区" prefecture="铜仁市" province="贵州省" 520621 county="江口县" prefecture="铜仁市" province="贵州省" 520622 county="玉屏侗族自治县" prefecture="铜仁市" province="贵州省" 520623 county="石阡县" prefecture="铜仁市" province="贵州省" 520624 county="思南县" prefecture="铜仁市" province="贵州省" 520625 county="印江土家族苗族自治县" prefecture="铜仁市" province="贵州省" 520626 county="德江县" prefecture="铜仁市" province="贵州省" 520627 county="沿河土家族自治县" prefecture="铜仁市" province="贵州省" 520628 county="松桃苗族自治县" prefecture="铜仁市" province="贵州省" 522201 county="铜仁市" prefecture="铜仁地区" province="贵州省" 522222 county="江口县" prefecture="铜仁地区" province="贵州省" 522223 county="玉屏侗族自治县" prefecture="铜仁地区" province="贵州省" 522224 county="石阡县" prefecture="铜仁地区" province="贵州省" 522225 county="思南县" prefecture="铜仁地区" province="贵州省" 522226 county="印江土家族苗族自治县" prefecture="铜仁地区" province="贵州省" 522227 county="德江县" prefecture="铜仁地区" province="贵州省" 522228 county="沿河土家族自治县" prefecture="铜仁地区" province="贵州省" 522229 county="松桃苗族自治县" prefecture="铜仁地区" province="贵州省" 522230 county="万山特区" prefecture="铜仁地区" province="贵州省" 522301 county="兴义市" prefecture="黔西南布依族苗族自治州" province="贵州省" 522322 county="兴仁县" prefecture="黔西南布依族苗族自治州" province="贵州省" 522323 county="普安县" prefecture="黔西南布依族苗族自治州" province="贵州省" 522324 county="晴隆县" prefecture="黔西南布依族苗族自治州" province="贵州省" 522325 county="贞丰县" prefecture="黔西南布依族苗族自治州" province="贵州省" 522326 county="望谟县" prefecture="黔西南布依族苗族自治州" province="贵州省" 522327 county="册亨县" prefecture="黔西南布依族苗族自治州" province="贵州省" 522328 county="安龙县" prefecture="黔西南布依族苗族自治州" province="贵州省" 522401 county="毕节市" prefecture="毕节地区" province="贵州省" 522422 county="大方县" prefecture="毕节地区" province="贵州省" 522423 county="黔西县" prefecture="毕节地区" province="贵州省" 522424 county="金沙县" prefecture="毕节地区" province="贵州省" 522425 county="织金县" prefecture="毕节地区" province="贵州省" 522426 county="纳雍县" prefecture="毕节地区" province="贵州省" 522427 county="威宁彝族回族苗族自治县" prefecture="毕节地区" province="贵州省" 522428 county="赫章县" prefecture="毕节地区" province="贵州省" 522601 county="凯里市" prefecture="黔东南苗族侗族自治州" province="贵州省" 522622 county="黄平县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522623 county="施秉县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522624 county="三穗县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522625 county="镇远县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522626 county="岑巩县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522627 county="天柱县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522628 county="锦屏县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522629 county="剑河县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522630 county="台江县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522631 county="黎平县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522632 county="榕江县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522633 county="从江县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522634 county="雷山县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522635 county="麻江县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522636 county="丹寨县" prefecture="黔东南苗族侗族自治州" province="贵州省" 522701 county="都匀市" prefecture="黔南布依族苗族自治州" province="贵州省" 522702 county="福泉市" prefecture="黔南布依族苗族自治州" province="贵州省" 522722 county="荔波县" prefecture="黔南布依族苗族自治州" province="贵州省" 522723 county="贵定县" prefecture="黔南布依族苗族自治州" province="贵州省" 522725 county="瓮安县" prefecture="黔南布依族苗族自治州" province="贵州省" 522726 county="独山县" prefecture="黔南布依族苗族自治州" province="贵州省" 522727 county="平塘县" prefecture="黔南布依族苗族自治州" province="贵州省" 522728 county="罗甸县" prefecture="黔南布依族苗族自治州" province="贵州省" 522729 county="长顺县" prefecture="黔南布依族苗族自治州" province="贵州省" 522730 county="龙里县" prefecture="黔南布依族苗族自治州" province="贵州省" 522731 county="惠水县" prefecture="黔南布依族苗族自治州" province="贵州省" 522732 county="三都水族自治县" prefecture="黔南布依族苗族自治州" province="贵州省" 530101 county="市辖区" prefecture="昆明市" province="云南省" 530102 county="五华区" prefecture="昆明市" province="云南省" 530103 county="盘龙区" prefecture="昆明市" province="云南省" 530111 county="官渡区" prefecture="昆明市" province="云南省" 530112 county="西山区" prefecture="昆明市" province="云南省" 530113 county="东川区" prefecture="昆明市" province="云南省" 530114 county="呈贡区" prefecture="昆明市" province="云南省" 530121 county="呈贡县" prefecture="昆明市" province="云南省" 530122 county="晋宁县" prefecture="昆明市" province="云南省" 530124 county="富民县" prefecture="昆明市" province="云南省" 530125 county="宜良县" prefecture="昆明市" province="云南省" 530126 county="石林彝族自治县" prefecture="昆明市" province="云南省" 530127 county="嵩明县" prefecture="昆明市" province="云南省" 530128 county="禄劝彝族苗族自治县" prefecture="昆明市" province="云南省" 530129 county="寻甸回族彝族自治县" prefecture="昆明市" province="云南省" 530181 county="安宁市" prefecture="昆明市" province="云南省" 530301 county="市辖区" prefecture="曲靖市" province="云南省" 530302 county="麒麟区" prefecture="曲靖市" province="云南省" 530321 county="马龙县" prefecture="曲靖市" province="云南省" 530322 county="陆良县" prefecture="曲靖市" province="云南省" 530323 county="师宗县" prefecture="曲靖市" province="云南省" 530324 county="罗平县" prefecture="曲靖市" province="云南省" 530325 county="富源县" prefecture="曲靖市" province="云南省" 530326 county="会泽县" prefecture="曲靖市" province="云南省" 530328 county="沾益县" prefecture="曲靖市" province="云南省" 530381 county="宣威市" prefecture="曲靖市" province="云南省" 530401 county="市辖区" prefecture="玉溪市" province="云南省" 530402 county="红塔区" prefecture="玉溪市" province="云南省" 530421 county="江川县" prefecture="玉溪市" province="云南省" 530422 county="澄江县" prefecture="玉溪市" province="云南省" 530423 county="通海县" prefecture="玉溪市" province="云南省" 530424 county="华宁县" prefecture="玉溪市" province="云南省" 530425 county="易门县" prefecture="玉溪市" province="云南省" 530426 county="峨山彝族自治县" prefecture="玉溪市" province="云南省" 530427 county="新平彝族傣族自治县" prefecture="玉溪市" province="云南省" 530428 county="元江哈尼族彝族傣族自治县" prefecture="玉溪市" province="云南省" 530501 county="市辖区" prefecture="保山市" province="云南省" 530502 county="隆阳区" prefecture="保山市" province="云南省" 530521 county="施甸县" prefecture="保山市" province="云南省" 530522 county="腾冲县" prefecture="保山市" province="云南省" 530523 county="龙陵县" prefecture="保山市" province="云南省" 530524 county="昌宁县" prefecture="保山市" province="云南省" 530601 county="市辖区" prefecture="昭通市" province="云南省" 530602 county="昭阳区" prefecture="昭通市" province="云南省" 530621 county="鲁甸县" prefecture="昭通市" province="云南省" 530622 county="巧家县" prefecture="昭通市" province="云南省" 530623 county="盐津县" prefecture="昭通市" province="云南省" 530624 county="大关县" prefecture="昭通市" province="云南省" 530625 county="永善县" prefecture="昭通市" province="云南省" 530626 county="绥江县" prefecture="昭通市" province="云南省" 530627 county="镇雄县" prefecture="昭通市" province="云南省" 530628 county="彝良县" prefecture="昭通市" province="云南省" 530629 county="威信县" prefecture="昭通市" province="云南省" 530630 county="水富县" prefecture="昭通市" province="云南省" 530701 county="市辖区" prefecture="丽江市" province="云南省" 530702 county="古城区" prefecture="丽江市" province="云南省" 530721 county="玉龙纳西族自治县" prefecture="丽江市" province="云南省" 530722 county="永胜县" prefecture="丽江市" province="云南省" 530723 county="华坪县" prefecture="丽江市" province="云南省" 530724 county="宁蒗彝族自治县" prefecture="丽江市" province="云南省" 530801 county="市辖区" prefecture="普洱市" province="云南省" 530802 county="思茅区" prefecture="普洱市" province="云南省" 530821 county="宁洱哈尼族彝族自治县" prefecture="普洱市" province="云南省" 530822 county="墨江哈尼族自治县" prefecture="普洱市" province="云南省" 530823 county="景东彝族自治县" prefecture="普洱市" province="云南省" 530824 county="景谷傣族彝族自治县" prefecture="普洱市" province="云南省" 530825 county="镇沅彝族哈尼族拉祜族自治县" prefecture="普洱市" province="云南省" 530826 county="江城哈尼族彝族自治县" prefecture="普洱市" province="云南省" 530827 county="孟连傣族拉祜族佤族自治县" prefecture="普洱市" province="云南省" 530828 county="澜沧拉祜族自治县" prefecture="普洱市" province="云南省" 530829 county="西盟佤族自治县" prefecture="普洱市" province="云南省" 530901 county="市辖区" prefecture="临沧市" province="云南省" 530902 county="临翔区" prefecture="临沧市" province="云南省" 530921 county="凤庆县" prefecture="临沧市" province="云南省" 530922 county="云县" prefecture="临沧市" province="云南省" 530923 county="永德县" prefecture="临沧市" province="云南省" 530924 county="镇康县" prefecture="临沧市" province="云南省" 530925 county="双江拉祜族佤族布朗族傣族自治县" prefecture="临沧市" province="云南省" 530926 county="耿马傣族佤族自治县" prefecture="临沧市" province="云南省" 530927 county="沧源佤族自治县" prefecture="临沧市" province="云南省" 532301 county="楚雄市" prefecture="楚雄彝族自治州" province="云南省" 532322 county="双柏县" prefecture="楚雄彝族自治州" province="云南省" 532323 county="牟定县" prefecture="楚雄彝族自治州" province="云南省" 532324 county="南华县" prefecture="楚雄彝族自治州" province="云南省" 532325 county="姚安县" prefecture="楚雄彝族自治州" province="云南省" 532326 county="大姚县" prefecture="楚雄彝族自治州" province="云南省" 532327 county="永仁县" prefecture="楚雄彝族自治州" province="云南省" 532328 county="元谋县" prefecture="楚雄彝族自治州" province="云南省" 532329 county="武定县" prefecture="楚雄彝族自治州" province="云南省" 532331 county="禄丰县" prefecture="楚雄彝族自治州" province="云南省" 532501 county="个旧市" prefecture="红河哈尼族彝族自治州" province="云南省" 532502 county="开远市" prefecture="红河哈尼族彝族自治州" province="云南省" 532503 county="蒙自市" prefecture="红河哈尼族彝族自治州" province="云南省" 532504 county="弥勒市" prefecture="红河哈尼族彝族自治州" province="云南省" 532522 county="蒙自县" prefecture="红河哈尼族彝族自治州" province="云南省" 532523 county="屏边苗族自治县" prefecture="红河哈尼族彝族自治州" province="云南省" 532524 county="建水县" prefecture="红河哈尼族彝族自治州" province="云南省" 532525 county="石屏县" prefecture="红河哈尼族彝族自治州" province="云南省" 532526 county="弥勒县" prefecture="红河哈尼族彝族自治州" province="云南省" 532527 county="泸西县" prefecture="红河哈尼族彝族自治州" province="云南省" 532528 county="元阳县" prefecture="红河哈尼族彝族自治州" province="云南省" 532529 county="红河县" prefecture="红河哈尼族彝族自治州" province="云南省" 532530 county="金平苗族瑶族傣族自治县" prefecture="红河哈尼族彝族自治州" province="云南省" 532531 county="绿春县" prefecture="红河哈尼族彝族自治州" province="云南省" 532532 county="河口瑶族自治县" prefecture="红河哈尼族彝族自治州" province="云南省" 532601 county="文山市" prefecture="文山壮族苗族自治州" province="云南省" 532621 county="文山县" prefecture="文山壮族苗族自治州" province="云南省" 532622 county="砚山县" prefecture="文山壮族苗族自治州" province="云南省" 532623 county="西畴县" prefecture="文山壮族苗族自治州" province="云南省" 532624 county="麻栗坡县" prefecture="文山壮族苗族自治州" province="云南省" 532625 county="马关县" prefecture="文山壮族苗族自治州" province="云南省" 532626 county="丘北县" prefecture="文山壮族苗族自治州" province="云南省" 532627 county="广南县" prefecture="文山壮族苗族自治州" province="云南省" 532628 county="富宁县" prefecture="文山壮族苗族自治州" province="云南省" 532701 county="思茅市" prefecture="思茅地区" province="云南省" 532722 county="普洱哈尼族彝族自治县" prefecture="思茅地区" province="云南省" 532723 county="墨江哈尼族自治县" prefecture="思茅地区" province="云南省" 532724 county="景东彝族自治县" prefecture="思茅地区" province="云南省" 532725 county="景谷傣族彝族自治县" prefecture="思茅地区" province="云南省" 532726 county="镇沅彝族哈尼族拉祜族自治县" prefecture="思茅地区" province="云南省" 532727 county="江城哈尼族彝族自治县" prefecture="思茅地区" province="云南省" 532728 county="孟连傣族拉祜族佤族自治县" prefecture="思茅地区" province="云南省" 532729 county="澜沧拉祜族自治县" prefecture="思茅地区" province="云南省" 532730 county="西盟佤族自治县" prefecture="思茅地区" province="云南省" 532801 county="景洪市" prefecture="西双版纳傣族自治州" province="云南省" 532822 county="勐海县" prefecture="西双版纳傣族自治州" province="云南省" 532823 county="勐腊县" prefecture="西双版纳傣族自治州" province="云南省" 532901 county="大理市" prefecture="大理白族自治州" province="云南省" 532922 county="漾濞彝族自治县" prefecture="大理白族自治州" province="云南省" 532923 county="祥云县" prefecture="大理白族自治州" province="云南省" 532924 county="宾川县" prefecture="大理白族自治州" province="云南省" 532925 county="弥渡县" prefecture="大理白族自治州" province="云南省" 532926 county="南涧彝族自治县" prefecture="大理白族自治州" province="云南省" 532927 county="巍山彝族回族自治县" prefecture="大理白族自治州" province="云南省" 532928 county="永平县" prefecture="大理白族自治州" province="云南省" 532929 county="云龙县" prefecture="大理白族自治州" province="云南省" 532930 county="洱源县" prefecture="大理白族自治州" province="云南省" 532931 county="剑川县" prefecture="大理白族自治州" province="云南省" 532932 county="鹤庆县" prefecture="大理白族自治州" province="云南省" 533102 county="瑞丽市" prefecture="德宏傣族景颇族自治州" province="云南省" 533103 county="芒市" prefecture="德宏傣族景颇族自治州" province="云南省" 533122 county="梁河县" prefecture="德宏傣族景颇族自治州" province="云南省" 533123 county="盈江县" prefecture="德宏傣族景颇族自治州" province="云南省" 533124 county="陇川县" prefecture="德宏傣族景颇族自治州" province="云南省" 533321 county="泸水县" prefecture="怒江傈僳族自治州" province="云南省" 533323 county="福贡县" prefecture="怒江傈僳族自治州" province="云南省" 533324 county="贡山独龙族怒族自治县" prefecture="怒江傈僳族自治州" province="云南省" 533325 county="兰坪白族普米族自治县" prefecture="怒江傈僳族自治州" province="云南省" 533421 county="香格里拉县" prefecture="迪庆藏族自治州" province="云南省" 533422 county="德钦县" prefecture="迪庆藏族自治州" province="云南省" 533423 county="维西傈僳族自治县" prefecture="迪庆藏族自治州" province="云南省" 533521 county="临沧县" prefecture="临沧地区" province="云南省" 533522 county="凤庆县" prefecture="临沧地区" province="云南省" 533523 county="云县" prefecture="临沧地区" province="云南省" 533524 county="永德县" prefecture="临沧地区" province="云南省" 533525 county="镇康县" prefecture="临沧地区" province="云南省" 533526 county="双江拉祜族佤族布朗族傣族自治县" prefecture="临沧地区" province="云南省" 533527 county="耿马傣族佤族自治县" prefecture="临沧地区" province="云南省" 533528 county="沧源佤族自治县" prefecture="临沧地区" province="云南省" 540101 county="市辖区" prefecture="拉萨市" province="西藏自治区" 540102 county="城关区" prefecture="拉萨市" province="西藏自治区" 540121 county="林周县" prefecture="拉萨市" province="西藏自治区" 540122 county="当雄县" prefecture="拉萨市" province="西藏自治区" 540123 county="尼木县" prefecture="拉萨市" province="西藏自治区" 540124 county="曲水县" prefecture="拉萨市" province="西藏自治区" 540125 county="堆龙德庆县" prefecture="拉萨市" province="西藏自治区" 540126 county="达孜县" prefecture="拉萨市" province="西藏自治区" 540127 county="墨竹工卡县" prefecture="拉萨市" province="西藏自治区" 540202 county="桑珠孜区" prefecture="日喀则市" province="西藏自治区" 540221 county="南木林县" prefecture="日喀则市" province="西藏自治区" 540222 county="江孜县" prefecture="日喀则市" province="西藏自治区" 540223 county="定日县" prefecture="日喀则市" province="西藏自治区" 540224 county="萨迦县" prefecture="日喀则市" province="西藏自治区" 540225 county="拉孜县" prefecture="日喀则市" province="西藏自治区" 540226 county="昂仁县" prefecture="日喀则市" province="西藏自治区" 540227 county="谢通门县" prefecture="日喀则市" province="西藏自治区" 540228 county="白朗县" prefecture="日喀则市" province="西藏自治区" 540229 county="仁布县" prefecture="日喀则市" province="西藏自治区" 540230 county="康马县" prefecture="日喀则市" province="西藏自治区" 540231 county="定结县" prefecture="日喀则市" province="西藏自治区" 540232 county="仲巴县" prefecture="日喀则市" province="西藏自治区" 540233 county="亚东县" prefecture="日喀则市" province="西藏自治区" 540234 county="吉隆县" prefecture="日喀则市" province="西藏自治区" 540235 county="聂拉木县" prefecture="日喀则市" province="西藏自治区" 540236 county="萨嘎县" prefecture="日喀则市" province="西藏自治区" 540237 county="岗巴县" prefecture="日喀则市" province="西藏自治区" 542121 county="昌都县" prefecture="昌都地区" province="西藏自治区" 542122 county="江达县" prefecture="昌都地区" province="西藏自治区" 542123 county="贡觉县" prefecture="昌都地区" province="西藏自治区" 542124 county="类乌齐县" prefecture="昌都地区" province="西藏自治区" 542125 county="丁青县" prefecture="昌都地区" province="西藏自治区" 542126 county="察雅县" prefecture="昌都地区" province="西藏自治区" 542127 county="八宿县" prefecture="昌都地区" province="西藏自治区" 542128 county="左贡县" prefecture="昌都地区" province="西藏自治区" 542129 county="芒康县" prefecture="昌都地区" province="西藏自治区" 542132 county="洛隆县" prefecture="昌都地区" province="西藏自治区" 542133 county="边坝县" prefecture="昌都地区" province="西藏自治区" 542221 county="乃东县" prefecture="山南地区" province="西藏自治区" 542222 county="扎囊县" prefecture="山南地区" province="西藏自治区" 542223 county="贡嘎县" prefecture="山南地区" province="西藏自治区" 542224 county="桑日县" prefecture="山南地区" province="西藏自治区" 542225 county="琼结县" prefecture="山南地区" province="西藏自治区" 542226 county="曲松县" prefecture="山南地区" province="西藏自治区" 542227 county="措美县" prefecture="山南地区" province="西藏自治区" 542228 county="洛扎县" prefecture="山南地区" province="西藏自治区" 542229 county="加查县" prefecture="山南地区" province="西藏自治区" 542231 county="隆子县" prefecture="山南地区" province="西藏自治区" 542232 county="错那县" prefecture="山南地区" province="西藏自治区" 542233 county="浪卡子县" prefecture="山南地区" province="西藏自治区" 542301 county="日喀则市" prefecture="日喀则地区" province="西藏自治区" 542322 county="南木林县" prefecture="日喀则地区" province="西藏自治区" 542323 county="江孜县" prefecture="日喀则地区" province="西藏自治区" 542324 county="定日县" prefecture="日喀则地区" province="西藏自治区" 542325 county="萨迦县" prefecture="日喀则地区" province="西藏自治区" 542326 county="拉孜县" prefecture="日喀则地区" province="西藏自治区" 542327 county="昂仁县" prefecture="日喀则地区" province="西藏自治区" 542328 county="谢通门县" prefecture="日喀则地区" province="西藏自治区" 542329 county="白朗县" prefecture="日喀则地区" province="西藏自治区" 542330 county="仁布县" prefecture="日喀则地区" province="西藏自治区" 542331 county="康马县" prefecture="日喀则地区" province="西藏自治区" 542332 county="定结县" prefecture="日喀则地区" province="西藏自治区" 542333 county="仲巴县" prefecture="日喀则地区" province="西藏自治区" 542334 county="亚东县" prefecture="日喀则地区" province="西藏自治区" 542335 county="吉隆县" prefecture="日喀则地区" province="西藏自治区" 542336 county="聂拉木县" prefecture="日喀则地区" province="西藏自治区" 542337 county="萨嘎县" prefecture="日喀则地区" province="西藏自治区" 542338 county="岗巴县" prefecture="日喀则地区" province="西藏自治区" 542421 county="那曲县" prefecture="那曲地区" province="西藏自治区" 542422 county="嘉黎县" prefecture="那曲地区" province="西藏自治区" 542423 county="比如县" prefecture="那曲地区" province="西藏自治区" 542424 county="聂荣县" prefecture="那曲地区" province="西藏自治区" 542425 county="安多县" prefecture="那曲地区" province="西藏自治区" 542426 county="申扎县" prefecture="那曲地区" province="西藏自治区" 542427 county="索县" prefecture="那曲地区" province="西藏自治区" 542428 county="班戈县" prefecture="那曲地区" province="西藏自治区" 542429 county="巴青县" prefecture="那曲地区" province="西藏自治区" 542430 county="尼玛县" prefecture="那曲地区" province="西藏自治区" 542431 county="双湖县" prefecture="那曲地区" province="西藏自治区" 542521 county="普兰县" prefecture="阿里地区" province="西藏自治区" 542522 county="札达县" prefecture="阿里地区" province="西藏自治区" 542523 county="噶尔县" prefecture="阿里地区" province="西藏自治区" 542524 county="日土县" prefecture="阿里地区" province="西藏自治区" 542525 county="革吉县" prefecture="阿里地区" province="西藏自治区" 542526 county="改则县" prefecture="阿里地区" province="西藏自治区" 542527 county="措勤县" prefecture="阿里地区" province="西藏自治区" 542621 county="林芝县" prefecture="林芝地区" province="西藏自治区" 542622 county="工布江达县" prefecture="林芝地区" province="西藏自治区" 542623 county="米林县" prefecture="林芝地区" province="西藏自治区" 542624 county="墨脱县" prefecture="林芝地区" province="西藏自治区" 542625 county="波密县" prefecture="林芝地区" province="西藏自治区" 542626 county="察隅县" prefecture="林芝地区" province="西藏自治区" 542627 county="朗县" prefecture="林芝地区" province="西藏自治区" 610101 county="市辖区" prefecture="西安市" province="陕西省" 610102 county="新城区" prefecture="西安市" province="陕西省" 610103 county="碑林区" prefecture="西安市" province="陕西省" 610104 county="莲湖区" prefecture="西安市" province="陕西省" 610111 county="灞桥区" prefecture="西安市" province="陕西省" 610112 county="未央区" prefecture="西安市" province="陕西省" 610113 county="雁塔区" prefecture="西安市" province="陕西省" 610114 county="阎良区" prefecture="西安市" province="陕西省" 610115 county="临潼区" prefecture="西安市" province="陕西省" 610116 county="长安区" prefecture="西安市" province="陕西省" 610122 county="蓝田县" prefecture="西安市" province="陕西省" 610124 county="周至县" prefecture="西安市" province="陕西省" 610125 county="户县" prefecture="西安市" province="陕西省" 610126 county="高陵县" prefecture="西安市" province="陕西省" 610201 county="市辖区" prefecture="铜川市" province="陕西省" 610202 county="王益区" prefecture="铜川市" province="陕西省" 610203 county="印台区" prefecture="铜川市" province="陕西省" 610204 county="耀州区" prefecture="铜川市" province="陕西省" 610222 county="宜君县" prefecture="铜川市" province="陕西省" 610301 county="市辖区" prefecture="宝鸡市" province="陕西省" 610302 county="渭滨区" prefecture="宝鸡市" province="陕西省" 610303 county="金台区" prefecture="宝鸡市" province="陕西省" 610304 county="陈仓区" prefecture="宝鸡市" province="陕西省" 610321 county="宝鸡县" prefecture="宝鸡市" province="陕西省" 610322 county="凤翔县" prefecture="宝鸡市" province="陕西省" 610323 county="岐山县" prefecture="宝鸡市" province="陕西省" 610324 county="扶风县" prefecture="宝鸡市" province="陕西省" 610326 county="眉县" prefecture="宝鸡市" province="陕西省" 610327 county="陇县" prefecture="宝鸡市" province="陕西省" 610328 county="千阳县" prefecture="宝鸡市" province="陕西省" 610329 county="麟游县" prefecture="宝鸡市" province="陕西省" 610330 county="凤县" prefecture="宝鸡市" province="陕西省" 610331 county="太白县" prefecture="宝鸡市" province="陕西省" 610401 county="市辖区" prefecture="咸阳市" province="陕西省" 610402 county="秦都区" prefecture="咸阳市" province="陕西省" 610403 county="杨陵区" prefecture="咸阳市" province="陕西省" 610404 county="渭城区" prefecture="咸阳市" province="陕西省" 610422 county="三原县" prefecture="咸阳市" province="陕西省" 610423 county="泾阳县" prefecture="咸阳市" province="陕西省" 610424 county="乾县" prefecture="咸阳市" province="陕西省" 610425 county="礼泉县" prefecture="咸阳市" province="陕西省" 610426 county="永寿县" prefecture="咸阳市" province="陕西省" 610427 county="彬县" prefecture="咸阳市" province="陕西省" 610428 county="长武县" prefecture="咸阳市" province="陕西省" 610429 county="旬邑县" prefecture="咸阳市" province="陕西省" 610430 county="淳化县" prefecture="咸阳市" province="陕西省" 610431 county="武功县" prefecture="咸阳市" province="陕西省" 610481 county="兴平市" prefecture="咸阳市" province="陕西省" 610501 county="市辖区" prefecture="渭南市" province="陕西省" 610502 county="临渭区" prefecture="渭南市" province="陕西省" 610521 county="华县" prefecture="渭南市" province="陕西省" 610522 county="潼关县" prefecture="渭南市" province="陕西省" 610523 county="大荔县" prefecture="渭南市" province="陕西省" 610524 county="合阳县" prefecture="渭南市" province="陕西省" 610525 county="澄城县" prefecture="渭南市" province="陕西省" 610526 county="蒲城县" prefecture="渭南市" province="陕西省" 610527 county="白水县" prefecture="渭南市" province="陕西省" 610528 county="富平县" prefecture="渭南市" province="陕西省" 610581 county="韩城市" prefecture="渭南市" province="陕西省" 610582 county="华阴市" prefecture="渭南市" province="陕西省" 610601 county="市辖区" prefecture="延安市" province="陕西省" 610602 county="宝塔区" prefecture="延安市" province="陕西省" 610621 county="延长县" prefecture="延安市" province="陕西省" 610622 county="延川县" prefecture="延安市" province="陕西省" 610623 county="子长县" prefecture="延安市" province="陕西省" 610624 county="安塞县" prefecture="延安市" province="陕西省" 610625 county="志丹县" prefecture="延安市" province="陕西省" 610626 county="吴起县" prefecture="延安市" province="陕西省" 610627 county="甘泉县" prefecture="延安市" province="陕西省" 610628 county="富县" prefecture="延安市" province="陕西省" 610629 county="洛川县" prefecture="延安市" province="陕西省" 610630 county="宜川县" prefecture="延安市" province="陕西省" 610631 county="黄龙县" prefecture="延安市" province="陕西省" 610632 county="黄陵县" prefecture="延安市" province="陕西省" 610701 county="市辖区" prefecture="汉中市" province="陕西省" 610702 county="汉台区" prefecture="汉中市" province="陕西省" 610721 county="南郑县" prefecture="汉中市" province="陕西省" 610722 county="城固县" prefecture="汉中市" province="陕西省" 610723 county="洋县" prefecture="汉中市" province="陕西省" 610724 county="西乡县" prefecture="汉中市" province="陕西省" 610725 county="勉县" prefecture="汉中市" province="陕西省" 610726 county="宁强县" prefecture="汉中市" province="陕西省" 610727 county="略阳县" prefecture="汉中市" province="陕西省" 610728 county="镇巴县" prefecture="汉中市" province="陕西省" 610729 county="留坝县" prefecture="汉中市" province="陕西省" 610730 county="佛坪县" prefecture="汉中市" province="陕西省" 610801 county="市辖区" prefecture="榆林市" province="陕西省" 610802 county="榆阳区" prefecture="榆林市" province="陕西省" 610821 county="神木县" prefecture="榆林市" province="陕西省" 610822 county="府谷县" prefecture="榆林市" province="陕西省" 610823 county="横山县" prefecture="榆林市" province="陕西省" 610824 county="靖边县" prefecture="榆林市" province="陕西省" 610825 county="定边县" prefecture="榆林市" province="陕西省" 610826 county="绥德县" prefecture="榆林市" province="陕西省" 610827 county="米脂县" prefecture="榆林市" province="陕西省" 610828 county="佳县" prefecture="榆林市" province="陕西省" 610829 county="吴堡县" prefecture="榆林市" province="陕西省" 610830 county="清涧县" prefecture="榆林市" province="陕西省" 610831 county="子洲县" prefecture="榆林市" province="陕西省" 610901 county="市辖区" prefecture="安康市" province="陕西省" 610902 county="汉滨区" prefecture="安康市" province="陕西省" 610921 county="汉阴县" prefecture="安康市" province="陕西省" 610922 county="石泉县" prefecture="安康市" province="陕西省" 610923 county="宁陕县" prefecture="安康市" province="陕西省" 610924 county="紫阳县" prefecture="安康市" province="陕西省" 610925 county="岚皋县" prefecture="安康市" province="陕西省" 610926 county="平利县" prefecture="安康市" province="陕西省" 610927 county="镇坪县" prefecture="安康市" province="陕西省" 610928 county="旬阳县" prefecture="安康市" province="陕西省" 610929 county="白河县" prefecture="安康市" province="陕西省" 611001 county="市辖区" prefecture="商洛市" province="陕西省" 611002 county="商州区" prefecture="商洛市" province="陕西省" 611021 county="洛南县" prefecture="商洛市" province="陕西省" 611022 county="丹凤县" prefecture="商洛市" province="陕西省" 611023 county="商南县" prefecture="商洛市" province="陕西省" 611024 county="山阳县" prefecture="商洛市" province="陕西省" 611025 county="镇安县" prefecture="商洛市" province="陕西省" 611026 county="柞水县" prefecture="商洛市" province="陕西省" 620101 county="市辖区" prefecture="兰州市" province="甘肃省" 620102 county="城关区" prefecture="兰州市" province="甘肃省" 620103 county="七里河区" prefecture="兰州市" province="甘肃省" 620104 county="西固区" prefecture="兰州市" province="甘肃省" 620105 county="安宁区" prefecture="兰州市" province="甘肃省" 620111 county="红古区" prefecture="兰州市" province="甘肃省" 620121 county="永登县" prefecture="兰州市" province="甘肃省" 620122 county="皋兰县" prefecture="兰州市" province="甘肃省" 620123 county="榆中县" prefecture="兰州市" province="甘肃省" 620201 county="市辖区" prefecture="嘉峪关市" province="甘肃省" 620301 county="市辖区" prefecture="金昌市" province="甘肃省" 620302 county="金川区" prefecture="金昌市" province="甘肃省" 620321 county="永昌县" prefecture="金昌市" province="甘肃省" 620401 county="市辖区" prefecture="白银市" province="甘肃省" 620402 county="白银区" prefecture="白银市" province="甘肃省" 620403 county="平川区" prefecture="白银市" province="甘肃省" 620421 county="靖远县" prefecture="白银市" province="甘肃省" 620422 county="会宁县" prefecture="白银市" province="甘肃省" 620423 county="景泰县" prefecture="白银市" province="甘肃省" 620501 county="市辖区" prefecture="天水市" province="甘肃省" 620502 county="秦州区" prefecture="天水市" province="甘肃省" 620503 county="麦积区" prefecture="天水市" province="甘肃省" 620521 county="清水县" prefecture="天水市" province="甘肃省" 620522 county="秦安县" prefecture="天水市" province="甘肃省" 620523 county="甘谷县" prefecture="天水市" province="甘肃省" 620524 county="武山县" prefecture="天水市" province="甘肃省" 620525 county="张家川回族自治县" prefecture="天水市" province="甘肃省" 620601 county="市辖区" prefecture="武威市" province="甘肃省" 620602 county="凉州区" prefecture="武威市" province="甘肃省" 620621 county="民勤县" prefecture="武威市" province="甘肃省" 620622 county="古浪县" prefecture="武威市" province="甘肃省" 620623 county="天祝藏族自治县" prefecture="武威市" province="甘肃省" 620701 county="市辖区" prefecture="张掖市" province="甘肃省" 620702 county="甘州区" prefecture="张掖市" province="甘肃省" 620721 county="肃南裕固族自治县" prefecture="张掖市" province="甘肃省" 620722 county="民乐县" prefecture="张掖市" province="甘肃省" 620723 county="临泽县" prefecture="张掖市" province="甘肃省" 620724 county="高台县" prefecture="张掖市" province="甘肃省" 620725 county="山丹县" prefecture="张掖市" province="甘肃省" 620801 county="市辖区" prefecture="平凉市" province="甘肃省" 620802 county="崆峒区" prefecture="平凉市" province="甘肃省" 620821 county="泾川县" prefecture="平凉市" province="甘肃省" 620822 county="灵台县" prefecture="平凉市" province="甘肃省" 620823 county="崇信县" prefecture="平凉市" province="甘肃省" 620824 county="华亭县" prefecture="平凉市" province="甘肃省" 620825 county="庄浪县" prefecture="平凉市" province="甘肃省" 620826 county="静宁县" prefecture="平凉市" province="甘肃省" 620901 county="市辖区" prefecture="酒泉市" province="甘肃省" 620902 county="肃州区" prefecture="酒泉市" province="甘肃省" 620921 county="金塔县" prefecture="酒泉市" province="甘肃省" 620922 county="瓜州县" prefecture="酒泉市" province="甘肃省" 620923 county="肃北蒙古族自治县" prefecture="酒泉市" province="甘肃省" 620924 county="阿克塞哈萨克族自治县" prefecture="酒泉市" province="甘肃省" 620981 county="玉门市" prefecture="酒泉市" province="甘肃省" 620982 county="敦煌市" prefecture="酒泉市" province="甘肃省" 621001 county="市辖区" prefecture="庆阳市" province="甘肃省" 621002 county="西峰区" prefecture="庆阳市" province="甘肃省" 621021 county="庆城县" prefecture="庆阳市" province="甘肃省" 621022 county="环县" prefecture="庆阳市" province="甘肃省" 621023 county="华池县" prefecture="庆阳市" province="甘肃省" 621024 county="合水县" prefecture="庆阳市" province="甘肃省" 621025 county="正宁县" prefecture="庆阳市" province="甘肃省" 621026 county="宁县" prefecture="庆阳市" province="甘肃省" 621027 county="镇原县" prefecture="庆阳市" province="甘肃省" 621101 county="市辖区" prefecture="定西市" province="甘肃省" 621102 county="安定区" prefecture="定西市" province="甘肃省" 621121 county="通渭县" prefecture="定西市" province="甘肃省" 621122 county="陇西县" prefecture="定西市" province="甘肃省" 621123 county="渭源县" prefecture="定西市" province="甘肃省" 621124 county="临洮县" prefecture="定西市" province="甘肃省" 621125 county="漳县" prefecture="定西市" province="甘肃省" 621126 county="岷县" prefecture="定西市" province="甘肃省" 621201 county="市辖区" prefecture="陇南市" province="甘肃省" 621202 county="武都区" prefecture="陇南市" province="甘肃省" 621221 county="成县" prefecture="陇南市" province="甘肃省" 621222 county="文县" prefecture="陇南市" province="甘肃省" 621223 county="宕昌县" prefecture="陇南市" province="甘肃省" 621224 county="康县" prefecture="陇南市" province="甘肃省" 621225 county="西和县" prefecture="陇南市" province="甘肃省" 621226 county="礼县" prefecture="陇南市" province="甘肃省" 621227 county="徽县" prefecture="陇南市" province="甘肃省" 621228 county="两当县" prefecture="陇南市" province="甘肃省" 622421 county="定西县" prefecture="定西地区" province="甘肃省" 622424 county="通渭县" prefecture="定西地区" province="甘肃省" 622425 county="陇西县" prefecture="定西地区" province="甘肃省" 622426 county="渭源县" prefecture="定西地区" province="甘肃省" 622427 county="临洮县" prefecture="定西地区" province="甘肃省" 622428 county="漳县" prefecture="定西地区" province="甘肃省" 622429 county="岷县" prefecture="定西地区" province="甘肃省" 622621 county="武都县" prefecture="陇南地区" province="甘肃省" 622623 county="宕昌县" prefecture="陇南地区" province="甘肃省" 622624 county="成县" prefecture="陇南地区" province="甘肃省" 622625 county="康县" prefecture="陇南地区" province="甘肃省" 622626 county="文县" prefecture="陇南地区" province="甘肃省" 622627 county="西和县" prefecture="陇南地区" province="甘肃省" 622628 county="礼县" prefecture="陇南地区" province="甘肃省" 622629 county="两当县" prefecture="陇南地区" province="甘肃省" 622630 county="徽县" prefecture="陇南地区" province="甘肃省" 622901 county="临夏市" prefecture="临夏回族自治州" province="甘肃省" 622921 county="临夏县" prefecture="临夏回族自治州" province="甘肃省" 622922 county="康乐县" prefecture="临夏回族自治州" province="甘肃省" 622923 county="永靖县" prefecture="临夏回族自治州" province="甘肃省" 622924 county="广河县" prefecture="临夏回族自治州" province="甘肃省" 622925 county="和政县" prefecture="临夏回族自治州" province="甘肃省" 622926 county="东乡族自治县" prefecture="临夏回族自治州" province="甘肃省" 622927 county="积石山保安族东乡族撒拉族自治县" prefecture="临夏回族自治州" province="甘肃省" 623001 county="合作市" prefecture="甘南藏族自治州" province="甘肃省" 623021 county="临潭县" prefecture="甘南藏族自治州" province="甘肃省" 623022 county="卓尼县" prefecture="甘南藏族自治州" province="甘肃省" 623023 county="舟曲县" prefecture="甘南藏族自治州" province="甘肃省" 623024 county="迭部县" prefecture="甘南藏族自治州" province="甘肃省" 623025 county="玛曲县" prefecture="甘南藏族自治州" province="甘肃省" 623026 county="碌曲县" prefecture="甘南藏族自治州" province="甘肃省" 623027 county="夏河县" prefecture="甘南藏族自治州" province="甘肃省" 630101 county="市辖区" prefecture="西宁市" province="青海省" 630102 county="城东区" prefecture="西宁市" province="青海省" 630103 county="城中区" prefecture="西宁市" province="青海省" 630104 county="城西区" prefecture="西宁市" province="青海省" 630105 county="城北区" prefecture="西宁市" province="青海省" 630121 county="大通回族土族自治县" prefecture="西宁市" province="青海省" 630122 county="湟中县" prefecture="西宁市" province="青海省" 630123 county="湟源县" prefecture="西宁市" province="青海省" 630202 county="乐都区" prefecture="海东市" province="青海省" 630221 county="平安县" prefecture="海东市" province="青海省" 630222 county="民和回族土族自治县" prefecture="海东市" province="青海省" 630223 county="互助土族自治县" prefecture="海东市" province="青海省" 630224 county="化隆回族自治县" prefecture="海东市" province="青海省" 630225 county="循化撒拉族自治县" prefecture="海东市" province="青海省" 632121 county="平安县" prefecture="海东地区" province="青海省" 632122 county="民和回族土族自治县" prefecture="海东地区" province="青海省" 632123 county="乐都县" prefecture="海东地区" province="青海省" 632126 county="互助土族自治县" prefecture="海东地区" province="青海省" 632127 county="化隆回族自治县" prefecture="海东地区" province="青海省" 632128 county="循化撒拉族自治县" prefecture="海东地区" province="青海省" 632221 county="门源回族自治县" prefecture="海北藏族自治州" province="青海省" 632222 county="祁连县" prefecture="海北藏族自治州" province="青海省" 632223 county="海晏县" prefecture="海北藏族自治州" province="青海省" 632224 county="刚察县" prefecture="海北藏族自治州" province="青海省" 632321 county="同仁县" prefecture="黄南藏族自治州" province="青海省" 632322 county="尖扎县" prefecture="黄南藏族自治州" province="青海省" 632323 county="泽库县" prefecture="黄南藏族自治州" province="青海省" 632324 county="河南蒙古族自治县" prefecture="黄南藏族自治州" province="青海省" 632521 county="共和县" prefecture="海南藏族自治州" province="青海省" 632522 county="同德县" prefecture="海南藏族自治州" province="青海省" 632523 county="贵德县" prefecture="海南藏族自治州" province="青海省" 632524 county="兴海县" prefecture="海南藏族自治州" province="青海省" 632525 county="贵南县" prefecture="海南藏族自治州" province="青海省" 632621 county="玛沁县" prefecture="果洛藏族自治州" province="青海省" 632622 county="班玛县" prefecture="果洛藏族自治州" province="青海省" 632623 county="甘德县" prefecture="果洛藏族自治州" province="青海省" 632624 county="达日县" prefecture="果洛藏族自治州" province="青海省" 632625 county="久治县" prefecture="果洛藏族自治州" province="青海省" 632626 county="玛多县" prefecture="果洛藏族自治州" province="青海省" 632701 county="玉树市" prefecture="玉树藏族自治州" province="青海省" 632721 county="玉树县" prefecture="玉树藏族自治州" province="青海省" 632722 county="杂多县" prefecture="玉树藏族自治州" province="青海省" 632723 county="称多县" prefecture="玉树藏族自治州" province="青海省" 632724 county="治多县" prefecture="玉树藏族自治州" province="青海省" 632725 county="囊谦县" prefecture="玉树藏族自治州" province="青海省" 632726 county="曲麻莱县" prefecture="玉树藏族自治州" province="青海省" 632801 county="格尔木市" prefecture="海西蒙古族藏族自治州" province="青海省" 632802 county="德令哈市" prefecture="海西蒙古族藏族自治州" province="青海省" 632821 county="乌兰县" prefecture="海西蒙古族藏族自治州" province="青海省" 632822 county="都兰县" prefecture="海西蒙古族藏族自治州" province="青海省" 632823 county="天峻县" prefecture="海西蒙古族藏族自治州" province="青海省" 640101 county="市辖区" prefecture="银川市" province="宁夏回族自治区" 640104 county="兴庆区" prefecture="银川市" province="宁夏回族自治区" 640105 county="西夏区" prefecture="银川市" province="宁夏回族自治区" 640106 county="金凤区" prefecture="银川市" province="宁夏回族自治区" 640121 county="永宁县" prefecture="银川市" province="宁夏回族自治区" 640122 county="贺兰县" prefecture="银川市" province="宁夏回族自治区" 640181 county="灵武市" prefecture="银川市" province="宁夏回族自治区" 640201 county="市辖区" prefecture="石嘴山市" province="宁夏回族自治区" 640202 county="大武口区" prefecture="石嘴山市" province="宁夏回族自治区" 640203 county="石嘴山区" prefecture="石嘴山市" province="宁夏回族自治区" 640205 county="惠农区" prefecture="石嘴山市" province="宁夏回族自治区" 640221 county="平罗县" prefecture="石嘴山市" province="宁夏回族自治区" 640222 county="陶乐县" prefecture="石嘴山市" province="宁夏回族自治区" 640223 county="惠农县" prefecture="石嘴山市" province="宁夏回族自治区" 640301 county="市辖区" prefecture="吴忠市" province="宁夏回族自治区" 640302 county="利通区" prefecture="吴忠市" province="宁夏回族自治区" 640303 county="红寺堡区" prefecture="吴忠市" province="宁夏回族自治区" 640321 county="中卫县" prefecture="吴忠市" province="宁夏回族自治区" 640322 county="中宁县" prefecture="吴忠市" province="宁夏回族自治区" 640323 county="盐池县" prefecture="吴忠市" province="宁夏回族自治区" 640324 county="同心县" prefecture="吴忠市" province="宁夏回族自治区" 640381 county="青铜峡市" prefecture="吴忠市" province="宁夏回族自治区" 640401 county="市辖区" prefecture="固原市" province="宁夏回族自治区" 640402 county="原州区" prefecture="固原市" province="宁夏回族自治区" 640421 county="海原县" prefecture="固原市" province="宁夏回族自治区" 640422 county="西吉县" prefecture="固原市" province="宁夏回族自治区" 640423 county="隆德县" prefecture="固原市" province="宁夏回族自治区" 640424 county="泾源县" prefecture="固原市" province="宁夏回族自治区" 640425 county="彭阳县" prefecture="固原市" province="宁夏回族自治区" 640501 county="市辖区" prefecture="中卫市" province="宁夏回族自治区" 640502 county="沙坡头区" prefecture="中卫市" province="宁夏回族自治区" 640521 county="中宁县" prefecture="中卫市" province="宁夏回族自治区" 640522 county="海原县" prefecture="中卫市" province="宁夏回族自治区" 650101 county="市辖区" prefecture="乌鲁木齐市" province="新疆维吾尔自治区" 650102 county="天山区" prefecture="乌鲁木齐市" province="新疆维吾尔自治区" 650103 county="沙依巴克区" prefecture="乌鲁木齐市" province="新疆维吾尔自治区" 650104 county="新市区" prefecture="乌鲁木齐市" province="新疆维吾尔自治区" 650105 county="水磨沟区" prefecture="乌鲁木齐市" province="新疆维吾尔自治区" 650106 county="头屯河区" prefecture="乌鲁木齐市" province="新疆维吾尔自治区" 650107 county="达坂城区" prefecture="乌鲁木齐市" province="新疆维吾尔自治区" 650108 county="东山区" prefecture="乌鲁木齐市" province="新疆维吾尔自治区" 650109 county="米东区" prefecture="乌鲁木齐市" province="新疆维吾尔自治区" 650121 county="乌鲁木齐县" prefecture="乌鲁木齐市" province="新疆维吾尔自治区" 650201 county="市辖区" prefecture="克拉玛依市" province="新疆维吾尔自治区" 650202 county="独山子区" prefecture="克拉玛依市" province="新疆维吾尔自治区" 650203 county="克拉玛依区" prefecture="克拉玛依市" province="新疆维吾尔自治区" 650204 county="白碱滩区" prefecture="克拉玛依市" province="新疆维吾尔自治区" 650205 county="乌尔禾区" prefecture="克拉玛依市" province="新疆维吾尔自治区" 652101 county="吐鲁番市" prefecture="吐鲁番地区" province="新疆维吾尔自治区" 652122 county="鄯善县" prefecture="吐鲁番地区" province="新疆维吾尔自治区" 652123 county="托克逊县" prefecture="吐鲁番地区" province="新疆维吾尔自治区" 652201 county="哈密市" prefecture="哈密地区" province="新疆维吾尔自治区" 652222 county="巴里坤哈萨克自治县" prefecture="哈密地区" province="新疆维吾尔自治区" 652223 county="伊吾县" prefecture="哈密地区" province="新疆维吾尔自治区" 652301 county="昌吉市" prefecture="昌吉回族自治州" province="新疆维吾尔自治区" 652302 county="阜康市" prefecture="昌吉回族自治州" province="新疆维吾尔自治区" 652303 county="米泉市" prefecture="昌吉回族自治州" province="新疆维吾尔自治区" 652323 county="呼图壁县" prefecture="昌吉回族自治州" province="新疆维吾尔自治区" 652324 county="玛纳斯县" prefecture="昌吉回族自治州" province="新疆维吾尔自治区" 652325 county="奇台县" prefecture="昌吉回族自治州" province="新疆维吾尔自治区" 652327 county="吉木萨尔县" prefecture="昌吉回族自治州" province="新疆维吾尔自治区" 652328 county="木垒哈萨克自治县" prefecture="昌吉回族自治州" province="新疆维吾尔自治区" 652701 county="博乐市" prefecture="博尔塔拉蒙古自治州" province="新疆维吾尔自治区" 652702 county="阿拉山口市" prefecture="博尔塔拉蒙古自治州" province="新疆维吾尔自治区" 652722 county="精河县" prefecture="博尔塔拉蒙古自治州" province="新疆维吾尔自治区" 652723 county="温泉县" prefecture="博尔塔拉蒙古自治州" province="新疆维吾尔自治区" 652801 county="库尔勒市" prefecture="巴音郭楞蒙古自治州" province="新疆维吾尔自治区" 652822 county="轮台县" prefecture="巴音郭楞蒙古自治州" province="新疆维吾尔自治区" 652823 county="尉犁县" prefecture="巴音郭楞蒙古自治州" province="新疆维吾尔自治区" 652824 county="若羌县" prefecture="巴音郭楞蒙古自治州" province="新疆维吾尔自治区" 652825 county="且末县" prefecture="巴音郭楞蒙古自治州" province="新疆维吾尔自治区" 652826 county="焉耆回族自治县" prefecture="巴音郭楞蒙古自治州" province="新疆维吾尔自治区" 652827 county="和静县" prefecture="巴音郭楞蒙古自治州" province="新疆维吾尔自治区" 652828 county="和硕县" prefecture="巴音郭楞蒙古自治州" province="新疆维吾尔自治区" 652829 county="博湖县" prefecture="巴音郭楞蒙古自治州" province="新疆维吾尔自治区" 652901 county="阿克苏市" prefecture="阿克苏地区" province="新疆维吾尔自治区" 652922 county="温宿县" prefecture="阿克苏地区" province="新疆维吾尔自治区" 652923 county="库车县" prefecture="阿克苏地区" province="新疆维吾尔自治区" 652924 county="沙雅县" prefecture="阿克苏地区" province="新疆维吾尔自治区" 652925 county="新和县" prefecture="阿克苏地区" province="新疆维吾尔自治区" 652926 county="拜城县" prefecture="阿克苏地区" province="新疆维吾尔自治区" 652927 county="乌什县" prefecture="阿克苏地区" province="新疆维吾尔自治区" 652928 county="阿瓦提县" prefecture="阿克苏地区" province="新疆维吾尔自治区" 652929 county="柯坪县" prefecture="阿克苏地区" province="新疆维吾尔自治区" 653001 county="阿图什市" prefecture="克孜勒苏柯尔克孜自治州" province="新疆维吾尔自治区" 653022 county="阿克陶县" prefecture="克孜勒苏柯尔克孜自治州" province="新疆维吾尔自治区" 653023 county="阿合奇县" prefecture="克孜勒苏柯尔克孜自治州" province="新疆维吾尔自治区" 653024 county="乌恰县" prefecture="克孜勒苏柯尔克孜自治州" province="新疆维吾尔自治区" 653101 county="喀什市" prefecture="喀什地区" province="新疆维吾尔自治区" 653121 county="疏附县" prefecture="喀什地区" province="新疆维吾尔自治区" 653122 county="疏勒县" prefecture="喀什地区" province="新疆维吾尔自治区" 653123 county="英吉沙县" prefecture="喀什地区" province="新疆维吾尔自治区" 653124 county="泽普县" prefecture="喀什地区" province="新疆维吾尔自治区" 653125 county="莎车县" prefecture="喀什地区" province="新疆维吾尔自治区" 653126 county="叶城县" prefecture="喀什地区" province="新疆维吾尔自治区" 653127 county="麦盖提县" prefecture="喀什地区" province="新疆维吾尔自治区" 653128 county="岳普湖县" prefecture="喀什地区" province="新疆维吾尔自治区" 653129 county="伽师县" prefecture="喀什地区" province="新疆维吾尔自治区" 653130 county="巴楚县" prefecture="喀什地区" province="新疆维吾尔自治区" 653131 county="塔什库尔干塔吉克自治县" prefecture="喀什地区" province="新疆维吾尔自治区" 653201 county="和田市" prefecture="和田地区" province="新疆维吾尔自治区" 653221 county="和田县" prefecture="和田地区" province="新疆维吾尔自治区" 653222 county="墨玉县" prefecture="和田地区" province="新疆维吾尔自治区" 653223 county="皮山县" prefecture="和田地区" province="新疆维吾尔自治区" 653224 county="洛浦县" prefecture="和田地区" province="新疆维吾尔自治区" 653225 county="策勒县" prefecture="和田地区" province="新疆维吾尔自治区" 653226 county="于田县" prefecture="和田地区" province="新疆维吾尔自治区" 653227 county="民丰县" prefecture="和田地区" province="新疆维吾尔自治区" 654002 county="伊宁市" prefecture="伊犁哈萨克自治州" province="新疆维吾尔自治区" 654003 county="奎屯市" prefecture="伊犁哈萨克自治州" province="新疆维吾尔自治区" 654021 county="伊宁县" prefecture="伊犁哈萨克自治州" province="新疆维吾尔自治区" 654022 county="察布查尔锡伯自治县" prefecture="伊犁哈萨克自治州" province="新疆维吾尔自治区" 654023 county="霍城县" prefecture="伊犁哈萨克自治州" province="新疆维吾尔自治区" 654024 county="巩留县" prefecture="伊犁哈萨克自治州" province="新疆维吾尔自治区" 654025 county="新源县" prefecture="伊犁哈萨克自治州" province="新疆维吾尔自治区" 654026 county="昭苏县" prefecture="伊犁哈萨克自治州" province="新疆维吾尔自治区" 654027 county="特克斯县" prefecture="伊犁哈萨克自治州" province="新疆维吾尔自治区" 654028 county="尼勒克县" prefecture="伊犁哈萨克自治州" province="新疆维吾尔自治区" 654201 county="塔城市" prefecture="塔城地区" province="新疆维吾尔自治区" 654202 county="乌苏市" prefecture="塔城地区" province="新疆维吾尔自治区" 654221 county="额敏县" prefecture="塔城地区" province="新疆维吾尔自治区" 654223 county="沙湾县" prefecture="塔城地区" province="新疆维吾尔自治区" 654224 county="托里县" prefecture="塔城地区" province="新疆维吾尔自治区" 654225 county="裕民县" prefecture="塔城地区" province="新疆维吾尔自治区" 654226 county="和布克赛尔蒙古自治县" prefecture="塔城地区" province="新疆维吾尔自治区" 654301 county="阿勒泰市" prefecture="阿勒泰地区" province="新疆维吾尔自治区" 654321 county="布尔津县" prefecture="阿勒泰地区" province="新疆维吾尔自治区" 654322 county="富蕴县" prefecture="阿勒泰地区" province="新疆维吾尔自治区" 654323 county="福海县" prefecture="阿勒泰地区" province="新疆维吾尔自治区" 654324 county="哈巴河县" prefecture="阿勒泰地区" province="新疆维吾尔自治区" 654325 county="青河县" prefecture="阿勒泰地区" province="新疆维吾尔自治区" 654326 county="吉木乃县" prefecture="阿勒泰地区" province="新疆维吾尔自治区" 659001 county="石河子市" prefecture="自治区直辖县级行政区划" province="新疆维吾尔自治区" 659002 county="阿拉尔市" prefecture="自治区直辖县级行政区划" province="新疆维吾尔自治区" 659003 county="图木舒克市" prefecture="自治区直辖县级行政区划" province="新疆维吾尔自治区" 659004 county="五家渠市" prefecture="自治区直辖县级行政区划" province="新疆维吾尔自治区" python-stdnum-1.13/stdnum/cn/ric.py0000644000000000000000000000657313555400447017310 0ustar rootroot00000000000000# ric.py - functions for handling Chinese Resident Identity Card Number # # Copyright (C) 2014 Jiangge Zhang # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """RIC No. (Chinese Resident Identity Card Number). The RIC No. is the unique identifier for issued to China (PRC) residents. The number consist of 18 digits in four sections. The first 6 digits refers to the resident's location, followed by 8 digits represeting the resident's birth day in the form YYYY-MM-DD. The next 3 digits is the order code which is the code used to disambiguate people with the same date of birth and address code. Men are assigned to odd numbers, women assigned to even numbers. The final digit is the checksum. >>> validate('360426199101010071') '360426199101010071' """ import datetime from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number).upper().strip() def get_birth_date(number): """Split the date parts from the number and return the birth date. Note that in some cases it may return the registration date instead of the birth date and it may be a century off.""" number = compact(number) year = int(number[6:10]) month = int(number[10:12]) day = int(number[12:14]) try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def get_birth_place(number): """Use the number to look up the place of birth of the person.""" from stdnum import numdb number = compact(number) results = numdb.get('cn/loc').info(number[:6])[0][1] if not results: raise InvalidComponent() return results def calc_check_digit(number): """Calculate the check digit. The number passed should have the check digit included.""" checksum = (1 - 2 * int(number[:-1], 13)) % 11 return 'X' if checksum == 10 else str(checksum) def validate(number): """Check if the number is a valid RIC number. This checks the length, formatting and birth date and place.""" number = compact(number) if len(number) != 18: raise InvalidLength() if not isdigits(number[:-1]): raise InvalidFormat() if number[-1] != calc_check_digit(number): raise InvalidChecksum() get_birth_date(number) get_birth_place(number) return number def is_valid(number): """Check if the number is a valid RIC number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" return compact(number) python-stdnum-1.13/stdnum/ve/0000755000000000000000000000000013611057637016162 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/ve/rif.py0000644000000000000000000000543013555400450017306 0ustar rootroot00000000000000# rif.py - functions for handling Venezuelan VAT numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """RIF (Registro de Identificación Fiscal, Venezuelan VAT number). The Registro de Identificación Fiscal (RIF) is the Venezuelan fiscal registration number. The number consists of 10 digits where the first digit denotes the type of number (person, company or government) and the last digit is a check digit. >>> validate('V-11470283-4') 'V114702834' >>> validate('V-11470283-3') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').upper().strip() # Known number types and their corresponding value in the check # digit calculation _company_types = { 'V': 4, # natural person born in Venezuela 'E': 8, # foreign natural person 'J': 12, # company 'P': 16, # passport 'G': 20, # government } def calc_check_digit(number): """Calculate the check digit for the RIF.""" number = compact(number) weights = (3, 2, 7, 6, 5, 4, 3, 2) c = _company_types[number[0]] c += sum(w * int(n) for w, n in zip(weights, number[1:9])) return '00987654321'[c % 11] def validate(number): """Check if the number provided is a valid RIF. This checks the length, formatting and check digit.""" number = compact(number) if len(number) != 10: raise InvalidLength() if number[0] not in _company_types: raise InvalidComponent() if not isdigits(number[1:]): raise InvalidFormat() if number[-1] != calc_check_digit(number): raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid RIF. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ve/__init__.py0000644000000000000000000000165413555400450020271 0ustar rootroot00000000000000# __init__.py - collection of Venezuelan numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Venezuelan numbers.""" # provide aliases from stdnum.ve import rif as vat # noqa: F401 python-stdnum-1.13/stdnum/mu/0000755000000000000000000000000013611057637016171 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/mu/__init__.py0000644000000000000000000000155013555400450020273 0ustar rootroot00000000000000# __init__.py - collection of Mauritian numbers # coding: utf-8 # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Mauritian numbers.""" python-stdnum-1.13/stdnum/mu/nid.py0000644000000000000000000000553513555400450017315 0ustar rootroot00000000000000# nid.py - functions for handling Mauritian national ID numbers # coding: utf-8 # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ID number (Mauritian national identifier). The Mauritian national ID number is a unique 14 alphanumeric identifier assigned at birth to identify individuals. It is displayed on the National Identity Card. The number consists of one alphabetic character and thirteen digits: * the first character of the person's surname at birth * 2 digits for day of birth * 2 digits for month of birth * 2 digits for year of birth * 6 digit unique id * a check digit More information: * http://mnis.govmu.org/English/ID%20Card/Pages/default.aspx """ import datetime import re from stdnum.exceptions import * from stdnum.util import clean _nid_re = re.compile('^[A-Z][0-9]+[0-9A-Z]$') # characters used for checksum calculation _alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' def compact(number): """Convert the number to the minimal representation. This strips surrounding whitespace and separation dash.""" return clean(number, ' ').upper().strip() def calc_check_digit(number): """Calculate the check digit for the number.""" check = sum((14 - i) * _alphabet.index(n) for i, n in enumerate(number[:13])) return _alphabet[(17 - check) % 17] def _get_date(number): """Convert the part of the number that represents a date into a datetime. Note that the century may be incorrect.""" day = int(number[1:3]) month = int(number[3:5]) year = int(number[5:7]) try: return datetime.date(year + 2000, month, day) except ValueError: raise InvalidComponent() def validate(number): """Check if the number is a valid ID number.""" number = compact(number) if len(number) != 14: raise InvalidLength() if not _nid_re.match(number): raise InvalidFormat() if calc_check_digit(number) != number[-1]: raise InvalidChecksum() _get_date(number) return number def is_valid(number): """Check if the number provided is a valid RFC.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/iban.dat0000644000000000000000000000624613611053275017155 0ustar rootroot00000000000000# generated from swift_standards_infopaper_ibanregistry_1.txt, # downloaded from https://www.swift.com/node/11971 AD country="Andorra" bban="4!n4!n12!c" AE country="United Arab Emirates (The)" bban="3!n16!n" AL country="Albania" bban="8!n16!c" AT country="Austria" bban="5!n11!n" AZ country="Azerbaijan" bban="4!a20!c" BA country="Bosnia and Herzegovina" bban="3!n3!n8!n2!n" BE country="Belgium" bban="3!n7!n2!n" BG country="Bulgaria" bban="4!a4!n2!n8!c" BH country="Bahrain" bban="4!a14!c" BR country="Brazil" bban="8!n5!n10!n1!a1!c" BY country="Republic of Belarus" bban="4!c4!n16!c" CH country="Switzerland" bban="5!n12!c" CR country="Costa Rica" bban="4!n14!n" CY country="Cyprus" bban="3!n5!n16!c" CZ country="Czechia" bban="4!n6!n10!n" DE country="Germany" bban="8!n10!n" DK country="Denmark" bban="4!n9!n1!n" DO country="Dominican Republic" bban="4!c20!n" EE country="Estonia" bban="2!n2!n11!n1!n" EG country="Egypt" bban="4!n4!n17!n" ES country="Spain" bban="4!n4!n1!n1!n10!n" FI country="Finland" bban="3!n11!n" FO country="Faroe Islands" bban="4!n9!n1!n" FR country="France" bban="5!n5!n11!c2!n" GB country="United Kingdom" bban="4!a6!n8!n" GE country="Georgia" bban="2!a16!n" GI country="Gibraltar" bban="4!a15!c" GL country="Greenland" bban="4!n9!n1!n" GR country="Greece" bban="3!n4!n16!c" GT country="Guatemala" bban="4!c20!c" HR country="Croatia" bban="7!n10!n" HU country="Hungary" bban="3!n4!n1!n15!n1!n" IE country="Ireland" bban="4!a6!n8!n" IL country="Israel" bban="3!n3!n13!n" IQ country="Iraq" bban="4!a3!n12!n" IS country="Iceland" bban="4!n2!n6!n10!n" IT country="Italy" bban="1!a5!n5!n12!c" JO country="Jordan" bban="4!a4!n18!c" KW country="Kuwait" bban="4!a22!c" KZ country="Kazakhstan" bban="3!n13!c" LB country="Lebanon" bban="4!n20!c" LC country="Saint Lucia" bban="4!a24!c" LI country="Liechtenstein" bban="5!n12!c" LT country="Lithuania" bban="5!n11!n" LU country="Luxembourg" bban="3!n13!c" LV country="Latvia" bban="4!a13!c" MC country="Monaco" bban="5!n5!n11!c2!n" MD country="Moldova" bban="2!c18!c" ME country="Montenegro" bban="3!n13!n2!n" MK country="Macedonia" bban="3!n10!c2!n" MR country="Mauritania" bban="5!n5!n11!n2!n" MT country="Malta" bban="4!a5!n18!c" MU country="Mauritius" bban="4!a2!n2!n12!n3!n3!a" NL country="Netherlands (The)" bban="4!a10!n" NO country="Norway" bban="4!n6!n1!n" PK country="Pakistan" bban="4!a16!c" PL country="Poland" bban="8!n16!n" PS country="Palestine, State of" bban="4!a21!c" PT country="Portugal" bban="4!n4!n11!n2!n" QA country="Qatar" bban="4!a21!c" RO country="Romania" bban="4!a16!c" RS country="Serbia" bban="3!n13!n2!n" SA country="Saudi Arabia" bban="2!n18!c" SC country="Seychelles" bban="4!a2!n2!n16!n3!a" SE country="Sweden" bban="3!n16!n1!n" SI country="Slovenia" bban="5!n8!n2!n" SK country="Slovakia" bban="4!n6!n10!n" SM country="San Marino" bban="1!a5!n5!n12!c" ST country="Sao Tome and Principe" bban="4!n4!n11!n2!n" SV country="El Salvador" bban="4!a20!n" TL country="Timor-Leste" bban="3!n14!n2!n" TN country="Tunisia" bban="2!n3!n13!n2!n" TR country="Turkey" bban="5!n1!n16!c" UA country="Ukraine" bban="6!n19!c" VA country="Vatican City State" bban="3!n15!n" VG country="Virgin Islands" bban="4!a16!n" XK country="Kosovo" bban="4!n10!n2!n" python-stdnum-1.13/stdnum/cusip.py0000644000000000000000000000545313555400447017252 0ustar rootroot00000000000000# cusip.py - functions for handling CUSIP numbers # # Copyright (C) 2015-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CUSIP number (financial security identification number). CUSIP (Committee on Uniform Securities Identification Procedures) numbers are used to identify financial securities. CUSIP numbers are a nine-character alphanumeric code where the first six characters identify the issuer, followed by two digits that identify and a check digit. More information: * https://en.wikipedia.org/wiki/CUSIP * https://www.cusip.com/ >>> validate('DUS0421C5') 'DUS0421C5' >>> validate('DUS0421CN') Traceback (most recent call last): ... InvalidChecksum: ... >>> to_isin('91324PAE2') 'US91324PAE25' """ from stdnum.exceptions import * from stdnum.util import clean def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip().upper() # O and I are not valid but are accounted for in the check digit calculation _alphabet = '0123456789ABCDEFGH JKLMN PQRSTUVWXYZ*@#' def calc_check_digit(number): """Calculate the check digits for the number.""" # convert to numeric first, then sum individual digits number = ''.join( str((1, 2)[i % 2] * _alphabet.index(n)) for i, n in enumerate(number)) return str((10 - sum(int(n) for n in number)) % 10) def validate(number): """Check if the number provided is valid. This checks the length and check digit.""" number = compact(number) if not all(x in _alphabet for x in number): raise InvalidFormat() if len(number) != 9: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is valid. This checks the length and check digit.""" try: return bool(validate(number)) except ValidationError: return False def to_isin(number): """Convert the number to an ISIN.""" from stdnum import isin return isin.from_natid('US', number) python-stdnum-1.13/stdnum/ismn.py0000644000000000000000000001061213555400447017066 0ustar rootroot00000000000000# ismn.py - functions for handling ISMNs # # Copyright (C) 2010-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ISMN (International Standard Music Number). The ISMN (International Standard Music Number) is used to identify sheet music. This module handles both numbers in the 10-digit 13-digit format. >>> validate('979-0-3452-4680-5') '9790345246805' >>> validate('9790060115615') '9790060115615' >>> ismn_type(' M-2306-7118-7') 'ISMN10' >>> validate('9790060115614') Traceback (most recent call last): ... InvalidChecksum: ... >>> compact(' 979-0-3452-4680-5') '9790345246805' >>> format('9790060115615') '979-0-060-11561-5' >>> format('M230671187') '979-0-2306-7118-7' >>> to_ismn13('M230671187') '9790230671187' """ from stdnum import ean from stdnum.exceptions import * from stdnum.util import clean def compact(number): """Convert the ISMN to the minimal representation. This strips the number of any valid ISMN separators and removes surrounding whitespace.""" return clean(number, ' -.').strip().upper() def validate(number): """Check if the number provided is a valid ISMN (either a legacy 10-digit one or a 13-digit one). This checks the length and the check bit but does not check if the publisher is known.""" number = compact(number) if len(number) == 10: if number[0] != 'M': raise InvalidFormat() ean.validate('9790' + number[1:]) elif len(number) == 13: if not number.startswith('9790'): raise InvalidComponent() ean.validate(number) else: raise InvalidLength() return number def ismn_type(number): """Check the type of ISMN number passed and return 'ISMN13', 'ISMN10' or None (for invalid).""" try: number = validate(number) except ValidationError: return None if len(number) == 10: return 'ISMN10' else: # len(number) == 13: return 'ISMN13' def is_valid(number): """Check if the number provided is a valid ISMN (either a legacy 10-digit one or a 13-digit one). This checks the length and the check bit but does not check if the publisher is known.""" try: return bool(validate(number)) except ValidationError: return False def to_ismn13(number): """Convert the number to ISMN13 (EAN) format.""" number = number.strip() min_number = compact(number) if len(min_number) == 13: return number # nothing to do, already 13 digit format # add prefix and strip the M if ' ' in number: return '979 0' + number[1:] elif '-' in number: return '979-0' + number[1:] else: return '9790' + number[1:] # these are the ranges allocated to publisher codes _ranges = ( (3, '000', '099'), (4, '1000', '3999'), (5, '40000', '69999'), (6, '700000', '899999'), (7, '9000000', '9999999')) def split(number): """Split the specified ISMN into a bookland prefix (979), an ISMN prefix (0), a publisher element (3 to 7 digits), an item element (2 to 6 digits) and a check digit.""" # clean up number number = to_ismn13(compact(number)) # find the correct range and split the number for length, low, high in _ranges: # pragma: no branch (all ranges covered) if low <= number[4:4 + length] <= high: return (number[:3], number[3], number[4:4 + length], number[4 + length:-1], number[-1]) def format(number, separator='-'): """Reformat the number to the standard presentation format with the prefixes, the publisher element, the item element and the check-digit separated by the specified separator. The number is converted to the 13-digit format silently.""" return separator.join(x for x in split(number) if x) python-stdnum-1.13/stdnum/ee/0000755000000000000000000000000013611057637016141 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/ee/kmkr.py0000644000000000000000000000427413555400447017464 0ustar rootroot00000000000000# kmkr.py - functions for handling Estonian VAT numbers # coding: utf-8 # # Copyright (C) 2012-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """KMKR (Käibemaksukohuslase, Estonian VAT number). >>> compact('EE 100 931 558') '100931558' >>> validate('100594102') '100594102' >>> validate('100594103') # incorrect check digit Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' ').upper().strip() if number.startswith('EE'): number = number[2:] return number def checksum(number): """Calculate the checksum.""" weights = (3, 7, 1, 3, 7, 1, 3, 7, 1) return sum(w * int(n) for w, n in zip(weights, number)) % 10 def validate(number): """Check if the number provided is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 9: raise InvalidLength() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid VAT number. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ee/ik.py0000644000000000000000000000667513555400447017132 0ustar rootroot00000000000000# ik.py - functions for handling Estonian Personal ID numbers (IK) # coding: utf-8 # # Copyright (C) 2015 Tomas Karasek # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Isikukood (Estonian Personcal ID number). The number consists of 11 digits: the first indicates the gender and century the person was born in, the following 6 digits the birth date, followed by a 3 digit serial and a check digit. More information: * https://www.riigiteataja.ee/akt/106032012004 >>> validate('36805280109') '36805280109' >>> validate('36805280108') # incorrect check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> get_birth_date('36805280109') datetime.date(1968, 5, 28) """ import datetime from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip() def get_birth_date(number): """Split the date parts from the number and return the birth date.""" number = compact(number) if number[0] in '12': century = 1800 elif number[0] in '34': century = 1900 elif number[0] in '56': century = 2000 elif number[0] in '78': century = 2100 else: raise InvalidComponent() year = century + int(number[1:3]) month = int(number[3:5]) day = int(number[5:7]) try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def get_gender(number): """Get the person's birth gender ('M' or 'F').""" number = compact(number) if number[0] in '1357': return 'M' elif number[0] in '2468': return 'F' else: raise InvalidComponent() def calc_check_digit(number): """Calculate the check digit.""" check = sum(((i % 9) + 1) * int(n) for i, n in enumerate(number[:-1])) % 11 if check == 10: check = sum((((i + 2) % 9) + 1) * int(n) for i, n in enumerate(number[:-1])) % 11 return str(check % 10) def validate(number): """Check if the number provided is valid. This checks the length, formatting, embedded date and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 11: raise InvalidLength() get_birth_date(number) if number[-1] != calc_check_digit(number): raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is valid. This checks the length, formatting, embedded date and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ee/__init__.py0000644000000000000000000000166113555400447020254 0ustar rootroot00000000000000# __init__.py - collection of Estonian numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Estonian numbers.""" # provide vat as an alias from stdnum.ee import kmkr as vat # noqa: F401 python-stdnum-1.13/stdnum/ee/registrikood.py0000644000000000000000000000515113555400447021220 0ustar rootroot00000000000000# registrikood.py - functions for handling the Estonian Registrikood # coding: utf-8 # # Copyright (C) 2017 Holvi Payment Services # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Registrikood (Estonian organisation registration code). All organisations are assigned a unique tax identification code from the commercial register, from the state register or from the non-profit associations and foundations register. The code consists of 8 digits. Commercial company numbers start with a 1, schools and government numbers with a 7, non-profit organisations with an 8 and foundations with a 9. The number uses the same check digit algorithm as the Isikukood although that fact is undocumented. More information: * https://ariregister.rik.ee/ * https://mtr.mkm.ee/ >>> validate('12345678') '12345678' >>> validate('12345679') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('32345674') Traceback (most recent call last): ... InvalidComponent: ... """ from stdnum.ee.ik import calc_check_digit from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip() def validate(number): """Check if the number provided is valid. This checks the length and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 8: raise InvalidLength() if number[0] not in '1789': raise InvalidComponent() if number[-1] != calc_check_digit(number): raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is valid. This checks the length and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ru/0000755000000000000000000000000013611057637016176 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/ru/inn.py0000644000000000000000000000600313555400450017323 0ustar rootroot00000000000000# inn.py - functions for handling Russian VAT numbers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ИНН (Идентификационный номер налогоплательщика, Russian tax identifier). The Indentifikatzionny nomer nalogoplatel'shchika is a Russian tax identification number that consists 10 digits for companies and 12 digits for persons. >>> validate('123456789047') '123456789047' >>> validate('1234567894') '1234567894' >>> validate('123456789037') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('1234567895') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip() def calc_company_check_digit(number): """Calculate the check digit for the 10-digit ИНН for organisations.""" weights = (2, 4, 10, 3, 5, 9, 4, 6, 8) return str(sum(weights[i] * int(n) for i, n in enumerate(number[:9])) % 11 % 10) def calc_personal_check_digits(number): """Calculate the check digits for the 12-digit personal ИНН.""" weights = (7, 2, 4, 10, 3, 5, 9, 4, 6, 8) d1 = str(sum(weights[i] * int(n) for i, n in enumerate(number[:10])) % 11 % 10) weights = (3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8) d2 = str(sum(weights[i] * int(n) for i, n in enumerate(number[:10] + d1)) % 11 % 10) return d1 + d2 def validate(number): """Check if the number is a valid ИНН. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) == 10: if calc_company_check_digit(number) != number[-1]: raise InvalidChecksum() elif len(number) == 12: # persons if calc_personal_check_digits(number) != number[-2:]: raise InvalidChecksum() else: raise InvalidLength() return number def is_valid(number): """Check if the number is a valid ИНН.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ru/__init__.py0000644000000000000000000000165613555400450020307 0ustar rootroot00000000000000# __init__.py - collection of Russian numbers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Russian numbers.""" # provide vat as an alias from stdnum.ru import inn as vat # noqa: F401 python-stdnum-1.13/stdnum/mc/0000755000000000000000000000000013611057637016147 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/mc/tva.py0000644000000000000000000000370013555400450017303 0ustar rootroot00000000000000# tva.py - functions for handling Monacan TVA numbers # coding: utf-8 # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """n° TVA (taxe sur la valeur ajoutée, Monacan VAT number). For VAT purposes Monaco is treated as territory of France. The number is also validated the same as the French TVA, except that it is not based on a French SIREN. >>> compact('53 0000 04605') 'FR53000004605' >>> validate('53 0000 04605') 'FR53000004605' >>> validate('FR 61 954 506 077') # French numbers are invalid Traceback (most recent call last): ... InvalidComponent: ... """ from stdnum.exceptions import * from stdnum.fr import tva def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return 'FR' + tva.compact(number) def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = tva.validate(number) if number[2:5] != '000': raise InvalidComponent() return 'FR' + number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/mc/__init__.py0000644000000000000000000000165613555400450020260 0ustar rootroot00000000000000# __init__.py - collection of Monacan numbers # coding: utf-8 # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Monacan numbers.""" # provide vat as an alias from stdnum.mc import tva as vat # noqa: F401 python-stdnum-1.13/stdnum/gr/0000755000000000000000000000000013611057637016160 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/gr/__init__.py0000644000000000000000000000154013555400447020267 0ustar rootroot00000000000000# __init__.py - collection of Greek numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Greek numbers.""" python-stdnum-1.13/stdnum/gr/amka.py0000644000000000000000000000600713555400447017444 0ustar rootroot00000000000000# amka.py - functions for handling Greek social security numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """AMKA (Αριθμός Μητρώου Κοινωνικής Ασφάλισης, Greek social security number). The Αριθμός Μητρώου Κοινωνικής Ασφάλισης (AMKA or Arithmos Mitroou Koinonikis Asfalisis) is the personal identifier that is used for social security purposes in Greece. The number consists of 11 digits and includes the person's date of birth and gender. More information: * http://www.amka.gr/tieinai_en.html >>> validate('01013099997') '01013099997' >>> validate('01013099999') Traceback (most recent call last): ... InvalidChecksum: ... >>> get_birth_date('01013099997') datetime.date(1930, 1, 1) >>> get_gender('01013099997') 'M' """ import datetime from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip() def get_birth_date(number): """Split the date parts from the number and return the date of birth. Since only two digits are used for the year, the century may be incorrect.""" number = compact(number) day = int(number[0:2]) month = int(number[2:4]) year = int(number[4:6]) + 1900 try: return datetime.date(year, month, day) except ValueError: try: return datetime.date(year + 100, month, day) except ValueError: raise InvalidComponent() def get_gender(number): """Get the gender (M/F) from the person's AMKA.""" number = compact(number) if int(number[9]) % 2: return 'M' else: return 'F' def validate(number): """Check if the number is a valid AMKA. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 11: raise InvalidLength() luhn.validate(number) get_birth_date(number) return number def is_valid(number): """Check if the number is a valid AMKA.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/gr/vat.py0000644000000000000000000000463413555400447017331 0ustar rootroot00000000000000# vat.py - functions for handling Greek VAT numbers # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """FPA, ΦΠΑ, ΑΦΜ (Αριθμός Φορολογικού Μητρώου, the Greek VAT number). The FPA is a 9-digit number with a simple checksum. >>> compact('GR 23456783') '023456783' >>> validate('EL 094259216 ') '094259216' >>> validate('EL 123456781') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -./:').upper().strip() if number.startswith('EL') or number.startswith('GR'): number = number[2:] if len(number) == 8: number = '0' + number # old format had 8 digits return number def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" checksum = 0 for n in number: checksum = checksum * 2 + int(n) return str(checksum * 2 % 11 % 10) def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 9: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/__init__.py0000644000000000000000000000272013611057523017654 0ustar rootroot00000000000000# __init__.py - main module # coding: utf-8 # # Copyright (C) 2010-2020 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Parse, validate and reformat standard numbers and codes. This library offers functions for parsing, validating and reformatting standard numbers and codes in various formats. All modules implement a common interface: >>> from stdnum import isbn >>> isbn.validate('978-9024538270') '9789024538270' >>> isbn.validate('978-9024538271') Traceback (most recent call last): ... InvalidChecksum: ... Apart from the validate() function, many modules provide extra parsing, validation, formatting or conversion functions. """ from stdnum.util import get_cc_module __all__ = ('get_cc_module', '__version__') # the version number of the library __version__ = '1.13' python-stdnum-1.13/stdnum/imo.py0000644000000000000000000000524413555400447016711 0ustar rootroot00000000000000# imo.py - functions for handling IMO numbers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """IMO number (International Maritime Organization number). A number used to uniquely identify ships (the hull) for purposes of registering owners and management companies. The ship identification number consists of a six-digit sequentially assigned number and a check digit. The number is usually prefixed with "IMO". Note that there seem to be a large number of ships with an IMO that does not have a valid check digit or even have a different length. >>> validate('IMO 9319466') '9319466' >>> validate('IMO 8814275') '8814275' >>> validate('8814274') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('8814275') 'IMO 8814275' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' ').upper().strip() if number.startswith('IMO'): number = number[3:] return number def calc_check_digit(number): """Calculate the check digits for the number.""" return str(sum(int(n) * (7 - i) for i, n in enumerate(number[:6])) % 10) def validate(number): """Check if the number provided is valid. This checks the length and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 7: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is valid. This checks the length and check digit.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" return 'IMO ' + compact(number) python-stdnum-1.13/stdnum/gt/0000755000000000000000000000000013611057637016162 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/gt/__init__.py0000644000000000000000000000165613555400447020301 0ustar rootroot00000000000000# __init__.py - collection of Guatemalan numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Guatemalan numbers.""" # provide aliases from stdnum.gt import nit as vat # noqa: F401 python-stdnum-1.13/stdnum/gt/nit.py0000644000000000000000000000607613555400447017335 0ustar rootroot00000000000000# nit.py - functions for handling Guatemala NIT numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NIT (Número de Identificación Tributaria, Guatemala tax number). The Número de Identificación Tributaria (NIT) is an identifier of legal entities for tax purposes in Guatemala. The number consists of 2 to 12 characters, where the last one is the check digit (a digit or the letter K) and the rest are digits. Leading zeroes are usually omitted. Digits and check digit are usually separated with a hyphen. More information: * https://portal.sat.gob.gt/portal/descarga/6524/factura-electronica-fel/25542/fel-reglas-y-validaciones.pdf (page 58) * https://portal.sat.gob.gt/portal/consulta-cui-nit/ >>> validate('576937-K') '576937K' >>> validate('7108-0') '71080' >>> validate('8977112-0') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('1234567890123') Traceback (most recent call last): ... InvalidLength: ... >>> format('39525503') '3952550-3' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').upper().strip().lstrip('0') def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" c = -sum(i * int(n) for i, n in enumerate(reversed(number), 2)) % 11 return 'K' if c == 10 else str(c) def validate(number): """Check if the number is a valid Guatemala NIT number. This checks the length, formatting and check digit. """ number = compact(number) if len(number) < 2 or len(number) > 12: raise InvalidLength() if not isdigits(number[:-1]): raise InvalidFormat() if number[-1] != 'K' and not isdigits(number[-1]): raise InvalidFormat() if number[-1] != calc_check_digit(number[:-1]): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid Guatemala NIT number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join([number[:-1], number[-1]]) python-stdnum-1.13/stdnum/numdb.py0000644000000000000000000001472613555400450017231 0ustar rootroot00000000000000# numdb.py - module for handling hierarchically organised numbers # # Copyright (C) 2010-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Query structured number format files with number properties. This module contains functions for reading and querying a database that stores numbers that use a hierarchical format (e.g. ISBN, IBAN, phone numbers, etc). To read a database from a file: >>> with open('tests/numdb-test.dat', 'r') as f: ... dbfile = read(f) To split a number: >>> dbfile.split('01006') ['0', '100', '6'] >>> dbfile.split('902006') ['90', '20', '06'] >>> dbfile.split('909856') ['90', '985', '6'] To split the number and get properties for each part: >>> dbfile.info('01006') == [ ... ('0', {'prop1': 'foo'}), ... ('100', {'prop2': 'bar'}), ... ('6', {}), ... ] True >>> dbfile.info('02006') == [ ... ('0', {'prop1': 'foo'}), ... ('200', {'prop2': 'bar', 'prop3': 'baz'}), ... ('6', {}), ... ] True >>> dbfile.info('03456') == [ ... ('0', {'prop1': 'foo'}), ... ('345', {'prop2': 'bar', 'prop3': 'baz'}), ... ('6', {}), ... ] True >>> dbfile.info('902006') == [ ... ('90', {'prop1': 'booz'}), ... ('20', {'prop2': 'foo'}), ... ('06', {}), ... ] True >>> dbfile.info('909856') == [ ... ('90', {'prop1': 'booz'}), ... ('985', {'prop2': 'fooz'}), ... ('6', {}), ... ] True >>> dbfile.info('9889') == [ ... ('98', {'prop1': 'booz'}), ... ('89', {'prop2': 'foo'}), ... ] True >>> dbfile.info('633322') == [ ... ('6', {'prop1': 'boo'}), ... ('333', {'prop2': 'bar', 'prop3': 'baz', 'prop4': 'bla'}), ... ('22', {}), ... ] True """ import re from pkg_resources import resource_stream _line_re = re.compile( r'^(?P *)' r'(?P([^-,\s]+(-[^-,\s]+)?)(,[^-,\s]+(-[^-,\s]+)?)*)\s*' r'(?P.*)$') _prop_re = re.compile( r'(?P[0-9a-zA-Z-_]+)="(?P[^"]*)"') # this is a cache of open databases _open_databases = {} # the prefixes attribute of NumDB is structured as follows: # prefixes = [ # [ length, low, high, props, children ] # ... # ] # where children is a prefixes structure in its own right # (there is no expected ordering within the list) class NumDB(): """Number database.""" def __init__(self): """Construct an empty database.""" self.prefixes = [] @staticmethod def _merge(results): """Merge the provided list of possible results into a single result list (this is a generator).""" # expand the results to all have the same length ml = max(len(x) for x in results) results = [x + (ml - len(x)) * [None] for x in results] # go over each part for parts in zip(*results): # regroup parts into parts list and properties list partlist, proplist = list(zip(*(x for x in parts if x))) part = min(partlist, key=len) props = {} for p in proplist: props.update(p) yield part, props @staticmethod def _find(number, prefixes): """Lookup the specified number in the list of prefixes, this will return basically what info() should return but works recursively.""" if not number: return [] results = [] if prefixes: for length, low, high, props, children in prefixes: if low <= number[:length] <= high and len(number) >= length: results.append([(number[:length], props)] + NumDB._find(number[length:], children)) # not-found fallback if not results: return [(number, {})] # merge the results into a single result return list(NumDB._merge(results)) def info(self, number): """Split the provided number in components and associate properties with each component. This returns a tuple of tuples. Each tuple consists of a string (a part of the number) and a dict of properties. """ return NumDB._find(number, self.prefixes) def split(self, number): """Split the provided number in components. This returns a tuple with the number of components identified.""" return [part for part, props in self.info(number)] def _parse(fp): """Read lines of text from the file pointer and generate indent, length, low, high, properties tuples.""" for line in fp: # ignore comments if line[0] == '#' or line.strip() == '': continue # pragma: no cover (optimisation takes it out) # any other line should parse match = _line_re.search(line) indent = len(match.group('indent')) ranges = match.group('ranges') props = dict(_prop_re.findall(match.group('props'))) for rnge in ranges.split(','): if '-' in rnge: low, high = rnge.split('-') else: low, high = rnge, rnge yield indent, len(low), low, high, props def read(fp): """Return a new database with the data read from the specified file.""" last_indent = 0 db = NumDB() stack = {0: db.prefixes} for indent, length, low, high, props in _parse(fp): if indent > last_indent: # populate the children field of the last indent stack[last_indent][-1][4] = [] stack[indent] = stack[last_indent][-1][4] stack[indent].append([length, low, high, props, None]) last_indent = indent return db def get(name): """Open a database with the specified name to perform queries on.""" if name not in _open_databases: import codecs reader = codecs.getreader('utf-8') with reader(resource_stream(__name__, name + '.dat')) as fp: _open_databases[name] = read(fp) return _open_databases[name] python-stdnum-1.13/stdnum/za/0000755000000000000000000000000013611057637016162 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/za/tin.py0000644000000000000000000000477513555400450017333 0ustar rootroot00000000000000# tin.py - functions for handling South Africa Tax Reference Number # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """TIN (South African Tax Identification Number). The South African Tax Identification Number (TIN or Tax Reference Number) is issued to individuals and legal entities for tax purposes. The number consists of 10 digits. More information: * https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/South-Africa-TIN.pdf * https://www.sars.gov.za/ >>> validate('0001339050') '0001339050' >>> validate('2449/494/16/0') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('9125568') Traceback (most recent call last): ... InvalidLength: ... >>> format('084308984-8') '0843089848' """ from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace. """ return clean(number, ' -/').upper().strip() def validate(number): """Check if the number is a valid South Africa Tax Reference Number. This checks the length, formatting and check digit. """ number = compact(number) if len(number) != 10: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if number[0] not in '01239': raise InvalidComponent() return luhn.validate(number) def is_valid(number): """Check if the number is a valid South Africa Tax Reference Number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" return compact(number) python-stdnum-1.13/stdnum/za/__init__.py0000644000000000000000000000156013555400450020265 0ustar rootroot00000000000000# __init__.py - collection of South Africa numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of South Africa numbers.""" python-stdnum-1.13/stdnum/za/idnr.py0000644000000000000000000000731513610634552017472 0ustar rootroot00000000000000# tin.py - functions for handling South Africa ID number # coding: utf-8 # # Copyright (C) 2020 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ID number (South African Identity Document number). The South African ID number is issued to individuals within South Africa. The number consists of 13 digits and contains information about a person's date of birth, gender and whether the person is a citizen or permanent resident. More information: * https://en.wikipedia.org/wiki/South_African_identity_card * http://www.dha.gov.za/index.php/identity-documents2 >>> validate('7503305044089') '7503305044089' >>> validate('8503305044089') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('9125568') Traceback (most recent call last): ... InvalidLength: ... >>> get_gender('7503305044089') 'M' >>> get_birth_date('7503305044089') datetime.date(1975, 3, 30) >>> get_citizenship('7503305044089') 'citizen' >>> format('750330 5044089') '750330 5044 08 9' """ import datetime from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace. """ return clean(number, ' ') def get_birth_date(number): """Split the date parts from the number and return the date of birth. Since the number only uses two digits for the year, the century may be incorrect. """ number = compact(number) today = datetime.date.today() year = int(number[0:2]) + (100 * (today.year // 100)) month = int(number[2:4]) day = int(number[4:6]) if year > today.year: year -= 100 try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def get_gender(number): """Get the gender (M/F) from the person's ID number.""" number = compact(number) if number[6] in '01234': return 'F' else: return 'M' def get_citizenship(number): """Get the citizenship status (citizen/resident) from the ID number.""" number = compact(number) if number[10] == '0': return 'citizen' elif number[10] == '1': return 'resident' else: raise InvalidComponent() def validate(number): """Check if the number is a valid South African ID number. This checks the length, formatting and check digit. """ number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 13: raise InvalidLength() get_birth_date(number) get_citizenship(number) return luhn.validate(number) def is_valid(number): """Check if the number is a valid South African ID number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return ' '.join((number[:6], number[6:10], number[10:12], number[12:])) python-stdnum-1.13/stdnum/issn.py0000644000000000000000000000606113555400450017071 0ustar rootroot00000000000000# issn.py - functions for handling ISSNs # # Copyright (C) 2010-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ISSN (International Standard Serial Number). The ISSN (International Standard Serial Number) is the standard code to identify periodical publications (e.g. magazines). An ISSN has 8 digits and is formatted in two pairs of 4 digits separated by a hyphen. The last digit is a check digit and may be 0-9 or X (similar to ISBN-10). More information: * https://en.wikipedia.org/wiki/International_Standard_Serial_Number * http://www.issn.org/ >>> validate('0024-9319') '00249319' >>> validate('0032147X') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('003214712') Traceback (most recent call last): ... InvalidLength: ... >>> compact('0032-1478') '00321478' >>> format('00249319') '0024-9319' >>> to_ean('0264-3596') '9770264359008' """ from stdnum import ean from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the ISSN to the minimal representation. This strips the number of any valid ISSN separators and removes surrounding whitespace.""" return clean(number, ' -').strip().upper() def calc_check_digit(number): """Calculate the ISSN check digit for 10-digit numbers. The number passed should not have the check bit included.""" check = (11 - sum((8 - i) * int(n) for i, n in enumerate(number))) % 11 return 'X' if check == 10 else str(check) def validate(number): """Check if the number is a valid ISSN. This checks the length and whether the check digit is correct.""" number = compact(number) if not isdigits(number[:-1]): raise InvalidFormat() if len(number) != 8: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid ISSN.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return number[:4] + '-' + number[4:] def to_ean(number, issue_code='00'): """Convert the number to EAN-13 format.""" number = '977' + validate(number)[:-1] + issue_code return number + ean.calc_check_digit(number) python-stdnum-1.13/stdnum/es/0000755000000000000000000000000013611057637016157 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/es/iban.py0000644000000000000000000000467613555400447017455 0ustar rootroot00000000000000# iban.py - functions for handling Spanish IBANs # coding: utf-8 # # Copyright (C) 2016 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Spanish IBAN (International Bank Account Number). The IBAN is used to identify bank accounts across national borders. The Spanish IBAN is built up of the IBAN prefix (ES) and check digits, followed by the 20 digit CCC (Código Cuenta Corriente). >>> validate('ES77 1234-1234-16 1234567890') 'ES7712341234161234567890' >>> to_ccc('ES77 1234-1234-16 1234567890') '12341234161234567890' >>> format('ES771234-1234-16 1234567890') 'ES77 1234 1234 1612 3456 7890' >>> validate('GR1601101050000010547023795') # different country Traceback (most recent call last): ... InvalidComponent: ... >>> validate('ES12 1234-1234-16 1234567890') # invalid IBAN check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('ES15 1234-1234-17 1234567890') # invalid CCC check digit Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum import iban from stdnum.es import ccc from stdnum.exceptions import * __all__ = ['compact', 'format', 'to_ccc', 'validate', 'is_valid'] compact = iban.compact format = iban.format def to_ccc(number): """Return the CCC (Código Cuenta Corriente) part of the number.""" number = compact(number) if not number.startswith('ES'): raise InvalidComponent() return number[4:] def validate(number): """Check if the number provided is a valid Spanish IBAN.""" number = iban.validate(number, check_country=False) ccc.validate(to_ccc(number)) return number def is_valid(number): """Check if the number provided is a valid Spanish IBAN.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/es/referenciacatastral.py0000644000000000000000000001003513555400447022530 0ustar rootroot00000000000000# referenciacatastral.py - functions for handling Spanish real state ids # coding: utf-8 # # Copyright (C) 2016 David García Garzón # Copyright (C) 2016-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Referencia Catastral (Spanish real estate property id) The cadastral reference code is an identifier for real estate in Spain. It is issued by Dirección General del Catastro (General Directorate of Land Registry) of the Ministerio de Hacienda (Tresury Ministry). It has 20 digits and contains numbers and letters including the Spanish Ñ. The number consists of 14 digits for the parcel, 4 for identifying properties within the parcel and 2 check digits. The parcel digits are structured differently for urban, non-urban or special (infrastructure) cases. More information: * http://www.catastro.meh.es/esp/referencia_catastral_1.asp (Spanish) * http://www.catastro.meh.es/documentos/05042010_P.pdf (Spanish) * https://es.wikipedia.org/wiki/Catastro#Referencia_catastral >>> validate('7837301-VG8173B-0001 TT') # Lanteira town hall '7837301VG8173B0001TT' >>> validate('783301 VG8173B 0001 TT') # missing digit Traceback (most recent call last): ... InvalidLength: ... >>> validate('7837301/VG8173B 0001 TT') # not alphanumeric Traceback (most recent call last): ... InvalidFormat: ... >>> validate('7837301 VG8173B 0001 NN') # bad check digits Traceback (most recent call last): ... InvalidChecksum: ... >>> format('4A08169P03PRAT0001LR') # BCN Airport '4A08169 P03PRAT 0001 LR' """ from stdnum.exceptions import * from stdnum.util import clean, to_unicode alphabet = u'ABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789' def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip().upper() def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return ' '.join([ number[:7], number[7:14], number[14:18], number[18:]]) # The check digit implementation is based on the Javascript # implementation by Vicente Sancho that can be found at # http://trellat.es/validar-la-referencia-catastral-en-javascript/ def _check_digit(number): """Calculate a single check digit on the provided part of the number.""" weights = (13, 15, 12, 5, 4, 17, 9, 21, 3, 7, 1) s = sum(w * (int(n) if n.isdigit() else alphabet.find(n) + 1) for w, n in zip(weights, number)) return 'MQWERTYUIOPASDFGHJKLBZX'[s % 23] def calc_check_digits(number): """Calculate the check digits for the number.""" number = to_unicode(compact(number)) return ( _check_digit(number[0:7] + number[14:18]) + _check_digit(number[7:14] + number[14:18])) def validate(number): """Check if the number is a valid Cadastral Reference. This checks the length, formatting and check digits.""" number = compact(number) n = to_unicode(number) if not all(c in alphabet for c in n): raise InvalidFormat() if len(n) != 20: raise InvalidLength() if calc_check_digits(n) != n[18:]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid Cadastral Reference.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/es/nie.py0000644000000000000000000000500313555400447017300 0ustar rootroot00000000000000# nie.py - functions for handling Spanish foreigner identity codes # coding: utf-8 # # Copyright (C) 2012-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NIE (Número de Identificación de Extranjero, Spanish foreigner number). The NIE is an identification number for foreigners. It is a 9 digit number where the first digit is either X, Y or Z and last digit is a checksum letter. More information: * https://es.wikipedia.org/wiki/N%C3%BAmero_de_identidad_de_extranjero >>> validate('x-2482300w') 'X2482300W' >>> validate('x-2482300a') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('X2482300') # digit missing Traceback (most recent call last): ... InvalidLength: ... """ from stdnum.es import dni from stdnum.exceptions import * from stdnum.util import isdigits __all__ = ['compact', 'calc_check_digit', 'validate', 'is_valid'] # use the same compact function as DNI compact = dni.compact def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" # replace XYZ with 012 number = str('XYZ'.index(number[0])) + number[1:] return dni.calc_check_digit(number) def validate(number): """Check if the number provided is a valid NIE. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number[1:-1]) or number[:1] not in 'XYZ': raise InvalidFormat() if len(number) != 9: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid NIE. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/es/__init__.py0000644000000000000000000000165613555400447020276 0ustar rootroot00000000000000# __init__.py - collection of Spanish numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Spanish numbers.""" # provide vat as an alias from stdnum.es import nif as vat # noqa: F401 python-stdnum-1.13/stdnum/es/nif.py0000644000000000000000000000614613555400447017312 0ustar rootroot00000000000000# nif.py - functions for handling Spanish NIF (VAT) numbers # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NIF (Número de Identificación Fiscal, Spanish VAT number). The Spanish VAT number is a 9-digit number where either the first, last digits or both can be letters. The number is either a DNI (Documento Nacional de Identidad, for Spaniards), a NIE (Número de Identificación de Extranjero, for foreigners) or a CIF (Código de Identificación Fiscal, for legal entities and others). >>> compact('ES B-58378431') 'B58378431' >>> validate('B64717838') 'B64717838' >>> validate('B64717839') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('54362315K') # resident '54362315K' >>> validate('X-5253868-R') # foreign person 'X5253868R' >>> validate('M-1234567-L') # foreign person without NIE 'M1234567L' """ from stdnum.es import cif, dni, nie from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('ES'): number = number[2:] return number def validate(number): """Check if the number provided is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number[1:-1]): raise InvalidFormat() if len(number) != 9: raise InvalidLength() if number[0] in 'KLM': # K: Spanish younger than 14 year old # L: Spanish living outside Spain without DNI # M: granted the tax to foreigners who have no NIE # these use the old checkdigit algorithm (the DNI one) if number[-1] != dni.calc_check_digit(number[1:-1]): raise InvalidChecksum() elif isdigits(number[0]): # natural resident dni.validate(number) elif number[0] in 'XYZ': # foreign natural person nie.validate(number) else: # otherwise it has to be a valid CIF cif.validate(number) return number def is_valid(number): """Check if the number provided is a valid VAT number. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/es/ccc.py0000644000000000000000000000775713555400447017277 0ustar rootroot00000000000000# ccc.py - functions for handling Spanish CCC bank account code # coding: utf-8 # # Copyright (C) 2016 David García Garzón # Copyright (C) 2016 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CCC (Código Cuenta Corriente, Spanish Bank Account Code) CCC code is the country-specific part in Spanish IBAN codes. In order to fully validate an Spanish IBAN you have to validate as well the country specific part as a valid CCC. It was used for home banking transactions until February 1st 2014 when IBAN codes started to be used as an account ID. The CCC has 20 digits, all being numbers: EEEE OOOO DD NNNNNNNNNN * EEEE: banking entity * OOOO: office * DD: check digits * NNNNN NNNNN: account identifier This module does not check if the bank code to exist. Existing bank codes are published on the 'Registro de Entidades' by 'Banco de España' (Spanish Central Bank). More information: * https://es.wikipedia.org/wiki/Código_cuenta_cliente * http://www.bde.es/bde/es/secciones/servicios/Particulares_y_e/Registros_de_Ent/ >>> validate('1234-1234-16 1234567890') '12341234161234567890' >>> validate('134-1234-16 1234567890') # wrong length Traceback (most recent call last): ... InvalidLength: ... >>> validate('12X4-1234-16 1234567890') # non numbers Traceback (most recent call last): ... InvalidFormat: ... >>> validate('1234-1234-00 1234567890') # invalid check digits Traceback (most recent call last): ... InvalidChecksum: ... >>> format('12341234161234567890') '1234 1234 16 12345 67890' >>> to_iban('21000418450200051331') 'ES2121000418450200051331' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip().upper() def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return ' '.join([ number[0:4], number[4:8], number[8:10], number[10:15], number[15:20], ]) def _calc_check_digit(number): """Calculate a single check digit on the provided part of the number.""" check = sum(int(n) * 2 ** i for i, n in enumerate(number)) % 11 return str(check if check < 2 else 11 - check) def calc_check_digits(number): """Calculate the check digits for the number. The supplied number should have check digits included but are ignored.""" number = compact(number) return ( _calc_check_digit('00' + number[:8]) + _calc_check_digit(number[10:])) def validate(number): """Check if the number provided is a valid CCC.""" number = compact(number) if len(number) != 20: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if number[8:10] != calc_check_digits(number): raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid CCC.""" try: return bool(validate(number)) except ValidationError: return False def to_iban(number): """Convert the number to an IBAN.""" from stdnum import iban separator = ' ' if ' ' in number else '' return separator.join(( 'ES' + iban.calc_check_digits('ES00' + number), number)) python-stdnum-1.13/stdnum/es/dni.py0000644000000000000000000000474513555400447017313 0ustar rootroot00000000000000# dni.py - functions for handling Spanish personal identity codes # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """DNI (Documento Nacional de Identidad, Spanish personal identity codes). The DNI is a 9 digit number used to identify Spanish citizens. The last digit is a checksum letter. Foreign nationals, since 2010 are issued an NIE (Número de Identificación de Extranjeros, Foreigner's Identity Number) instead. >>> validate('54362315-K') '54362315K' >>> validate('54362315Z') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('54362315') # digit missing Traceback (most recent call last): ... InvalidLength: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').upper().strip() def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" return 'TRWAGMYFPDXBNJZSQVHLCKE'[int(number) % 23] def validate(number): """Check if the number provided is a valid DNI number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number[:-1]): raise InvalidFormat() if len(number) != 9: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid DNI number. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/es/cif.py0000644000000000000000000000676113555400447017302 0ustar rootroot00000000000000# cif.py - functions for handling Spanish fiscal numbers # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CIF (Código de Identificación Fiscal, Spanish company tax number). The CIF is a tax identification number for legal entities. It has 9 digits where the first digit is a letter (denoting the type of entity) and the last is a check digit (which may also be a letter). More information * https://es.wikipedia.org/wiki/Código_de_identificación_fiscal >>> validate('J99216582') 'J99216582' >>> validate('J99216583') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('J992165831') # too long Traceback (most recent call last): ... InvalidLength: ... >>> validate('M-1234567-L') # valid NIF but not valid CIF Traceback (most recent call last): ... InvalidFormat: ... >>> validate('O-1234567-L') # invalid first character Traceback (most recent call last): ... InvalidFormat: ... >>> split('A13 585 625') ('A', '13', '58562', '5') """ from stdnum import luhn from stdnum.es import dni from stdnum.exceptions import * from stdnum.util import isdigits __all__ = ['compact', 'validate', 'is_valid', 'split'] # use the same compact function as DNI compact = dni.compact def calc_check_digits(number): """Calculate the check digits for the specified number. The number passed should not have the check digit included. This function returns both the number and character check digit candidates.""" check = luhn.calc_check_digit(number[1:]) return check + 'JABCDEFGHI'[int(check)] def validate(number): """Check if the number provided is a valid DNI number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number[1:-1]): raise InvalidFormat() if len(number) != 9: raise InvalidLength() if number[0] in 'ABCDEFGHJNPQRSUVW': # there seems to be conflicting information on which organisation types # should have which type of check digit (alphabetic or numeric) so # we support either here if number[-1] not in calc_check_digits(number[:-1]): raise InvalidChecksum() else: # anything else is invalid raise InvalidFormat() return number def is_valid(number): """Check if the number provided is a valid DNI number. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False def split(number): """Split the provided number into a letter to define the type of organisation, two digits that specify a province, a 5 digit sequence number within the province and a check digit.""" number = compact(number) return number[0], number[1:3], number[3:8], number[8:] python-stdnum-1.13/stdnum/es/cups.py0000644000000000000000000000710713555400447017506 0ustar rootroot00000000000000# cups.py - functions for handling Spanish CUPS code # coding: utf-8 # # Copyright (C) 2016 David García Garzón # Copyright (C) 2016 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CUPS (Código Unificado de Punto de Suministro, Spanish meter point number). CUPS codes are used in Spain as unique identifier for energy supply points. They are used both for electricity and pipelined gas. The format is set by the Energy Ministry, and individual codes are issued by each local distribution company. The number consist or 20 or 22 digits and is built up as follows: * LL: (letters) country (always 'ES' since it is a national code) * DDDD: (numbers) distribution company code (numeric) * CCCC CCCC CCCC: identifier within the distribution company (numeric) * EE: (letters) check digits * N: (number) border point sequence * T: (letter) kind of border point More information: * https://es.wikipedia.org/wiki/Código_Unificado_de_Punto_de_Suministro >>> validate('ES 1234-123456789012-JY') 'ES1234123456789012JY' >>> validate('ES 1234-123456789012-JY 1T') Traceback (most recent call last): ... InvalidFormat: ... >>> validate('ES 1234-123456789012-XY 1F') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('ES1234123456789012JY1F') 'ES 1234 1234 5678 9012 JY 1F' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip().upper() def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return ' '.join(( number[:2], number[2:6], number[6:10], number[10:14], number[14:18], number[18:20], number[20:], )).strip() def calc_check_digits(number): """Calculate the check digits for the number.""" alphabet = 'TRWAGMYFPDXBNJZSQVHLCKE' check0, check1 = divmod(int(number[2:18]) % 529, 23) return alphabet[check0] + alphabet[check1] def validate(number): """Check if the number provided is a valid CUPS. This checks length, formatting and check digits.""" number = compact(number) if len(number) not in (20, 22): raise InvalidLength() if number[:2] != 'ES': raise InvalidComponent() if not isdigits(number[2:18]): raise InvalidFormat() if number[20:]: pnumber, ptype = number[20:] if not isdigits(pnumber): raise InvalidFormat() if ptype not in 'FPRCXYZ': raise InvalidFormat() if calc_check_digits(number) != number[18:20]: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid CUPS.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/co/0000755000000000000000000000000013611057636016150 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/co/__init__.py0000644000000000000000000000200113555400447020251 0ustar rootroot00000000000000# __init__.py - collection of Colombian numbers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Colombian numbers.""" # provide vat and rut as an alias from stdnum.co import nit as vat # noqa: F401, isort:skip from stdnum.co import nit as rut # noqa: F401, isort:skip python-stdnum-1.13/stdnum/co/nit.py0000644000000000000000000000510113555400447017310 0ustar rootroot00000000000000# nit.py - functions for handling Colombian identity codes # coding: utf-8 # # Copyright (C) 2008-2011 Cédric Krier # Copyright (C) 2008-2011 B2CK # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NIT (Número De Identificación Tributaria, Colombian identity code). This number, also referred to as RUT (Registro Unico Tributario) is the Colombian business tax number. >>> validate('213.123.432-1') '2131234321' >>> validate('2131234325') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('2131234321') '213.123.432-1' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips surrounding whitespace and separation dash.""" return clean(number, '.,- ').upper().strip() def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" weights = (3, 7, 13, 17, 19, 23, 29, 37, 41, 43, 47, 53, 59, 67, 71) s = sum(w * int(n) for w, n in zip(weights, reversed(number))) % 11 return '01987654321'[s] def validate(number): """Check if the number is a valid NIT. This checks the length, formatting and check digit.""" number = compact(number) if not 8 <= len(number) <= 16: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid NIT.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '.'.join( number[i - 3:i] for i in reversed(range(-1, -len(number), -3)) ) + '-' + number[-1] python-stdnum-1.13/stdnum/al/0000755000000000000000000000000013611057636016143 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/al/__init__.py0000644000000000000000000000166113555400447020257 0ustar rootroot00000000000000# __init__.py - collection of Albanian numbers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Albanian numbers.""" # provide vat as an alias from stdnum.al import nipt as vat # noqa: F401 python-stdnum-1.13/stdnum/al/nipt.py0000644000000000000000000000444413555400447017474 0ustar rootroot00000000000000# nipt.py - functions for handling Albanian VAT numbers # coding: utf-8 # # Copyright (C) 2008-2011 Cédric Krier # Copyright (C) 2008-2011 B2CK # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NIPT (Numri i Identifikimit për Personin e Tatueshëm, Albanian VAT number). The Albanian NIPT is a 10-digit number with the first and last character being letters. >>> validate('AL J 91402501 L') 'J91402501L' >>> validate('K22218003V') 'K22218003V' >>> validate('(AL) J 91402501') Traceback (most recent call last): ... InvalidLength: ... >>> validate('Z 22218003 V') Traceback (most recent call last): ... InvalidFormat: ... """ import re from stdnum.exceptions import * from stdnum.util import clean # regular expression for matching number _nipt_re = re.compile(r'^[JKL][0-9]{8}[A-Z]$') def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' ').upper().strip() if number.startswith('AL'): number = number[2:] if number.startswith('(AL)'): number = number[4:] return number def validate(number): """Check if the number is a valid VAT number. This checks the length and formatting.""" number = compact(number) if len(number) != 10: raise InvalidLength() if not _nipt_re.match(number): raise InvalidFormat() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/in_/0000755000000000000000000000000013611057637016315 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/in_/pan.py0000644000000000000000000000671313555400447017452 0ustar rootroot00000000000000# pan.py - functions for handling Indian Permanent Account number (PAN) # # Copyright (C) 2017 Srikanth Lakshmanan # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """PAN (Permanent Account Number, Indian income tax identifier). The Permanent Account Number (PAN) is a 10 digit alphanumeric identifier for Indian individuals, families and corporates for income tax purposes. The number is built up of 5 characters, 4 numbers and 1 character. The fourth character indicates the type of holder of the number and the last character is computed by an undocumented checksum algorithm. More information: * https://en.wikipedia.org/wiki/Permanent_account_number >>> validate('ACUPA7085R') 'ACUPA7085R' >>> validate('234123412347') Traceback (most recent call last): ... InvalidLength: ... >>> validate('ABMPA32111') # check digit should be a letter Traceback (most recent call last): ... InvalidFormat: ... >>> validate('ABMXA3211G') # invalid type of holder Traceback (most recent call last): ... InvalidComponent: ... >>> mask('AAPPV8261K') 'AAPPVXXXXK' >>> info('AAPPV8261K')['card_holder_type'] 'Individual' """ import re from stdnum.exceptions import * from stdnum.util import clean _pan_re = re.compile(r'^[A-Z]{5}[0-9]{4}[A-Z]$') def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').upper().strip() def validate(number): """Check if the number provided is a valid PAN. This checks the length and formatting.""" number = compact(number) if len(number) != 10: raise InvalidLength() if not _pan_re.match(number): raise InvalidFormat() info(number) # used to check 4th digit return number def is_valid(number): """Check if the number provided is a valid PAN. This checks the length and formatting.""" try: return bool(validate(number)) except ValidationError: return False _card_holder_types = { 'A': 'Association of Persons (AOP)', 'B': 'Body of Individuals (BOI)', 'C': 'Company', 'F': 'Firm', 'G': 'Government', 'H': 'HUF (Hindu Undivided Family)', 'L': 'Local Authority', 'J': 'Artificial Juridical Person', 'P': 'Individual', 'T': 'Trust (AOP)', 'K': 'Krish (Trust Krish)', } def info(number): """Provide information that can be decoded from the PAN.""" number = compact(number) card_holder_type = _card_holder_types.get(number[3]) if not card_holder_type: raise InvalidComponent() return { 'card_holder_type': card_holder_type, 'initial': number[4], } def mask(number): """Mask the PAN as per CBDT masking standard.""" number = compact(number) return number[:5] + 'XXXX' + number[-1:] python-stdnum-1.13/stdnum/in_/__init__.py0000644000000000000000000000154713555400447020433 0ustar rootroot00000000000000# __init__.py - collection of Indian numbers # coding: utf-8 # # Copyright (C) 2017 Srikanth Lakshmanan # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Indian numbers.""" python-stdnum-1.13/stdnum/in_/aadhaar.py0000644000000000000000000000561213555400447020252 0ustar rootroot00000000000000# aadhaar.py - functions for handling Indian Aadhaar numbers # # Copyright (C) 2017 Srikanth L # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Aadhaar (Indian digital resident personal identity number) Aadhaar is a 12 digit unique identity number issued to all Indian residents. The number is assigned by the Unique Identification Authority of India (UIDAI). More information: * https://en.wikipedia.org/wiki/Aadhaar >>> validate('234123412346') '234123412346' >>> validate('234123412347') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('123412341234') # number should not start with 0 or 1 Traceback (most recent call last): ... InvalidFormat: ... >>> validate('643343121') Traceback (most recent call last): ... InvalidLength: ... >>> format('234123412346') '2341 2341 2346' >>> mask('234123412346') 'XXXX XXXX 2346' """ import re from stdnum import verhoeff from stdnum.exceptions import * from stdnum.util import clean aadhaar_re = re.compile(r'^[2-9][0-9]{11}$') """Regular expression used to check syntax of Aadhaar numbers.""" def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip() def validate(number): """Check if the number provided is a valid Aadhaar number. This checks the length, formatting and check digit.""" number = compact(number) if len(number) != 12: raise InvalidLength() if not aadhaar_re.match(number): raise InvalidFormat() verhoeff.validate(number) return number def is_valid(number): """Check if the number provided is a valid Aadhaar number. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return ' '.join((number[:4], number[4:8], number[8:])) def mask(number): """Masks the first 8 digits as per MeitY guidelines for securing identity information and Sensitive personal data.""" number = compact(number) return 'XXXX XXXX ' + number[-4:] python-stdnum-1.13/stdnum/nz/0000755000000000000000000000000013611057637016177 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/nz/__init__.py0000644000000000000000000000155413555400450020305 0ustar rootroot00000000000000# __init__.py - collection of New Zealand numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of New Zealand numbers.""" python-stdnum-1.13/stdnum/nz/bankaccount.py0000644000000000000000000001210613555400450021031 0ustar rootroot00000000000000# bankaccount.py - functions for handling New Zealand bank account numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """New Zealand bank account number The New Zealand bank account numbers consist of 16 digits. The first two represent the bank, followed by four for the branch, seven digits for the account base number and three for the account type. More information: * https://en.wikipedia.org/wiki/New_Zealand_bank_account_number >>> validate('01-0242-0100194-00') '0102420100194000' >>> validate('01-0242-0100195-00') # invalid check digits Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('01-9999-0100197-00') # invalid branch Traceback (most recent call last): ... InvalidComponent: ... >>> format('0102420100194000') '01-0242-0100194-000' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits # The following algorithms and weights were taken from: # https://www.ird.govt.nz/software-providers/explore-products-contents/reporting/withholding-taxes/rwt-and-nrwt-certificate-filing-options.html#02 # with the modification to use max 7 digits for the account base # instead of 8 (and leaving out algorithm C). # The algorithm to choose based on the bank _algorithms = { '01': 'A', '02': 'A', '03': 'A', '04': 'A', '06': 'A', '08': 'D', '09': 'E', '10': 'A', '11': 'A', '12': 'A', '13': 'A', '14': 'A', '15': 'A', '16': 'A', '17': 'A', '18': 'A', '19': 'A', '20': 'A', '21': 'A', '22': 'A', '23': 'A', '24': 'A', '25': 'F', '26': 'G', '27': 'A', '28': 'G', '29': 'G', '30': 'A', '31': 'X', '33': 'F', '35': 'A', '38': 'A', } # The different weights for the different checksum algorithms _weights = { 'A': (0, 0, 6, 3, 7, 9, 0, 10, 5, 8, 4, 2, 1, 0, 0, 0), 'B': (0, 0, 0, 0, 0, 0, 0, 10, 5, 8, 4, 2, 1, 0, 0, 0), 'D': (0, 0, 0, 0, 0, 0, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0), 'E': (0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 3, 2, 0, 0, 1), 'F': (0, 0, 0, 0, 0, 0, 1, 7, 3, 1, 7, 3, 1, 0, 0, 0), 'G': (0, 0, 0, 0, 0, 0, 1, 3, 7, 1, 3, 7, 1, 3, 7, 1), 'X': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), } # The moduli to use per algorithm _moduli = { 'A': (11, 11), 'B': (11, 11), 'D': (11, 11), 'E': (9, 11), 'F': (10, 10), 'G': (9, 10), 'X': (1, 1), } def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number).strip().replace(' ', '-').split('-') if len(number) == 4: # zero pad the different sections if they are found lengths = (2, 4, 7, 3) return ''.join(n.zfill(l) for n, l in zip(number, lengths)) else: # otherwise zero pad the account type number = ''.join(number) return number[:13] + number[13:].zfill(3) def info(number): """Return a dictionary of data about the supplied number. This typically returns the name of the bank and branch and a BIC if it is valid.""" number = compact(number) from stdnum import numdb info = {} for nr, found in numdb.get('nz/banks').info(number): info.update(found) return info def _calc_checksum(number): # pick the algorithm and parameters algorithm = _algorithms.get(number[:2], 'X') if algorithm == 'A' and number[6:13] >= '0990000': algorithm = 'B' weights = _weights[algorithm] mod1, mod2 = _moduli[algorithm] # calculate the checksum return sum( c % mod1 if c > mod1 else c for c in (w * int(n) for w, n in zip(weights, number))) % mod2 def validate(number): """Check if the number provided is a valid bank account number.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 16: raise InvalidLength() if _calc_checksum(number) != 0: raise InvalidChecksum() i = info(number) if 'bank' not in i or 'branch' not in i: raise InvalidComponent() return number def is_valid(number): """Check if the number provided is a valid bank account number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join([ number[:2], number[2:6], number[6:13], number[13:]]) python-stdnum-1.13/stdnum/nz/ird.py0000644000000000000000000000630313555400450017321 0ustar rootroot00000000000000# ird.py - functions for handling New Zealand IRD numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """IRD number (New Zealand Inland Revenue Department (Te Tari Tāke) number). The IRD number is used by the New Zealand Inland Revenue Department (Te Tari Tāke in Māori) to identify businesses and individuals for tax purposes. The number consists of 8 or 9 digits where the last digit is a check digit. More information: * https://www.ird.govt.nz/ * https://www.ird.govt.nz/-/media/Project/IR/PDF/2020RWTNRWTSpecificationDocumentv10.pdf * https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/New%20Zealand-TIN.pdf >>> validate('4909185-0') '49091850' >>> validate('NZ 49-098-576') '49098576' >>> validate('136410133') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('9125568') Traceback (most recent call last): ... InvalidLength: ... >>> format('49098576') '49-098-576' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation.""" number = clean(number, ' -').upper().strip() if number.startswith('NZ'): return number[2:] return number def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included. """ primary_weights = (3, 2, 7, 6, 5, 4, 3, 2) secondary_weights = (7, 4, 3, 2, 5, 2, 7, 6) # pad with leading zeros number = (8 - len(number)) * '0' + number s = -sum(w * int(n) for w, n in zip(primary_weights, number)) % 11 if s != 10: return str(s) s = -sum(w * int(n) for w, n in zip(secondary_weights, number)) % 11 return str(s) def validate(number): """Check if the number is a valid IRD number.""" number = compact(number) if len(number) not in (8, 9): raise InvalidLength() if not isdigits(number): raise InvalidFormat() if not 10000000 < int(number) < 150000000: raise InvalidComponent() if number[-1] != calc_check_digit(number[:-1]): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid IRD number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join([number[:-6], number[-6:-3], number[-3:]]) python-stdnum-1.13/stdnum/nz/banks.dat0000644000000000000000000021531013611053275017763 0ustar rootroot00000000000000# generated from BankBranchRegister-20Dec2019.xls downloaded from # https://www.paymentsnz.co.nz/resources/industry-registers/bank-branch-register/download/xls/ 01 bank="ANZ Bank New Zealand" 0001 branch="ANZ Retail 1" 0004 branch="ANZ Retail 2" 0008 branch="International Services" 0009 branch="ANZ Retail 3" 0011 branch="Head Office" 0030 branch="Bonus Bonds" 0034 branch="Online Business" 0042 branch="Asian Banking Central" 0050 branch="ANZ Contact Centre" 0053 branch="ANZ Custodian Services" 0055 branch="EDS Test Branch" 0058 branch="ANZ NZ Headquarters" 0066 branch="Admin Test File" 0069 branch="Systems Test Branch" 0070 branch="Lending Service" 0071,1842 branch="New Resident Services" 0075 branch="ANZ Retail 7" 0077 branch="ANZ Retail 8" 0078 branch="ANZ Retail 9" 0079 branch="Palmerston North Trans PC" 0080,0083 branch="ANZ Wealth" 0084,1816 branch="Transaction Services" 0085 branch="OSC Southern Zone TPC Wellington Support" 0088 branch="ANZ AS/400 Test" 0091 branch="Conversion Branch Exception" 0092 branch="Personal Credit Management" 0102,0113,0121,0125,0137,0141,0143,0147,0154,0165,0178,0186,0194,0205,0210,0218,0226,0234-0236,0242,0244,0258,0262,0274,0281,0295,0297-0298,0302,0321,0330,0354,0362,0367,0370,0381-0382,0387,0391,0398,0403,0422,0425,0427,0434,0439,0451,0455,0461,0482,0486,0504,0533,0542,0546,0598,0641,0650-0651,0671,0677-0678,0685,0695,0707,0721,0745,0759,0771,0777-0778,0782,0815,0834,0902,0913,0926,0961 branch="ANZ Retail" 0107 branch="Credit Assessment" 0126 branch="ANZ Group Credit Cards" 0129,0249,0310-0311,0349,0450,0530,0623,0646,0653,0682,0697,0702,0723,0761,0763,0787,0790,0804,0886,0893,0906-0907 branch="Retail" 0142 branch="424A St Lukes Mall" 0161 branch="Sylvia Park" 0170 branch="Howick" 0171,1847 branch="Royal Oak" 0182,1848 branch="Glenfield Mall" 0183 branch="Stoddard Road" 0190 branch="Manukau" 0202 branch="Newton" 0204 branch="New Lynn" 0215 branch="Highbrook" 0221 branch="Botany Downs" 0270,1841 branch="St Lukes Mall" 0277 branch="Albany 2" 0286,1850 branch="Takanini" 0288 branch="Waiheke Island" 0307 branch="Dargaville" 0315 branch="Hamilton" 0322 branch="Tauranga Crossing" 0325,1851 branch="Northwood" 0327 branch="Frankton 2" 0331 branch="Kerikeri 2" 0338,0353 branch="Kaitaia" 0373 branch="Mount Maunganui" 0395 branch="Paeroa" 0414 branch="Rotorua Mall" 0438 branch="Karori" 0447 branch="Te Kuiti" 0467 branch="Rotorua" 0475,1193 branch="Bayfair" 0487 branch="Whangarei" 0495 branch="NorthWest" 0505 branch="Wellington" 0509,0537 branch="Victoria St Central" 0514 branch="Christchurch SPB Branch" 0517,1823 branch="Courtenay Place" 0519 branch="Johnsonville" 0527 branch="North Lambton Quay" 0535 branch="Merchant Business Solutions" 0553 branch="Tawa" 0557 branch="Wellington Travel" 0564 branch="Wellington 3" 0586 branch="Wellington 2" 0607 branch="Lower Hutt 2" 0611 branch="Dannevirke" 0625 branch="Feilding" 0635 branch="Northlands" 0662 branch="Taradale" 0664 branch="University Of Canterbury" 0666 branch="Levin" 0676,1192 branch="Chatham Islands" 0681 branch="Marton" 0691 branch="Storford Lodge" 0731 branch="Paraparaumu" 0735,1852 branch="Silverdale" 0748 branch="Bethlehem" 0753 branch="Hamilton East" 0754 branch="Palmerston North" 0755 branch="Terrace End" 0769 branch="ANZ Bank" 0770 branch="Gisborne 3" 0795 branch="Waverley" 0797 branch="Christchurch" 0798 branch="Addington" 0806,1158 branch="The Palms" 0811 branch="Hornby" 0819 branch="Riccarton" 0822 branch="Sydenham" 0825,1188 branch="Merivale" 0833 branch="Ferrymead" 0841 branch="Geraldine" 0843 branch="Greymouth" 0853 branch="Kaiapoi Service Centre" 0867 branch="Five Mile" 0877 branch="Rangiora" 0885 branch="Temuka" 0914 branch="Balclutha" 0963 branch="Hokitika" 0964 branch="Oamaru" 0979 branch="Auckland South Travel" 0981 branch="Direct Business Banking Central" 1101 branch="Auckland Support Centre" 1103 branch="Auckland (Queen and Victoria Streets) 2" 1104,1109 branch="Wellington Support Centre" 1105 branch="Business Bank Auckland North Region" 1106 branch="Business Bank Auckland Region" 1107 branch="Christchurch International Services" 1108 branch="Business Bank Auckland South Region" 1110 branch="The Warehouse Manukau 2" 1111 branch="Business Centre Invercargill" 1112 branch="Business Bank Tauranga" 1113 branch="Business Bank Southern Region" 1114 branch="Business Bank ANZIB Auckland" 1115 branch="Banking Centre Nelson" 1116 branch="National Mutual" 1117 branch="Business Banking Hamilton" 1118 branch="New Plymouth 3" 1119 branch="Auckland Business Direct Centre" 1120 branch="Stortford Lodge" 1121 branch="Browns Bay 1" 1122 branch="Johnsonville 2" 1123 branch="Wanganui 2" 1124 branch="Masterton 2" 1125 branch="Invercargill 4" 1128,1135,1161-1162 branch="Business Banking Central Region" 1129,1147,1168 branch="Business Banking Southern Region" 1130 branch="Business Banking Centre Dunedin" 1131 branch="Dunedin" 1132 branch="Business Banking - Central Region" 1133 branch="Telephone Banking Services" 1134 branch="Stortford Lodge 2" 1136 branch="Asset Management" 1137 branch="Business Banking, Southern Region" 1138 branch="Central Zone Relation" 1139 branch="Banking Centre Invercargill" 1140 branch="Albany" 1141 branch="Albany Instore" 1142 branch="Lincoln North 2" 1143 branch="Panmure 3" 1144 branch="Ashburton Business Centre" 1145 branch="Private Banking Auckland" 1146 branch="Private Banking Wellington" 1148 branch="Private Bank Christchurch" 1149 branch="Timaru Business Centre" 1150-1151,1197 branch="Central Region Relationship Banking" 1152 branch="Rangiora Business Centre" 1153 branch="Christchurch Business Banking Centre" 1155 branch="Sydenham Business Centre" 1156 branch="Dunedin Business Banking Centre" 1157 branch="Kaiapoi 2" 1159 branch="Lincoln North" 1160 branch="Papanui 2" 1163 branch="Havelock North 2" 1164 branch="Business Banking Christchurch" 1165 branch="Institutional Bank" 1166 branch="International Services Auckland" 1167 branch="Waikanae" 1169 branch="Banking Centre Christchurch" 1170 branch="International Services, Auckland South" 1171 branch="International Services, Auckland North" 1172 branch="Richmond" 1173 branch="Papatoetoe 2" 1174 branch="Panmure 2 (Ex ANZ Mt Wellington)" 1175 branch="Papakura 2" 1176 branch="Merivale 3" 1177 branch="Shirley" 1178 branch="Business Bank Auckland West Mid Market" 1179 branch="International Operations" 1180 branch="Milford 2" 1181 branch="Orewa" 1182 branch="Business Banking Property Unit" 1183 branch="Business Banking Corporate Nrthrn Region" 1184 branch="Bayfair 2" 1185 branch="Upper Hutt 2" 1186 branch="UDC Property Lending" 1187 branch="Hamilton 2" 1189 branch="Riccarton Business Centre" 1190 branch="New Lynn 4" 1191 branch="Paihia" 1194 branch="Business Banking Centre Christchurch" 1195 branch="Manukau City 2" 1198 branch="Katikati 2" 1199 branch="Havelock North" 1800 branch="Auckland Bureau" 1801 branch="Wellington Bureau De Change" 1802 branch="Christchurch Bureau" 1803 branch="Queenstown Bureau" 1804 branch="Botany Downs Town Centre" 1805 branch="ANZ E*Trade Support" 1806 branch="Bureau De Change - 95 Queen Street" 1807 branch="Loan And Building Society" 1808 branch="International Services Assist" 1809 branch="Origin Mortgage Management Services" 1811 branch="268 Queen Street" 1812 branch="Cib-Institutional Resources" 1813 branch="Cib-Institutional Retail And Distribution" 1814 branch="Cib-Institutional Telcos And Media" 1815 branch="Auckland Voucher Processing" 1817 branch="Christchurch Voucher Processing" 1818 branch="ANZ Cards Issuing" 1819 branch="Personal Loans" 1820 branch="Institutional Banking Branch" 1821 branch="ANZ University of Canterbury" 1822 branch="Whangaparaoa" 1824 branch="Andrews Avenue Lower Hutt" 1825 branch="Westgate" 1826 branch="Commercial Auckland North" 1827 branch="Commercial Auckland CBD" 1828 branch="Commercial Auckland South" 1829 branch="Commercial Bay of Plenty" 1830 branch="Commercial Waikato" 1831 branch="Commercial Central" 1832 branch="Commercial Wellington" 1833 branch="Commercial Canterbury West Coast" 1834 branch="Commercial Otago Southland" 1835 branch="ANZ LynnMall" 1836 branch="ANZ Trade and Transaction Services" 1837 branch="ANZ Sylvia Park" 1838 branch="Albany Mall" 1839 branch="Auckland (Queen and Victoria Streets)" 1840 branch="Mount Eden" 1843,1888 branch="ANZ Asian Banking" 1844 branch="WestCity" 1845 branch="ANZ On Line Business" 1846 branch="Manukau Mall" 1849 branch="Grey Lynn" 1853-1854 branch="Transaction Banking" 1889 branch="CTM Processing" 02 bank="Bank of New Zealand" 0018 branch="Northern Regional Office" 0040 branch="Dunedin Proof Centre" 0100 bic="BKNZNZ22100" branch="Auckland" 0108 branch="Downtown" 0110 branch="St Lukes Mall" 0112 branch="Birkenhead" 0120 branch="Browns Bay" 0124 branch="Auckland International Airport" 0128 branch="Customs Street" 0130 branch="BNZ International Services Auckland" 0135 branch="International Operations Northern Region" 0136 branch="Devonport" 0139 branch="Kumeu" 0144 branch="Dominion Road" 0148 branch="Glen Innes" 0151 branch="John Henry Centre" 0152 branch="Henderson" 0157 branch="Glen Eden" 0159 branch="University Of Auckland" 0160 branch="Auckland Central Banking Centre" 0167 branch="Hunters Corner" 0168 branch="Howick" 0176 branch="BNZ Dominion Road" 0184 branch="New Lynn" 0191 branch="Manukau Banking Centre" 0192 branch="Newmarket" 0200 branch="Karangahape Road" 0208 branch="Onehunga" 0213 branch="Onehunga East" 0214 branch="Highbrook Store" 0216 branch="Otahuhu" 0223 branch="Pakuranga" 0224 branch="Sylvia Park Branch" 0232 branch="Papatoetoe" 0238 branch="Parnell" 0240 branch="Penrose" 0248 branch="Ponsonby" 0256 branch="Remuera" 0261 branch="St Heliers" 0264 branch="Mt Eden" 0271 branch="Milford" 0272 branch="BNZ Takapuna" 0278,1262 branch="Link Drive" 0280 branch="Town Hall" 0290 branch="262 Queen Street" 0300 branch="Cambridge" 0304 branch="Coromandel" 0308 branch="Dargaville" 0312 branch="Frankton" 0316 branch="Hamilton Banking Centre" 0320 branch="Hamilton North" 0324 branch="Helensville" 0328 branch="Huntly" 0332 branch="Kaikohe Store" 0336 branch="Kaitaia" 0340 branch="Katikati" 0341 branch="Bryce Street" 0342 branch="Hamilton East" 0343 branch="University Of Waikato" 0348,0488 branch="Whakatane" 0352 branch="Kerikeri" 0358 branch="Manurewa" 0360 branch="Matamata" 0364 branch="Maungaturoto" 0368 branch="Morrinsville" 0372 branch="Mt Maunganui" 0376 branch="Ngaruawahia" 0378 branch="Rotorua Central" 0380 branch="Ngatea" 0386 branch="Paihia" 0388 branch="Opotiki" 0390 branch="Orewa" 0392 branch="Otorohanga" 0396 branch="Paeroa Store" 0400 branch="Papakura" 0404 branch="Pukekohe" 0408 branch="Putaruru" 0410 branch="Chartwell" 0412,0416 branch="Rotorua" 0424 branch="Taumarunui" 0428 branch="Taupo" 0432 branch="Tauranga Store" 0436 branch="Te Aroha" 0440 branch="Te Awamutu" 0444 branch="Te Kauwhata" 0448 branch="Te Kuiti" 0452 branch="Te Puke" 0454 branch="BNZ The Base" 0456 branch="Thames" 0464 branch="Tokoroa" 0466 branch="Cameron Road Banking Centre" 0468 branch="Tuakau" 0470 branch="Turangi" 0472 branch="Waihi" 0476 branch="Waiuku" 0478 branch="Trust Bank Auckland/BNZ" 0480 branch="Warkworth Store" 0484 branch="Wellsford" 0492 branch="Whangarei" 0494 branch="Whangarei Central" 0496 branch="Whitianga" 0499 branch="Gis Atm Control" 0500 bic="BKNZNZ22500" branch="Wellington" 0506 branch="222 Lambton Quay" 0512,0568 branch="Courtenay Place" 0520 branch="Kilbirnie Store" 0524 branch="Johnsonville" 0528 branch="Lower Hutt" 0534 branch="Mayfair" 0536 branch="North End" 0540 branch="Naenae" 0544 branch="Petone" 0548 branch="Porirua" 0551 branch="BNZ International Services Wellington" 0552 branch="BNZ Porirua" 0554 branch="Reserve Bank" 0555 branch="International Service Centre" 0560 branch="50 Manners Street Store" 0562 branch="Personal Banking Office" 0563 branch="Gresham Plaza" 0570 branch="Wainuiomata" 0573 branch="BNZ Technology Test Branch" 0576 branch="Wellington South" 0585 branch="Cathedral" 0590 branch="Training Centre Branch" 0591 branch="Waikanae" 0600,0740 branch="Blenheim" 0602 branch="New Plymouth East" 0604 branch="Bulls" 0608 branch="Carterton" 0610 branch="Waterloo Road" 0612,0724 branch="Dannevirke" 0620 branch="Eltham" 0624 branch="Featherston" 0628 branch="Feilding" 0630 branch="Fitzherbert Avenue" 0632 branch="Foxton" 0636 branch="Gisborne" 0640 branch="Greytown" 0644 branch="Hastings" 0648 branch="Hawera Store" 0652 branch="Hunterville" 0655 branch="Havelock North" 0656 branch="Inglewood" 0659 branch="International Transfers Centre" 0668 branch="Levin" 0672 branch="Manaia" 0673 branch="Wanaka" 0680 branch="Martinborough" 0684 branch="BNZ Feilding" 0686 branch="Lower Emerson Street" 0688 branch="Masterton" 0692 branch="Motueka" 0700 branch="Napier" 0704 branch="Nelson" 0708 branch="New Plymouth" 0712 branch="Ohakune" 0716 branch="Opunake" 0719 branch="Terrace End" 0720 branch="Otaki" 0727 branch="Palmerston North" 0733 branch="Paraparaumu" 0741 branch="Stortford Lodge" 0747 branch="Richmond" 0756 branch="Stratford" 0760 branch="Taihape" 0764 branch="Takaka" 0766 branch="Taradale" 0772 branch="Upper Hutt" 0776 branch="Waipawa" 0780 branch="Waipukurau" 0784 branch="Wairoa" 0788 branch="Waitara" 0792 branch="Wanganui" 0796 branch="Woodville" 0800 bic="BKNZNZ22800" branch="Cashel & Fitzgerald" 0808 branch="Christchurch International Services" 0810 branch="Hornby" 0816 branch="Papanui" 0820 branch="Riccarton" 0828 branch="Sydenham" 0832 branch="Akaroa" 0836 branch="Ashburton" 0840 branch="Geraldine" 0842 branch="BNZ Ferrymead" 0844 branch="Greymouth" 0848 branch="Hokitika" 0852 branch="Kaiapoi" 0856 branch="Kaikoura" 0858 branch="BNZ International Services Christchurch" 0860 branch="Leeston" 0863 branch="New Brighton" 0864 branch="Ferrymead Store" 0865 branch="Armagh Street" 0868 branch="Methven" 0871 branch="City South" 0874 branch="Upper Riccarton" 0875 branch="University of Canterbury" 0876 branch="Rangiora" 0880 branch="Reefton" 0884 branch="Temuka" 0888 branch="Timaru" 0892 branch="Waimate" 0896 branch="Westport" 0900,0912 branch="Dunedin" 0908 branch="Dunedin North" 0910 branch="South Dunedin" 0916 branch="Alexandra" 0918 branch="Balclutha" 0920 branch="Cromwell" 0922 branch="Gore" 0924 branch="Invercargill" 0929 branch="University Of Otago" 0930 branch="Lumsden" 0935 branch="Milton" 0938 branch="Mosgiel" 0940 branch="Oamaru" 0944 branch="Otautau" 0946 branch="Palmerston" 0948 branch="Queenstown" 0950 branch="Ranfurly" 0953 branch="Roxburgh" 0957 branch="Winton" 0959 branch="Wyndham" 0965 branch="Te Anau" 0975 branch="Treasury Operations" 0985 bic="BKNZNZ22985" branch="BNZ Head Office" 0987 branch="Credit Cards" 0989 branch="Corporate H/O" 0993 branch="Auckland Clearings" 0995 branch="Wellington Clearings" 1201 branch="Christchurch Proof Centre" 1202 branch="Transaction Processing Centre Wellington" 1203 branch="ReSTART" 1204 branch="BNZ Small Business Hub" 1206 branch="Lincoln North" 1207 branch="Auckland Cheque Post" 1209 branch="BNZ Partners Support Centre" 1210 branch="Greerton" 1211 branch="Rfs Operations" 1212 branch="Customer Account Services Wellington" 1214 branch="Auckland Banking Zone Office" 1215 branch="Corporate Banking Wellington" 1216 branch="Meadowlands" 1217 branch="Lending Services Auckland" 1218 branch="Corporate Banking South Island" 1219 branch="Customer Account Services Auckland" 1220 branch="Broadway" 1221 branch="Parkroyal" 1222 branch="DMS Auckland" 1223 branch="Telebusiness Centre" 1225 branch="Auckland International Airport Agency" 1227 branch="Macquarie Investment Management Limited" 1228 branch="Mortgage Distribution Fund" 1229 branch="National Australia Bank Integration Br." 1230 branch="Sky City Store" 1231 branch="Massey University" 1232 branch="Global Banking" 1233 branch="Direct Banking - Wellington" 1234 branch="St Lukes" 1235 branch="Christchurch International Airport" 1236 branch="Hamilton Cash Services" 1237 branch="Wellington Cash Services" 1238 branch="Christchurch Cash Services" 1239 branch="Auckland Call Centre" 1240 branch="BNZ Broker Hub" 1241 branch="Kookmin Bank" 1242 branch="The Cooperative Bank 1" 1243 branch="PC Business Banking" 1244 branch="Albany" 1245 branch="The Cooperative Bank 4" 1246 branch="The Cooperative Bank 2" 1247 branch="The Cooperative Bank 5" 1248 branch="The Cooperative Bank 3" 1249 branch="The Cooperative Bank 6" 1250 branch="Wellington Imaging" 1251 branch="Auckland Imaging" 1252 branch="Tower" 1253 branch="The Palms Mall" 1254 branch="Whangamata" 1255 branch="PC Internet Banking" 1256,1263 branch="Botany" 1257 branch="80 Queen Street" 1258 branch="Papamoa" 1259 branch="BNZ Barrington Mall" 1260 branch="Glenfield" 1261 branch="BNZ Direct" 1264 branch="BNZ Parnell" 1265 branch="Remarkables Park" 1266 branch="Rolleston" 1267 branch="BNZ Parkside" 1268 branch="BNZ Christchurch" 1269 branch="BNZ Harbour Quays" 1271 branch="Awhi Credit Union" 1272 branch="The Base" 1273 branch="Bank of Baroda" 1274 branch="BNZ Connect" 1275 branch="Sylvia Park Store" 1278 branch="Russley" 1283 branch="Access Prepaid Worldwide CPP" 1284 branch="Access Prepaid Worldwide - Qantas Cash NZ" 1285 branch="NorthWest" 1286,1290 branch="BNZ Institutional Banking" 1291 branch="Transferwise Ltd" 1294 branch="Waddle Loans Ltd" 1295 branch="Toll Networks (NZ) Ltd" 1296 branch="Toll Carriers Ltd" 1298 branch="Whangaparaoa" 03 bank="Westpac" 0031-0032 branch="Auckland Clearings" 0043-0044 branch="Wellington Clearings" 0047 branch="Westpac Head Office" 0048 branch="Westpac Savings Bank" 0049 branch="NZ Government Branch" 0059 branch="General Managers Office" 0060 branch="ZMO" 0062 branch="GMO Relief Staff" 0065 branch="WBC Life NZ Limited" 0072 branch="Westpac Travel" 0099,0990 branch="Card Services" 0104,0162,0252,0282,0291,1527 branch="79 Queen Street" 0105,0133 branch="Auckland" 0109,0118,0187 branch="LynnMall" 0114,0116 branch="Birkenhead" 0123,0180 branch="Browns Bay" 0127 branch="Bankcard Department" 0132 branch="Downtown Auckland" 0138 branch="Shortland Street" 0140 branch="First 100 Days" 0146,0155 branch="Henderson" 0149,0243,0267,1392 branch="St Johns" 0150,0166,1320 branch="Howick" 0156,1505 branch="Westpac Lincoln Road" 0173,0231,1507 branch="Papatoetoe" 0174 branch="Hunters Corner Papatoetoe" 0175,0203,0296 branch="Mid City" 0179,1513 branch="Mt Roskill" 0181 branch="Milford" 0189 branch="3073 Great North Road" 0195-0196,0239,0283 branch="Newmarket" 0198 branch="DPS Palmerston North" 0206,1390 branch="Botany at The Hub" 0207 branch="Manukau City" 0211,1308 branch="Onehunga" 0212 branch="Onehunga Mall" 0219-0220 branch="Otahuhu" 0227 branch="Panmure" 0228 branch="184 Dominion Road" 0250 branch="C and I B Head Office" 0251 branch="Government Business" 0253,0292 branch="Westpac Tower Branch" 0255,1512 branch="Ponsonby" 0259 branch="Remuera" 0263 branch="St Heliers" 0268 branch="Southdown Dcbc" 0269 branch="South Auckland Dcbc" 0275-0276,1510,1514 branch="Takapuna" 0285,1391,1515 branch="Glenfield" 0303,1568 branch="Cambridge" 0305 branch="Hamilton North" 0306,0318,0366,1555,1560 branch="Hamilton" 0314,1558,1563 branch="Frankton" 0319 branch="Hamilton 426 Victoria St" 0326 branch="Waikato Savings Bank" 0334,0346 branch="Kaikohe" 0339 branch="Kaitaia" 0345,0497-0498 branch="Whangarei" 0347 branch="Orewa" 0351 branch="Kerikeri" 0355-0356 branch="Manurewa" 0363,0418 branch="Matamata" 0371,1573 branch="Morrinsville" 0374 branch="Mt Maunganui" 0385,0399,0423 branch="Papakura" 0389,1502 branch="Silverdale" 0394 branch="Paihia" 0406 branch="Pukekohe" 0407 branch="127 King Street Pukekohe" 0415,1545,1552 branch="Rotorua Central" 0417 branch="Amohia Street Rotorua" 0419 branch="Whangaparaoa" 0426 branch="Taumarunui" 0430 branch="Taupo" 0431 branch="Heu Heu Street Taupo" 0435 branch="Tauranga Centre" 0442-0443,1564 branch="Te Awamutu" 0445,1548,1720 branch="Cameron Road" 0446 branch="Grey Street Tauranga" 0449,1562 branch="Te Kuiti" 0458 branch="Thames" 0463 branch="Tokoroa" 0474 branch="Te Puke" 0481,0485 branch="Warkworth" 0490,1544 branch="Whakatane" 0502,0584 branch="318 Lambton Quay" 0503 branch="Wellington" 0510,0515,0558 branch="Courtenay Place" 0511,0559 branch="Ghuznee Street" 0518,0539,0566,1537 branch="North End" 0521,0578 branch="Kilbirnie" 0522 branch="SmartStation - Queens Street" 0525,1534,1536 branch="Johnsonville" 0531-0532,1535 branch="Lower Hutt" 0538 branch="Personnel Dept Head Off" 0543 branch="Petone" 0547,0550,1533 branch="Porirua" 0567 branch="Willams Centre" 0572 branch="Centreville" 0579 branch="Wellington IPC" 0587 branch="Systems Operations" 0588 branch="International Business" 0595 branch="SBO Centre" 0597 branch="Northern Test Branch" 0599 branch="Blenheim" 0605,0683,0762 branch="Marton" 0609,0687,0690 branch="Masterton" 0614-0615 branch="Dannevirke" 0617,0725 branch="Pahiatua" 0618,0638-0639,0749 branch="Gisborne" 0619,0758 branch="Stratford" 0626-0627 branch="Feilding" 0631 branch="Taradale" 0633,0667,0670,1532 branch="Levin" 0642,0739,1518 branch="Hastings" 0643 branch="Queen Street Hastings" 0647,0654,0715,0737 branch="Hawera" 0657,0711,0713,0786,1566 branch="New Plymouth" 0658 branch="Havelock North" 0661 branch="Kaponga" 0674 branch="Rangiora" 0675 branch="Queenstown" 0693,1711 branch="Motueka" 0698-0699,1517 branch="Napier" 0703,0706 branch="Nelson" 0710 branch="Broadway, Palmerston North" 0718,0726,0728,1521-1523 branch="Terrace End" 0722 branch="Armagh Street" 0732,0734,1531 branch="Paraparaumu" 0742 branch="Waverley" 0750 branch="243 Queen St Richmond" 0751,1709 branch="Richmond" 0767 branch="Hornby" 0774-0775 branch="Upper Hutt" 0779 branch="Waipukurau" 0783,0785 branch="Wairoa" 0791,1567 branch="Wanganui" 0794 branch="St Johns Wanganui" 0799 branch="93 Armagh Street ChCh" 0802,0866,1592-1593 branch="Christchurch Central" 0803 branch="Christchurch" 0809,1746 branch="Windsor" 0813 branch="Courier Banking CHCH" 0814,1595,1597,1700 branch="The Palms" 0818,0854,1702 branch="Papanui" 0823,1583 branch="Riccarton" 0824 branch="126 Riccarton Road" 0826,0855,1704,1707 branch="Merivale" 0827 branch="Sydenham" 0830,0857,1705-1706 branch="Upper Riccarton" 0835,0838,1719 branch="Ashburton" 0839,1716 branch="Geraldine" 0846-0847 branch="Greymouth" 0850 branch="Hokitika" 0859,1520,1591 branch="Eastgate" 0861 branch="High Street Christchurch" 0873 branch="NZIO Auckland" 0881,1727,1729,1732 branch="South Dunedin" 0883,1726 branch="Dunedin North" 0887,1717-1718 branch="Timaru" 0890 branch="Timaru South" 0895 branch="Westland Savings Bank" 0897-0898 branch="Westport" 0903,0905,1728,1737 branch="Moray Place" 0904 branch="Dunedin 169 Princes St" 0915,0934,0962,1747 branch="Gore" 0931,1742-1743,1749-1750 branch="Invercargill" 0933 branch="Invercargill 34 Dee St" 0937,0947 branch="Oamaru" 0951,1733,1735,1738 branch="Alexandra" 0960,1748 branch="Winton" 0978 branch="Stationery Department" 1300 branch="Core Business Systems" 1301 branch="Whangarei Proof Centre" 1302 branch="Gotham City" 1303 branch="NZ Operations, Int Svs" 1304 branch="Client Services" 1305 branch="Consumer Network Support" 1306 branch="Christchurch IPC" 1307 branch="Financial Services Proces" 1309 branch="IBC - Napier" 1310 branch="Credit Support" 1311 branch="Dunedin IPC" 1312 branch="NZIO Wellington" 1313 branch="Manukau City I P C" 1314 branch="Wellington Support Centre" 1315 branch="IBC - Christchurch" 1316 branch="Courier Banking Auckland" 1317 branch="Auckland Support Centre" 1318,1571 branch="Te Awa The Base" 1319 branch="North Shore IPC" 1321,1372 branch="Operations Centre" 1322,1504 branch="Albany" 1323 branch="Trust Bank Int Support" 1324 branch="Courier Banking-Hamilton" 1325 branch="DPS Wellington - Courier" 1326 branch="DPS Auckland - Courier" 1327 branch="Fraud & Security Services" 1328 branch="Albany Business" 1329 branch="Westpac Terminals" 1330 branch="Papamoa" 1331 branch="Collections" 1332 branch="Auckland Business Mail" 1333 branch="Gainskill Avenue" 1334 branch="Westpac 9" 1335 branch="CRG-Credit Restructuring" 1340 branch="Warehouse Fin Serv Ltd" 1341 branch="Transaction Banking 11(A)" 1342 branch="Retail Lending CoE" 1350 branch="Bank Of Tokyo-Mitsubishi" 1351 branch="Transaction Banking 1" 1352 branch="Transaction Banking 2" 1353 branch="Transaction Banking 3" 1354 branch="Transaction Banking 4" 1355 branch="Transaction Banking 5" 1356 branch="Transaction Banking 6" 1357 branch="Transaction Banking 7" 1358 branch="Transaction Banking 8" 1359 branch="Transaction Banking 9" 1360 branch="Transaction Banking 10" 1361 branch="Transaction Banking 11" 1362 branch="Transaction Banking 12" 1363 branch="Transaction Banking 13" 1364 branch="Transaction Banking 14" 1365 branch="Transaction Banking 15" 1366 branch="Transaction Banking 16" 1367 branch="Transaction Banking 17" 1368 branch="Transaction Banking 18" 1369 branch="Transaction Banking 19" 1370 branch="Auckland Call Centre" 1371 branch="Christchurch Call Centre" 1382 branch="Wellington Phone Assist" 1383 branch="Direct Debit Dish Centre" 1384 branch="Courier Banking-Wellington" 1385 branch="Loan Assessment Centre" 1386 branch="Business Direct Wgtn" 1387 branch="Agribusiness Morrinsville" 1388 branch="Westpac Direct Auckland" 1389 branch="Westpac Direct ChCh" 1393 branch="Huapai" 1394 branch="Epsom" 1395 branch="Digital Branch 2" 1396 branch="Mangere" 1397 branch="Takanini" 1398 branch="Highland Park" 1399 branch="Digital Branch" 1500 branch="St Lukes" 1501 branch="Dargaville" 1503,1730 branch="NorthWest" 1506 branch="Manukau City Mall" 1508 branch="Pakuranga" 1509 branch="Britomart" 1516 branch="Browns Bay Sc" 1519 branch="Plaza" 1524-1525 branch="Taihape" 1526 branch="Queenstown Junction" 1528 branch="Sylvia Park" 1529 branch="Botany Junction" 1530 branch="SBO Centre 2" 1538 branch="Ruakaka" 1539 branch="Westpac 4" 1540 branch="Karori Mall" 1546 branch="Opotiki" 1547,1551 branch="Bayfair" 1549 branch="Greerton" 1550 branch="Katikati" 1553,1587-1588 branch="Rolleston" 1556-1557,1559,1561 branch="Chartwell" 1565 branch="Britomart Migrant" 1570,1574 branch="Huntly" 1572 branch="Paeroa" 1575-1577 branch="Waihi" 1578 branch="Whitianga" 1582 branch="Amberley" 1584 branch="Halswell" 1585 branch="Kaiapoi" 1586 branch="Kaikoura" 1590,1596,1599 branch="Ferrymead" 1594,1703 branch="Barrington" 1598 branch="St Martins" 1701 branch="Auckland Airport" 1710 branch="Picton" 1714-1715 branch="Northtown" 1725 branch="Mosgiel" 1734,1736 branch="Balclutha" 1739 branch="Wanaka" 1744-1745 branch="Invercargill South" 1751 branch="Transaction Banking 51" 1752 branch="Transaction Banking 52" 1753 branch="Transaction Banking 53" 1754 branch="Transaction Banking 54" 1755 branch="Transaction Banking 55" 1756 branch="Transaction Banking 56" 1757 branch="Transaction Banking 57" 1758 branch="Transaction Banking 58" 1759 branch="Transaction Banking 59" 1760 branch="Transaction Banking 60" 1761 branch="Transaction Banking 61" 1762 branch="Transaction Banking 62" 1763 branch="Transaction Banking 63" 1764 branch="Transaction Banking 64" 1765 branch="Transaction Banking 65" 1766 branch="Transaction Banking 66" 1767 branch="Transaction Banking 67" 1768 branch="Transaction Banking 68" 1769 branch="Transaction Banking 69" 1770 branch="Transaction Banking 70" 1771 branch="Transaction Banking 71" 1772 branch="Transaction Banking 72" 1773 branch="Transaction Banking 73" 1774 branch="Transaction Banking 74" 1775 branch="Transaction Banking 75" 1776 branch="Transaction Banking 76" 1777 branch="Transaction Banking 77" 1778 branch="Transaction Banking 78" 1779 branch="Transaction Banking 79" 1780 branch="Transaction Banking 80" 1781 branch="Transaction Banking 81" 1782 branch="Transaction Banking 82" 1783 branch="Transaction Banking 83" 1784 branch="Transaction Banking 84" 1785 branch="Transaction Banking 85" 1786 branch="Transaction Banking 86" 1787 branch="Transaction Banking 87" 1788 branch="Transaction Banking 88" 1789 branch="Transaction Banking 106" 1790 branch="Transaction Banking 90" 1791 branch="Transaction Banking 91" 1792 branch="Transaction Banking 104" 1793 branch="Transaction Banking 105" 1794 branch="Transaction Banking 107" 1795 branch="Transaction Banking 95" 1796 branch="Transaction Banking 96" 1797 branch="Transaction Banking 97" 1798 branch="Transaction Banking 98" 1799 branch="Transaction Banking 99" 1900 branch="Transaction Banking 00" 1901 branch="Transaction Banking 108" 1902 branch="Transaction Banking 109" 1903 branch="Transaction Banking 103" 1904 branch="Transaction Banking 110" 1905 branch="Transaction Banking 111" 1906 branch="Transaction Banking 112" 1907 branch="Transaction Banking 113" 1908 branch="Transaction Banking 114" 1909 branch="Transaction Banking 115" 1910 branch="Transaction Banking 116" 1911 branch="Transaction Banking 117" 1912 branch="Transaction Banking 118" 1913 branch="Transaction Banking 119" 1914 branch="Transaction Banking 120" 1915 branch="Transaction Banking 121" 1916 branch="Transaction Banking 122" 1917 branch="Transaction Banking 123" 1918 branch="Transaction Banking 124" 1919 branch="Transaction Banking 125" 7355 branch="Branch On Demand" 04 bank="ANZ Bank New Zealand" 2020,2022-2024 branch="ANZ Institutional" 2021 branch="JP Morgan Chase" 05 bank="China Construction Bank NZ Ltd" 8884-8889 branch="Shortland Street" 06 bank="ANZ Bank New Zealand" 0006 branch="Wholesale Division" 0023 branch="Corporate Portfolio Management" 0024 branch="Agri Central Branch" 0067 branch="Institutional Banking" 0081 branch="Te Kuiti" 0082 branch="Sylvia Park" 0101 branch="Auckland" 0103 branch="Lending Services" 0111,0177,0229-0230,0359,0471,0582,0669,0817,0909,0977,0983 branch="ANZ Retail" 0115 branch="Birkenhead" 0122 branch="Browns Bay" 0134 branch="Transaction Services" 0145 branch="Dominion Road" 0153 branch="Henderson" 0158 branch="Auckland University" 0163 branch="Auckland Corporate and Commercial Banking" 0164 branch="Retail Debt Management (Personal)" 0169 branch="Uxbridge Road" 0172 branch="Hunters Corner" 0185 branch="New Lynn" 0188 branch="Milford" 0193 branch="Newmarket" 0197 branch="Manukau Mall" 0199 branch="Ponsonby" 0201 branch="Upper Queen Street" 0209 branch="Onehunga" 0217 branch="Otahuhu" 0222 branch="Pakuranga" 0225,0237,0265,0365,0377,0393,0437,0561,0569,0583,0757,0789,0849,0894,0927,0936,0954,0968,0991 branch="Retail" 0233 branch="NBNZ Property Finance" 0241 branch="Greenlane" 0254 branch="Huapai" 0257 branch="Remuera" 0266 branch="St Heliers" 0273 branch="Takapuna" 0284 branch="Mt Albert" 0287 branch="205 Queen Street" 0293 branch="East Tamaki" 0294 branch="Wairau Road" 0299 branch="Katikati" 0301 branch="Cambridge" 0309 branch="Dargaville" 0313 branch="Frankton" 0317 branch="Hamilton" 0323 branch="45 Queen Street" 0329 branch="Huntly" 0333 branch="Kaikohe" 0335 branch="Hamilton Agri" 0337 branch="Kaitaia" 0350 branch="Kerikeri" 0361 branch="Matamata" 0369 branch="Morrinsville" 0375 branch="ANZ Finance" 0379 branch="Mt Maunganui" 0383 branch="Orewa" 0397 branch="Normanby Road" 0401 branch="Papakura" 0405 branch="Pukekohe" 0409 branch="Putaruru" 0411 branch="Direct Investments" 0413 branch="Fenton Street" 0421 branch="Constellation Drive" 0429 branch="Taupo" 0433 branch="Tauranga" 0441 branch="Te Awamutu" 0453 branch="Te Puke" 0457 branch="Thames" 0459 branch="The Base" 0465 branch="Tokoroa" 0469 branch="Tuakau" 0473 branch="Waihi" 0477 branch="Waiuku" 0479 branch="Whangaparaoa" 0483 branch="Warkworth" 0489 branch="Whakatane" 0491 branch="Eleventh Avenue" 0493 branch="Bank Street" 0501 branch="Willis Street" 0507 branch="Wellington Commercial" 0513 branch="Courtenay Place" 0529 branch="Lower Hutt" 0541 branch="Johnsonville" 0545 branch="Petone" 0549 branch="Porirua" 0556 branch="Papamoa" 0565 branch="188 Lambton Quay" 0574 branch="Kilbirnie" 0575 branch="Credit Assessment" 0577 branch="Wellington South" 0580 branch="ANZ Corporate Headquarters" 0581 branch="Molesworth Street" 0589 branch="Nat IBIS Testing" 0592 branch="Waikanae" 0594 branch="ANZ Private" 0596 branch="Westgate" 0601 branch="Blenheim" 0603 branch="Chartwell" 0606 branch="Victoria University" 0613 branch="87 - 89 High Street" 0622 branch="Lincoln North" 0629,0663 branch="Manchester Street" 0637 branch="Gisborne" 0645 branch="Hastings" 0649 branch="Hawera" 0665 branch="Upper Riccarton" 0689 branch="Masterton" 0701 branch="Napier" 0705 branch="Nelson" 0709 branch="New Plymouth" 0729 branch="Cuba and Rangitikei" 0730 branch="Paraparaumu" 0738 branch="Stortford Lodge" 0746 branch="Palmerston North" 0765 branch="Havelock North" 0773 branch="Upper Hutt" 0781 branch="Waipukurau" 0793 branch="Wanganui" 0801 branch="Christchurch" 0805 branch="Auckland Airport" 0807 branch="Fitzgerald Avenue" 0821 branch="Riccarton Road" 0829 branch="385 Colombo Street" 0831 branch="Victoria Square" 0837 branch="Ashburton" 0845 branch="Greymouth North" 0851 branch="Rolleston" 0869 branch="Direct Business Banking" 0870 branch="New Brighton" 0878 branch="WestCity" 0879 branch="The Palms Mall" 0889 branch="Timaru" 0899,1499 branch="Trust Management" 0901 branch="Dunedin" 0911 branch="South Dunedin" 0917 branch="Alexandra" 0919 branch="Clyde Street" 0921 branch="Cromwell" 0923 branch="Gore" 0925 branch="Invercargill" 0939 branch="Mosgiel" 0941 branch="Oamaru" 0942 branch="Otago University" 0943 branch="Wanaka" 0949 branch="Queenstown" 0956 branch="Mid Corporate" 0958 branch="Richmond" 0966 branch="Twizel" 0986 branch="Card Operations" 0994 branch="Nationwide Home Loans Ltd" 0996 branch="Nat Wellington Clearings" 0998 branch="Albany Mall" 08 bank="Bank of New Zealand" 6501 branch="Auckland Proof Centre" 6502 branch="International" 6503 branch="Treasury" 6504 branch="Central Processing" 6511 branch="Whangarei" 6513 branch="Browns Bay" 6514 branch="Wairau Valley" 6515 branch="Takapuna" 6517 branch="Henderson" 6519 branch="New Lynn" 6521 branch="Strand Arcade" 6523 branch="Grafton" 6525 branch="Newmarket" 6529 branch="Penrose" 6531 branch="Panmure" 6533 branch="Papatoetoe" 6535 branch="Papakura" 6537 branch="Manukau City" 6541 branch="Hamilton" 6543 branch="Tauranga" 6551 branch="Rotorua" 6553 branch="Taupo" 6555 branch="Gisborne" 6557 branch="New Plymouth" 6559 branch="Napier" 6561 branch="Hastings" 6563 branch="Wanganui" 6567 branch="Palmerston North" 6571 branch="Lower Hutt" 6573 branch="Parkroyal" 6575 branch="Willis Street" 6581 branch="Nelson" 6583 branch="Blenheim" 6585 branch="Christchurch" 6587 branch="Papanui" 6589 branch="Riccarton" 6593 branch="Timaru" 6597 branch="Dunedin" 6599 branch="Invercargill" 10 bank="Industrial and Commercial Bank of China (New Zealand) Ltd" 5165-5169 branch="ICBC NZ Ltd" 11 bank="ANZ Bank New Zealand" 5000 branch="Whangarei" 5017 branch="Dargaville" 5026 branch="Kerikeri" 5027 branch="Kaitaia" 5029 branch="Kensington 2" 5031 branch="Paihia 2" 5032 branch="Kensington" 5033 branch="Paihia" 5146 branch="Whangarei 2" 5147 branch="Whangarei 3" 5200 branch="Auckland, 126 Queen Street" 5201,5203 branch="Auckland Support Centre" 5202 branch="Auckland Opn Support" 5211 branch="Albany" 5216 branch="126 Queen Street 2" 5220 branch="New Lynn 2" 5228,5284 branch="Howick" 5230 branch="Birkenhead" 5234 branch="Browns Bay" 5242 branch="Manurewa 2" 5249 branch="Devonport" 5250 branch="St Lukes 4" 5253 branch="Panmure 2" 5254 branch="St Lukes 6" 5264 branch="New Lynn 3" 5265 branch="Glenfield" 5267 branch="Panmure 3" 5274 branch="Ponsonby 2" 5275,5301 branch="Huapai/Kumeu" 5276 branch="Henderson 2" 5277 branch="Henderson" 5299 branch="St Lukes 5" 5313 branch="Papatoetoe 2" 5314 branch="Hunters Corner" 5316 branch="Papatoetoe 3" 5318 branch="Manurewa" 5332 branch="Milford" 5337 branch="St Lukes" 5338 branch="St Lukes 7" 5339 branch="Mt Roskill" 5344 branch="New Lynn" 5345,5441 branch="Newmarket" 5346,5432 branch="Newton" 5350 branch="Onehunga" 5351 branch="Waiheke Island" 5358 branch="Orewa" 5360 branch="Otahuhu" 5362 branch="Hunters Corner 2" 5369 branch="Pakuranga" 5372 branch="Panmure" 5373 branch="Papakura" 5377 branch="Papatoetoe" 5389 branch="St Lukes 3" 5392 branch="Ponsonby" 5397 branch="Henderson 3" 5400 branch="Pukekohe" 5401,5462 branch="Auckland (Queen and Victoria Streets)" 5402 branch="Landmark House" 5407 branch="Lincoln North" 5409 branch="Remuera" 5420 branch="St Heliers" 5422 branch="St Lukes 2" 5434 branch="Takapuna" 5438 branch="Takapuna 2" 5443 branch="Mt Roskill 2" 5448 branch="Pukekohe 2" 5458 branch="Pukekohe 3" 5460 branch="Warkworth" 5463 branch="Warkworth 2" 5468 branch="Orewa 2" 5495 branch="Manukau" 5508 branch="126 Queen St 9" 5509 branch="Transaction Services" 5510 branch="126 Queen Street 3" 5511 branch="126 Queen Street 4" 5512 branch="126 Queen Street 5" 5513 branch="126 Queen Street 6" 5514 branch="126 Queen Street 7" 5515 branch="126 Queen Street 8" 5527 branch="Pobl Credit Card Centre" 5700 branch="Ward Street" 5704 branch="Osc Hamilton" 5712 branch="Ward Street 2" 5715 branch="Cambridge" 5719 branch="Frankton 2" 5720 branch="Chartwell 2" 5722,5762 branch="Frankton" 5724 branch="Ward Street 3" 5725 branch="Ward Street 4" 5727 branch="Hamilton" 5731 branch="Hamilton 2" 5736 branch="Huntly" 5751 branch="Tokoroa 2" 5755 branch="Matamata" 5760 branch="Morrinsville" 5765 branch="Te Rapa 2" 5773 branch="Otorohanga" 5785 branch="Te Rapa" 5789 branch="Tokoroa 3" 5804 branch="Taumarunui" 5809 branch="Te Awamutu" 5814 branch="Te Kuiti" 5827 branch="Tokoroa" 5832 branch="Ward St" 5849 branch="Chartwell" 5852 branch="Ward Street 5" 5853 branch="Ward Street 6" 5859 branch="Ward Street 7" 5900 branch="Thames" 5925 branch="Paeroa" 5931 branch="Morrinsville 2" 5934 branch="Katikati 2" 5941 branch="Thames 2" 5943 branch="Whitianga" 6000 branch="Tauranga" 6001 branch="Tauranga 2" 6010 branch="Bayfair" 6013 branch="Cherrywood" 6015 branch="Greerton" 6017 branch="Katikati" 6022 branch="Mt Maunganui" 6030 branch="Tauranga 3" 6031 branch="Te Puke" 6100 branch="Rotorua" 6102 branch="Rotorua 2" 6115 branch="Whakatane 2" 6123 branch="Kawerau" 6147 branch="Opotiki" 6163 branch="Rotorua 3" 6168 branch="Taupo" 6183 branch="Taupo 2" 6187 branch="Rotorua 4" 6189 branch="Whakatane" 6300 branch="Gisborne 1" 6310 branch="Gisborne 2" 6347 branch="Gisborne 3" 6400 branch="Napier" 6401 branch="Napier 2" 6421 branch="Hastings" 6422 branch="Hastings 3" 6424 branch="Havelock North" 6432 branch="Marewa" 6439 branch="Hastings 2" 6459 branch="Stortford Lodge" 6460 branch="Havelock North 2" 6462 branch="Taradale" 6477 branch="Waipukurau 2" 6478 branch="Waipukurau" 6479 branch="Wairoa" 6600 branch="New Plymouth" 6601 branch="New Plymouth 2" 6620 branch="Stratford 2" 6621 branch="New Plymouth 3" 6623 branch="Hawera" 6627 branch="Stratford 4" 6629 branch="Stratford 3" 6634 branch="Hawera 2" 6654 branch="Hawera 3" 6660 branch="Stratford" 6676 branch="New Plymouth 4" 6800 branch="Wanganui" 6820 branch="Wanganui 3" 6833 branch="Marton" 6836 branch="Wanganui 5" 6840 branch="Wanganui 2" 6841 branch="Taihape 2" 6847 branch="Hawera 4" 6849 branch="Wanganui 6" 6855 branch="Taihape" 6862 branch="Wanganui 4" 6900-6901,6912 branch="Palmerston North" 6902 branch="Palmerston North 4" 6903 branch="Palmerston North 3" 6916 branch="Dannevirke" 6917 branch="Feilding" 6919,6932,6962 branch="Levin" 6952 branch="Pahiatua" 6965 branch="Terrace End 2" 6972 branch="Pahiatua 2" 6974 branch="Palmerston North 5" 7000 branch="Terrace End 3" 7001 branch="Palmerston North 6" 7026 branch="Postal Agency Office" 7100 branch="Masterton" 7114 branch="Masterton 4" 7116 branch="Masterton 3" 7117 branch="Martinborough 1" 7119 branch="Masterton 5" 7123 branch="Masterton 2" 7200 branch="Victoria Street Central 2" 7202-7203,7314,7320,7802-7803 branch="Wellington Support Centre" 7216 branch="North End 5" 7219 branch="Porirua 3" 7220,7302 branch="Victoria St Central" 7221 branch="Petone 2" 7231 branch="Johnsonville" 7234 branch="Johnsonville 2" 7239 branch="Kilbirnie" 7244 branch="Lower Hutt 2" 7247 branch="Victoria Street Central" 7249 branch="Kilbirnie 2" 7250 branch="Lower Hutt" 7251 branch="Lower Hutt 5" 7255 branch="Otaki" 7259 branch="Paraparaumu" 7260 branch="Paraparaumu Beach" 7265 branch="Petone" 7267,7283 branch="Porirua" 7278 branch="Tawa" 7281 branch="Lower Hutt 3" 7282 branch="North End 3" 7284 branch="Upper Hutt 3" 7286 branch="Upper Hutt" 7287 branch="Upper Hutt 2" 7290 branch="Waikanae" 7292 branch="Lower Hutt 6" 7300 branch="Porirua 2" 7309 branch="Victoria Street Central 3" 7311 branch="Lower Hutt 4" 7313 branch="Victoria Street Central 4" 7318 branch="North End 4" 7319 branch="Postbank North End" 7328 branch="North End 2" 7329 branch="Victoria Street Central 5" 7340 branch="Postbank Eftpos Reconcilation" 7341-7342,7349 branch="Special Housing" 7343 branch="Mortgages 3" 7344 branch="Mortgages 4" 7345 branch="Mortgages 5" 7346 branch="Mortgages 6" 7347 branch="Mortgages 7" 7348 branch="Mortgages 8" 7400 branch="Nelson" 7402 branch="Nelson 2" 7426 branch="Motueka" 7428 branch="Nelson 3" 7436 branch="Eds Test Branch 2" 7438 branch="Richmond" 7443 branch="Richmond 2" 7446 branch="Motueka 2" 7500 branch="Blenheim 1" 7517 branch="Blenheim 4" 7528 branch="Blenheim 3" 7532 branch="Blenheim 2" 7600 branch="Greymouth" 7626 branch="Hokitika" 7653 branch="Greymouth 2" 7700 branch="Westport" 7800 branch="Christchurch" 7810 branch="Addington 2" 7811 branch="Hornby 3" 7814 branch="Christchurch 10" 7816 branch="Ashburton" 7820 branch="Addington" 7824 branch="Papanui 3" 7848 branch="Merivale 2" 7850,7887 branch="Merivale" 7854 branch="New Brighton 2" 7856 branch="Halswell" 7860 branch="Christchurch 9" 7865 branch="Hornby" 7870 branch="Kaiapoi" 7876 branch="Hornby 2" 7881 branch="Woolston 4" 7885 branch="Woolston 2" 7888 branch="Avonhead" 7889 branch="Ashburton 2" 7892 branch="New Brighton" 7893,7920 branch="Shirley 2" 7901 branch="Papanui" 7909 branch="Rangiora" 7911 branch="Riccarton" 7916 branch="Papanui 2" 7931 branch="Woolston 3" 7932 branch="Sydenham" 7947 branch="Christchurch 11" 7956 branch="Woolston" 8000 branch="Christchurch 2" 8001 branch="Christchurch 3" 8003 branch="Christchurch 4" 8004 branch="Christchurch 5" 8005 branch="Cap Processing" 8007 branch="Christchurch 6" 8008 branch="Christchurch 7" 8013 branch="Christchurch 8" 8100,8102,8120,8147 branch="Timaru" 8105 branch="Timaru 4" 8116 branch="Geraldine" 8117 branch="Geraldine 2" 8138 branch="Temuka" 8144 branch="Timaru 6" 8145 branch="Waimate" 8200 branch="Oamaru" 8300 branch="Dunedin 2" 8310 branch="Alexandra" 8313 branch="George Street" 8314 branch="Balclutha" 8322 branch="South Dunedin 2" 8327 branch="Alexandra 3" 8330 branch="George Street 4" 8337 branch="George Street 2" 8338 branch="Mosgiel 2" 8339 branch="Dunedin 8" 8365,8425,8427-8428 branch="Dunedin" 8367 branch="Mosgiel" 8378 branch="George St 5" 8381 branch="George Street 3" 8386 branch="Dunedin 9" 8387 branch="Alexandra 2" 8390 branch="South Dunedin 3" 8393 branch="South Dunedin" 8406 branch="Alexandra 4" 8422 branch="Balclutha 2" 8426 branch="Dunedin 4" 8429 branch="Dunedin 7" 8431 branch="Bonus Bonds" 8500,8503,8515,8530,8537,8556,8564,8576,8593 branch="Invercargill" 8505 branch="St Kilda Processing" 8532 branch="Gore" 8552 branch="Gore 2" 8570 branch="Queenstown" 8572 branch="Invercargill 4" 8750 branch="Postbank Test Branch 1" 8760 branch="Postbank Test Branch 2" 8770 branch="Postbank Test Branch 3" 8780 branch="Postbank Test Branch 4" 8991 branch="Postbank Loans Test Branch" 8994-8995 branch="New Zealand Headquarters" 8996 branch="National Accounting" 8997 branch="Head Office Test" 8999 branch="Postbank Registered Payees" 12 bank="ASB Bank" 3001,3003 branch="ASB Testing Branch" 3002 branch="Processing Training Centre" 3006 branch="Lending Department" 3007 branch="National Operations" 3008 branch="Cheques Branch" 3009 branch="ASB Bank Centre" 3010 branch="CC Dom Rd Centralised Costs" 3011 branch="Auckland" 3012 branch="Newton" 3013 branch="Newmarket" 3014 branch="Onehunga" 3015 branch="Devonport" 3016 branch="Dominion Road" 3017 branch="Symonds Street" 3018 branch="Otahuhu" 3019 branch="Ponsonby" 3020 branch="Pt Chevalier" 3021 branch="Greenlane" 3022 branch="Grey Lynn" 3023 branch="Pukekohe" 3024 branch="Karangahape Road" 3025 branch="Greenwoods Corner" 3026 branch="Takapuna" 3027 branch="St Heliers" 3028 branch="Papatoetoe" 3029 branch="Mt Albert" 3030 branch="Remuera" 3031 branch="Papakura" 3032 branch="Manurewa" 3033 branch="Roskill" 3034 branch="Lynnmall Branch - New Lynn" 3035 branch="Birkenhead" 3036 branch="Panmure" 3037 branch="Customs Street" 3038 branch="Te Atatu Peninsula" 3039 branch="Henderson" 3040 branch="Howick" 3041 branch="Glen Innes" 3042 branch="Mairangi" 3043 branch="Mt Roskill South" 3044 branch="Hunters Plaza" 3045 branch="Avondale" 3046 branch="Orewa" 3047 branch="Orakei" 3048 branch="Mt Eden" 3049 branch="Blockhouse Bay" 3050 branch="Milford Branch" 3051 branch="Glen Eden" 3052 branch="Waiuku" 3053 branch="Northcote" 3054 branch="Mangere Bridge" 3055 branch="Penrose" 3056 branch="Pakuranga" 3057 branch="Wyndham" 3058 branch="Sylvia Park" 3059 branch="Browns Bay" 3060 branch="Ellerslie" 3061 branch="Royal Oak" 3062 branch="Otara" 3063 branch="Sandringham" 3064 branch="Hobson Street" 3065 branch="Belmont" 3066 branch="University" 3067 branch="Balmoral" 3068 branch="Owairaka" 3069 branch="Three Kings" 3070 branch="Green Bay" 3071 branch="South Te Atatu" 3072 branch="Glenfield" 3073 branch="Eastridge" 3074 branch="Kelston" 3075 branch="Parnell" 3076 branch="Bader Drive" 3077 branch="St Lukes" 3078 branch="Tuakau" 3079 branch="Mangere East" 3080 branch="Torbay" 3081 branch="Downtown" 3082 branch="Lynfield" 3083 branch="Manukau City" 3084 branch="Whangaparaoa" 3085 branch="Westgate" 3086 branch="Meadowbank" 3087 branch="Sunnynook" 3088 branch="Princess Street" 3089 branch="Highland Park" 3090 branch="Kawakawa" 3091 branch="Kerikeri" 3092 branch="Onerahi" 3093 branch="Kamo" 3094 branch="Wellsford" 3095 branch="Warkworth" 3096 branch="Kaitaia" 3097 branch="Kaikohe" 3098 branch="Dargaville" 3099 branch="Whangarei" 3100 branch="Titirangi" 3101 branch="Kensington" 3102 branch="Paihia" 3103 branch="Henderson West" 3104 branch="Clendon" 3105 branch="Snells Beach" 3106 branch="Northland Commercial Banking" 3107 branch="North Harbour Commercial Banking" 3108 branch="West Akld Regional Centre" 3109 branch="Central Auck Commercial Banking" 3110 branch="East Auck Commercial Banking" 3111 branch="Counties Commercial Banking" 3112 branch="ASB Institutional Banking" 3113 branch="Institutional Banking Branch" 3114 branch="Waiheke" 3115 branch="Walton Street" 3116 branch="Consumer Finance" 3117 branch="Cavendish Drive" 3118 branch="Central Park Service Centre" 3119 branch="Wairau Park" 3120 branch="Managed Funds" 3121 branch="ASB Bank International" 3122 branch="Hamilton" 3123 branch="Waikato Commercial Banking" 3124 branch="Electronic Banking Cards Branch" 3125 branch="Digital 4" 3126 branch="Digital 5" 3127 branch="Subsidiaries Branch" 3128 branch="Nelson Commercial Centre" 3129 branch="International Trade Services" 3130 branch="Business Serv & Sup Desk" 3131 branch="Collections & Credit Solutions" 3132 branch="Meadowlands" 3134 branch="Te Awamutu" 3135 branch="New Plymouth" 3136 branch="Albany" 3137 branch="Two Double Seven Newmarket Branch" 3138 branch="Lynmall Shopping Centre" 3139 branch="Helensville" 3140 branch="Lambton Quay" 3141 branch="Willis Street" 3142 branch="Queensgate" 3143 branch="Palmerston North" 3144 branch="Napier" 3145 branch="Hastings" 3146 branch="Tauranga Branch" 3147 branch="Riccarton" 3148 branch="Cashel Mall" 3149 branch="Northlands Branch - Papanui" 3150 branch="Dunedin" 3151 branch="Armagh Street" 3152 branch="Anglesea Clinic" 3153 branch="Lincoln (Christchurch)" 3154 branch="Invercargill" 3155 branch="Rotorua" 3157 branch="Paraparaumu" 3158 branch="Richmond" 3159 branch="Timaru" 3161 branch="Reefton" 3162 branch="Taupo" 3163 branch="Wanganui" 3164 branch="Murchison" 3165 branch="Nelson Branch" 3166 branch="Hokitika" 3167 branch="Blenheim" 3168 branch="Greymouth" 3169 branch="High Street" 3170 branch="Gisborne" 3171 branch="Chartwell" 3172 branch="Stoke Personal Banking Centre" 3173 branch="Caravan Branch" 3174 branch="Wellington" 3175 branch="Northland Rural" 3176 branch="North Waikato Rural" 3177 branch="Training Centre Greenlane" 3178 branch="Westport" 3179 branch="Bay Of Plenty Rural" 3180 branch="Rotorua Rural" 3181 branch="Canterbury Rural" 3182 branch="Nelson Westland Rural" 3183 branch="Hawkes Bay & Wairarapa Rural" 3184 branch="Southland Rural" 3185 branch="Otago Rural" 3186 branch="Manawatu & Wanganui Rural" 3187 branch="Taranaki Rural" 3188 branch="International Banking" 3189 branch="Te Awamutu Rural" 3190 branch="Matamata Rural" 3191 branch="Canterbury Business Banking" 3192 branch="Wellington Commercial Banking" 3193 branch="Nelson Regional Office" 3194 branch="Commercial Banking Tauranga" 3195 branch="Southland Business Banking" 3196 branch="Dunedin Commercial Banking" 3197 branch="Napier Commercial Banking" 3198,3272,3285,3455 branch="Private Banking" 3199 branch="Home Loan Line" 3200 branch="Self Service Terminals" 3201 branch="Mobile Banking Administration" 3205 branch="Federal Street" 3207 branch="Personal Credit Unit" 3208 branch="H/O Personal Banking" 3209 branch="Business Centre" 3210 branch="Electronic Banking" 3211 branch="Palmerston North Commercial Banking" 3212 branch="Taranaki Commercial Banking" 3213 branch="Mid Canterbury Rural" 3214 branch="South Taranaki Rural" 3215 branch="Payments Operations" 3216 branch="125 Queen Street" 3217 branch="Bayfair" 3218 branch="Aafs Alliance" 3219 branch="ASB Tertiary Centre" 3220 branch="Bankdirect" 3221 branch="Property Finance" 3222 branch="Professional Trust Funds" 3223 branch="Johnsonville" 3224 branch="Whangarei South Rural" 3225 branch="Morrinsville Rural" 3226 branch="Farmline Rural Banking" 3227 branch="King Country Rural" 3228 branch="South Canterbury Rural" 3229 branch="West Otago & Southland Rural" 3230 branch="Korean Banking Unit" 3231 branch="ASB Securities" 3232 branch="Westcity" 3233 branch="Botany Downs" 3234 branch="Queenstown" 3235 branch="CMU" 3236 branch="Sovereign Home Loans Branch" 3237 branch="East Tamaki Commercial Banking" 3238 branch="Whangarei Hvc Unit" 3239 branch="Contact Centre C:Drive" 3240 branch="The Palms Branch - Shirley" 3241 branch="Kiwi Bank Bureau Services" 3242 branch="Client Services" 3243 branch="Citrix Metaframe" 3244 branch="Corporate Banking" 3245 branch="Wellington Corporate Banking" 3246 branch="Christchurch Corporate Banking" 3247 branch="Hawera" 3248 branch="North Harbour Broker Centre" 3249 branch="Waikato University Branch" 3250 branch="Self Service Terminals 2" 3251 branch="EDS Bulk Cheque Deposits" 3252 branch="West Auckland Commercial Banking" 3253 branch="Whakatane" 3254 branch="Porirua" 3255 branch="Wanganui Rural Branch" 3256 branch="Masterton Rural Banking" 3257 branch="Whakatane Rural Banking" 3258 branch="Western/Northern Southland Rural Banking" 3259 branch="Eastern Southland Rural Banking" 3260 branch="Premier Banking Centre" 3261 branch="Central Auckland Broker Centre" 3262 branch="Support Centre Two" 3263 branch="Rotorua Commercial Banking" 3264 branch="Contact Centre Team PukaPuka" 3265 branch="Outbound Specialists Contact Centre" 3266 branch="Contact Centre Team Hibiscus" 3267 branch="ASB Cards Private Label" 3268 branch="Cambridge Branch" 3269 branch="North Canterbury Rural Banking" 3270 branch="Self Service Terminals 3" 3271 branch="Ashburton Branch" 3273 branch="Contact Centre Staff First" 3274 branch="West Auckland Broker Centre" 3275 branch="Christchurch Region Broker Centre" 3276 branch="Counties Region Broker Centre" 3277 branch="East Auckland Broker Centre" 3278 branch="Hamilton Region Broker Centre" 3279 branch="Tauranga Region Broker Centre" 3280 branch="Wellington Region Broker Centre" 3281 branch="Northland Region Broker Centre" 3284 branch="Wellington Processing Centre" 3286 branch="National Operations AKLD" 3287 branch="Sylvia Park Branch" 3288 branch="Business Banking Development" 3289 branch="Business Broker Centre" 3290 branch="Masterton Branch" 3292 branch="Hamilton Airport" 3295 branch="Debt Assessment And Recoveries" 3296 branch="Ti Test Lab A & B" 3400 branch="Hutt Valley Commercial Banking" 3401 branch="Asian Banking Centre - Christchurch" 3402 branch="Commercial Banking" 3403 branch="Major Commercial Group" 3404 branch="MLM Service Centre" 3405 branch="Remarkables Park Branch" 3406 branch="Consumer FX" 3407 branch="Papamoa Branch" 3408 branch="Contact Centre Team Nikau" 3409 branch="Contact Centre Team Rimu" 3410 branch="Contact Centre Team Puriri" 3411 branch="Contact Centre Team Kanuka" 3412,3414,3416-3419,3421-3422,3424-3426,3445,3447,3450,3458 branch="ASB Contact Centre" 3413 branch="Contact Centre Team Miro" 3415 branch="Contact Centre Team Kowhai" 3420 branch="Contact Centre Team Kohekohe" 3423 branch="Contact Centre Team Koromiko" 3427 branch="Broadway Branch" 3428 branch="Auckland University" 3429 branch="Pago Business" 3430 branch="Victoria Street West Branch" 3431 branch="Thames Valley Rural Banking" 3432 branch="Christchurch Processing Centre" 3433 branch="ASB - True Rewards" 3434 branch="Gore Branch" 3435 branch="ASB Smales Farm" 3436 branch="Botany Junction" 3437 branch="Morrinsville" 3438 branch="Matamata" 3439 branch="Havelock North" 3440 branch="Greerton" 3441 branch="Hornby" 3442 branch="Terrace End" 3443 branch="ASB Rural Corporate Banking" 3446 branch="Contact Centre Team Toatoa" 3448 branch="Direct Banking" 3449 branch="Contact Centre Team Mahoe" 3451 branch="Contact Centre Team Kamahi" 3452 branch="Contact Centre Team Koru" 3453 branch="Ronwood Avenue" 3454 branch="Te Rapa" 3456 branch="Pago Personal" 3457 branch="Auckland Broker Centre" 3459 branch="Rural Banking Solutions" 3460 branch="Commercial Banking Solutions" 3461 branch="Corporate Banking Solutions" 3462 branch="Home Plus" 3474 branch="Card Operations" 3475 branch="Timaru Commercial Banking" 3476 branch="Hamilton Commercial Banking" 3477 branch="Palmerston North Plaza" 3478 branch="Upper Hutt" 3479 branch="Taradale" 3480 branch="CAP - Price Negotiations" 3481 branch="Kilbirnie" 3482 branch="Barrington Branch" 3483 branch="Ferrymead" 3484 branch="Constellation Drive" 3485 branch="Mosgiel Branch" 3486 branch="Mt Maunganui" 3488 branch="Auckland Central Business Banking" 3489 branch="North Shore Business Banking" 3490 branch="Manukau Business Banking" 3491 branch="Bays/Lower North Island Premium Centre" 3492 branch="Central North Island Business Banking" 3493 branch="Lower North Island Business Banking" 3494 branch="South Island Business Banking" 3495 branch="ASB Business Banking" 3496 branch="BMs Auckland Business Banking" 3497 branch="BMs Out of Auckland Business Banking" 3498 branch="Video Team Business Banking" 3499 branch="Business Banking Consultants" 3601 branch="Asian Business Banking" 3602 branch="Franchise Business Banking" 3603 branch="Migrant Broker Unit" 3604 branch="Blenheim Rural Banking" 3605 branch="Blenheim Commercial Banking" 3606 branch="Marshland Road" 3607 branch="Contact Centre Team Taraire" 3610 branch="North Harbour Premier Centre 1" 3611 branch="ASB Private Banking - Constellation Drive" 3612 branch="Specialist Lending 1" 3613 branch="Fastnet Business Helpdesk" 3614 branch="Offsite ATM" 3615 branch="Ti Rakau Drive" 3616 branch="Rangiora" 3617 branch="Auckland Hospital" 3618 branch="Lunn Ave" 3619 branch="Asian Business Manager" 3620 branch="Contact Centre Team Harakeke" 3622 branch="Lincoln Road Branch" 3623 branch="East Auckland Premium Banking" 3624 branch="West Auckland Premium Banking" 3625 branch="Counties/Waikato Premium Centre" 3626 branch="Central Auckland Private Banking" 3627 branch="East Auckland Private Banking" 3628 branch="West Auckland Private Banking" 3629 branch="Digital Branch" 3630 branch="Wellington Premium Banking" 3631 branch="North Wharf" 3632 branch="Whangarei Premium Banking Centre" 3633 branch="Cameron Road" 3634 branch="South Island Premier Banking" 3635 branch="Private Banking Central North Island" 3637 branch="ASB Securities No 2 Account" 3638 branch="ASB Private Banking Nelson" 3639 branch="ASB Private Banking Dunedin" 3640 branch="North Harbour Premium Centre 2" 3641 branch="Private Banking Wellington 2" 3642 branch="Private Banking Christchurch 2" 3643 branch="Private Banking North Harbour 2" 3644 branch="Private Banking East Auckland 2" 3645 branch="Private Banking Central Auckland 2" 3646 branch="Private Banking Central Auckland 3" 3647 branch="Private Banking Central Auckland 4" 3648 branch="Private Banking Central Auckland 5" 3649 branch="Private Banking Central Auckland 6" 3650 branch="Private Banking Central Auckland 7" 3651 branch="Private Banking Bay of Plenty" 3653 branch="ASB Takanini" 3654 branch="ASB Private Banking Central Auckland" 3655 branch="Private Banking Central Auckland 9" 3656 branch="Business Banking Negotiations" 3657 branch="Private Banking LSI 2" 3658 branch="Private Banking East Auckland 3" 3659 branch="NorthWest" 3661 branch="Silverdale" 3662 branch="Contact Centre Team Tawhero" 3663 branch="Contact Centre Team Pokaka" 3664 branch="Contact Centre Team Taupata" 3665 branch="Contact Centre Team Karamu" 3666 branch="Contact Centre Team Pukatea" 3667 branch="Contact Centre Team Rautini" 3668 branch="Contact Centre Team Tuakura" 3669 branch="Contact Centre Team Ramarama" 3670 branch="Specialist Lending 2" 3671 branch="Contact Centre Team Kuripaka" 3672 branch="Sovereign Home Loans Transactional" 3673 branch="Stoddard Road" 3674 branch="Sovereign Home Loans" 3675 branch="Insurance Servicing Team" 3676 branch="Private Banking Bay of Plenty 2" 3678 branch="Asian Banking Commercial" 3680 branch="Tauranga Crossing" 13 bank="Westpac" 4901-4902 branch="Invercargill City" 4903 branch="Gore" 4904 branch="Winton" 4905 branch="Riverton" 4906 branch="Otautau" 4907 branch="Bluff" 4908 branch="Wyndham" 4909 branch="Lumsden" 4910 branch="Mataura" 4911 branch="Queenstown" 4912 branch="Tapanui" 4913 branch="Te Anau" 4914 branch="Glengarry" 4915 branch="South City" 4916 branch="Waikiwi" 4917 branch="Windsor" 4918 branch="Esk Street Speedibank" 4919 branch="Gladstone Speedibank" 4926 branch="Commercial" 4927 branch="Money Market" 4928 branch="Cashflow" 4929 branch="Training Department" 4930 branch="Head Office" 14 bank="Westpac" 4701 branch="Lending Department" 4702 branch="Credit Control" 4703 branch="Staff" 4705 branch="Clearing Centre" 4707 branch="Solicitors Trust" 4711 branch="Dowling Street" 4713 branch="South Dunedin" 4715 branch="Gardens" 4717 branch="Mosgiel" 4719 branch="George Street" 4723 branch="Green Island" 4725 branch="Mornington" 4727 branch="Moray Place" 4729 branch="Princes Street Speedibank" 4733 branch="Roslyn" 4735 branch="Musselburgh Rise" 4737 branch="Caversham" 4739 branch="Port Chalmers" 4741 branch="St Kilda" 4761 branch="Oamaru" 4763 branch="Balclutha" 4765 branch="Alexandra" 4767 branch="Roxburgh" 4769 branch="Ranfurly" 4773 branch="Milton" 4775 branch="Cromwell" 4777 branch="Wanaka" 4779 branch="Palmerston" 4781 branch="Waikouaiti" 4783 branch="North Oamaru Speedibank" 4795 branch="Money Market" 4796 branch="Training Department" 4798 branch="Payline" 4799 branch="Head Office" 15 bank="TSB Bank" 3941 branch="TSB Holiday Shoppe" 3942 branch="City" 3943 branch="City Branch" 3944 branch="Fitzroy" 3945 branch="Waitara" 3946 branch="Inglewood" 3947 branch="Stratford" 3948 branch="Westown" 3949 branch="Moturoa" 3950 branch="Hawera" 3951 branch="Eltham" 3952 branch="Opunake" 3953 branch="TSB Centre" 3954 branch="Frankleigh Park" 3955 branch="Vogeltown" 3956 branch="Bell Block" 3957 branch="Merrilands" 3958 branch="Oakura" 3959 branch="TSB Bank Customer Engagement Centre" 3960 branch="TSB Service Centre" 3968-3978 branch="TSB Bank Direct" 3979 branch="Bank Direct" 3981 branch="TSB Support Services" 3987 branch="Botany Service Centre" 3988 branch="Northwest Service Centre" 16 bank="Westpac" 4402 branch="Motueka" 4403 branch="Takaka" 4404 branch="Richmond" 4405 branch="Tahunanui" 4406 branch="Stoke" 4407-4408 branch="Nelson" 4409,4492 branch="Cashflow" 4412 branch="Picton" 4413 branch="Redwood Village" 4414 branch="Kaikoura" 4416-4417 branch="Blenheim" 4423 branch="Kaiapoi" 4425 branch="Rangiora" 4428 branch="Ferry Road" 4430 branch="Lyttelton" 4431 branch="Purchasing And Distribution" 4432 branch="Woolston" 4434 branch="Sumner" 4435 branch="Lincoln" 4436 branch="New Brighton" 4437 branch="Amberley" 4438 branch="Aranui" 4439 branch="Linwood City" 4441 branch="Linwood" 4443 branch="Hornby" 4445 branch="Leeston" 4446 branch="Upper Riccarton" 4447 branch="Darfield" 4448 branch="Riccarton Area Office" 4449 branch="Riccarton" 4450 branch="Riccarton Mall" 4451 branch="University Of Canterbury" 4452 branch="Ilam" 4453 branch="Teachers' College" 4454 branch="Fendalton" 4455 branch="Fendalton Mall" 4456 branch="Wairakei Road" 4458 branch="Bishopdale" 4460-4461 branch="Papanui" 4463 branch="Merivale" 4464 branch="Parklands" 4465 branch="Shirley" 4466 branch="North Avon" 4467 branch="Shirley Loan Shop" 4468 branch="Edgeware" 4470 branch="Sydenham" 4472 branch="Halswell" 4473 branch="Addington" 4475 branch="Spreydon" 4476 branch="Beckenham" 4477 branch="St Martins" 4479 branch="South City" 4480 branch="Teleservicing Centre" 4481-4482 branch="Victoria Square" 4483 branch="141 Hereford Street Christchurch" 4484-4485 branch="Canterbury Centre" 4486-4488 branch="Christchurch" 4490 branch="Support Centre" 4493 branch="Lending Department" 4496 branch="Clearing Centre" 4497 branch="Money Market" 4498 branch="Head Office" 17 bank="Westpac" 3331 branch="Foreign Exchange" 3332 branch="Money Market" 3360 branch="Te Kauwhata" 3361 branch="Te Rapa" 3362 branch="Cambridge" 3363 branch="Dinsdale" 3364 branch="Five Cross Roads" 3365 branch="Frankton" 3366 branch="Hamilton" 3367 branch="Hamilton East" 3368 branch="Hamilton North" 3369 branch="Hillcrest" 3370 branch="Huntly" 3371 branch="Matamata" 3372 branch="Melville" 3373 branch="Morrinsville" 3374 branch="Ngaruawahia" 3375 branch="Otorohanga" 3376 branch="Paeroa" 3377 branch="Putaruru" 3378 branch="Raglan Agency" 3379 branch="Taumarunui" 3380 branch="Te Aroha" 3381 branch="Te Awamutu" 3382 branch="Te Kuiti" 3383 branch="Thames" 3384 branch="Tokoroa" 3385 branch="Waikato University" 3386 branch="Ward Street" 3387 branch="Waihi" 3388 branch="Waikato Hospital" 3389 branch="Chartwell" 3390 branch="Cashflow" 3391 branch="Whitianga" 3392 branch="Whangamata" 3393 branch="Waihi Beach" 3395 branch="Training Department" 3396 branch="Processing Department" 3399 branch="Head Office" 18 bank="Westpac" 3501 branch="Greerton" 3502 branch="Kawerau" 3503 branch="Mt Maunganui" 3504 branch="Murupara" 3505 branch="Opotiki" 3506 branch="Rotorua" 3507 branch="Taupo" 3508 branch="Tauranga Centre" 3509 branch="Te Puke" 3510 branch="Whakatane" 3511 branch="Kopeopeo Service Centre" 3512 branch="Edgecumbe" 3513 branch="Tauranga South" 3514 branch="Katikati" 3515 branch="Harrington" 3516 branch="Richardson Street" 3517 branch="Pukaki Street" 3518 branch="16Th Avenue" 3519 branch="Cherrywood" 3520 branch="Head Office" 3521 branch="Papamoa" 3522 branch="Bayfair" 3523 branch="Te Ngae" 3524 branch="Ngongotaha" 3525 branch="Tauranga Special Services" 3526 branch="Welcome Bay" 3527 branch="Rotorua Lending" 3530 branch="Money Market" 3550 branch="Haupapa St Service Centre" 3589 branch="Clearing Centre" 3590 branch="Cashflow" 19 bank="Westpac" 4617,4635 branch="Timaru" 4618,4622 branch="Ashburton" 4619 branch="Waimate" 4620 branch="Temuka" 4621 branch="Geraldine" 4624 branch="Highfield" 4626 branch="Fairlie" 4627 branch="Northtown" 4629 branch="Pleasant Point" 4631 branch="Methven" 4633 branch="Lending Department" 4647 branch="Money Market" 4648 branch="Head Office" 20 bank="Westpac" 4121 branch="Gisborne City" 4122 branch="Gisborne" 4123 branch="Wairoa" 4124 branch="Napier" 4125 branch="Taradale" 4126 branch="Finance Centre" 4127-4128 branch="Hastings Central" 4129 branch="Havelock North" 4130 branch="Waipawa" 4131 branch="Waipukurau" 4132 branch="Dannevirke" 4133 branch="Broadway" 4134 branch="Awapuni" 4135 branch="Terrace End" 4136 branch="Hokowhitu" 4137 branch="Feilding" 4138 branch="Levin" 4139 branch="Pahiatua" 4140 branch="Masterton" 4141 branch="Carterton" 4143 branch="Marewa" 4144 branch="Stortford Lodge" 4145 branch="Mahora" 4146 branch="Massey" 4147 branch="Plaza" 4169 branch="Money Market" 4170 branch="Head Office" 4198 branch="Clearing Centre" 21 bank="Westpac" 4801 branch="Head Office" 4802 branch="Queen Street" 4803 branch="New Lynn" 4804 branch="Takapuna" 4805 branch="Papakura" 4806 branch="Panmure" 4807 branch="Birkenhead" 4808 branch="Newmarket" 4809 branch="Henderson" 4810 branch="Pakuranga" 4811 branch="Manurewa" 4812 branch="Browns Bay" 4813 branch="Remuera" 4814 branch="Papatoetoe" 4815 branch="Howick" 4816 branch="Royal Oak" 4817 branch="St Heliers" 4818 branch="Orewa" 4819 branch="Milford" 4820 branch="Pukekohe" 4821 branch="Devonport" 4822 branch="Mid City" 4823 branch="St Lukes" 4824 branch="Glenfield" 4825 branch="Mt Roskill" 4826 branch="Manukau City" 4827 branch="Glen Eden" 4828 branch="Ponsonby" 4829 branch="Whangarei" 4830 branch="Kerikeri" 4831 branch="Whangaparaoa" 4833 branch="Manukau Institute Of Technology" 4895 branch="Money Market" 4897 branch="Clearing Centre" 4898 branch="Cashflow" 4899 branch="Accounting Department" 22 bank="Westpac" 4000 branch="Wanganui" 4002 branch="Bulls" 4003 branch="Marton" 4004 branch="Ohakune" 4005 branch="Patea" 4006 branch="Ohakune (Was Raetihi)" 4007 branch="Taihape" 4008 branch="Waverley" 4009 branch="Marton (Was Hunterville)" 4021 branch="Wicksteed Terrace" 4022 branch="Wanganui East Service Centre" 4023 branch="Aramoho Service Centre" 4024 branch="Springvale Service Centre" 4025 branch="Gonville Service Centre" 4028 branch="Cashflow" 4030,4049 branch="Wanganui Regional Office" 4031 branch="New Plymouth" 4032 branch="Hawera" 4033 branch="Stratford" 23 bank="Westpac" 3700-3704 branch="Wellington" 3712 branch="The Oaks" 3714 branch="Johnsonville" 3716 branch="Kilbirnie" 3718 branch="Karori" 3720 branch="Lower Hutt" 3724 branch="Paremata" 3730 branch="Naenae" 3732 branch="Newtown" 3734 branch="Petone" 3736 branch="Porirua" 3738 branch="Paraparaumu" 3746 branch="Stokes Valley" 3748 branch="Tawa" 3750 branch="The Terrace" 3754 branch="Upper Hutt" 3756 branch="Lambton Quay" 3757 branch="Waikanae" 3758 branch="Wainuiomata" 3760 branch="Willis Street" 3762 branch="Otaki" 3765 branch="Molesworth Street" 3770 branch="International" 3772 branch="Money Market" 3780,3792 branch="Clearing Centre" 3784,3786,3788 branch="Lending Department" 3787 branch="Staff" 3793-3794 branch="Cashflow" 3798 branch="Head Office" 24 bank="ASB Bank" 4310 branch="Hokitika" 4311-4312 branch="Training Branch" 4315 branch="Lending Department" 4316 branch="Head Office" 4319 branch="Commercial Division" 4320 branch="Greymouth" 4321 branch="High Street" 4330 branch="Westport" 4335 branch="Murchison" 4336 branch="Nelson" 4337 branch="Richmond" 4338 branch="Blenheim" 4340 branch="Reefton" 25 bank="ANZ Bank New Zealand" 2500 branch="Countrywide" 2501-2503,2509-2510,2520 branch="Cheques Department (Central Processing)" 2521 branch="Queenstown" 2522 branch="Ward Street, Hamilton" 2523 branch="Rotorua" 2524 branch="Tauranga" 2525 branch="Whakatane" 2526 branch="Gisborne" 2527 branch="Palmerston North" 2528 branch="New Plymouth" 2529 branch="Napier" 2531 branch="Hastings" 2532 branch="Wanganui" 2533 branch="Lower Hutt" 2534 branch="Upper Hutt" 2535 branch="Masterton" 2536 branch="Lambton Quay" 2537 branch="Manners Street" 2538 branch="Porirua" 2539 branch="Johnsonville" 2540 branch="Nelson" 2541 branch="Blenheim" 2542 branch="Christchurch" 2543 branch="Sydenham" 2544 branch="Armagh Street" 2545 branch="Riccarton" 2546 branch="Papanui" 2547 branch="Timaru" 2548 branch="Dunedin" 2549 branch="Invercargill" 2550 branch="FX Christchurch" 2551 branch="FX Wellington" 2552 branch="Merivale" 2553 branch="Oamaru" 2554 branch="Ashburton" 2555 branch="Hornby" 2556 branch="Linwood City" 2557 branch="Shirley" 2558 branch="Richmond" 2559 branch="Lambton Quay North" 2560 branch="Feilding" 2561 branch="Levin" 2562 branch="Palmerston North Money Shop" 2563 branch="Tokoroa" 2564 branch="Te Awamutu" 2565 branch="Taupo" 2566 branch="Kawerau" 2567 branch="Mt Maunganui" 2568 branch="Victoria Street, Hamilton" 2569 branch="Frankton" 2570 branch="Cambridge" 27 bank="Westpac" 3801 branch="Head Office" 3802 branch="International Division" 3803 branch="Card Services Division" 3805 branch="TBNZ Payments" 3816 branch="Southern Support Centre - Christchurch" 3817 branch="Central Support Centre - Wellington" 3818 branch="Northern Support Centre - Hamilton" 3820 branch="Southern Teleservicing Centre" 3821 branch="Hamilton Clearing Centre" 3822 branch="Northern Teleservicing Centre" 3823 branch="Christchurch Clearing Centre" 3824 branch="Invercargill Clearing Centre" 3825 branch="Auckland Clearing Centre" 3826 branch="Palmerston North Clearing Centre" 30 bank="HSBC New Zealand" 2901 branch="Auckland" 2902 branch="Wellington" 2903,2908 branch="Auckland - Queen Street Branch" 2904 branch="Auckland - Corporate" 2906 branch="New Zealand Management" 2907 branch="Christchurch" 2909 branch="Botany Town Premier" 2910,2916,2918 branch="Takapuna" 2911 branch="Corporate Partners Branch" 2912 branch="HSBC Botany Downs" 2915 branch="Wellington Mortgage Centre" 2921 branch="Botany Town Centre Personal Banking" 2922 branch="Botany Town Centre Commercial Banking" 2931 branch="Alliances Branch" 2932 branch="Customer Services Centre Branch" 2933 branch="PFS Christchurch" 2934 branch="Private Clients Branch" 2935 branch="HSBC One Queen Street - Alliance Branch" 2936 branch="HSBC One Queen Street - Retail Branch" 2937 branch="HSBC One Queen Street - Commercial Branch" 2940 branch="Payment Services" 2948 branch="Treasury" 31 bank="Citibank N.A." 2825-2829,2840 branch="Auckland - Wholesale" 38 bank="Kiwibank" 9000-9499 branch="Kiwibank Limited Head Office" 88 bank="Bank of China NZ Ltd" 8800-8803,8805 branch="Auckland Branch" python-stdnum-1.13/stdnum/isan.py0000644000000000000000000001371013555400447017054 0ustar rootroot00000000000000# isan.py - functions for handling International Standard Audiovisual Numbers # (ISANs) # # Copyright (C) 2010, 2011, 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ISAN (International Standard Audiovisual Number). The ISAN (International Standard Audiovisual Number) is used to identify audiovisual works. The number is hexadecimal and can consists of at least a root identifier, and an episode or part. After that an optional check digit, optional version and optionally another check digit can be provided. The check digits are validated using the ISO 7064 Mod 37, 36 algorithm. >>> validate('000000018947000000000000') '000000018947000000000000' >>> compact('0000-0000-D07A-0090-Q-0000-0000-X') '00000000D07A009000000000' >>> validate('0000-0001-8CFA-0000-I-0000-0000-K') '000000018CFA0000I00000000K' >>> validate('0000-0001-8CFA-0000-A-0000-0000-K') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('000000018947000000000000') '0000-0001-8947-0000-8-0000-0000-D' >>> to_urn('00000000D07A009000000000') 'URN:ISAN:0000-0000-D07A-0090-Q-0000-0000-X' >>> to_xml('1881-66C7-3420-6541-Y-9F3A-0245-O') '' """ from stdnum.exceptions import * from stdnum.iso7064 import mod_37_36 from stdnum.util import clean def split(number): """Split the number into a root, an episode or part, a check digit a version and another check digit. If any of the parts are missing an empty string is returned.""" number = clean(number, ' -').strip().upper() if len(number) == 17 or len(number) == 26: return number[0:12], number[12:16], number[16], number[17:25], number[25:] elif len(number) > 16: return number[0:12], number[12:16], '', number[16:24], number[24:] else: return number[0:12], number[12:16], number[16:], '', '' def compact(number, strip_check_digits=True): """Convert the ISAN to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace. The check digits are removed by default.""" number = list(split(number)) if strip_check_digits: number[2] = number[4] = '' return ''.join(number) def validate(number, strip_check_digits=False, add_check_digits=False): """Check if the number provided is a valid ISAN. If check digits are present in the number they are validated. If strip_check_digits is True any existing check digits will be removed (after checking). If add_check_digits is True the check digit will be added if they are not present yet.""" (root, episode, check1, version, check2) = split(number) # check digits used for x in root + episode + version: if x not in '0123456789ABCDEF': raise InvalidFormat() # check length of all components if len(root) != 12 or len(episode) != 4 or len(check1) not in (0, 1) or \ len(version) not in (0, 8) or len(check1) not in (0, 1): raise InvalidLength() # allow removing check digits if strip_check_digits: check1 = check2 = '' # check check digits if check1: mod_37_36.validate(root + episode + check1) if check2: mod_37_36.validate(root + episode + version + check2) # add check digits if add_check_digits and not check1: check1 = mod_37_36.calc_check_digit(root + episode) if add_check_digits and not check2 and version: check2 = mod_37_36.calc_check_digit(root + episode + version) return root + episode + check1 + version + check2 def is_valid(number): """Check if the number provided is a valid ISAN. If check digits are present in the number they are validated.""" try: return bool(validate(number)) except ValidationError: return False def format(number, separator='-', strip_check_digits=False, add_check_digits=True): """Reformat the number to the standard presentation format. If add_check_digits is True the check digit will be added if they are not present yet. If both strip_check_digits and add_check_digits are True the check digits will be recalculated.""" (root, episode, check1, version, check2) = split(number) if strip_check_digits: check1 = check2 = '' if add_check_digits and not check1: check1 = mod_37_36.calc_check_digit(root + episode) if add_check_digits and not check2 and version: check2 = mod_37_36.calc_check_digit(root + episode + version) number = [root[i:i + 4] for i in range(0, 12, 4)] + [episode] if check1: number.append(check1) if version: number.extend((version[0:4], version[4:])) if check2: number.append(check2) return separator.join(number) def to_binary(number): """Convert the number to its binary representation (without the check digits).""" from binascii import a2b_hex return a2b_hex(compact(number, strip_check_digits=True)) def to_xml(number): """Return the XML form of the ISAN as a string.""" number = format(number, strip_check_digits=True, add_check_digits=False) return '' % ( number[0:14], number[15:19], number[20:]) def to_urn(number): """Return the URN representation of the ISAN.""" return 'URN:ISAN:' + format(number, add_check_digits=True) python-stdnum-1.13/stdnum/bg/0000755000000000000000000000000013611057636016137 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/bg/egn.py0000644000000000000000000000636613555400447017274 0ustar rootroot00000000000000# egn.py - functions for handling Bulgarian national identification numbers # coding: utf-8 # # Copyright (C) 2012-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes). It is a 10-digit number of which the first 6 digits denote the person's birth date, the next three digits represent a birth order number from which the person's gender can be determined and the last digit is a check digit. >>> compact('752316 926 3') '7523169263' >>> validate('8032056031') '8032056031' >>> get_birth_date('7542011030') datetime.date(2075, 2, 1) >>> validate('7552A10004') # invalid digit Traceback (most recent call last): ... InvalidFormat: ... >>> validate('8019010008') # invalid date Traceback (most recent call last): ... InvalidComponent: ... """ import datetime from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -.').upper().strip() def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" weights = (2, 4, 8, 5, 10, 9, 7, 3, 6) return str(sum(w * int(n) for w, n in zip(weights, number)) % 11 % 10) def get_birth_date(number): """Split the date parts from the number and return the birth date.""" number = compact(number) year = int(number[0:2]) + 1900 month = int(number[2:4]) day = int(number[4:6]) if month > 40: year += 100 month -= 40 elif month > 20: year -= 100 month -= 20 try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def validate(number): """Check if the number is a valid national identification number. This checks the length, formatting, embedded date and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 10: raise InvalidLength() # check if birth date is valid get_birth_date(number) # TODO: check that the birth date is not in the future # check the check digit if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid national identification number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/bg/__init__.py0000644000000000000000000000155013555400447020250 0ustar rootroot00000000000000# __init__.py - collection of Bulgarian numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Bulgarian numbers.""" python-stdnum-1.13/stdnum/bg/pnf.py0000644000000000000000000000467313555400447017305 0ustar rootroot00000000000000# pnf.py - functions for handling Bulgarian personal number of a foreigner # coding: utf-8 # # Copyright (C) 2012-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """PNF (ЛНЧ, Личен номер на чужденец, Bulgarian number of a foreigner). The personal number of a foreigner is a 10-digit number where the last digit is the result of a weighted checksum. >>> validate('7111 042 925') '7111042925' >>> validate('7111042922') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('71110A2922') # invalid digit Traceback (most recent call last): ... InvalidFormat: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -.').upper().strip() def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" weights = (21, 19, 17, 13, 11, 9, 7, 3, 1) return str(sum(w * int(n) for w, n in zip(weights, number)) % 10) def validate(number): """Check if the number is a valid national identification number. This checks the length, formatting, embedded date and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 10: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid national identification number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/bg/vat.py0000644000000000000000000000633413555400447017310 0ustar rootroot00000000000000# vat.py - functions for handling Bulgarian VAT numbers # coding: utf-8 # # Copyright (C) 2012-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """VAT (Идентификационен номер по ДДС, Bulgarian VAT number). The Bulgarian VAT (Данък върху добавената стойност) number is either 9 (for legal entities) or 10 digits (for physical persons, foreigners and others) long. Each type of number has its own check digit algorithm. >>> compact('BG 175 074 752') '175074752' >>> validate('175074752') '175074752' >>> validate('175074751') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.bg import egn, pnf from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -.').upper().strip() if number.startswith('BG'): number = number[2:] return number def calc_check_digit_legal(number): """Calculate the check digit for legal entities. The number passed should not have the check digit included.""" check = sum((i + 1) * int(n) for i, n in enumerate(number)) % 11 if check == 10: check = sum((i + 3) * int(n) for i, n in enumerate(number)) % 11 return str(check % 10) def calc_check_digit_other(number): """Calculate the check digit for others. The number passed should not have the check digit included.""" weights = (4, 3, 2, 7, 6, 5, 4, 3, 2) return str((11 - sum(w * int(n) for w, n in zip(weights, number))) % 11) def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) == 9: # 9 digit numbers are for legal entities if number[-1] != calc_check_digit_legal(number[:-1]): raise InvalidChecksum() elif len(number) == 10: # 10 digit numbers are for physical persons, foreigners and others if not egn.is_valid(number) and not pnf.is_valid(number) and \ number[-1] != calc_check_digit_other(number[:-1]): raise InvalidChecksum() else: raise InvalidLength() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/fi/0000755000000000000000000000000013611057637016146 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/fi/veronumero.py0000644000000000000000000000450413555400447020722 0ustar rootroot00000000000000# veronumero.py - functions for handling Finnish individual tax numbers # coding: utf-8 # # Copyright (C) 2017 Holvi Payment Services Oy # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ Veronumero (Finnish individual tax number). The Veronumero an individual tax number that is assigned to workers in the construction industry in Finland. The number is separate from the HETU and is a 12 digit number without any embedded information such as birth dates. More information: * https://www.vero.fi/en/detailed-guidance/guidance/48791/individual_tax_numbers__instructions_fo/ * https://prosentti.vero.fi/Veronumerorekisteri/Tarkistus/VeronumeronTarkistus.aspx >>> validate('123456789123') '123456789123' >>> validate('12345678912A') Traceback (most recent call last): ... InvalidFormat: ... >>> validate('123456789') Traceback (most recent call last): ... InvalidLength: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the Veronumero to the minimal representation. This strips surrounding whitespace and removes separators.""" return clean(number, ' ').strip() def validate(number): """Check if the number is a valid tax number. This checks the length and formatting.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 12: raise InvalidLength() # there is no known check digit validation return number def is_valid(number): """Check if the number is a valid tax number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/fi/hetu.py0000644000000000000000000000706013555400447017466 0ustar rootroot00000000000000# hetu.py - functions for handling Finnish personal identity codes # coding: utf-8 # # Copyright (C) 2011 Jussi Judin # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """HETU (Henkilötunnus, Finnish personal identity code). Module for handling Finnish personal identity codes (HETU, Henkilötunnus). See http://www.vaestorekisterikeskus.fi/default.aspx?id=45 for checksum calculation details and http://tarkistusmerkit.teppovuori.fi/tarkmerk.htm#hetu1 for historical details. >>> validate('131052-308T') '131052-308T' >>> validate('131052-308U') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('310252-308Y') Traceback (most recent call last): ... InvalidComponent: ... >>> compact('131052a308t') '131052A308T' """ import datetime import re from stdnum.exceptions import * from stdnum.util import clean _century_codes = { '+': 1800, '-': 1900, 'A': 2000, } # Finnish personal identity codes are composed of date part, century # indicating sign, individual number and control character. # ddmmyyciiiC _hetu_re = re.compile(r'^(?P[0123]\d)(?P[01]\d)(?P\d\d)' r'(?P[-+A])(?P\d\d\d)' r'(?P[0-9ABCDEFHJKLMNPRSTUVWXY])$') def compact(number): """Convert the HETU to the minimal representation. This strips surrounding whitespace and converts it to upper case.""" return clean(number, '').upper().strip() def _calc_checksum(number): return '0123456789ABCDEFHJKLMNPRSTUVWXY'[int(number) % 31] def validate(number): """Check if the number is a valid HETU. It checks the format, whether a valid date is given and whether the check digit is correct.""" number = compact(number) match = _hetu_re.search(number) if not match: raise InvalidFormat() day = int(match.group('day')) month = int(match.group('month')) year = int(match.group('year')) century = _century_codes[match.group('century')] individual = int(match.group('individual')) # check if birth date is valid try: datetime.date(century + year, month, day) except ValueError: raise InvalidComponent() # for historical reasons individual IDs start from 002 if individual < 2: raise InvalidComponent() # this range is for temporary identifiers if 900 <= individual <= 999: raise InvalidComponent() checkable_number = '%02d%02d%02d%03d' % (day, month, year, individual) if match.group('control') != _calc_checksum(checkable_number): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid HETU.""" try: return bool(validate(number)) except ValidationError: return False # This is here just for completeness as there are no different length forms # of Finnish personal identity codes: format = compact python-stdnum-1.13/stdnum/fi/ytunnus.py0000644000000000000000000000367013555400447020251 0ustar rootroot00000000000000# ytunnus.py - functions for handling Finnish business identifiers (y-tunnus) # coding: utf-8 # # Copyright (C) 2015 Holvi Payment Services Oy # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Y-tunnus (Finnish business identifier). The number is an 8-digit code with a weighted checksum. >>> validate('2077474-0') '20774740' >>> validate('2077474-1') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> format('2077474-0') '2077474-0' """ from stdnum.exceptions import * from stdnum.fi import alv def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return alv.compact(number) def validate(number): """Check if the number is a valid business identifier. This checks the length, formatting and check digit.""" return alv.validate(number) def is_valid(number): """Check if the number is a valid business identifier.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return number[:7] + '-' + number[7:] python-stdnum-1.13/stdnum/fi/__init__.py0000644000000000000000000000203713555400447020257 0ustar rootroot00000000000000# __init__.py - collection of Finnish numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Finnish numbers.""" # provide vat as an alias from stdnum.fi import alv as vat # noqa: F401 from stdnum.fi import hetu as personalid # noqa: F401 from stdnum.fi import ytunnus as businessid # noqa: F401 python-stdnum-1.13/stdnum/fi/associationid.py0000644000000000000000000000537013555400447021354 0ustar rootroot00000000000000# associationid.py - functions for handling Finnish association registry id # coding: utf-8 # # Copyright (C) 2015 Holvi Payment Services Oy # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Finnish Association Identifier. The number consists of 1 to 6 digits that are normally separated with a dot in groups of 0-3 and 0-3 numbers. E.g. 123.123, 12.123, 1.123, 123 or 1. >>> validate('123.123') '123123' >>> validate('1123') '1123' >>> validate('123123123') Traceback (most recent call last): ... InvalidLength: The number has an invalid length. >>> validate('12df') Traceback (most recent call last): ... InvalidFormat: The number has an invalid format. >>> format('123') '123' >>> format('1234') '1.234' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits # a collection of all registered numbers with 2 or less digits _lownumbers = set(( 1, 6, 7, 9, 12, 14, 15, 16, 18, 22, 23, 24, 27, 28, 29, 35, 36, 38, 40, 41, 42, 43, 45, 46, 50, 52, 55, 58, 60, 64, 65, 68, 72, 75, 76, 77, 78, 83, 84, 85, 89, 92)) def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -._+').strip() def validate(number): """Check if the number is a valid Finnish association register number. This checks the length and format.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) < 1 or len(number) > 6: raise InvalidLength() if len(number) < 3 and int(number) not in _lownumbers: raise InvalidComponent() return number def is_valid(number): """Check if the number is a valid association register number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) if len(number) <= 3: return number else: return number[:-3] + '.' + number[-3:] python-stdnum-1.13/stdnum/fi/alv.py0000644000000000000000000000420113555400447017275 0ustar rootroot00000000000000# vat.py - functions for handling Finnish VAT numbers # coding: utf-8 # # Copyright (C) 2012-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ALV nro (Arvonlisäveronumero, Finnish VAT number). The number is an 8-digit code with a weighted checksum. >>> validate('FI 20774740') '20774740' >>> validate('FI 20774741') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('FI'): number = number[2:] return number def checksum(number): """Calculate the checksum.""" weights = (7, 9, 10, 5, 8, 4, 2, 1) return sum(w * int(n) for w, n in zip(weights, number)) % 11 def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 8: raise InvalidLength() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/pe/0000755000000000000000000000000013611057637016154 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/pe/ruc.py0000644000000000000000000000552013555400450017311 0ustar rootroot00000000000000# ruc.py - functions for handling Peruvian fiscal numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """RUC (Registro Único de Contribuyentes, Peruvian company tax number). The RUC (Registro Único de Contribuyentes) is the tax number of Peru assigned to legal and natural persons. The number consists of 11 digits, the first two indicate the kind of number, for personal numbers it is followed by the DNI and a check digit. More information: * http://www.sunat.gob.pe/legislacion/ruc/ * https://consultarelruc.pe/ >>> validate('20512333797') '20512333797' >>> validate('20512333798') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> to_dni('10054148289') '05414828' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip() def calc_check_digit(number): """Calculate the check digit.""" weights = (5, 4, 3, 2, 7, 6, 5, 4, 3, 2) return str((11 - sum(w * int(n) for w, n in zip(weights, number)) % 11) % 10) def to_dni(number): """Return the DNI (CUI) part of the number for natural persons.""" number = validate(number) if not number.startswith('10'): raise InvalidComponent() # only for persons return number[2:10] def validate(number): """Check if the number provided is a valid RUC. This checks the length, formatting and check digit.""" number = compact(number) if len(number) != 11: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if number[:2] not in ('10', '15', '17', '20'): raise InvalidComponent() # not person or company if not number.endswith(calc_check_digit(number)): raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid RUC. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/pe/__init__.py0000644000000000000000000000154613555400450020263 0ustar rootroot00000000000000# __init__.py - collection of Peruvian numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Peruvian numbers.""" python-stdnum-1.13/stdnum/pe/cui.py0000644000000000000000000000555613555400450017311 0ustar rootroot00000000000000# cui.py - functions for handling Peruvian personal numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CUI (Cédula Única de Identidad, Peruvian identity number). The Cédula Única de Identidad (CUI) is the unique identifier for persons that appears on the Documento Nacional de Identidad (DNI), the national identity document of Peru. The number consists of 8 digits and an optional extra check digit. More information: * https://www.gob.pe/235-documento-nacional-de-identidad-dni * https://es.wikipedia.org/wiki/Documento_Nacional_de_Identidad_(Perú) >>> validate('10117410') '10117410' >>> validate('10117410-2') '101174102' >>> validate('10117410-3') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> to_ruc('10117410-2') '10101174102' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip().upper() def calc_check_digits(number): """Calculate the possible check digits for the CUI.""" number = compact(number) weights = (3, 2, 7, 6, 5, 4, 3, 2) c = sum(w * int(n) for w, n in zip(weights, number)) % 11 return '65432110987'[c] + 'KJIHGFEDCBA'[c] def to_ruc(number): """Convert the number to a valid RUC.""" from stdnum.pe import ruc number = '10' + compact(number)[:8] return number + ruc.calc_check_digit(number) def validate(number): """Check if the number provided is a valid CUI. This checks the length, formatting and check digit.""" number = compact(number) if len(number) not in (8, 9): raise InvalidLength() if not isdigits(number[:8]): raise InvalidFormat() if len(number) > 8 and number[-1] not in calc_check_digits(number): raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid CUI. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/util.py0000644000000000000000000002751713555400450017103 0ustar rootroot00000000000000# util.py - common utility functions # coding: utf-8 # # Copyright (C) 2012-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Common utility functions for other stdnum modules. This module is meant for internal use by stdnum modules and is not guaranteed to remain stable and as such not part of the public API of stdnum. """ import pkgutil import pydoc import re import sys import unicodedata import warnings from stdnum.exceptions import * # Regular expression to match doctests in docstrings _strip_doctest_re = re.compile(r'^>>> .*\Z', re.DOTALL | re.MULTILINE) # Regular expression to match digits _digits_re = re.compile(r'^[0-9]+$') def _mk_char_map(mapping): """Transform a dictionary with comma separated uniode chracter names to tuples with unicode characters as key.""" for key, value in mapping.items(): for char in key.split(','): try: yield (unicodedata.lookup(char), value) except KeyError: # pragma: no cover (does not happen on Python3) pass # build mapping of Unicode characters to equivalent ASCII characters _char_map = dict(_mk_char_map({ 'HYPHEN-MINUS,ARMENIAN HYPHEN,HEBREW PUNCTUATION MAQAF,HYPHEN,' 'NON-BREAKING HYPHEN,FIGURE DASH,EN DASH,EM DASH,HORIZONTAL BAR,' 'SMALL HYPHEN-MINUS,FULLWIDTH HYPHEN-MINUS,MONGOLIAN NIRUGU,OVERLINE,' 'HYPHEN BULLET,MACRON,MODIFIER LETTER MINUS SIGN,FULLWIDTH MACRON,' 'OGHAM SPACE MARK,SUPERSCRIPT MINUS,SUBSCRIPT MINUS,MINUS SIGN,' 'HORIZONTAL LINE EXTENSION,HORIZONTAL SCAN LINE-1,HORIZONTAL SCAN LINE-3,' 'HORIZONTAL SCAN LINE-7,HORIZONTAL SCAN LINE-9,STRAIGHTNESS': '-', 'ASTERISK,ARABIC FIVE POINTED STAR,SYRIAC HARKLEAN ASTERISCUS,' 'FLOWER PUNCTUATION MARK,VAI FULL STOP,SMALL ASTERISK,FULLWIDTH ASTERISK,' 'ASTERISK OPERATOR,STAR OPERATOR,HEAVY ASTERISK,LOW ASTERISK,' 'OPEN CENTRE ASTERISK,EIGHT SPOKED ASTERISK,SIXTEEN POINTED ASTERISK,' 'TEARDROP-SPOKED ASTERISK,OPEN CENTRE TEARDROP-SPOKED ASTERISK,' 'HEAVY TEARDROP-SPOKED ASTERISK,EIGHT TEARDROP-SPOKED PROPELLER ASTERISK,' 'HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK,' 'ARABIC FIVE POINTED STAR': '*', 'COMMA,ARABIC COMMA,SINGLE LOW-9 QUOTATION MARK,IDEOGRAPHIC COMMA,' 'ARABIC DECIMAL SEPARATOR,ARABIC THOUSANDS SEPARATOR,PRIME,RAISED COMMA,' 'PRESENTATION FORM FOR VERTICAL COMMA,SMALL COMMA,' 'SMALL IDEOGRAPHIC COMMA,FULLWIDTH COMMA,CEDILLA': ',', 'FULL STOP,MIDDLE DOT,GREEK ANO TELEIA,ARABIC FULL STOP,' 'IDEOGRAPHIC FULL STOP,SYRIAC SUPRALINEAR FULL STOP,' 'SYRIAC SUBLINEAR FULL STOP,SAMARITAN PUNCTUATION NEQUDAA,' 'TIBETAN MARK INTERSYLLABIC TSHEG,TIBETAN MARK DELIMITER TSHEG BSTAR,' 'RUNIC SINGLE PUNCTUATION,BULLET,ONE DOT LEADER,HYPHENATION POINT,' 'WORD SEPARATOR MIDDLE DOT,RAISED DOT,KATAKANA MIDDLE DOT,' 'SMALL FULL STOP,FULLWIDTH FULL STOP,HALFWIDTH KATAKANA MIDDLE DOT,' 'AEGEAN WORD SEPARATOR DOT,PHOENICIAN WORD SEPARATOR,' 'KHAROSHTHI PUNCTUATION DOT,DOT ABOVE,ARABIC SYMBOL DOT ABOVE,' 'ARABIC SYMBOL DOT BELOW,BULLET OPERATOR,DOT OPERATOR': '.', 'SOLIDUS,SAMARITAN PUNCTUATION ARKAANU,FULLWIDTH SOLIDUS,DIVISION SLASH,' 'MATHEMATICAL RISING DIAGONAL,BIG SOLIDUS,FRACTION SLASH': '/', 'COLON,ETHIOPIC WORDSPACE,RUNIC MULTIPLE PUNCTUATION,MONGOLIAN COLON,' 'PRESENTATION FORM FOR VERTICAL COLON,FULLWIDTH COLON,' 'PRESENTATION FORM FOR VERTICAL TWO DOT LEADER,SMALL COLON': ':', 'SPACE,NO-BREAK SPACE,EN QUAD,EM QUAD,EN SPACE,EM SPACE,' 'THREE-PER-EM SPACE,FOUR-PER-EM SPACE,SIX-PER-EM SPACE,FIGURE SPACE,' 'PUNCTUATION SPACE,THIN SPACE,HAIR SPACE,NARROW NO-BREAK SPACE,' 'MEDIUM MATHEMATICAL SPACE,IDEOGRAPHIC SPACE': ' ', 'FULLWIDTH DIGIT ZERO,MATHEMATICAL BOLD DIGIT ZERO,' 'MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO,MATHEMATICAL SANS-SERIF DIGIT ZERO,' 'MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO,MATHEMATICAL MONOSPACE DIGIT ZERO': '0', 'FULLWIDTH DIGIT ONE,MATHEMATICAL BOLD DIGIT ONE,' 'MATHEMATICAL DOUBLE-STRUCK DIGIT ONE,MATHEMATICAL SANS-SERIF DIGIT ONE,' 'MATHEMATICAL SANS-SERIF BOLD DIGIT ONE,MATHEMATICAL MONOSPACE DIGIT ONE': '1', 'FULLWIDTH DIGIT TWO,MATHEMATICAL BOLD DIGIT TWO,' 'MATHEMATICAL DOUBLE-STRUCK DIGIT TWO,MATHEMATICAL SANS-SERIF DIGIT TWO,' 'MATHEMATICAL SANS-SERIF BOLD DIGIT TWO,MATHEMATICAL MONOSPACE DIGIT TWO': '2', 'FULLWIDTH DIGIT THREE,MATHEMATICAL BOLD DIGIT THREE,' 'MATHEMATICAL DOUBLE-STRUCK DIGIT THREE,MATHEMATICAL SANS-SERIF DIGIT THREE,' 'MATHEMATICAL SANS-SERIF BOLD DIGIT THREE,MATHEMATICAL MONOSPACE DIGIT THREE': '3', 'FULLWIDTH DIGIT FOUR,MATHEMATICAL BOLD DIGIT FOUR,' 'MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR,MATHEMATICAL SANS-SERIF DIGIT FOUR,' 'MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR,MATHEMATICAL MONOSPACE DIGIT FOUR': '4', 'FULLWIDTH DIGIT FIVE,MATHEMATICAL BOLD DIGIT FIVE,' 'MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE,MATHEMATICAL SANS-SERIF DIGIT FIVE,' 'MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE,MATHEMATICAL MONOSPACE DIGIT FIVE': '5', 'FULLWIDTH DIGIT SIX,MATHEMATICAL BOLD DIGIT SIX,' 'MATHEMATICAL DOUBLE-STRUCK DIGIT SIX,MATHEMATICAL SANS-SERIF DIGIT SIX,' 'MATHEMATICAL SANS-SERIF BOLD DIGIT SIX,MATHEMATICAL MONOSPACE DIGIT SIX': '6', 'FULLWIDTH DIGIT SEVEN,MATHEMATICAL BOLD DIGIT SEVEN,' 'MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN,MATHEMATICAL SANS-SERIF DIGIT SEVEN,' 'MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN,MATHEMATICAL MONOSPACE DIGIT SEVEN': '7', 'FULLWIDTH DIGIT EIGHT,MATHEMATICAL BOLD DIGIT EIGHT,' 'MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT,MATHEMATICAL SANS-SERIF DIGIT EIGHT,' 'MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT,MATHEMATICAL MONOSPACE DIGIT EIGHT': '8', 'FULLWIDTH DIGIT NINE,MATHEMATICAL BOLD DIGIT NINE,' 'MATHEMATICAL DOUBLE-STRUCK DIGIT NINE,MATHEMATICAL SANS-SERIF DIGIT NINE,' 'MATHEMATICAL SANS-SERIF BOLD DIGIT NINE,MATHEMATICAL MONOSPACE DIGIT NINE': '9', 'APOSTROPHE,GRAVE ACCENT,ACUTE ACCENT,MODIFIER LETTER RIGHT HALF RING,' 'MODIFIER LETTER LEFT HALF RING,MODIFIER LETTER PRIME,' 'MODIFIER LETTER TURNED COMMA,MODIFIER LETTER APOSTROPHE,' 'MODIFIER LETTER VERTICAL LINE,COMBINING GRAVE ACCENT,' 'COMBINING ACUTE ACCENT,COMBINING TURNED COMMA ABOVE,' 'COMBINING COMMA ABOVE,ARMENIAN APOSTROPHE,' 'SINGLE HIGH-REVERSED-9 QUOTATION MARK,LEFT SINGLE QUOTATION MARK,' 'RIGHT SINGLE QUOTATION MARK': "'", })) def _clean_chars(number): """Replace various Unicode characters with their ASCII counterpart.""" return ''.join(_char_map.get(x, x) for x in number) def clean(number, deletechars=''): """Remove the specified characters from the supplied number. >>> clean('123-456:78 9', ' -:') '123456789' >>> clean('1–2—3―4') '1-2-3-4' """ try: number = ''.join(x for x in number) except Exception: raise InvalidFormat() if sys.version < '3' and isinstance(number, str): # pragma: no cover (Python 2 specific code) try: number = _clean_chars(number.decode()).encode() except UnicodeError: try: number = _clean_chars(number.decode('utf-8')).encode('utf-8') except UnicodeError: pass else: # pragma: no cover (Python 3 specific code) number = _clean_chars(number) return ''.join(x for x in number if x not in deletechars) def isdigits(number): """Check whether the provided string only consists of digits.""" # This function is meant to replace str.isdigit() which will also return # True for all kind of unicode digits which is generally not what we want return bool(_digits_re.match(number)) def to_unicode(text): """Convert the specified text to a unicode string.""" if not isinstance(text, type(u'')): try: return text.decode('utf-8') except UnicodeDecodeError: return text.decode('iso-8859-15') return text def get_number_modules(base='stdnum'): """Yield all the number validation modules under the specified module.""" __import__(base) module = sys.modules[base] # we ignore deprecation warnings from transitional modules with warnings.catch_warnings(): warnings.filterwarnings('ignore', category=DeprecationWarning, module=r'stdnum\..*') for _loader, name, _is_pkg in pkgutil.walk_packages( module.__path__, module.__name__ + '.'): __import__(name) module = sys.modules[name] if hasattr(module, 'validate') and module.__name__ == name: yield module def get_module_name(module): """Return the short description of the number.""" return pydoc.splitdoc(pydoc.getdoc(module))[0].strip('.') def get_module_description(module): """Return a description of the number.""" doc = pydoc.splitdoc(pydoc.getdoc(module))[1] # remove the doctests return _strip_doctest_re.sub('', doc).strip() def get_cc_module(cc, name): """Find the country-specific named module.""" cc = cc.lower() # add suffix for python reserved words if cc in ('in', 'is', 'if'): cc += '_' try: mod = __import__('stdnum.%s' % cc, globals(), locals(), [str(name)]) return getattr(mod, name, None) except ImportError: return # this is a cache of SOAP clients _soap_clients = {} def get_soap_client(wsdlurl, timeout=30): # pragma: no cover (not part of normal test suite) """Get a SOAP client for performing requests. The client is cached. The timeout is in seconds.""" # this function isn't automatically tested because the functions using # it are not automatically tested if (wsdlurl, timeout) not in _soap_clients: # try zeep first try: from zeep.transports import Transport transport = Transport(timeout=timeout) from zeep import CachingClient client = CachingClient(wsdlurl, transport=transport).service except ImportError: # fall back to non-caching zeep client try: from zeep import Client client = Client(wsdlurl, transport=transport).service except ImportError: # other implementations require passing the proxy config try: from urllib import getproxies except ImportError: from urllib.request import getproxies # fall back to suds try: from suds.client import Client client = Client( wsdlurl, proxy=getproxies(), timeout=timeout).service except ImportError: # use pysimplesoap as last resort try: from pysimplesoap.client import SoapClient client = SoapClient( wsdl=wsdlurl, proxy=getproxies(), timeout=timeout) except ImportError: raise ImportError( 'No SOAP library (such as zeep) found') _soap_clients[(wsdlurl, timeout)] = client return _soap_clients[(wsdlurl, timeout)] python-stdnum-1.13/stdnum/bic.py0000644000000000000000000000501713555400447016660 0ustar rootroot00000000000000# bic.py - functions for handling ISO 9362 Business identifier codes # # Copyright (C) 2015 Lifealike Ltd # Copyright (C) 2017-2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """BIC (ISO 9362 Business identifier codes). An ISO 9362 identifier (also: BIC, BEI, or SWIFT code) uniquely identifies an institution. They are commonly used to route financial transactions. The code consists of a 4 letter institution code, a 2 letter country code, and a 2 character location code, optionally followed by a three character branch code. >>> validate('AGRIFRPP882') 'AGRIFRPP882' >>> validate('ABNA BE 2A') 'ABNABE2A' >>> validate('AGRIFRPP') 'AGRIFRPP' >>> validate('AGRIFRPP8') Traceback (most recent call last): ... InvalidLength: .. >>> validate('AGRIF2PP') # country code can't contain digits Traceback (most recent call last): ... InvalidFormat: .. >>> format('agriFRPP') # conventionally caps 'AGRIFRPP' """ import re from stdnum.exceptions import * from stdnum.util import clean _bic_re = re.compile(r'^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?$') def compact(number): """Convert the number to the minimal representation. This strips the number of any surrounding whitespace.""" return clean(number, ' -').strip().upper() def validate(number): """Check if the number is a valid routing number. This checks the length and characters in each position.""" number = compact(number) if len(number) not in (8, 11): raise InvalidLength() match = _bic_re.search(number) if not match: raise InvalidFormat() return number def is_valid(number): """Check if the number provided is a valid BIC.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" return compact(number) python-stdnum-1.13/stdnum/iso6346.py0000644000000000000000000000610213555400447017234 0ustar rootroot00000000000000# iso6346.py - functions for handling ISO 6346 # # Copyright (C) 2014 Openlabs Technologies & Consulting (P) Limited # Copyright (C) 2014-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ISO 6346 (International standard for container identification) ISO 6346 is an international standard covering the coding, identification and marking of intermodal (shipping) containers used within containerized intermodal freight transport. The standard establishes a visual identification system for every container that includes a unique serial number (with check digit), the owner, a country code, a size, type and equipment category as well as any operational marks. The standard is managed by the International Container Bureau (BIC). More information: * https://en.wikipedia.org/wiki/ISO_6346 >>> validate('csqu3054383') 'CSQU3054383' >>> validate('CSQU3054384') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('tasu117 000 0') 'TASU 117000 0' """ import re from stdnum.exceptions import * from stdnum.util import clean _iso6346_re = re.compile(r'^\w{3}(U|J|Z|R)\d{7}$') def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip().upper() def calc_check_digit(number): """Calculate check digit and return it for the 10 digit owner code and serial number.""" number = compact(number) alphabet = '0123456789A BCDEFGHIJK LMNOPQRSTU VWXYZ' return str(sum( alphabet.index(n) * pow(2, i) for i, n in enumerate(number)) % 11 % 10) def validate(number): """Validate the given number (unicode) for conformity to ISO 6346.""" number = compact(number) if len(number) != 11: raise InvalidLength() if not _iso6346_re.match(number): raise InvalidFormat() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check whether the number conforms to the standard ISO6346. Unlike the validate function, this will not raise ValidationError(s).""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return ' '.join((number[:4], number[4:-1], number[-1:])) python-stdnum-1.13/stdnum/do/0000755000000000000000000000000013611057637016152 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/do/rnc.py0000644000000000000000000001541513555400447017312 0ustar rootroot00000000000000# rnc.py - functions for handling Dominican Republic tax registration # coding: utf-8 # # Copyright (C) 2015-2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA # Development of this functionality was funded by iterativo | http://iterativo.do """RNC (Registro Nacional del Contribuyente, Dominican Republic tax number). The RNC is the Dominican Republic taxpayer registration number for institutions. The number consists of 9 digits. >>> validate('1-01-85004-3') '101850043' >>> validate('1018A0043') Traceback (most recent call last): ... InvalidFormat: ... >>> validate('101850042') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('131246796') '1-31-24679-6' """ import json from stdnum.exceptions import * from stdnum.util import clean, get_soap_client, isdigits # list of RNCs that do not match the checksum but are nonetheless valid whitelist = set(''' 101581601 101582245 101595422 101595785 10233317 131188691 401007374 501341601 501378067 501620371 501651319 501651823 501651845 501651926 501656006 501658167 501670785 501676936 501680158 504654542 504680029 504681442 505038691 '''.split()) dgii_wsdl = 'https://www.dgii.gov.do/wsMovilDGII/WSMovilDGII.asmx?WSDL' """The WSDL URL of DGII validation service.""" def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip() def calc_check_digit(number): """Calculate the check digit.""" weights = (7, 9, 8, 6, 5, 4, 3, 2) check = sum(w * int(n) for w, n in zip(weights, number)) % 11 return str((10 - check) % 9 + 1) def validate(number): """Check if the number provided is a valid RNC.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if number in whitelist: return number if len(number) != 9: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid RNC.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join((number[:1], number[1:3], number[3:-1], number[-1])) def _convert_result(result): # pragma: no cover """Translate SOAP result entries into dicts.""" translation = { 'RGE_RUC': 'rnc', 'RGE_NOMBRE': 'name', 'NOMBRE_COMERCIAL': 'commercial_name', 'CATEGORIA': 'category', 'REGIMEN_PAGOS': 'payment_regime', 'ESTATUS': 'status', 'RNUM': 'result_number', } return dict( (translation.get(key, key), value) for key, value in json.loads(result.replace('\t', '\\t')).items()) def check_dgii(number, timeout=30): # pragma: no cover """Lookup the number using the DGII online web service. This uses the validation service run by the the Dirección General de Impuestos Internos, the Dominican Republic tax department to lookup registration information for the number. The timeout is in seconds. Returns a dict with the following structure:: { 'rnc': '123456789', # The requested number 'name': 'The registered name', 'commercial_name': 'An additional commercial name', 'status': '2', # 1: inactive, 2: active 'category': '0', # always 0? 'payment_regime': '2', # 1: N/D, 2: NORMAL, 3: PST } Will return None if the number is invalid or unknown.""" # this function isn't automatically tested because it would require # network access for the tests and unnecessarily load the online service number = compact(number) client = get_soap_client(dgii_wsdl, timeout) result = client.GetContribuyentes( value=number, patronBusqueda=0, # search type: 0=by number, 1=by name inicioFilas=1, # start result (1-based) filaFilas=1, # end result IMEI='') if result and 'GetContribuyentesResult' in result: result = result['GetContribuyentesResult'] # PySimpleSOAP only if result == '0': return result = [x for x in result.split('@@@')] return _convert_result(result[0]) def search_dgii(keyword, end_at=10, start_at=1, timeout=30): # pragma: no cover """Search the DGII online web service using the keyword. This uses the validation service run by the the Dirección General de Impuestos Internos, the Dominican Republic tax department to search the registration information using the keyword. The number of entries returned can be tuned with the `end_at` and `start_at` arguments. The timeout is in seconds. Returns a list of dicts with the following structure:: [ { 'rnc': '123456789', # The found number 'name': 'The registered name', 'commercial_name': 'An additional commercial name', 'status': '2', # 1: inactive, 2: active 'category': '0', # always 0? 'payment_regime': '2', # 1: N/D, 2: NORMAL, 3: PST 'result_number': '1', # index of the result }, ... ] Will return an empty list if the number is invalid or unknown.""" # this function isn't automatically tested because it would require # network access for the tests and unnecessarily load the online service client = get_soap_client(dgii_wsdl, timeout) results = client.GetContribuyentes( value=keyword, patronBusqueda=1, # search type: 0=by number, 1=by name inicioFilas=start_at, # start result (1-based) filaFilas=end_at, # end result IMEI='') if results and 'GetContribuyentesResult' in results: results = results['GetContribuyentesResult'] # PySimpleSOAP only if results == '0': return [] return [_convert_result(result) for result in results.split('@@@')] python-stdnum-1.13/stdnum/do/__init__.py0000644000000000000000000000165213555400447020265 0ustar rootroot00000000000000# __init__.py - collection of Dominican Republic numbers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Dominican Republic numbers.""" from stdnum.do import rnc as vat # noqa: F401 python-stdnum-1.13/stdnum/do/cedula.py0000644000000000000000000002447413555400447017772 0ustar rootroot00000000000000# cedula.py - functions for handling Dominican Republic national identifier # coding: utf-8 # # Copyright (C) 2015-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Cedula (Dominican Republic national identification number). A cedula is is an 11-digit number issues by the Dominican Republic government to citizens or residents for identification purposes. >>> validate('00113918205') '00113918205' >>> validate('00113918204') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('0011391820A') Traceback (most recent call last): ... InvalidFormat: ... >>> format('22400022111') '224-0002211-1' """ from stdnum import luhn from stdnum.do import rnc from stdnum.exceptions import * from stdnum.util import clean, isdigits # list of Cedulas that do not match the checksum but are nonetheless valid whitelist = set(''' 00000021249 00000031417 00000035692 00000045342 00000058035 00000065377 00000078587 00000111941 00000126295 00000129963 00000140874 00000144491 00000155482 00000195576 00000236621 00000292212 00000302347 00000404655 00000547495 00000564933 00000669773 00000719400 00001965804 00004110056 00006747587 00010130085 00010628559 00077584000 00100000169 00100012146 00100013114 00100016495 00100053841 00100061611 00100061945 00100074627 00100083860 00100101767 00100126468 00100145737 00100165504 00100169706 00100172940 00100174666 00100181057 00100228718 00100231017 00100238382 00100239662 00100255349 00100288143 00100288929 00100322649 00100336027 00100350928 00100378440 00100384268 00100384523 00100415853 00100430989 00100523399 00100524531 00100530588 00100531007 00100587320 00100590683 00100593378 00100622461 00100664086 00100709215 00100728113 00100729795 00100756082 00100759932 00101118022 00101166065 00101234090 00101527366 00101541404 00101621981 00101659661 00101684656 00101686299 00101821735 00101961125 00102025201 00102398239 00102577448 00102630192 00103266558 00103436936 00103443802 00103754365 00103766231 00103822440 00103983004 00104486903 00104532086 00104662561 00104727362 00104785104 00104862525 00104966313 00105263314 00105328185 00105512386 00105530894 00105606543 00105832408 00106190966 00106284933 00106418989 00106442522 00106479922 00106916538 00107045499 00107075090 00107184305 00107445493 00107602067 00107665688 00107687383 00107691942 00108113363 00108132448 00108184024 00108264871 00108286792 00108384121 00108413431 00108497822 00108784684 00108796883 00108940225 00109183462 00109229090 00109402756 00109785951 00109987435 00110047715 00110071113 00110111536 00110490843 00110578459 00110646203 00111014782 00111150559 00113453700 00114272360 00114532330 00114532355 00114687216 00115039795 00115343847 00116256005 00116448241 00116508511 00117582001 00119161853 00121344165 00121581750 00121581800 00129737056 00130610001 00131257003 00133987848 00134588056 00142864013 00143072001 00144435001 00146965001 00147485003 00149657590 00155144906 00160405001 00161884001 00162906003 00163540003 00163549012 00163709018 00166457056 00166533003 00167311001 00170009162 00170115579 00171404771 00174729003 00174940001 00181880003 00184129003 00189213001 00189405093 00190002567 00196714003 00200021994 00200028716 00200040516 00200063601 00200123640 00200291381 00200409772 00200435544 00200969260 00201023001 00202110760 00202744522 00207327056 00208430205 00208832003 00218507031 00222017001 00235482001 00236245013 00241997013 00246160013 00261011013 00270764013 00274652001 00278005023 00289931003 00291431001 00291549003 00297018001 00298109001 00299724003 00300001538 00300011700 00300013835 00300015531 00300017875 00300019575 00300020806 00300025568 00300040413 00300052890 00300169535 00300244009 00300636564 00301200901 00305535206 00345425001 00352861001 00356533003 00362684023 00376023023 00388338093 00400001552 00400001614 00400012957 00400189811 00409169001 00425759001 00435518003 00475916056 00481106001 00481595003 00493593003 00500335596 00516077003 00520207699 00524571001 00539342005 00540077717 00544657001 00561269169 00572030001 00574599001 00599408003 00633126023 00644236001 00648496171 00651322001 00686904003 00701067521 00720758056 00731054054 00741721056 00757398001 00800106971 00848583056 00857630012 0094662667 00971815056 01000005580 01000250733 01000268998 01000728704 01000855890 01038813907 01094560111 01100014261 01100620962 01103552230 01133025660 01154421047 01200004166 01200008613 01200011252 01200014133 01200027863 01200033420 01200038298 01200771767 01300001142 01300005424 01300020331 01400000282 01400074875 01600009531 01600019983 01600026316 01600027894 01650257001 01700052445 01700200811 01800022457 01800058439 01800527104 01810035037 02038569001 02100061022 02300003061 02300023225 02300031758 02300037618 02300047220 02300052220 02300054193 02300062066 02300085158 02400229955 02500045676 02600036132 02600094954 02700029905 02755972001 02800000129 02800021761 02800025877 02800029588 02831146001 03000411295 03100001162 03100018730 03100034839 03100083297 03100109611 03100156525 03100195659 03100231390 03100232921 03100277078 03100304632 03100332296 03100398552 03100442457 03100486248 03100488033 03100620176 03100654224 03100668294 03100673050 03100771674 03100789636 03100831768 03100963776 03100984652 03101014877 03101070888 03101105802 03101162278 03101409196 03101456639 03101477254 03101577963 03101713684 03101977306 03102342076 03102399233 03102678700 03102805428 03102828522 03102936385 03103202719 03103315310 03103317617 03103749672 03104354892 03107049671 03108309308 03111670001 03121982479 03131503831 03170483480 03200023002 03200066940 03300023841 03400058730 03400157849 03401709701 03500037890 03600046116 03600127038 03600180637 03700663589 03800032522 03807240010 03852380001 03900069856 03900192284 04022130495 04200012900 04400002002 04400627868 04600198229 04700004024 04700020933 04700027064 04700061076 04700070460 04700074827 04700211635 04700221469 04700728184 04701174268 04800019561 04800034846 04800046910 04800956889 04801245892 04900009932 04900011690 04900013913 04900014592 04900026260 04900028443 04900448230 04902549001 04941042001 05100085656 05300013029 05300013204 05300123494 05400016031 05400021759 05400022042 05400028496 05400033166 05400034790 05400037495 05400038776 05400040523 05400047674 05400048248 05400049237 05400049834 05400050196 05400050304 05400052300 05400053627 05400054156 05400055485 05400055770 05400057300 05400057684 05400058964 05400059956 05400060743 05400062459 05400065376 05400067703 05400072273 05400076481 05400216948 05400878578 05500003079 05500006796 05500008806 05500012039 05500014375 05500017761 05500021118 05500022399 05500023407 05500024135 05500024190 05500027749 05500028350 05500032681 05500173451 05500303477 05600037761 05600038251 05600038964 05600051191 05600063115 05600166034 05600267737 05600553831 05700004693 05700064077 05700071202 05900072869 05900105969 06100007818 06100009131 06100011935 06100013662 06100016486 06100017058 06337850001 06400007916 06400011981 06400014372 06400069279 06486186001 06500162568 06800008448 06800245196 06843739551 06900069184 07000007872 07100018031 07100063262 0710208838 07400001254 07401860112 07600000691 07700009346 07800000968 07800002361 08000213172 08016809001 08100002398 08400068380 08498619001 08800002823 08800003986 08800005068 08900001310 08900004344 08900004849 08900005064 08952698001 09000117963 09000169133 09010011235 09022066011 09200533048 09300006239 09300035357 09400022178 09421581768 09500001177 09500003211 09500008222 09700003030 09700179110 09900017864 10061805811 10100178199 10201116357 10462157001 10491297001 10621581792 10983439110 11700000658 12019831001 12300074628 21000000000 22321581834 22721581818 40200401324 40200452735 40200639953 40200700675 58005174058 90001200901 '''.split()) def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip() def validate(number): """Check if the number provided is a valid cedula.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if number in whitelist: return number if len(number) != 11: raise InvalidLength() return luhn.validate(number) def is_valid(number): """Check if the number provided is a valid cedula.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join((number[:3], number[3:-1], number[-1])) def check_dgii(number, timeout=30): # pragma: no cover """Lookup the number using the DGII online web service. This uses the validation service run by the the Dirección General de Impuestos Internos, the Dominican Republic tax department to lookup registration information for the number. The timeout is in seconds. Returns a dict with the following structure:: { 'cedula': '12345678901', # The requested number 'name': 'The registered name', 'commercial_name': 'An additional commercial name', 'status': '2', # 1: inactive, 2: active 'category': '0', # always 0? 'payment_regime': '2', # 1: N/D, 2: NORMAL, 3: PST } Will return None if the number is invalid or unknown.""" # this function isn't automatically tested because it would require # network access for the tests and unnecessarily load the online service # we use the RNC implementation and change the rnc result to cedula result = rnc.check_dgii(number, timeout) if result and 'rnc' in result: result['cedula'] = result.pop('rnc') return result python-stdnum-1.13/stdnum/do/ncf.py0000644000000000000000000001577013606452301017273 0ustar rootroot00000000000000# ncf.py - functions for handling Dominican Republic invoice numbers # coding: utf-8 # # Copyright (C) 2017-2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA # Development of this functionality was funded by iterativo | http://iterativo.do """NCF (Números de Comprobante Fiscal, Dominican Republic receipt number). The NCF is used to number invoices and other documents for the purpose of tax filing. The e-CF (Comprobante Fiscal Electrónico) is used together with a digital certificate for the same purpose. The number is either 19, 11 or 13 (e-CF) digits long. The 19 digit number starts wit a letter (A or P) to indicate that the number was assigned by the taxpayer or the DGII, followed a 2-digit business unit number, a 3-digit location number, a 3-digit mechanism identifier, a 2-digit document type and a 8-digit serial number. The 11 digit number always starts with a B followed a 2-digit document type and a 7-digit serial number. The 13 digit e-CF starts with an E followed a 2-digit document type and an 8-digit serial number. More information: * https://www.dgii.gov.do/ * https://dgii.gov.do/workshopProveedoresTI-eCE/Documents/Norma05-19.pdf * https://dgii.gov.do/cicloContribuyente/facturacion/comprobantesFiscales/Paginas/tiposComprobantes.aspx >>> validate('E310000000005') # format since 2019-04-08 'E310000000005' >>> validate('B0100000005') # format since 2018-05-01 'B0100000005' >>> validate('A020010210100000005') # format before 2018-05-01 'A020010210100000005' >>> validate('Z0100000005') Traceback (most recent call last): ... InvalidFormat: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip().upper() # The following document types are known: _ncf_document_types = ( '01', # invoices for fiscal declaration (or tax reporting) '02', # invoices for final consumer '03', # debit note '04', # credit note (refunds) '11', # informal supplier invoices (purchases) '12', # single income record '13', # minor expenses invoices (purchases) '14', # invoices for special customers (tourists, free zones) '15', # invoices for the government ) _ecf_document_types = ( '31', # invoices for fiscal declaration (or tax reporting) '32', # invoices for final consumer '33', # debit note '34', # credit note (refunds) '41', # supplier invoices (purchases) '43', # minor expenses invoices (purchases) '44', # invoices for special customers (tourists, free zones) '45', # invoices for the government ) def validate(number): """Check if the number provided is a valid NCF.""" number = compact(number) if len(number) == 13: if number[0] != 'E' or not isdigits(number[1:]): raise InvalidFormat() if number[1:3] not in _ecf_document_types: raise InvalidComponent() elif len(number) == 11: if number[0] != 'B' or not isdigits(number[1:]): raise InvalidFormat() if number[1:3] not in _ncf_document_types: raise InvalidComponent() elif len(number) == 19: if number[0] not in 'AP' or not isdigits(number[1:]): raise InvalidFormat() if number[9:11] not in _ncf_document_types: raise InvalidComponent() else: raise InvalidLength() return number def is_valid(number): """Check if the number provided is a valid NCF.""" try: return bool(validate(number)) except ValidationError: return False def _convert_result(result): # pragma: no cover """Translate SOAP result entries into dictionaries.""" translation = { 'NOMBRE': 'name', 'COMPROBANTE': 'proof', 'ES_VALIDO': 'is_valid', 'MENSAJE_VALIDACION': 'validation_message', 'RNC': 'rnc', 'NCF': 'ncf', u'RNC/Cédula': 'rnc', u'Nombre/Razón Social': 'name', 'Estado': 'status', 'Tipo de comprobante': 'type', } return dict( (translation.get(key, key), value) for key, value in result.items()) def check_dgii(rnc, ncf, timeout=30): # pragma: no cover """Validate the RNC, NCF combination on using the DGII online web service. This uses the validation service run by the the Dirección General de Impuestos Internos, the Dominican Republic tax department to check whether the combination of RNC and NCF is valid. The timeout is in seconds. Returns a dict with the following structure:: { 'name': 'The registered name', 'status': 'VIGENTE', 'type': 'FACTURAS DE CREDITO FISCAL', 'rnc': '123456789', 'ncf': 'A020010210100000005', 'validation_message': 'El NCF digitado es válido.', } Will return None if the number is invalid or unknown.""" import lxml.html import requests from stdnum.do.rnc import compact as rnc_compact rnc = rnc_compact(rnc) ncf = compact(ncf) url = 'https://www.dgii.gov.do/app/WebApps/ConsultasWeb/consultas/ncf.aspx' headers = { 'User-Agent': 'Mozilla/5.0 (python-stdnum)', } # Get the page to pick up needed form parameters document = lxml.html.fromstring( requests.get(url, headers=headers, timeout=timeout).text) validation = document.find('.//input[@name="__EVENTVALIDATION"]').get('value') viewstate = document.find('.//input[@name="__VIEWSTATE"]').get('value') data = { '__EVENTVALIDATION': validation, '__VIEWSTATE': viewstate, 'ctl00$cphMain$btnConsultar': 'Buscar', 'ctl00$cphMain$txtNCF': ncf, 'ctl00$cphMain$txtRNC': rnc, } # Do the actual request document = lxml.html.fromstring( requests.post(url, headers=headers, data=data, timeout=timeout).text) result = document.find('.//div[@id="ctl00_cphMain_pResultado"]') if result is not None: data = { 'validation_message': document.findtext('.//*[@id="ctl00_cphMain_lblInformacion"]').strip(), } data.update(zip( [x.text.strip().rstrip(':') for x in result.findall('.//strong')], [x.text.strip() for x in result.findall('.//span')])) return _convert_result(data) python-stdnum-1.13/stdnum/is_/0000755000000000000000000000000013611057637016322 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/is_/kennitala.py0000644000000000000000000000711313555400447020642 0ustar rootroot00000000000000# kennitala.py - functions for handling Icelandic identity codes # coding: utf-8 # # Copyright (C) 2015 Tuomas Toivonen # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Kennitala (Icelandic personal and organisation identity code). Module for handling Icelandic personal and organisation identity codes (kennitala). >>> validate('450401-3150') # organisation '4504013150' >>> validate('120174-3399') # individual '1201743399' >>> validate('530575-0299') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('320174-3399') Traceback (most recent call last): ... InvalidComponent: ... >>> format('1201743399') '120174-3399' """ import datetime import re from stdnum.exceptions import * from stdnum.util import clean # Icelandic personal and organisation identity codes are composed of # date part, a dash, two random digits, a checksum, and a century # indicator where '9' for 1900-1999 and '0' for 2000 and beyond. For # organisations instead of birth date, the registration date is used, # and number 4 is added to the first digit. _kennitala_re = re.compile( r'^(?P[01234567]\d)(?P[01]\d)(?P\d\d)' r'(?P\d\d)(?P\d)' r'(?P[09])$') def compact(number): """Convert the kennitala to the minimal representation. This strips surrounding whitespace and separation dash, and converts it to upper case.""" return clean(number, '-').upper().strip() def checksum(number): """Calculate the checksum.""" weights = (3, 2, 7, 6, 5, 4, 3, 2, 1, 0) return sum(w * int(n) for w, n in zip(weights, number)) % 11 def validate(number): """Check if the number provided is a valid kennitala. It checks the format, whether a valid date is given and whether the check digit is correct.""" number = compact(number) match = _kennitala_re.search(number) if not match: raise InvalidFormat() day = int(match.group('day')) month = int(match.group('month')) year = int(match.group('year')) if match.group('century') == '9': year += 1900 else: year += 2000 # check if birth date or registration data is valid try: if day >= 40: # organisation datetime.date(year, month, day - 40) else: # individual datetime.date(year, month, day) except ValueError: raise InvalidComponent() # validate the checksum if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid HETU. It checks the format, whether a valid date is given and whether the check digit is correct.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return number[:6] + '-' + number[6:] python-stdnum-1.13/stdnum/is_/__init__.py0000644000000000000000000000175113555400447020435 0ustar rootroot00000000000000# __init__.py - collection of Icelandic numbers # coding: utf-8 # # Copyright (C) 2015 Tuomas Toivonen # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Icelandic numbers.""" # provide aliases from stdnum.is_ import kennitala as personalid # noqa: F401 from stdnum.is_ import vsk as vat # noqa: F401 python-stdnum-1.13/stdnum/is_/vsk.py0000644000000000000000000000366613555400447017510 0ustar rootroot00000000000000# vsk.py - functions for handling Icelandic VAT numbers # coding: utf-8 # # Copyright (C) 2015 Tuomas Toivonen # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """VSK number (Virðisaukaskattsnúmer, Icelandic VAT number). The Icelandic VAT number is five or six digits. >>> validate('IS 00621') '00621' >>> validate('IS 0062199') Traceback (most recent call last): ... InvalidLength: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' ').upper().strip() if number.startswith('IS'): number = number[2:] return number def validate(number): """Check if the number provided is a valid VAT number. This checks the length and formatting.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) not in (5, 6): raise InvalidLength() return number def is_valid(number): """Check if the number provided is a valid VAT number. This checks the length and formatting.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/pt/0000755000000000000000000000000013611057637016173 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/pt/__init__.py0000644000000000000000000000166413555400450020303 0ustar rootroot00000000000000# __init__.py - collection of Portuguese numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Portuguese numbers.""" # provide vat as an alias from stdnum.pt import nif as vat # noqa: F401 python-stdnum-1.13/stdnum/pt/nif.py0000644000000000000000000000457013555400450017317 0ustar rootroot00000000000000# nif.py - functions for handling Portuguese VAT numbers # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NIF (Número de identificação fiscal, Portuguese VAT number). The NIF (Número de identificação fiscal, NIPC, Número de Identificação de Pessoa Colectiva) is used for VAT purposes. It is a 9-digit number with a simple checksum. >>> validate('PT 501 964 843') '501964843' >>> validate('PT 501 964 842') # invalid check digits Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -.').upper().strip() if number.startswith('PT'): number = number[2:] return number def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" s = sum((9 - i) * int(n) for i, n in enumerate(number)) return str((11 - s) % 11 % 10) def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number) or number[0] == '0': raise InvalidFormat() if len(number) != 9: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/il/0000755000000000000000000000000013611057637016154 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/il/__init__.py0000644000000000000000000000154413555400447020267 0ustar rootroot00000000000000# __init__.py - collection of Israeli numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Israeli numbers.""" python-stdnum-1.13/stdnum/il/idnr.py0000644000000000000000000000523013555400447017460 0ustar rootroot00000000000000# idnr.py - functions for handling Israeli personal numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Identity Number (Mispar Zehut, מספר זהות, Israeli identity number). The identity number (Mispar Zehut, מספר זהות) is issued at birth to Israeli citizens. The number consists of nine digits and includes a check digit. More information: * https://en.wikipedia.org/wiki/National_identification_number#Israel * https://en.wikipedia.org/wiki/Israeli_identity_card * https://he.wikipedia.org/wiki/מספר_זהות_(ישראל) >>> validate('3933742-3') '039337423' >>> format('39337423') '03933742-3' >>> validate('3933742-2') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('490154203237518') # longer than 9 digits Traceback (most recent call last): ... InvalidLength: ... """ from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').strip() # pad with leading zeroes return (9 - len(number)) * '0' + number def validate(number): """Check if the number provided is a valid ID. This checks the length, formatting and check digit.""" number = compact(number) if len(number) > 9: raise InvalidLength() if not isdigits(number) or int(number) <= 0: raise InvalidFormat() luhn.validate(number) return number def is_valid(number): """Check if the number provided is a valid ID. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return number[:-1] + '-' + number[-1:] python-stdnum-1.13/stdnum/isin.py0000644000000000000000000001261313606572051017063 0ustar rootroot00000000000000# isin.py - functions for handling ISIN numbers # # Copyright (C) 2015-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ISIN (International Securities Identification Number). The ISIN is a 12-character alpha-numerical code specified in ISO 6166 used to identify exchange listed securities such as bonds, commercial paper, stocks and warrants. The number is formed of a two-letter country code, a nine character national security identifier and a single check digit. This module does not currently separately validate the embedded national security identifier part (e.g. when it is a CUSIP). More information: * https://en.wikipedia.org/wiki/International_Securities_Identification_Number >>> validate('US0378331005') 'US0378331005' >>> validate('US0378331003') Traceback (most recent call last): ... InvalidChecksum: ... >>> from_natid('gb', 'BYXJL75') 'GB00BYXJL758' """ from stdnum.exceptions import * from stdnum.util import clean # all valid ISO 3166-1 alpha-2 country codes _iso_3116_1_country_codes = [ 'AD', 'AE', 'AF', 'AG', 'AI', 'AL', 'AM', 'AN', 'AO', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AW', 'AX', 'AZ', 'BA', 'BB', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BL', 'BM', 'BN', 'BO', 'BQ', 'BR', 'BS', 'BT', 'BV', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD', 'CF', 'CG', 'CH', 'CI', 'CK', 'CL', 'CM', 'CN', 'CO', 'CR', 'CS', 'CU', 'CV', 'CW', 'CX', 'CY', 'CZ', 'DE', 'DJ', 'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'EH', 'ER', 'ES', 'ET', 'FI', 'FJ', 'FK', 'FM', 'FO', 'FR', 'GA', 'GB', 'GD', 'GE', 'GF', 'GG', 'GH', 'GI', 'GL', 'GM', 'GN', 'GP', 'GQ', 'GR', 'GS', 'GT', 'GU', 'GW', 'GY', 'HK', 'HM', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IM', 'IN', 'IO', 'IQ', 'IR', 'IS', 'IT', 'JE', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI', 'KM', 'KN', 'KP', 'KR', 'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK', 'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MF', 'MG', 'MH', 'MK', 'ML', 'MM', 'MN', 'MO', 'MP', 'MQ', 'MR', 'MS', 'MT', 'MU', 'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NC', 'NE', 'NF', 'NG', 'NI', 'NL', 'NO', 'NP', 'NR', 'NU', 'NZ', 'OM', 'PA', 'PE', 'PF', 'PG', 'PH', 'PK', 'PL', 'PM', 'PN', 'PR', 'PS', 'PT', 'PW', 'PY', 'QA', 'RE', 'RO', 'RS', 'RU', 'RW', 'SA', 'SB', 'SC', 'SD', 'SE', 'SG', 'SH', 'SI', 'SJ', 'SK', 'SL', 'SM', 'SN', 'SO', 'SR', 'SS', 'ST', 'SV', 'SX', 'SY', 'SZ', 'TC', 'TD', 'TF', 'TG', 'TH', 'TJ', 'TK', 'TL', 'TM', 'TN', 'TO', 'TR', 'TT', 'TV', 'TW', 'TZ', 'UA', 'UG', 'UM', 'US', 'UY', 'UZ', 'VA', 'VC', 'VE', 'VG', 'VI', 'VN', 'VU', 'WF', 'WS', 'YE', 'YT', 'ZA', 'ZM', 'ZW'] # These special code are allowed for ISIN _country_codes = set(_iso_3116_1_country_codes + [ 'EU', # European Union 'QS', # internally used by Euroclear France 'QS', # temporarily assigned in Germany 'QT', # internally used in Switzerland 'XA', # CUSIP Global Services substitute agencies 'XB', # NSD Russia substitute agencies 'XC', # WM Datenservice Germany substitute agencies 'XD', # SIX Telekurs substitute agencies 'XF', # internally assigned, not unique numbers 'XK', # temporary country code for Kosovo 'XS', # international securities ]) # the letters allowed in an ISIN _alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip().upper() def calc_check_digit(number): """Calculate the check digits for the number.""" # convert to numeric first, then double some, then sum individual digits number = ''.join(str(_alphabet.index(n)) for n in number) number = ''.join( str((2, 1)[i % 2] * int(n)) for i, n in enumerate(reversed(number))) return str((10 - sum(int(n) for n in number)) % 10) def validate(number): """Check if the number provided is valid. This checks the length and check digit.""" number = compact(number) if not all(x in _alphabet for x in number): raise InvalidFormat() if len(number) != 12: raise InvalidLength() if number[:2] not in _country_codes: raise InvalidComponent() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is valid. This checks the length and check digit.""" try: return bool(validate(number)) except ValidationError: return False def from_natid(country_code, number): """Generate an ISIN from a national security identifier.""" number = compact(number) number = country_code.upper() + (9 - len(number)) * '0' + number return number + calc_check_digit(number) python-stdnum-1.13/stdnum/ch/0000755000000000000000000000000013611057636016141 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/ch/ssn.py0000644000000000000000000000510613555400447017317 0ustar rootroot00000000000000# ssn.py - functions for handling Swiss social security numbers # # Copyright (C) 2014 Denis Krienbuehl # Copyright (C) 2016 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Swiss social security number ("Sozialversicherungsnummer"). Also known as "Neue AHV Nummer". The Swiss Sozialversicherungsnummer is used to identify individuals for taxation and pension purposes. The number is validated using EAN-13, though dashes are substituted for dots. More information: * https://en.wikipedia.org/wiki/National_identification_number#Switzerland * https://de.wikipedia.org/wiki/Sozialversicherungsnummer#Versichertennummer >>> validate('7569217076985') '7569217076985' >>> validate('756.9217.0769.85') '7569217076985' >>> validate('756.9217.0769.84') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('123.4567.8910.19') Traceback (most recent call last): ... InvalidComponent: ... >>> format('7569217076985') '756.9217.0769.85' """ from stdnum import ean from stdnum.exceptions import * from stdnum.util import clean def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' .').strip() def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '.'.join((number[:3], number[3:7], number[7:11], number[11:])) def validate(number): """Check if the number is a valid Swiss Sozialversicherungsnummer.""" number = compact(number) if len(number) != 13: raise InvalidLength() if not number.startswith('756'): raise InvalidComponent() return ean.validate(number) def is_valid(number): """Check if the number is a valid Swiss Sozialversicherungsnummer.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ch/uid.py0000644000000000000000000000553713555400447017305 0ustar rootroot00000000000000# uid.py - functions for handling Swiss business identifiers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """UID (Unternehmens-Identifikationsnummer, Swiss business identifier). The Swiss UID is used to uniquely identify businesses for taxation purposes. The number consists of a fixed "CHE" prefix, followed by 9 digits that are protected with a simple checksum. This module only supports the "new" format that was introduced in 2011 which completely replaced the "old" 6-digit format in 2014. More information: * https://www.uid.admin.ch/ * https://de.wikipedia.org/wiki/Unternehmens-Identifikationsnummer >>> validate('CHE-100.155.212') 'CHE100155212' >>> validate('CHE-100.155.213') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('CHE100155212') 'CHE-100.155.212' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips surrounding whitespace and separators.""" return clean(number, ' -.').strip().upper() def calc_check_digit(number): """Calculate the check digit for organisations. The number passed should not have the check digit included.""" weights = (5, 4, 3, 2, 7, 6, 5, 4) s = sum(w * int(n) for w, n in zip(weights, number)) return str((11 - s) % 11) def validate(number): """Check if the number is a valid UID. This checks the length, formatting and check digit.""" number = compact(number) if len(number) != 12: raise InvalidLength() if not number.startswith('CHE'): raise InvalidComponent() if not isdigits(number[3:]): raise InvalidFormat() if number[-1] != calc_check_digit(number[3:-1]): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid UID.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return number[:3] + '-' + '.'.join( number[i:i + 3] for i in range(3, len(number), 3)) python-stdnum-1.13/stdnum/ch/__init__.py0000644000000000000000000000154213555400447020253 0ustar rootroot00000000000000# __init__.py - collection of Swiss numbers # coding: utf-8 # # Copyright (C) 2014 Denis Krienbuehl # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Swiss numbers.""" python-stdnum-1.13/stdnum/ch/vat.py0000644000000000000000000000503713555400447017311 0ustar rootroot00000000000000# vat.py - functions for handling Swiss VAT numbers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """VAT, MWST, TVA, IVA, TPV (Mehrwertsteuernummer, the Swiss VAT number). The Swiss VAT number is based on the UID but is followed by either "MWST" (Mehrwertsteuer, the German abbreviation for VAT), "TVA" (Taxe sur la valeur ajoutée in French), "IVA" (Imposta sul valore aggiunto in Italian) or "TPV" (Taglia sin la plivalur in Romanian). This module only supports the "new" format that was introduced in 2011 which completely replaced the "old" 6-digit format in 2014. More information: * https://www.ch.ch/en/value-added-tax-number-und-business-identification-number/ * https://www.uid.admin.ch/ >>> validate('CHE-107.787.577 IVA') 'CHE107787577IVA' >>> validate('CHE-107.787.578 IVA') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('CHE107787577IVA') 'CHE-107.787.577 IVA' """ from stdnum.ch import uid from stdnum.exceptions import * def compact(number): """Convert the number to the minimal representation. This strips surrounding whitespace and separators.""" return uid.compact(number) def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if len(number) not in (15, 16): raise InvalidLength() uid.validate(number[:12]) if number[12:] not in ('MWST', 'TVA', 'IVA', 'TPV'): raise InvalidComponent() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return uid.format(number[:12]) + ' ' + number[12:] python-stdnum-1.13/stdnum/ch/esr.py0000644000000000000000000000651413557600500017303 0ustar rootroot00000000000000# esr.py - functions for handling Swiss EinzahlungsSchein mit Referenznummer # coding: utf-8 # # Copyright (C) 2019 Kurt Keller # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ESR, ISR, QR-reference (reference number on Swiss payment slips). The ESR (Eizahlungsschein mit Referenznummer), ISR (In-payment Slip with Reference Number) or QR-reference refers to the orange payment slip in Switzerland with which money can be transferred to an account. The slip contains a machine-readable part that contains a participant number and reference number. The participant number ensures the crediting to the corresponding account. The reference number enables the creditor to identify the invoice recipient. In this way, the payment process can be handled entirely electronically. The number consists of 26 numerical characters followed by a Modulo 10 recursive check digit. It is printed in blocks of 5 characters (beginning with 2 characters, then 5x5-character groups). Leading zeros digits can be omitted. More information: * https://www.paymentstandards.ch/dam/downloads/ig-qr-bill-en.pdf >>> validate('21 00000 00003 13947 14300 09017') '210000000003139471430009017' >>> validate('210000000003139471430009016') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('18 78583') '00 00000 00000 00000 00018 78583' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips surrounding whitespace and separators.""" return clean(number, ' ').lstrip('0') def calc_check_digit(number): """Calculate the check digit for number. The number passed should not have the check digit included.""" _digits = (0, 9, 4, 6, 8, 2, 7, 1, 3, 5) c = 0 for n in compact(number): c = _digits[(int(n) + c) % 10] return str((10 - c) % 10) def validate(number): """Check if the number is a valid ESR. This checks the length, formatting and check digit.""" number = compact(number) if len(number) > 27: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if number[-1] != calc_check_digit(number[:-1]): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid ESR.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = 27 * '0' + compact(number) number = number[-27:] return number[:2] + ' ' + ' '.join( number[i:i + 5] for i in range(2, len(number), 5)) python-stdnum-1.13/stdnum/iso7064/0000755000000000000000000000000013611057637016663 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/iso7064/mod_37_2.py0000644000000000000000000000474713555400450020552 0ustar rootroot00000000000000# mod_37_2.py - functions for performing the ISO 7064 Mod 37, 2 algorithm # # Copyright (C) 2010, 2011, 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """The ISO 7064 Mod 37, 2 algorithm. The Mod 37, 2 checksum can be used for alphanumeric numbers and the check digit may also be numeric, a letter or '*'. >>> calc_check_digit('G123489654321') 'Y' >>> validate('G123489654321Y') 'G123489654321Y' >>> checksum('G123489654321Y') 1 By changing the alphabet this can be turned into any Mod x, 2 algorithm. For example Mod 11, 2: >>> calc_check_digit('079', alphabet='0123456789X') 'X' >>> validate('079X', alphabet='0123456789X') '079X' >>> checksum('079X', alphabet='0123456789X') 1 """ from stdnum.exceptions import * def checksum(number, alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ*'): """Calculate the checksum. A valid number should have a checksum of 1.""" modulus = len(alphabet) check = 0 for n in number: check = (2 * check + alphabet.index(n)) % modulus return check def calc_check_digit(number, alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ*'): """Calculate the extra digit that should be appended to the number to make it a valid number.""" modulus = len(alphabet) return alphabet[(1 - 2 * checksum(number, alphabet)) % modulus] def validate(number, alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ*'): """Check whether the check digit is valid.""" try: valid = checksum(number, alphabet) == 1 except Exception: raise InvalidFormat() if not valid: raise InvalidChecksum() return number def is_valid(number, alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ*'): """Check whether the check digit is valid.""" try: return bool(validate(number, alphabet)) except ValidationError: return False python-stdnum-1.13/stdnum/iso7064/mod_37_36.py0000644000000000000000000000503513555400450020630 0ustar rootroot00000000000000# mod_37_36.py - functions for performing the ISO 7064 Mod 37, 36 algorithm # # Copyright (C) 2010, 2011, 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """The ISO 7064 Mod 37, 36 algorithm. The Mod 37, 36 algorithm uses an alphanumeric check digit and the number itself may also contain letters. >>> checksum('A12425GABC1234002M') 1 >>> calc_check_digit('A12425GABC1234002') 'M' >>> validate('A12425GABC1234002M') 'A12425GABC1234002M' By changing the alphabet this can be turned into any Mod x+1, x algorithm. For example Mod 11, 10: >>> calc_check_digit('00200667308', alphabet='0123456789') '5' >>> validate('002006673085', alphabet='0123456789') '002006673085' """ from stdnum.exceptions import * def checksum(number, alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'): """Calculate the checksum. A valid number should have a checksum of 1.""" modulus = len(alphabet) check = modulus // 2 for n in number: check = (((check or modulus) * 2) % (modulus + 1) + alphabet.index(n)) % modulus return check def calc_check_digit(number, alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'): """Calculate the extra digit that should be appended to the number to make it a valid number.""" modulus = len(alphabet) return alphabet[(1 - ((checksum(number, alphabet) or modulus) * 2) % (modulus + 1)) % modulus] def validate(number, alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'): """Check whether the check digit is valid.""" try: valid = checksum(number, alphabet) == 1 except Exception: raise InvalidFormat() if not valid: raise InvalidChecksum() return number def is_valid(number, alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'): """Check whether the check digit is valid.""" try: return bool(validate(number, alphabet)) except ValidationError: return False python-stdnum-1.13/stdnum/iso7064/__init__.py0000644000000000000000000000252313555400447020774 0ustar rootroot00000000000000# __init__.py - functions for performing the ISO 7064 algorithms # # Copyright (C) 2010, 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of the ISO 7064 algorithms. This package provides a number of modules for calculation and verification of numbers using one of the ISO 7064 algorithms. Note that these functions were not implemented using the ISO text itself because the text is not available for free. These functions were implemented based on information on the algorithms found online and some reverse engineering. If anyone can provide a legal copy of the ISO/IEC 7064 standard these functions can be validated and perhaps improved. """ python-stdnum-1.13/stdnum/iso7064/mod_11_10.py0000644000000000000000000000410313555400450020603 0ustar rootroot00000000000000# mod_11_10.py - functions for performing the ISO 7064 Mod 11, 10 algorithm # # Copyright (C) 2010, 2011, 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """The ISO 7064 Mod 11, 10 algorithm. The Mod 11, 10 algorithm uses a number of calculations modulo 11 and 10 to determine a checksum. For a module that can do generic Mod x+1, x calculations see the :mod:`stdnum.iso7064.mod_37_36` module. >>> calc_check_digit('79462') '3' >>> validate('794623') '794623' >>> calc_check_digit('00200667308') '5' >>> validate('002006673085') '002006673085' """ from stdnum.exceptions import * def checksum(number): """Calculate the checksum. A valid number should have a checksum of 1.""" check = 5 for n in number: check = (((check or 10) * 2) % 11 + int(n)) % 10 return check def calc_check_digit(number): """Calculate the extra digit that should be appended to the number to make it a valid number.""" return str((1 - ((checksum(number) or 10) * 2) % 11) % 10) def validate(number): """Check whether the check digit is valid.""" try: valid = checksum(number) == 1 except Exception: raise InvalidFormat() if not valid: raise InvalidChecksum() return number def is_valid(number): """Check whether the check digit is valid.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/iso7064/mod_97_10.py0000644000000000000000000000442013555400450020623 0ustar rootroot00000000000000# mod_97_10.py - functions for performing the ISO 7064 Mod 97, 10 algorithm # # Copyright (C) 2010-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """The ISO 7064 Mod 97, 10 algorithm. The Mod 97, 10 algorithm evaluates the whole number as an integer which is valid if the number modulo 97 is 1. As such it has two check digits. >>> calc_check_digits('99991234567890121414') '90' >>> validate('9999123456789012141490') '9999123456789012141490' >>> calc_check_digits('4354111611551114') '31' >>> validate('08686001256515001121751') '08686001256515001121751' >>> calc_check_digits('22181321402534321446701611') '35' """ from stdnum.exceptions import * def _to_base10(number): """Prepare the number to its base10 representation.""" try: return ''.join( str(int(x, 36)) for x in number) except Exception: raise InvalidFormat() def checksum(number): """Calculate the checksum. A valid number should have a checksum of 1.""" return int(_to_base10(number)) % 97 def calc_check_digits(number): """Calculate the extra digits that should be appended to the number to make it a valid number.""" return '%02d' % ((98 - 100 * checksum(number)) % 97) def validate(number): """Check whether the check digit is valid.""" try: valid = checksum(number) == 1 except Exception: raise InvalidFormat() if not valid: raise InvalidChecksum() return number def is_valid(number): """Check whether the check digit is valid.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/iso7064/mod_11_2.py0000644000000000000000000000413713555400450020533 0ustar rootroot00000000000000# mod_11_2.py - functions for performing the ISO 7064 Mod 11, 2 algorithm # # Copyright (C) 2010, 2011, 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """The ISO 7064 Mod 11, 2 algorithm. The Mod 11, 2 algorithm is a simple module 11 checksum where the check digit can be an X to make the number valid. For a module that can do generic Mod x, 2 calculations see the :mod:`stdnum.iso7064.mod_37_2` module. >>> calc_check_digit('0794') '0' >>> validate('07940') '07940' >>> calc_check_digit('079') 'X' >>> validate('079X') '079X' >>> checksum('079X') 1 """ from stdnum.exceptions import * def checksum(number): """Calculate the checksum. A valid number should have a checksum of 1.""" check = 0 for n in number: check = (2 * check + int(10 if n == 'X' else n)) % 11 return check def calc_check_digit(number): """Calculate the extra digit that should be appended to the number to make it a valid number.""" c = (1 - 2 * checksum(number)) % 11 return 'X' if c == 10 else str(c) def validate(number): """Check whether the check digit is valid.""" try: valid = checksum(number) == 1 except Exception: raise InvalidFormat() if not valid: raise InvalidChecksum() return number def is_valid(number): """Check whether the check digit is valid.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/br/0000755000000000000000000000000013611057636016152 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/br/cnpj.py0000644000000000000000000000550313562604024017453 0ustar rootroot00000000000000# cnpj.py - functions for handling CNPJ numbers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CNPJ (Cadastro Nacional da Pessoa Jurídica, Brazilian company identifier). Numbers from the national register of legal entities have 14 digits. The first 8 digits identify the company, the following 4 digits identify a business unit and the last 2 digits are check digits. >>> validate('16.727.230/0001-97') '16727230000197' >>> validate('16.727.230.0001-98') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('16.727.230/0001=97') # invalid delimiter Traceback (most recent call last): ... InvalidFormat: ... >>> format('16727230000197') '16.727.230/0001-97' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -./').strip() def calc_check_digits(number): """Calculate the check digits for the number.""" d1 = (11 - sum(((3 - i) % 8 + 2) * int(n) for i, n in enumerate(number[:12]))) % 11 % 10 d2 = (11 - sum(((4 - i) % 8 + 2) * int(n) for i, n in enumerate(number[:12])) - 2 * d1) % 11 % 10 return '%d%d' % (d1, d2) def validate(number): """Check if the number is a valid CNPJ. This checks the length and whether the check digits are correct.""" number = compact(number) if not isdigits(number) or int(number) <= 0: raise InvalidFormat() if len(number) != 14: raise InvalidLength() if calc_check_digits(number) != number[-2:]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid CNPJ.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return (number[0:2] + '.' + number[2:5] + '.' + number[5:8] + '/' + number[8:12] + '-' + number[12:]) python-stdnum-1.13/stdnum/br/__init__.py0000644000000000000000000000155013562604024020256 0ustar rootroot00000000000000# __init__.py - collection of Brazilian numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Brazilian numbers.""" python-stdnum-1.13/stdnum/br/cpf.py0000644000000000000000000000540113562604024017266 0ustar rootroot00000000000000# cpf.py - functions for handling CPF numbers # coding: utf-8 # # Copyright (C) 2011-2016 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CPF (Cadastro de Pessoas Físicas, Brazilian national identifier). The Cadastro de Pessoas Físicas is the Brazilian identification number assigned to individuals for tax purposes. The number consists of 11 digits and includes two check digits. More information: * https://en.wikipedia.org/wiki/Cadastro_de_Pessoas_Físicas >>> validate('390.533.447-05') '39053344705' >>> validate('231.002.999-00') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('390.533.447=0') # invalid delimiter Traceback (most recent call last): ... InvalidFormat: ... >>> format('23100299900') '231.002.999-00' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -.').strip() def _calc_check_digits(number): """Calculate the check digits for the number.""" d1 = sum((10 - i) * int(number[i]) for i in range(9)) d1 = (11 - d1) % 11 % 10 d2 = sum((11 - i) * int(number[i]) for i in range(9)) + 2 * d1 d2 = (11 - d2) % 11 % 10 return '%d%d' % (d1, d2) def validate(number): """Check if the number is a valid CPF. This checks the length and whether the check digit is correct.""" number = compact(number) if not isdigits(number) or int(number) <= 0: raise InvalidFormat() if len(number) != 11: raise InvalidLength() if _calc_check_digits(number) != number[-2:]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid CPF.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return number[:3] + '.' + number[3:6] + '.' + number[6:-2] + '-' + number[-2:] python-stdnum-1.13/stdnum/eu/0000755000000000000000000000000013611057637016161 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/eu/nace.dat0000644000000000000000000020273313611053275017562 0ustar rootroot00000000000000# generated from NACE_REV2_20200118_180104.xml, downloaded from # https://ec.europa.eu/eurostat/ramon/nomenclatures/index.cfm?TargetUrl=ACT_OTH_CLS_DLD&StrNom=NACE_REV2&StrFormat=XML&StrLanguageCode=EN # NACE_REV2: Statistical Classification of Economic Activities in the European Community, Rev. 2 (2008) A label="AGRICULTURE, FORESTRY AND FISHING" isic="A" 01 section="A" label="Crop and animal production, hunting and related service activities" isic="01" 1 label="Growing of non-perennial crops" isic="011" 1 label="Growing of cereals (except rice), leguminous crops and oil seeds" isic="0111" 2 label="Growing of rice" isic="0112" 3 label="Growing of vegetables and melons, roots and tubers" isic="0113" 4 label="Growing of sugar cane" isic="0114" 5 label="Growing of tobacco" isic="0115" 6 label="Growing of fibre crops" isic="0116" 9 label="Growing of other non-perennial crops" isic="0119" 2 label="Growing of perennial crops" isic="012" 1 label="Growing of grapes" isic="0121" 2 label="Growing of tropical and subtropical fruits" isic="0122" 3 label="Growing of citrus fruits" isic="0123" 4 label="Growing of pome fruits and stone fruits" isic="0124" 5 label="Growing of other tree and bush fruits and nuts" isic="0125" 6 label="Growing of oleaginous fruits" isic="0126" 7 label="Growing of beverage crops" isic="0127" 8 label="Growing of spices, aromatic, drug and pharmaceutical crops" isic="0128" 9 label="Growing of other perennial crops" isic="0129" 3 label="Plant propagation" isic="013" 0 label="Plant propagation" isic="0130" 4 label="Animal production" isic="014" 1 label="Raising of dairy cattle" isic="0141" 2 label="Raising of other cattle and buffaloes" isic="0141" 3 label="Raising of horses and other equines" isic="0142" 4 label="Raising of camels and camelids" isic="0143" 5 label="Raising of sheep and goats" isic="0144" 6 label="Raising of swine/pigs" isic="0145" 7 label="Raising of poultry" isic="0146" 9 label="Raising of other animals" isic="0149" 5 label="Mixed farming" isic="015" 0 label="Mixed farming" isic="0150" 6 label="Support activities to agriculture and post-harvest crop activities" isic="016" 1 label="Support activities for crop production" isic="0161" 2 label="Support activities for animal production" isic="0162" 3 label="Post-harvest crop activities" isic="0163" 4 label="Seed processing for propagation" isic="0164" 7 label="Hunting, trapping and related service activities" isic="017" 0 label="Hunting, trapping and related service activities" isic="0170" 02 section="A" label="Forestry and logging" isic="02" 1 label="Silviculture and other forestry activities" isic="021" 0 label="Silviculture and other forestry activities" isic="0210" 2 label="Logging" isic="022" 0 label="Logging" isic="0220" 3 label="Gathering of wild growing non-wood products" isic="023" 0 label="Gathering of wild growing non-wood products" isic="0230" 4 label="Support services to forestry" isic="024" 0 label="Support services to forestry" isic="0240" 03 section="A" label="Fishing and aquaculture" isic="03" 1 label="Fishing" isic="031" 1 label="Marine fishing" isic="0311" 2 label="Freshwater fishing" isic="0312" 2 label="Aquaculture" isic="032" 1 label="Marine aquaculture" isic="0321" 2 label="Freshwater aquaculture" isic="0322" B label="MINING AND QUARRYING" isic="B" 05 section="B" label="Mining of coal and lignite" isic="05" 1 label="Mining of hard coal" isic="051" 0 label="Mining of hard coal" isic="0510" 2 label="Mining of lignite" isic="052" 0 label="Mining of lignite" isic="0520" 06 section="B" label="Extraction of crude petroleum and natural gas" isic="06" 1 label="Extraction of crude petroleum" isic="061" 0 label="Extraction of crude petroleum" isic="0610" 2 label="Extraction of natural gas" isic="062" 0 label="Extraction of natural gas" isic="0620" 07 section="B" label="Mining of metal ores" isic="07" 1 label="Mining of iron ores" isic="071" 0 label="Mining of iron ores" isic="0710" 2 label="Mining of non-ferrous metal ores" isic="072" 1 label="Mining of uranium and thorium ores" isic="0721" 9 label="Mining of other non-ferrous metal ores" isic="0729" 08 section="B" label="Other mining and quarrying" isic="08" 1 label="Quarrying of stone, sand and clay" isic="081" 1 label="Quarrying of ornamental and building stone, limestone, gypsum, chalk and slate" isic="0810" 2 label="Operation of gravel and sand pits; mining of clays and kaolin" isic="0810" 9 label="Mining and quarrying n.e.c." isic="089" 1 label="Mining of chemical and fertiliser minerals" isic="0891" 2 label="Extraction of peat" isic="0892" 3 label="Extraction of salt" isic="0893" 9 label="Other mining and quarrying n.e.c." isic="0899" 09 section="B" label="Mining support service activities" isic="09" 1 label="Support activities for petroleum and natural gas extraction" isic="091" 0 label="Support activities for petroleum and natural gas extraction" isic="0910" 9 label="Support activities for other mining and quarrying" isic="099" 0 label="Support activities for other mining and quarrying" isic="0990" C label="MANUFACTURING" isic="C" 10 section="C" label="Manufacture of food products" isic="10" 1 label="Processing and preserving of meat and production of meat products" isic="101" 1 label="Processing and preserving of meat" isic="1010" 2 label="Processing and preserving of poultry meat" isic="1010" 3 label="Production of meat and poultry meat products" isic="1010" 2 label="Processing and preserving of fish, crustaceans and molluscs" isic="102" 0 label="Processing and preserving of fish, crustaceans and molluscs" isic="1020" 3 label="Processing and preserving of fruit and vegetables" isic="103" 1 label="Processing and preserving of potatoes" isic="1030" 2 label="Manufacture of fruit and vegetable juice" isic="1030" 9 label="Other processing and preserving of fruit and vegetables" isic="1030" 4 label="Manufacture of vegetable and animal oils and fats" isic="104" 1 label="Manufacture of oils and fats" isic="1040" 2 label="Manufacture of margarine and similar edible fats" isic="1040" 5 label="Manufacture of dairy products" isic="105" 1 label="Operation of dairies and cheese making" isic="1050" 2 label="Manufacture of ice cream" isic="1050" 6 label="Manufacture of grain mill products, starches and starch products" isic="106" 1 label="Manufacture of grain mill products" isic="1061" 2 label="Manufacture of starches and starch products" isic="1062" 7 label="Manufacture of bakery and farinaceous products" isic="107" 1 label="Manufacture of bread; manufacture of fresh pastry goods and cakes" isic="1071" 2 label="Manufacture of rusks and biscuits; manufacture of preserved pastry goods and cakes" isic="1071" 3 label="Manufacture of macaroni, noodles, couscous and similar farinaceous products" isic="1074" 8 label="Manufacture of other food products" isic="107" 1 label="Manufacture of sugar" isic="1072" 2 label="Manufacture of cocoa, chocolate and sugar confectionery" isic="1073" 3 label="Processing of tea and coffee" isic="1079" 4 label="Manufacture of condiments and seasonings" isic="1079" 5 label="Manufacture of prepared meals and dishes" isic="1075" 6 label="Manufacture of homogenised food preparations and dietetic food" isic="1079" 9 label="Manufacture of other food products n.e.c." isic="1079" 9 label="Manufacture of prepared animal feeds" isic="108" 1 label="Manufacture of prepared feeds for farm animals" isic="1080" 2 label="Manufacture of prepared pet foods" isic="1080" 11 section="C" label="Manufacture of beverages" isic="11" 0 label="Manufacture of beverages" isic="110" 1 label="Distilling, rectifying and blending of spirits" isic="1101" 2 label="Manufacture of wine from grape" isic="1102" 3 label="Manufacture of cider and other fruit wines" isic="1102" 4 label="Manufacture of other non-distilled fermented beverages" isic="1102" 5 label="Manufacture of beer" isic="1103" 6 label="Manufacture of malt" isic="1103" 7 label="Manufacture of soft drinks; production of mineral waters and other bottled waters" isic="1104" 12 section="C" label="Manufacture of tobacco products" isic="12" 0 label="Manufacture of tobacco products" isic="120" 0 label="Manufacture of tobacco products" isic="1200" 13 section="C" label="Manufacture of textiles" isic="13" 1 label="Preparation and spinning of textile fibres" isic="131" 0 label="Preparation and spinning of textile fibres" isic="1311" 2 label="Weaving of textiles" isic="131" 0 label="Weaving of textiles" isic="1312" 3 label="Finishing of textiles" isic="131" 0 label="Finishing of textiles" isic="1313" 9 label="Manufacture of other textiles" isic="139" 1 label="Manufacture of knitted and crocheted fabrics" isic="1391" 2 label="Manufacture of made-up textile articles, except apparel" isic="1392" 3 label="Manufacture of carpets and rugs" isic="1393" 4 label="Manufacture of cordage, rope, twine and netting" isic="1394" 5 label="Manufacture of non-wovens and articles made from non-wovens, except apparel" isic="1399" 6 label="Manufacture of other technical and industrial textiles" isic="1399" 9 label="Manufacture of other textiles n.e.c." isic="1399" 14 section="C" label="Manufacture of wearing apparel" isic="14" 1 label="Manufacture of wearing apparel, except fur apparel" isic="141" 1 label="Manufacture of leather clothes" isic="1410" 2 label="Manufacture of workwear" isic="1410" 3 label="Manufacture of other outerwear" isic="1410" 4 label="Manufacture of underwear" isic="1410" 9 label="Manufacture of other wearing apparel and accessories" isic="1410" 2 label="Manufacture of articles of fur" isic="142" 0 label="Manufacture of articles of fur" isic="1420" 3 label="Manufacture of knitted and crocheted apparel" isic="143" 1 label="Manufacture of knitted and crocheted hosiery" isic="1430" 9 label="Manufacture of other knitted and crocheted apparel" isic="1430" 15 section="C" label="Manufacture of leather and related products" isic="15" 1 label="Tanning and dressing of leather; manufacture of luggage, handbags, saddlery and harness; dressing and dyeing of fur" isic="151" 1 label="Tanning and dressing of leather; dressing and dyeing of fur" isic="1511" 2 label="Manufacture of luggage, handbags and the like, saddlery and harness" isic="1512" 2 label="Manufacture of footwear" isic="152" 0 label="Manufacture of footwear" isic="1520" 16 section="C" label="Manufacture of wood and of products of wood and cork, except furniture; manufacture of articles of straw and plaiting materials" isic="16" 1 label="Sawmilling and planing of wood" isic="161" 0 label="Sawmilling and planing of wood" isic="1610" 2 label="Manufacture of products of wood, cork, straw and plaiting materials" isic="162" 1 label="Manufacture of veneer sheets and wood-based panels" isic="1621" 2 label="Manufacture of assembled parquet floors" isic="1622" 3 label="Manufacture of other builders' carpentry and joinery" isic="1622" 4 label="Manufacture of wooden containers" isic="1623" 9 label="Manufacture of other products of wood; manufacture of articles of cork, straw and plaiting materials" isic="1629" 17 section="C" label="Manufacture of paper and paper products" isic="17" 1 label="Manufacture of pulp, paper and paperboard" isic="170" 1 label="Manufacture of pulp" isic="1701" 2 label="Manufacture of paper and paperboard" isic="1701" 2 label="Manufacture of articles of paper and paperboard " isic="170" 1 label="Manufacture of corrugated paper and paperboard and of containers of paper and paperboard" isic="1702" 2 label="Manufacture of household and sanitary goods and of toilet requisites" isic="1709" 3 label="Manufacture of paper stationery" isic="1709" 4 label="Manufacture of wallpaper" isic="1709" 9 label="Manufacture of other articles of paper and paperboard" isic="1709" 18 section="C" label="Printing and reproduction of recorded media" isic="18" 1 label="Printing and service activities related to printing" isic="181" 1 label="Printing of newspapers" isic="1811" 2 label="Other printing" isic="1811" 3 label="Pre-press and pre-media services" isic="1812" 4 label="Binding and related services" isic="1812" 2 label="Reproduction of recorded media" isic="182" 0 label="Reproduction of recorded media" isic="1820" 19 section="C" label="Manufacture of coke and refined petroleum products" isic="19" 1 label="Manufacture of coke oven products" isic="191" 0 label="Manufacture of coke oven products" isic="1910" 2 label="Manufacture of refined petroleum products" isic="192" 0 label="Manufacture of refined petroleum products" isic="1920" 20 section="C" label="Manufacture of chemicals and chemical products" isic="20" 1 label="Manufacture of basic chemicals, fertilisers and nitrogen compounds, plastics and synthetic rubber in primary forms" isic="201" 1 label="Manufacture of industrial gases" isic="2011" 2 label="Manufacture of dyes and pigments" isic="2011" 3 label="Manufacture of other inorganic basic chemicals" isic="2011" 4 label="Manufacture of other organic basic chemicals" isic="2011" 5 label="Manufacture of fertilisers and nitrogen compounds" isic="2012" 6 label="Manufacture of plastics in primary forms" isic="2013" 7 label="Manufacture of synthetic rubber in primary forms" isic="2013" 2 label="Manufacture of pesticides and other agrochemical products" isic="202" 0 label="Manufacture of pesticides and other agrochemical products" isic="2021" 3 label="Manufacture of paints, varnishes and similar coatings, printing ink and mastics" isic="202" 0 label="Manufacture of paints, varnishes and similar coatings, printing ink and mastics" isic="2022" 4 label="Manufacture of soap and detergents, cleaning and polishing preparations, perfumes and toilet preparations" isic="202" 1 label="Manufacture of soap and detergents, cleaning and polishing preparations" isic="2023" 2 label="Manufacture of perfumes and toilet preparations" isic="2023" 5 label="Manufacture of other chemical products" isic="202" 1 label="Manufacture of explosives" isic="2029" 2 label="Manufacture of glues" isic="2029" 3 label="Manufacture of essential oils" isic="2029" 9 label="Manufacture of other chemical products n.e.c." isic="2029" 6 label="Manufacture of man-made fibres" isic="203" 0 label="Manufacture of man-made fibres" isic="2030" 21 section="C" label="Manufacture of basic pharmaceutical products and pharmaceutical preparations" isic="21" 1 label="Manufacture of basic pharmaceutical products" isic="210" 0 label="Manufacture of basic pharmaceutical products" isic="2100" 2 label="Manufacture of pharmaceutical preparations" isic="210" 0 label="Manufacture of pharmaceutical preparations" isic="2100" 22 section="C" label="Manufacture of rubber and plastic products" isic="22" 1 label="Manufacture of rubber products" isic="221" 1 label="Manufacture of rubber tyres and tubes; retreading and rebuilding of rubber tyres" isic="2211" 9 label="Manufacture of other rubber products" isic="2219" 2 label="Manufacture of plastic products" isic="222" 1 label="Manufacture of plastic plates, sheets, tubes and profiles" isic="2220" 2 label="Manufacture of plastic packing goods" isic="2220" 3 label="Manufacture of builders’ ware of plastic" isic="2220" 9 label="Manufacture of other plastic products" isic="2220" 23 section="C" label="Manufacture of other non-metallic mineral products" isic="23" 1 label="Manufacture of glass and glass products" isic="231" 1 label="Manufacture of flat glass" isic="2310" 2 label="Shaping and processing of flat glass" isic="2310" 3 label="Manufacture of hollow glass" isic="2310" 4 label="Manufacture of glass fibres" isic="2310" 9 label="Manufacture and processing of other glass, including technical glassware" isic="2310" 2 label="Manufacture of refractory products" isic="239" 0 label="Manufacture of refractory products" isic="2391" 3 label="Manufacture of clay building materials" isic="239" 1 label="Manufacture of ceramic tiles and flags" isic="2392" 2 label="Manufacture of bricks, tiles and construction products, in baked clay" isic="2392" 4 label="Manufacture of other porcelain and ceramic products" isic="239" 1 label="Manufacture of ceramic household and ornamental articles" isic="2393" 2 label="Manufacture of ceramic sanitary fixtures" isic="2393" 3 label="Manufacture of ceramic insulators and insulating fittings" isic="2393" 4 label="Manufacture of other technical ceramic products" isic="2393" 9 label="Manufacture of other ceramic products" isic="2393" 5 label="Manufacture of cement, lime and plaster" isic="239" 1 label="Manufacture of cement" isic="2394" 2 label="Manufacture of lime and plaster" isic="2394" 6 label="Manufacture of articles of concrete, cement and plaster" isic="239" 1 label="Manufacture of concrete products for construction purposes" isic="2395" 2 label="Manufacture of plaster products for construction purposes" isic="2395" 3 label="Manufacture of ready-mixed concrete" isic="2395" 4 label="Manufacture of mortars" isic="2395" 5 label="Manufacture of fibre cement" isic="2395" 9 label="Manufacture of other articles of concrete, plaster and cement" isic="2395" 7 label="Cutting, shaping and finishing of stone" isic="239" 0 label="Cutting, shaping and finishing of stone" isic="2396" 9 label="Manufacture of abrasive products and non-metallic mineral products n.e.c." isic="239" 1 label="Production of abrasive products" isic="2399" 9 label="Manufacture of other non-metallic mineral products n.e.c." isic="2399" 24 section="C" label="Manufacture of basic metals" isic="24" 1 label="Manufacture of basic iron and steel and of ferro-alloys" isic="241" 0 label="Manufacture of basic iron and steel and of ferro-alloys " isic="2410" 2 label="Manufacture of tubes, pipes, hollow profiles and related fittings, of steel" isic="241" 0 label="Manufacture of tubes, pipes, hollow profiles and related fittings, of steel" isic="2410" 3 label="Manufacture of other products of first processing of steel" isic="241" 1 label="Cold drawing of bars" isic="2410" 2 label="Cold rolling of narrow strip" isic="2410" 3 label="Cold forming or folding" isic="2410" 4 label="Cold drawing of wire" isic="2410" 4 label="Manufacture of basic precious and other non-ferrous metals" isic="242" 1 label="Precious metals production" isic="2420" 2 label="Aluminium production" isic="2420" 3 label="Lead, zinc and tin production" isic="2420" 4 label="Copper production" isic="2420" 5 label="Other non-ferrous metal production" isic="2420" 6 label="Processing of nuclear fuel " isic="2420" 5 label="Casting of metals" isic="243" 1 label="Casting of iron" isic="2431" 2 label="Casting of steel" isic="2431" 3 label="Casting of light metals" isic="2432" 4 label="Casting of other non-ferrous metals" isic="2432" 25 section="C" label="Manufacture of fabricated metal products, except machinery and equipment" isic="25" 1 label="Manufacture of structural metal products" isic="251" 1 label="Manufacture of metal structures and parts of structures" isic="2511" 2 label="Manufacture of doors and windows of metal" isic="2511" 2 label="Manufacture of tanks, reservoirs and containers of metal" isic="251" 1 label="Manufacture of central heating radiators and boilers" isic="2512" 9 label="Manufacture of other tanks, reservoirs and containers of metal" isic="2512" 3 label="Manufacture of steam generators, except central heating hot water boilers" isic="251" 0 label="Manufacture of steam generators, except central heating hot water boilers" isic="2513" 4 label="Manufacture of weapons and ammunition" isic="252" 0 label="Manufacture of weapons and ammunition" isic="2520" 5 label="Forging, pressing, stamping and roll-forming of metal; powder metallurgy" isic="259" 0 label="Forging, pressing, stamping and roll-forming of metal; powder metallurgy" isic="2591" 6 label="Treatment and coating of metals; machining" isic="259" 1 label="Treatment and coating of metals" isic="2592" 2 label="Machining" isic="2592" 7 label="Manufacture of cutlery, tools and general hardware" isic="259" 1 label="Manufacture of cutlery" isic="2593" 2 label="Manufacture of locks and hinges" isic="2593" 3 label="Manufacture of tools" isic="2593" 9 label="Manufacture of other fabricated metal products" isic="259" 1 label="Manufacture of steel drums and similar containers" isic="2599" 2 label="Manufacture of light metal packaging " isic="2599" 3 label="Manufacture of wire products, chain and springs" isic="2599" 4 label="Manufacture of fasteners and screw machine products" isic="2599" 9 label="Manufacture of other fabricated metal products n.e.c." isic="2599" 26 section="C" label="Manufacture of computer, electronic and optical products" isic="26" 1 label="Manufacture of electronic components and boards" isic="261" 1 label="Manufacture of electronic components" isic="2610" 2 label="Manufacture of loaded electronic boards" isic="2610" 2 label="Manufacture of computers and peripheral equipment" isic="262" 0 label="Manufacture of computers and peripheral equipment" isic="2620" 3 label="Manufacture of communication equipment" isic="263" 0 label="Manufacture of communication equipment" isic="2630" 4 label="Manufacture of consumer electronics" isic="264" 0 label="Manufacture of consumer electronics" isic="2640" 5 label="Manufacture of instruments and appliances for measuring, testing and navigation; watches and clocks" isic="265" 1 label="Manufacture of instruments and appliances for measuring, testing and navigation" isic="2651" 2 label="Manufacture of watches and clocks" isic="2652" 6 label="Manufacture of irradiation, electromedical and electrotherapeutic equipment" isic="266" 0 label="Manufacture of irradiation, electromedical and electrotherapeutic equipment" isic="2660" 7 label="Manufacture of optical instruments and photographic equipment" isic="267" 0 label="Manufacture of optical instruments and photographic equipment" isic="2670" 8 label="Manufacture of magnetic and optical media" isic="268" 0 label="Manufacture of magnetic and optical media" isic="2680" 27 section="C" label="Manufacture of electrical equipment" isic="27" 1 label="Manufacture of electric motors, generators, transformers and electricity distribution and control apparatus" isic="271" 1 label="Manufacture of electric motors, generators and transformers" isic="2710" 2 label="Manufacture of electricity distribution and control apparatus" isic="2710" 2 label="Manufacture of batteries and accumulators" isic="272" 0 label="Manufacture of batteries and accumulators" isic="2720" 3 label="Manufacture of wiring and wiring devices" isic="273" 1 label="Manufacture of fibre optic cables" isic="2731" 2 label="Manufacture of other electronic and electric wires and cables" isic="2732" 3 label="Manufacture of wiring devices" isic="2733" 4 label="Manufacture of electric lighting equipment" isic="274" 0 label="Manufacture of electric lighting equipment" isic="2740" 5 label="Manufacture of domestic appliances" isic="275" 1 label="Manufacture of electric domestic appliances" isic="2750" 2 label="Manufacture of non-electric domestic appliances" isic="2750" 9 label="Manufacture of other electrical equipment" isic="279" 0 label="Manufacture of other electrical equipment" isic="2790" 28 section="C" label="Manufacture of machinery and equipment n.e.c." isic="28" 1 label="Manufacture of general-purpose machinery" isic="281" 1 label="Manufacture of engines and turbines, except aircraft, vehicle and cycle engines" isic="2811" 2 label="Manufacture of fluid power equipment" isic="2812" 3 label="Manufacture of other pumps and compressors" isic="2813" 4 label="Manufacture of other taps and valves" isic="2813" 5 label="Manufacture of bearings, gears, gearing and driving elements" isic="2814" 2 label="Manufacture of other general-purpose machinery" isic="281" 1 label="Manufacture of ovens, furnaces and furnace burners" isic="2815" 2 label="Manufacture of lifting and handling equipment" isic="2816" 3 label="Manufacture of office machinery and equipment (except computers and peripheral equipment)" isic="2817" 4 label="Manufacture of power-driven hand tools" isic="2818" 5 label="Manufacture of non-domestic cooling and ventilation equipment" isic="2819" 9 label="Manufacture of other general-purpose machinery n.e.c." isic="2819" 3 label="Manufacture of agricultural and forestry machinery" isic="282" 0 label="Manufacture of agricultural and forestry machinery" isic="2821" 4 label="Manufacture of metal forming machinery and machine tools" isic="282" 1 label="Manufacture of metal forming machinery" isic="2822" 9 label="Manufacture of other machine tools" isic="2822" 9 label="Manufacture of other special-purpose machinery" isic="282" 1 label="Manufacture of machinery for metallurgy" isic="2823" 2 label="Manufacture of machinery for mining, quarrying and construction" isic="2824" 3 label="Manufacture of machinery for food, beverage and tobacco processing" isic="2825" 4 label="Manufacture of machinery for textile, apparel and leather production" isic="2826" 5 label="Manufacture of machinery for paper and paperboard production" isic="2829" 6 label="Manufacture of plastics and rubber machinery" isic="2829" 9 label="Manufacture of other special-purpose machinery n.e.c." isic="2829" 29 section="C" label="Manufacture of motor vehicles, trailers and semi-trailers" isic="29" 1 label="Manufacture of motor vehicles" isic="291" 0 label="Manufacture of motor vehicles" isic="2910" 2 label="Manufacture of bodies (coachwork) for motor vehicles; manufacture of trailers and semi-trailers" isic="292" 0 label="Manufacture of bodies (coachwork) for motor vehicles; manufacture of trailers and semi-trailers" isic="2920" 3 label="Manufacture of parts and accessories for motor vehicles" isic="293" 1 label="Manufacture of electrical and electronic equipment for motor vehicles" isic="2930" 2 label="Manufacture of other parts and accessories for motor vehicles" isic="2930" 30 section="C" label="Manufacture of other transport equipment" isic="30" 1 label="Building of ships and boats" isic="301" 1 label="Building of ships and floating structures" isic="3011" 2 label="Building of pleasure and sporting boats" isic="3012" 2 label="Manufacture of railway locomotives and rolling stock" isic="302" 0 label="Manufacture of railway locomotives and rolling stock" isic="3020" 3 label="Manufacture of air and spacecraft and related machinery" isic="303" 0 label="Manufacture of air and spacecraft and related machinery" isic="3030" 4 label="Manufacture of military fighting vehicles" isic="304" 0 label="Manufacture of military fighting vehicles" isic="3040" 9 label="Manufacture of transport equipment n.e.c." isic="309" 1 label="Manufacture of motorcycles" isic="3091" 2 label="Manufacture of bicycles and invalid carriages" isic="3092" 9 label="Manufacture of other transport equipment n.e.c." isic="3099" 31 section="C" label="Manufacture of furniture" isic="31" 0 label="Manufacture of furniture" isic="310" 1 label="Manufacture of office and shop furniture" isic="3100" 2 label="Manufacture of kitchen furniture" isic="3100" 3 label="Manufacture of mattresses" isic="3100" 9 label="Manufacture of other furniture" isic="3100" 32 section="C" label="Other manufacturing" isic="32" 1 label="Manufacture of jewellery, bijouterie and related articles" isic="321" 1 label="Striking of coins" isic="3211" 2 label="Manufacture of jewellery and related articles" isic="3211" 3 label="Manufacture of imitation jewellery and related articles" isic="3212" 2 label="Manufacture of musical instruments" isic="322" 0 label="Manufacture of musical instruments" isic="3220" 3 label="Manufacture of sports goods" isic="323" 0 label="Manufacture of sports goods" isic="3230" 4 label="Manufacture of games and toys" isic="324" 0 label="Manufacture of games and toys" isic="3240" 5 label="Manufacture of medical and dental instruments and supplies" isic="325" 0 label="Manufacture of medical and dental instruments and supplies" isic="3250" 9 label="Manufacturing n.e.c." isic="329" 1 label="Manufacture of brooms and brushes" isic="3290" 9 label="Other manufacturing n.e.c. " isic="3290" 33 section="C" label="Repair and installation of machinery and equipment" isic="33" 1 label="Repair of fabricated metal products, machinery and equipment" isic="331" 1 label="Repair of fabricated metal products" isic="3311" 2 label="Repair of machinery" isic="3312" 3 label="Repair of electronic and optical equipment" isic="3313" 4 label="Repair of electrical equipment" isic="3314" 5 label="Repair and maintenance of ships and boats" isic="3315" 6 label="Repair and maintenance of aircraft and spacecraft" isic="3315" 7 label="Repair and maintenance of other transport equipment" isic="3315" 9 label="Repair of other equipment" isic="3319" 2 label="Installation of industrial machinery and equipment" isic="332" 0 label="Installation of industrial machinery and equipment" isic="3320" D label="ELECTRICITY, GAS, STEAM AND AIR CONDITIONING SUPPLY" isic="D" 35 section="D" label="Electricity, gas, steam and air conditioning supply" isic="35" 1 label="Electric power generation, transmission and distribution" isic="351" 1 label="Production of electricity" isic="3510" 2 label="Transmission of electricity" isic="3510" 3 label="Distribution of electricity" isic="3510" 4 label="Trade of electricity" isic="3510" 2 label="Manufacture of gas; distribution of gaseous fuels through mains" isic="352" 1 label="Manufacture of gas" isic="3520" 2 label="Distribution of gaseous fuels through mains" isic="3520" 3 label="Trade of gas through mains" isic="3520" 3 label="Steam and air conditioning supply" isic="353" 0 label="Steam and air conditioning supply" isic="3530" E label="WATER SUPPLY; SEWERAGE, WASTE MANAGEMENT AND REMEDIATION ACTIVITIES" isic="E" 36 section="E" label="Water collection, treatment and supply" isic="36" 0 label="Water collection, treatment and supply" isic="360" 0 label="Water collection, treatment and supply" isic="3600" 37 section="E" label="Sewerage" isic="37" 0 label="Sewerage" isic="370" 0 label="Sewerage" isic="3700" 38 section="E" label="Waste collection, treatment and disposal activities; materials recovery" isic="38" 1 label="Waste collection" isic="381" 1 label="Collection of non-hazardous waste" isic="3811" 2 label="Collection of hazardous waste" isic="3812" 2 label="Waste treatment and disposal" isic="382" 1 label="Treatment and disposal of non-hazardous waste" isic="3821" 2 label="Treatment and disposal of hazardous waste" isic="3822" 3 label="Materials recovery" isic="383" 1 label="Dismantling of wrecks" isic="3830" 2 label="Recovery of sorted materials" isic="3830" 39 section="E" label="Remediation activities and other waste management services" isic="39" 0 label="Remediation activities and other waste management services" isic="390" 0 label="Remediation activities and other waste management services" isic="3900" F label="CONSTRUCTION" isic="F" 41 section="F" label="Construction of buildings" isic="41" 1 label="Development of building projects" isic="410" 0 label="Development of building projects" isic="4100" 2 label="Construction of residential and non-residential buildings" isic="410" 0 label="Construction of residential and non-residential buildings" isic="4100" 42 section="F" label="Civil engineering" isic="42" 1 label="Construction of roads and railways" isic="421" 1 label="Construction of roads and motorways" isic="4210" 2 label="Construction of railways and underground railways" isic="4210" 3 label="Construction of bridges and tunnels" isic="4210" 2 label="Construction of utility projects" isic="422" 1 label="Construction of utility projects for fluids" isic="4220" 2 label="Construction of utility projects for electricity and telecommunications" isic="4220" 9 label="Construction of other civil engineering projects" isic="429" 1 label="Construction of water projects" isic="4290" 9 label="Construction of other civil engineering projects n.e.c." isic="4290" 43 section="F" label="Specialised construction activities" isic="43" 1 label="Demolition and site preparation" isic="431" 1 label="Demolition" isic="4311" 2 label="Site preparation" isic="4312" 3 label="Test drilling and boring" isic="4312" 2 label="Electrical, plumbing and other construction installation activities" isic="432" 1 label="Electrical installation" isic="4321" 2 label="Plumbing, heat and air-conditioning installation" isic="4322" 9 label="Other construction installation" isic="4329" 3 label="Building completion and finishing" isic="433" 1 label="Plastering" isic="4330" 2 label="Joinery installation" isic="4330" 3 label="Floor and wall covering" isic="4330" 4 label="Painting and glazing" isic="4330" 9 label="Other building completion and finishing" isic="4330" 9 label="Other specialised construction activities" isic="439" 1 label="Roofing activities" isic="4390" 9 label="Other specialised construction activities n.e.c." isic="4390" G label="WHOLESALE AND RETAIL TRADE; REPAIR OF MOTOR VEHICLES AND MOTORCYCLES" isic="G" 45 section="G" label="Wholesale and retail trade and repair of motor vehicles and motorcycles" isic="45" 1 label="Sale of motor vehicles" isic="451" 1 label="Sale of cars and light motor vehicles" isic="4510" 9 label="Sale of other motor vehicles" isic="4510" 2 label="Maintenance and repair of motor vehicles" isic="452" 0 label="Maintenance and repair of motor vehicles" isic="4520" 3 label="Sale of motor vehicle parts and accessories" isic="453" 1 label="Wholesale trade of motor vehicle parts and accessories" isic="4530" 2 label="Retail trade of motor vehicle parts and accessories" isic="4530" 4 label="Sale, maintenance and repair of motorcycles and related parts and accessories" isic="454" 0 label="Sale, maintenance and repair of motorcycles and related parts and accessories" isic="4540" 46 section="G" label="Wholesale trade, except of motor vehicles and motorcycles" isic="46" 1 label="Wholesale on a fee or contract basis" isic="461" 1 label="Agents involved in the sale of agricultural raw materials, live animals, textile raw materials and semi-finished goods" isic="4610" 2 label="Agents involved in the sale of fuels, ores, metals and industrial chemicals" isic="4610" 3 label="Agents involved in the sale of timber and building materials" isic="4610" 4 label="Agents involved in the sale of machinery, industrial equipment, ships and aircraft" isic="4610" 5 label="Agents involved in the sale of furniture, household goods, hardware and ironmongery" isic="4610" 6 label="Agents involved in the sale of textiles, clothing, fur, footwear and leather goods" isic="4610" 7 label="Agents involved in the sale of food, beverages and tobacco" isic="4610" 8 label="Agents specialised in the sale of other particular products" isic="4610" 9 label="Agents involved in the sale of a variety of goods" isic="4610" 2 label="Wholesale of agricultural raw materials and live animals" isic="462" 1 label="Wholesale of grain, unmanufactured tobacco, seeds and animal feeds" isic="4620" 2 label="Wholesale of flowers and plants" isic="4620" 3 label="Wholesale of live animals" isic="4620" 4 label="Wholesale of hides, skins and leather" isic="4620" 3 label="Wholesale of food, beverages and tobacco" isic="463" 1 label="Wholesale of fruit and vegetables" isic="4630" 2 label="Wholesale of meat and meat products" isic="4630" 3 label="Wholesale of dairy products, eggs and edible oils and fats" isic="4630" 4 label="Wholesale of beverages" isic="4630" 5 label="Wholesale of tobacco products" isic="4630" 6 label="Wholesale of sugar and chocolate and sugar confectionery" isic="4630" 7 label="Wholesale of coffee, tea, cocoa and spices" isic="4630" 8 label="Wholesale of other food, including fish, crustaceans and molluscs" isic="4630" 9 label="Non-specialised wholesale of food, beverages and tobacco" isic="4630" 4 label="Wholesale of household goods" isic="464" 1 label="Wholesale of textiles" isic="4641" 2 label="Wholesale of clothing and footwear" isic="4641" 3 label="Wholesale of electrical household appliances" isic="4649" 4 label="Wholesale of china and glassware and cleaning materials" isic="4649" 5 label="Wholesale of perfume and cosmetics" isic="4649" 6 label="Wholesale of pharmaceutical goods" isic="4649" 7 label="Wholesale of furniture, carpets and lighting equipment" isic="4649" 8 label="Wholesale of watches and jewellery" isic="4649" 9 label="Wholesale of other household goods" isic="4649" 5 label="Wholesale of information and communication equipment" isic="465" 1 label="Wholesale of computers, computer peripheral equipment and software" isic="4651" 2 label="Wholesale of electronic and telecommunications equipment and parts" isic="4652" 6 label="Wholesale of other machinery, equipment and supplies" isic="466" 1 label="Wholesale of agricultural machinery, equipment and supplies" isic="4653" 2 label="Wholesale of machine tools" isic="4659" 3 label="Wholesale of mining, construction and civil engineering machinery" isic="4659" 4 label="Wholesale of machinery for the textile industry and of sewing and knitting machines" isic="4659" 5 label="Wholesale of office furniture" isic="4659" 6 label="Wholesale of other office machinery and equipment" isic="4659" 9 label="Wholesale of other machinery and equipment" isic="4659" 7 label="Other specialised wholesale" isic="466" 1 label="Wholesale of solid, liquid and gaseous fuels and related products" isic="4661" 2 label="Wholesale of metals and metal ores" isic="4662" 3 label="Wholesale of wood, construction materials and sanitary equipment" isic="4663" 4 label="Wholesale of hardware, plumbing and heating equipment and supplies" isic="4663" 5 label="Wholesale of chemical products" isic="4669" 6 label="Wholesale of other intermediate products" isic="4669" 7 label="Wholesale of waste and scrap" isic="4669" 9 label="Non-specialised wholesale trade" isic="469" 0 label="Non-specialised wholesale trade" isic="4690" 47 section="G" label="Retail trade, except of motor vehicles and motorcycles" isic="47" 1 label="Retail sale in non-specialised stores" isic="471" 1 label="Retail sale in non-specialised stores with food, beverages or tobacco predominating" isic="4711" 9 label="Other retail sale in non-specialised stores" isic="4719" 2 label="Retail sale of food, beverages and tobacco in specialised stores" isic="472" 1 label="Retail sale of fruit and vegetables in specialised stores" isic="4721" 2 label="Retail sale of meat and meat products in specialised stores" isic="4721" 3 label="Retail sale of fish, crustaceans and molluscs in specialised stores" isic="4721" 4 label="Retail sale of bread, cakes, flour confectionery and sugar confectionery in specialised stores" isic="4721" 5 label="Retail sale of beverages in specialised stores" isic="4722" 6 label="Retail sale of tobacco products in specialised stores" isic="4723" 9 label="Other retail sale of food in specialised stores" isic="4721" 3 label="Retail sale of automotive fuel in specialised stores" isic="473" 0 label="Retail sale of automotive fuel in specialised stores" isic="4730" 4 label="Retail sale of information and communication equipment in specialised stores" isic="474" 1 label="Retail sale of computers, peripheral units and software in specialised stores" isic="4741" 2 label="Retail sale of telecommunications equipment in specialised stores" isic="4741" 3 label="Retail sale of audio and video equipment in specialised stores" isic="4742" 5 label="Retail sale of other household equipment in specialised stores" isic="475" 1 label="Retail sale of textiles in specialised stores" isic="4751" 2 label="Retail sale of hardware, paints and glass in specialised stores" isic="4752" 3 label="Retail sale of carpets, rugs, wall and floor coverings in specialised stores" isic="4753" 4 label="Retail sale of electrical household appliances in specialised stores" isic="4759" 9 label="Retail sale of furniture, lighting equipment and other household articles in specialised stores" isic="4759" 6 label="Retail sale of cultural and recreation goods in specialised stores" isic="476" 1 label="Retail sale of books in specialised stores" isic="4761" 2 label="Retail sale of newspapers and stationery in specialised stores" isic="4761" 3 label="Retail sale of music and video recordings in specialised stores" isic="4762" 4 label="Retail sale of sporting equipment in specialised stores" isic="4763" 5 label="Retail sale of games and toys in specialised stores" isic="4764" 7 label="Retail sale of other goods in specialised stores" isic="477" 1 label="Retail sale of clothing in specialised stores" isic="4771" 2 label="Retail sale of footwear and leather goods in specialised stores" isic="4771" 3 label="Dispensing chemist in specialised stores" isic="4772" 4 label="Retail sale of medical and orthopaedic goods in specialised stores" isic="4772" 5 label="Retail sale of cosmetic and toilet articles in specialised stores" isic="4772" 6 label="Retail sale of flowers, plants, seeds, fertilisers, pet animals and pet food in specialised stores" isic="4773" 7 label="Retail sale of watches and jewellery in specialised stores" isic="4773" 8 label="Other retail sale of new goods in specialised stores" isic="4773" 9 label="Retail sale of second-hand goods in stores" isic="4774" 8 label="Retail sale via stalls and markets" isic="478" 1 label="Retail sale via stalls and markets of food, beverages and tobacco products" isic="4781" 2 label="Retail sale via stalls and markets of textiles, clothing and footwear" isic="4782" 9 label="Retail sale via stalls and markets of other goods" isic="4789" 9 label="Retail trade not in stores, stalls or markets" isic="479" 1 label="Retail sale via mail order houses or via Internet" isic="4791" 9 label="Other retail sale not in stores, stalls or markets" isic="4799" H label="TRANSPORTATION AND STORAGE" isic="H" 49 section="H" label="Land transport and transport via pipelines" isic="49" 1 label="Passenger rail transport, interurban" isic="491" 0 label="Passenger rail transport, interurban" isic="4911" 2 label="Freight rail transport" isic="491" 0 label="Freight rail transport" isic="4912" 3 label="Other passenger land transport " isic="492" 1 label="Urban and suburban passenger land transport" isic="4921" 2 label="Taxi operation" isic="4922" 9 label="Other passenger land transport n.e.c." isic="4922" 4 label="Freight transport by road and removal services" isic="492" 1 label="Freight transport by road" isic="4923" 2 label="Removal services" isic="4923" 5 label="Transport via pipeline" isic="493" 0 label="Transport via pipeline" isic="4930" 50 section="H" label="Water transport" isic="50" 1 label="Sea and coastal passenger water transport" isic="501" 0 label="Sea and coastal passenger water transport" isic="5011" 2 label="Sea and coastal freight water transport" isic="501" 0 label="Sea and coastal freight water transport" isic="5012" 3 label="Inland passenger water transport" isic="502" 0 label="Inland passenger water transport" isic="5021" 4 label="Inland freight water transport" isic="502" 0 label="Inland freight water transport" isic="5022" 51 section="H" label="Air transport" isic="51" 1 label="Passenger air transport" isic="511" 0 label="Passenger air transport" isic="5110" 2 label="Freight air transport and space transport" isic="512" 1 label="Freight air transport" isic="5120" 2 label="Space transport" isic="5120" 52 section="H" label="Warehousing and support activities for transportation" isic="52" 1 label="Warehousing and storage" isic="521" 0 label="Warehousing and storage" isic="5210" 2 label="Support activities for transportation" isic="522" 1 label="Service activities incidental to land transportation" isic="5221" 2 label="Service activities incidental to water transportation" isic="5222" 3 label="Service activities incidental to air transportation" isic="5223" 4 label="Cargo handling" isic="5224" 9 label="Other transportation support activities " isic="5229" 53 section="H" label="Postal and courier activities" isic="53" 1 label="Postal activities under universal service obligation" isic="531" 0 label="Postal activities under universal service obligation" isic="5310" 2 label="Other postal and courier activities" isic="532" 0 label="Other postal and courier activities" isic="5320" I label="ACCOMMODATION AND FOOD SERVICE ACTIVITIES" isic="I" 55 section="I" label="Accommodation" isic="55" 1 label="Hotels and similar accommodation" isic="551" 0 label="Hotels and similar accommodation" isic="5510" 2 label="Holiday and other short-stay accommodation" isic="551" 0 label="Holiday and other short-stay accommodation" isic="5510" 3 label="Camping grounds, recreational vehicle parks and trailer parks" isic="552" 0 label="Camping grounds, recreational vehicle parks and trailer parks" isic="5520" 9 label="Other accommodation" isic="559" 0 label="Other accommodation" isic="5590" 56 section="I" label="Food and beverage service activities" isic="56" 1 label="Restaurants and mobile food service activities" isic="561" 0 label="Restaurants and mobile food service activities" isic="5610" 2 label="Event catering and other food service activities" isic="562" 1 label="Event catering activities" isic="5621" 9 label="Other food service activities" isic="5629" 3 label="Beverage serving activities" isic="563" 0 label="Beverage serving activities" isic="5630" J label="INFORMATION AND COMMUNICATION" isic="J" 58 section="J" label="Publishing activities" isic="58" 1 label="Publishing of books, periodicals and other publishing activities" isic="581" 1 label="Book publishing" isic="5811" 2 label="Publishing of directories and mailing lists" isic="5812" 3 label="Publishing of newspapers" isic="5813" 4 label="Publishing of journals and periodicals" isic="5813" 9 label="Other publishing activities" isic="5819" 2 label="Software publishing" isic="582" 1 label="Publishing of computer games" isic="5820" 9 label="Other software publishing" isic="5820" 59 section="J" label="Motion picture, video and television programme production, sound recording and music publishing activities" isic="59" 1 label="Motion picture, video and television programme activities" isic="591" 1 label="Motion picture, video and television programme production activities" isic="5911" 2 label="Motion picture, video and television programme post-production activities" isic="5912" 3 label="Motion picture, video and television programme distribution activities" isic="5913" 4 label="Motion picture projection activities" isic="5914" 2 label="Sound recording and music publishing activities" isic="592" 0 label="Sound recording and music publishing activities" isic="5920" 60 section="J" label="Programming and broadcasting activities" isic="60" 1 label="Radio broadcasting" isic="601" 0 label="Radio broadcasting" isic="6010" 2 label="Television programming and broadcasting activities" isic="602" 0 label="Television programming and broadcasting activities" isic="6020" 61 section="J" label="Telecommunications" isic="61" 1 label="Wired telecommunications activities" isic="611" 0 label="Wired telecommunications activities" isic="6110" 2 label="Wireless telecommunications activities" isic="612" 0 label="Wireless telecommunications activities" isic="6120" 3 label="Satellite telecommunications activities" isic="613" 0 label="Satellite telecommunications activities" isic="6130" 9 label="Other telecommunications activities" isic="619" 0 label="Other telecommunications activities" isic="6190" 62 section="J" label="Computer programming, consultancy and related activities" isic="62" 0 label="Computer programming, consultancy and related activities" isic="620" 1 label="Computer programming activities" isic="6201" 2 label="Computer consultancy activities" isic="6202" 3 label="Computer facilities management activities" isic="6202" 9 label="Other information technology and computer service activities" isic="6209" 63 section="J" label="Information service activities" isic="63" 1 label="Data processing, hosting and related activities; web portals" isic="631" 1 label="Data processing, hosting and related activities" isic="6311" 2 label="Web portals" isic="6312" 9 label="Other information service activities" isic="639" 1 label="News agency activities" isic="6391" 9 label="Other information service activities n.e.c." isic="6399" K label="FINANCIAL AND INSURANCE ACTIVITIES" isic="K" 64 section="K" label="Financial service activities, except insurance and pension funding" isic="64" 1 label="Monetary intermediation" isic="641" 1 label="Central banking" isic="6411" 9 label="Other monetary intermediation" isic="6419" 2 label="Activities of holding companies" isic="642" 0 label="Activities of holding companies" isic="6420" 3 label="Trusts, funds and similar financial entities" isic="643" 0 label="Trusts, funds and similar financial entities" isic="6430" 9 label="Other financial service activities, except insurance and pension funding" isic="649" 1 label="Financial leasing" isic="6491" 2 label="Other credit granting" isic="6492" 9 label="Other financial service activities, except insurance and pension funding n.e.c." isic="6499" 65 section="K" label="Insurance, reinsurance and pension funding, except compulsory social security" isic="65" 1 label="Insurance" isic="651" 1 label="Life insurance" isic="6511" 2 label="Non-life insurance" isic="6512" 2 label="Reinsurance" isic="652" 0 label="Reinsurance" isic="6520" 3 label="Pension funding" isic="653" 0 label="Pension funding" isic="6530" 66 section="K" label="Activities auxiliary to financial services and insurance activities" isic="66" 1 label="Activities auxiliary to financial services, except insurance and pension funding" isic="661" 1 label="Administration of financial markets" isic="6611" 2 label="Security and commodity contracts brokerage" isic="6612" 9 label="Other activities auxiliary to financial services, except insurance and pension funding" isic="6619" 2 label="Activities auxiliary to insurance and pension funding" isic="662" 1 label="Risk and damage evaluation" isic="6621" 2 label="Activities of insurance agents and brokers" isic="6622" 9 label="Other activities auxiliary to insurance and pension funding" isic="6629" 3 label="Fund management activities" isic="663" 0 label="Fund management activities" isic="6630" L label="REAL ESTATE ACTIVITIES" isic="L" 68 section="L" label="Real estate activities" isic="68" 1 label="Buying and selling of own real estate" isic="681" 0 label="Buying and selling of own real estate" isic="6810" 2 label="Rental and operating of own or leased real estate" isic="681" 0 label="Rental and operating of own or leased real estate" isic="6810" 3 label="Real estate activities on a fee or contract basis" isic="682" 1 label="Real estate agencies" isic="6820" 2 label="Management of real estate on a fee or contract basis" isic="6820" M label="PROFESSIONAL, SCIENTIFIC AND TECHNICAL ACTIVITIES" isic="M" 69 section="M" label="Legal and accounting activities" isic="69" 1 label="Legal activities" isic="691" 0 label="Legal activities" isic="6910" 2 label="Accounting, bookkeeping and auditing activities; tax consultancy" isic="692" 0 label="Accounting, bookkeeping and auditing activities; tax consultancy" isic="6920" 70 section="M" label="Activities of head offices; management consultancy activities" isic="70" 1 label="Activities of head offices" isic="701" 0 label="Activities of head offices" isic="7010" 2 label="Management consultancy activities" isic="702" 1 label="Public relations and communication activities" isic="7020" 2 label="Business and other management consultancy activities" isic="7020" 71 section="M" label="Architectural and engineering activities; technical testing and analysis" isic="71" 1 label="Architectural and engineering activities and related technical consultancy" isic="711" 1 label="Architectural activities " isic="7110" 2 label="Engineering activities and related technical consultancy" isic="7110" 2 label="Technical testing and analysis" isic="712" 0 label="Technical testing and analysis" isic="7120" 72 section="M" label="Scientific research and development " isic="72" 1 label="Research and experimental development on natural sciences and engineering" isic="721" 1 label="Research and experimental development on biotechnology" isic="7210" 9 label="Other research and experimental development on natural sciences and engineering" isic="7210" 2 label="Research and experimental development on social sciences and humanities" isic="722" 0 label="Research and experimental development on social sciences and humanities" isic="7220" 73 section="M" label="Advertising and market research" isic="73" 1 label="Advertising" isic="731" 1 label="Advertising agencies" isic="7310" 2 label="Media representation" isic="7310" 2 label="Market research and public opinion polling" isic="732" 0 label="Market research and public opinion polling" isic="7320" 74 section="M" label="Other professional, scientific and technical activities" isic="74" 1 label="Specialised design activities" isic="741" 0 label="Specialised design activities" isic="7410" 2 label="Photographic activities" isic="742" 0 label="Photographic activities" isic="7420" 3 label="Translation and interpretation activities" isic="749" 0 label="Translation and interpretation activities" isic="7490" 9 label="Other professional, scientific and technical activities n.e.c." isic="749" 0 label="Other professional, scientific and technical activities n.e.c." isic="7490" 75 section="M" label="Veterinary activities" isic="75" 0 label="Veterinary activities" isic="750" 0 label="Veterinary activities" isic="7500" N label="ADMINISTRATIVE AND SUPPORT SERVICE ACTIVITIES" isic="N" 77 section="N" label="Rental and leasing activities" isic="77" 1 label="Rental and leasing of motor vehicles" isic="771" 1 label="Rental and leasing of cars and light motor vehicles" isic="7710" 2 label="Rental and leasing of trucks" isic="7710" 2 label="Rental and leasing of personal and household goods" isic="772" 1 label="Rental and leasing of recreational and sports goods" isic="7721" 2 label="Rental of video tapes and disks" isic="7722" 9 label="Rental and leasing of other personal and household goods" isic="7729" 3 label="Rental and leasing of other machinery, equipment and tangible goods" isic="773" 1 label="Rental and leasing of agricultural machinery and equipment" isic="7730" 2 label="Rental and leasing of construction and civil engineering machinery and equipment" isic="7730" 3 label="Rental and leasing of office machinery and equipment (including computers)" isic="7730" 4 label="Rental and leasing of water transport equipment" isic="7730" 5 label="Rental and leasing of air transport equipment" isic="7730" 9 label="Rental and leasing of other machinery, equipment and tangible goods n.e.c." isic="7730" 4 label="Leasing of intellectual property and similar products, except copyrighted works" isic="774" 0 label="Leasing of intellectual property and similar products, except copyrighted works" isic="7740" 78 section="N" label="Employment activities" isic="78" 1 label="Activities of employment placement agencies" isic="781" 0 label="Activities of employment placement agencies" isic="7810" 2 label="Temporary employment agency activities" isic="782" 0 label="Temporary employment agency activities" isic="7820" 3 label="Other human resources provision" isic="783" 0 label="Other human resources provision" isic="7830" 79 section="N" label="Travel agency, tour operator and other reservation service and related activities" isic="79" 1 label="Travel agency and tour operator activities" isic="791" 1 label="Travel agency activities" isic="7911" 2 label="Tour operator activities" isic="7912" 9 label="Other reservation service and related activities" isic="799" 0 label="Other reservation service and related activities" isic="7990" 80 section="N" label="Security and investigation activities" isic="80" 1 label="Private security activities" isic="801" 0 label="Private security activities" isic="8010" 2 label="Security systems service activities" isic="802" 0 label="Security systems service activities" isic="8020" 3 label="Investigation activities" isic="803" 0 label="Investigation activities" isic="8030" 81 section="N" label="Services to buildings and landscape activities" isic="81" 1 label="Combined facilities support activities" isic="811" 0 label="Combined facilities support activities" isic="8110" 2 label="Cleaning activities" isic="812" 1 label="General cleaning of buildings" isic="8121" 2 label="Other building and industrial cleaning activities" isic="8129" 9 label="Other cleaning activities" isic="8129" 3 label="Landscape service activities" isic="813" 0 label="Landscape service activities" isic="8130" 82 section="N" label="Office administrative, office support and other business support activities" isic="82" 1 label="Office administrative and support activities" isic="821" 1 label="Combined office administrative service activities" isic="8211" 9 label="Photocopying, document preparation and other specialised office support activities" isic="8219" 2 label="Activities of call centres" isic="822" 0 label="Activities of call centres" isic="8220" 3 label="Organisation of conventions and trade shows" isic="823" 0 label="Organisation of conventions and trade shows" isic="8230" 9 label="Business support service activities n.e.c." isic="829" 1 label="Activities of collection agencies and credit bureaus" isic="8291" 2 label="Packaging activities" isic="8292" 9 label="Other business support service activities n.e.c." isic="8299" O label="PUBLIC ADMINISTRATION AND DEFENCE; COMPULSORY SOCIAL SECURITY" isic="O" 84 section="O" label="Public administration and defence; compulsory social security" isic="84" 1 label="Administration of the State and the economic and social policy of the community" isic="841" 1 label="General public administration activities" isic="8411" 2 label="Regulation of the activities of providing health care, education, cultural services and other social services, excluding social security" isic="8412" 3 label="Regulation of and contribution to more efficient operation of businesses" isic="8413" 2 label="Provision of services to the community as a whole" isic="842" 1 label="Foreign affairs" isic="8421" 2 label="Defence activities" isic="8422" 3 label="Justice and judicial activities" isic="8423" 4 label="Public order and safety activities" isic="8423" 5 label="Fire service activities" isic="8423" 3 label="Compulsory social security activities" isic="843" 0 label="Compulsory social security activities" isic="8430" P label="EDUCATION" isic="P" 85 section="P" label="Education" isic="85" 1 label="Pre-primary education" isic="851" 0 label="Pre-primary education " isic="8510" 2 label="Primary education" isic="851" 0 label="Primary education " isic="8510" 3 label="Secondary education" isic="852" 1 label="General secondary education " isic="8521" 2 label="Technical and vocational secondary education " isic="8522" 4 label="Higher education" isic="853" 1 label="Post-secondary non-tertiary education" isic="8530" 2 label="Tertiary education" isic="8530" 5 label="Other education" isic="854" 1 label="Sports and recreation education" isic="8541" 2 label="Cultural education" isic="8542" 3 label="Driving school activities" isic="8549" 9 label="Other education n.e.c." isic="8549" 6 label="Educational support activities" isic="855" 0 label="Educational support activities" isic="8550" Q label="HUMAN HEALTH AND SOCIAL WORK ACTIVITIES" isic="Q" 86 section="Q" label="Human health activities" isic="86" 1 label="Hospital activities" isic="861" 0 label="Hospital activities" isic="8610" 2 label="Medical and dental practice activities" isic="862" 1 label="General medical practice activities" isic="8620" 2 label="Specialist medical practice activities" isic="8620" 3 label="Dental practice activities" isic="8620" 9 label="Other human health activities" isic="869" 0 label="Other human health activities" isic="8690" 87 section="Q" label="Residential care activities" isic="87" 1 label="Residential nursing care activities" isic="871" 0 label="Residential nursing care activities" isic="8710" 2 label="Residential care activities for mental retardation, mental health and substance abuse" isic="872" 0 label="Residential care activities for mental retardation, mental health and substance abuse" isic="8720" 3 label="Residential care activities for the elderly and disabled" isic="873" 0 label="Residential care activities for the elderly and disabled" isic="8730" 9 label="Other residential care activities" isic="879" 0 label="Other residential care activities" isic="8790" 88 section="Q" label="Social work activities without accommodation" isic="88" 1 label="Social work activities without accommodation for the elderly and disabled" isic="881" 0 label="Social work activities without accommodation for the elderly and disabled" isic="8810" 9 label="Other social work activities without accommodation" isic="889" 1 label="Child day-care activities" isic="8890" 9 label="Other social work activities without accommodation n.e.c." isic="8890" R label="ARTS, ENTERTAINMENT AND RECREATION" isic="R" 90 section="R" label="Creative, arts and entertainment activities" isic="90" 0 label="Creative, arts and entertainment activities" isic="900" 1 label="Performing arts" isic="9000" 2 label="Support activities to performing arts" isic="9000" 3 label="Artistic creation" isic="9000" 4 label="Operation of arts facilities" isic="9000" 91 section="R" label="Libraries, archives, museums and other cultural activities" isic="91" 0 label="Libraries, archives, museums and other cultural activities" isic="910" 1 label="Library and archives activities" isic="9101" 2 label="Museums activities" isic="9102" 3 label="Operation of historical sites and buildings and similar visitor attractions" isic="9102" 4 label="Botanical and zoological gardens and nature reserves activities" isic="9103" 92 section="R" label="Gambling and betting activities" isic="92" 0 label="Gambling and betting activities" isic="920" 0 label="Gambling and betting activities" isic="9200" 93 section="R" label="Sports activities and amusement and recreation activities" isic="93" 1 label="Sports activities" isic="931" 1 label="Operation of sports facilities" isic="9311" 2 label="Activities of sports clubs" isic="9312" 3 label="Fitness facilities" isic="9311" 9 label="Other sports activities" isic="9319" 2 label="Amusement and recreation activities" isic="932" 1 label="Activities of amusement parks and theme parks" isic="9321" 9 label="Other amusement and recreation activities" isic="9329" S label="OTHER SERVICE ACTIVITIES" isic="S" 94 section="S" label="Activities of membership organisations" isic="94" 1 label="Activities of business, employers and professional membership organisations" isic="941" 1 label="Activities of business and employers membership organisations" isic="9411" 2 label="Activities of professional membership organisations" isic="9412" 2 label="Activities of trade unions" isic="942" 0 label="Activities of trade unions" isic="9420" 9 label="Activities of other membership organisations" isic="949" 1 label="Activities of religious organisations" isic="9491" 2 label="Activities of political organisations" isic="9492" 9 label="Activities of other membership organisations n.e.c." isic="9499" 95 section="S" label="Repair of computers and personal and household goods" isic="95" 1 label="Repair of computers and communication equipment" isic="951" 1 label="Repair of computers and peripheral equipment" isic="9511" 2 label="Repair of communication equipment" isic="9512" 2 label="Repair of personal and household goods" isic="952" 1 label="Repair of consumer electronics" isic="9521" 2 label="Repair of household appliances and home and garden equipment" isic="9522" 3 label="Repair of footwear and leather goods" isic="9523" 4 label="Repair of furniture and home furnishings" isic="9524" 5 label="Repair of watches, clocks and jewellery" isic="9529" 9 label="Repair of other personal and household goods" isic="9529" 96 section="S" label="Other personal service activities" isic="96" 0 label="Other personal service activities" isic="960" 1 label="Washing and (dry-)cleaning of textile and fur products" isic="9601" 2 label="Hairdressing and other beauty treatment" isic="9602" 3 label="Funeral and related activities" isic="9603" 4 label="Physical well-being activities" isic="9609" 9 label="Other personal service activities n.e.c." isic="9609" T label="ACTIVITIES OF HOUSEHOLDS AS EMPLOYERS; UNDIFFERENTIATED GOODS- AND SERVICES-PRODUCING ACTIVITIES OF HOUSEHOLDS FOR OWN USE" isic="T" 97 section="T" label="Activities of households as employers of domestic personnel" isic="97" 0 label="Activities of households as employers of domestic personnel" isic="970" 0 label="Activities of households as employers of domestic personnel" isic="9700" 98 section="T" label="Undifferentiated goods- and services-producing activities of private households for own use" isic="98" 1 label="Undifferentiated goods-producing activities of private households for own use" isic="981" 0 label="Undifferentiated goods-producing activities of private households for own use" isic="9810" 2 label="Undifferentiated service-producing activities of private households for own use" isic="982" 0 label="Undifferentiated service-producing activities of private households for own use" isic="9820" U label="ACTIVITIES OF EXTRATERRITORIAL ORGANISATIONS AND BODIES" isic="U" 99 section="U" label="Activities of extraterritorial organisations and bodies" isic="99" 0 label="Activities of extraterritorial organisations and bodies" isic="990" 0 label="Activities of extraterritorial organisations and bodies" isic="9900" python-stdnum-1.13/stdnum/eu/banknote.py0000644000000000000000000000437213555400447020340 0ustar rootroot00000000000000# banknote.py - functions for handling Euro banknote serial numbers # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Euro banknote serial numbers. The serial number consists of one letter and 11 digits, or two letters and 10 digits for the new series banknotes. More information: * https://en.wikipedia.org/wiki/Euro_banknotes#Serial_number >>> validate('P36007033744') 'P36007033744' >>> validate('P36007033743') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').upper().strip() def checksum(number): """Calculate the checksum over the number.""" # replace letters by their ASCII number return sum(int(x) if isdigits(x) else ord(x) for x in number) % 9 def validate(number): """Check if the number is a valid banknote serial number.""" number = compact(number) if not number[:2].isalnum() or not isdigits(number[2:]): raise InvalidFormat() if len(number) != 12: raise InvalidLength() if number[0] not in 'BCDEFGHJLMNPRSTUVWXYZ': raise InvalidComponent() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid banknote serial number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/eu/eic.py0000644000000000000000000000536313555400447017300 0ustar rootroot00000000000000# eic.py - functions for handling EU EIC numbers # coding: utf-8 # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """EIC (European Energy Identification Code). The EIC (Energy Identification Code) a 16 character code used in Europe to uniquely identify entities and objects in the electricity and gas sector. The number uses letters, digits and the minus sign. The first 2 character identify the issuing office, 1 character for the object type, 12 digits for the object and 1 check character. More information: * https://en.wikipedia.org/wiki/Energy_Identification_Code * http://www.eiccodes.eu/ >>> validate('22XWATTPLUS----G') '22XWATTPLUS----G' >>> validate('22XWATTPLUS----X') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('23X--130302DLGW-') # check digit cannot be minus Traceback (most recent call last): ... InvalidFormat: ... """ from stdnum.exceptions import * from stdnum.util import clean _alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-' def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding white space.""" return clean(number, ' ').strip() def calc_check_digit(number): """Calculate the check digit for the number.""" number = compact(number) s = sum((16 - i) * _alphabet.index(n) for i, n in enumerate(number[:15])) return _alphabet[36 - ((s - 1) % 37)] def validate(number): """Check if the number is valid. This checks the length, format and check digit.""" number = compact(number) if not all(x in _alphabet for x in number): raise InvalidFormat() if len(number) != 16: raise InvalidLength() if number[-1] == '-': raise InvalidFormat() if number[-1] != calc_check_digit(number): raise InvalidChecksum() return number def is_valid(number): """Check if the number is valid. This checks the length, format and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/eu/nace.py0000644000000000000000000000736013606452301017436 0ustar rootroot00000000000000# nace.py - functions for handling EU NACE classification # coding: utf-8 # # Copyright (C) 2017-2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NACE (classification for businesses in the European Union). The NACE (nomenclature statistique des activités économiques dans la Communauté européenne) is a 4-level (and up to 4 digit) code for classifying economic activities. It is the European implementation of the UN classification ISIC. The first 4 digits are the same in all EU countries while additional levels and digits may be vary between countries. This module validates the numbers according to revision 2 and based on the registry as published by the EC. More information: * https://en.wikipedia.org/wiki/Statistical_Classification_of_Economic_Activities_in_the_European_Community * http://ec.europa.eu/eurostat/ramon/nomenclatures/index.cfm?TargetUrl=LST_NOM_DTL&StrNom=NACE_REV2&StrLanguageCode=EN&IntPcKey=&StrLayoutCode=HIERARCHIC >>> validate('A') 'A' >>> validate('62.01') '6201' >>> str(get_label('62.01')) 'Computer programming activities' >>> validate('62.05') Traceback (most recent call last): ... InvalidComponent: ... >>> validate('62059') # does not validate country-specific numbers Traceback (most recent call last): ... InvalidLength: ... >>> format('6201') '62.01' """ import warnings from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, '.').strip() def info(number): """Lookup information about the specified NACE. This returns a dict.""" number = compact(number) from stdnum import numdb info = dict() for _n, i in numdb.get('eu/nace').info(number): if not i: raise InvalidComponent() info.update(i) return info def get_label(number): """Lookup the category label for the number.""" return info(number)['label'] def label(number): # pragma: no cover (deprecated function) """DEPRECATED: use `get_label()` instead.""" # noqa: D40 warnings.warn( 'label() has been to get_label()', DeprecationWarning, stacklevel=2) return get_label(number) def validate(number): """Check if the number is a valid NACE. This checks the format and searches the registry to see if it exists.""" number = compact(number) if len(number) > 4: raise InvalidLength() elif len(number) == 1: if not number.isalpha(): raise InvalidFormat() else: if not isdigits(number): raise InvalidFormat() info(number) return number def is_valid(number): """Check if the number is a valid NACE. This checks the format and searches the registry to see if it exists.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" return '.'.join((number[:2], number[2:])).strip('.') python-stdnum-1.13/stdnum/eu/at_02.py0000644000000000000000000000610413555400447017437 0ustar rootroot00000000000000# at_02.py - functions for handling AT-02 (SEPA Creditor identifier) # # Copyright (C) 2014-2016 Sergi Almacellas Abellana # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """SEPA Identifier of the Creditor (AT-02). This identifier is indicated in the ISO 20022 data element `Creditor Scheme Identification`. The creditor can be a legal entity, or an association that is not a legal entity, or a person. The first two digits contain the ISO country code, the next two are check digits for the ISO 7064 Mod 97, 10 checksum, the next tree contain the Creditor Business Code (or `ZZZ` if no business code used) and the remainder contains the country-specific identifier. >>> validate('ES 23 ZZZ 47690558N') 'ES23ZZZ47690558N' >>> validate('ES2300047690558N') 'ES2300047690558N' >>> compact('ES++()+23ZZZ4//7690558N') 'ES23ZZZ47690558N' >>> calc_check_digits('ESXXZZZ47690558N') '23' """ from stdnum.exceptions import * from stdnum.iso7064 import mod_97_10 from stdnum.util import clean # the valid characters we have _alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' def compact(number): """Convert the AT-02 number to the minimal representation. This strips the number of any valid separators and removes invalid characters.""" return clean(number, ' -/?:().m\'+"').strip().upper() def _to_base10(number): """Prepare the number to its base10 representation so it can be checked with the ISO 7064 Mod 97, 10 algorithm. That means excluding positions 5 to 7 and moving the first four digits to the end.""" return ''.join(str(_alphabet.index(x)) for x in number[7:] + number[:4]) def validate(number): """Check if the number provided is a valid AT-02.""" number = compact(number) try: test_number = _to_base10(number) except Exception: raise InvalidFormat() # ensure that checksum is valid mod_97_10.validate(test_number) return number def is_valid(number): """Check if the number provided is a valid AT-02.""" try: return bool(validate(number)) except ValidationError: return False def calc_check_digits(number): """Calculate the check digits that should be put in the number to make it valid. Check digits in the supplied number are ignored.""" number = compact(number) # replace check digits with placeholders number = ''.join((number[:2], '00', number[4:])) return mod_97_10.calc_check_digits(_to_base10(number)[:-2]) python-stdnum-1.13/stdnum/eu/__init__.py0000644000000000000000000000156213555400447020274 0ustar rootroot00000000000000# __init__.py - collection of European Union numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of European Union numbers.""" python-stdnum-1.13/stdnum/eu/vat.py0000644000000000000000000001216513555400447017330 0ustar rootroot00000000000000# vat.py - functions for handling European VAT numbers # coding: utf-8 # # Copyright (C) 2012-2018 Arthur de Jong # Copyright (C) 2015 Lionel Elie Mamane # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """VAT (European Union VAT number). The European Union VAT number consists of a 2 letter country code (ISO 3166-1, except Greece which uses EL) followed by a number that is allocated per country. The exact format of the numbers varies per country and a country-specific check is performed on the number using the VAT module that is relevant for that country. >>> compact('ATU 57194903') 'ATU57194903' >>> validate('BE697449992') 'BE0697449992' >>> validate('FR 61 954 506 077') 'FR61954506077' >>> guess_country('00449544B01') ['nl'] """ from stdnum.exceptions import * from stdnum.util import clean, get_cc_module, get_soap_client _country_codes = set([ 'at', 'be', 'bg', 'cy', 'cz', 'de', 'dk', 'ee', 'es', 'fi', 'fr', 'gb', 'gr', 'hr', 'hu', 'ie', 'it', 'lt', 'lu', 'lv', 'mt', 'nl', 'pl', 'pt', 'ro', 'se', 'si', 'sk', ]) """The collection of country codes that are queried. Greece is listed with a country code of gr while for VAT purposes el is used instead.""" _country_modules = dict() vies_wsdl = 'http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl' """The WSDL URL of the VAT Information Exchange System (VIES).""" def _get_cc_module(cc): """Get the VAT number module based on the country code.""" # Greece uses a "wrong" country code cc = cc.lower() if cc == 'el': cc = 'gr' if cc not in _country_codes: return if cc not in _country_modules: _country_modules[cc] = get_cc_module(cc, 'vat') return _country_modules[cc] def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, '').upper().strip() module = _get_cc_module(number[:2]) if not module: raise InvalidComponent() return number[:2] + module.compact(number[2:]) def validate(number): """Check if the number is a valid VAT number. This performs the country-specific check for the number.""" number = clean(number, '').upper().strip() module = _get_cc_module(number[:2]) if not module: raise InvalidComponent() return number[:2] + module.validate(number[2:]) def is_valid(number): """Check if the number is a valid VAT number. This performs the country-specific check for the number.""" try: return bool(validate(number)) except ValidationError: return False def guess_country(number): """Guess the country code based on the number. This checks the number against each of the validation routines and returns the list of countries for which it is valid. This returns lower case codes and returns gr (not el) for Greece.""" return [cc for cc in _country_codes if _get_cc_module(cc).is_valid(number)] def check_vies(number, timeout=30): # pragma: no cover (not part of normal test suite) """Query the online European Commission VAT Information Exchange System (VIES) for validity of the provided number. Note that the service has usage limitations (see the VIES website for details). The timeout is in seconds. This returns a dict-like object.""" # this function isn't automatically tested because it would require # network access for the tests and unnecessarily load the VIES website number = compact(number) client = get_soap_client(vies_wsdl, timeout) return client.checkVat(number[:2], number[2:]) def check_vies_approx(number, requester, timeout=30): # pragma: no cover """Query the online European Commission VAT Information Exchange System (VIES) for validity of the provided number, providing a validity certificate as proof. You will need to give your own VAT number for this to work. Note that the service has usage limitations (see the VIES website for details). The timeout is in seconds. This returns a dict-like object.""" # this function isn't automatically tested because it would require # network access for the tests and unnecessarily load the VIES website number = compact(number) requester = compact(requester) client = get_soap_client(vies_wsdl, timeout) return client.checkVatApprox( countryCode=number[:2], vatNumber=number[2:], requesterCountryCode=requester[:2], requesterVatNumber=requester[2:]) python-stdnum-1.13/stdnum/mac.py0000644000000000000000000001127513555400450016660 0ustar rootroot00000000000000# mac.py - functions for handling MAC (Ethernet) addresses # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """MAC address (Media Access Control address). A media access control address (MAC address, sometimes Ethernet address) of a device is meant as a unique identifier within a network at the data link layer. More information: * https://en.wikipedia.org/wiki/MAC_address * https://en.wikipedia.org/wiki/Organizationally_unique_identifier * https://standards.ieee.org/faqs/regauth.html#2 >>> validate('D0-50-99-84-A2-A0') 'd0:50:99:84:a2:a0' >>> to_eui48('d0:50:99:84:a2:a0') 'D0-50-99-84-A2-A0' >>> is_multicast('d0:50:99:84:a2:a0') False >>> str(get_manufacturer('d0:50:99:84:a2:a0')) 'ASRock Incorporation' >>> get_oui('d0:50:99:84:a2:a0') 'D05099' >>> get_iab('d0:50:99:84:a2:a0') '84A2A0' """ import re from stdnum import numdb from stdnum.exceptions import * from stdnum.util import clean _mac_re = re.compile('^([0-9a-f]{2}:){5}[0-9a-f]{2}$') def compact(number): """Convert the MAC address to the minimal, consistent representation.""" number = clean(number, ' ').strip().lower().replace('-', ':') # zero-pad single-digit elements return ':'.join('0' + n if len(n) == 1 else n for n in number.split(':')) def _lookup(number): """Look up the manufacturer in the IEEE OUI registry.""" number = compact(number).replace(':', '').upper() info = numdb.get('oui').info(number) try: return ( ''.join(n[0] for n in info[:-1]), info[-2][1]['o'].replace('%', '"')) except IndexError: raise InvalidComponent() def get_manufacturer(number): """Look up the manufacturer in the IEEE OUI registry.""" return _lookup(number)[1] def get_oui(number): """Return the OUI (organization unique ID) part of the address.""" return _lookup(number)[0] def get_iab(number): """Return the IAB (individual address block) part of the address.""" number = compact(number).replace(':', '').upper() return number[len(get_oui(number)):] def is_unicast(number): """Check whether the number is a unicast address. Unicast addresses are received by one node in a network (LAN).""" number = compact(number) return int(number[:2], 16) & 1 == 0 def is_multicast(number): """Check whether the number is a multicast address. Multicast addresses are meant to be received by (potentially) multiple nodes in a network (LAN).""" return not is_unicast(number) def is_broadcast(number): """Check whether the number is the broadcast address. Broadcast addresses are meant to be received by all nodes in a network.""" number = compact(number) return number == 'ff:ff:ff:ff:ff:ff' def is_universally_administered(number): """Check if the address is supposed to be assigned by the manufacturer.""" number = compact(number) return int(number[:2], 16) & 2 == 0 def is_locally_administered(number): """Check if the address is meant to be configured by an administrator.""" return not is_universally_administered(number) def validate(number, validate_manufacturer=None): """Check if the number provided is a valid MAC address. The existence of the manufacturer is by default only checked for universally administered addresses but can be explicitly set with the `validate_manufacturer` argument. """ number = compact(number) if len(number) != 17: raise InvalidLength() if not _mac_re.match(number): raise InvalidFormat() if validate_manufacturer is not False: if validate_manufacturer or is_universally_administered(number): get_manufacturer(number) return number def is_valid(number, validate_manufacturer=None): """Check if the number provided is a valid IBAN.""" try: return bool(validate(number, validate_manufacturer=validate_manufacturer)) except ValidationError: return False def to_eui48(number): """Convert the MAC address to EUI-48 format.""" return compact(number).upper().replace(':', '-') python-stdnum-1.13/stdnum/us/0000755000000000000000000000000013611057637016177 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/us/ein.py0000644000000000000000000000544413555400450017323 0ustar rootroot00000000000000# ein.py - functions for handling EINs # # Copyright (C) 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """EIN (U.S. Employer Identification Number). The Employer Identification Number, also known as Federal Employer Identification Number (FEIN), is used to identify a business entity in the United States. It is issued to anyone that has to pay withholding taxes on employees. >>> validate('91-1144442') '911144442' >>> get_campus('04-2103594') == 'Brookhaven' True >>> validate('911-14-4442') # dash in the wrong place Traceback (most recent call last): ... InvalidFormat: ... >>> validate('07-1144442') # wrong prefix Traceback (most recent call last): ... InvalidComponent: ... >>> format('042103594') '04-2103594' >>> format('123') # unknown formatting is left alone '123' """ import re from stdnum.exceptions import * from stdnum.util import clean # regular expression for matching EINs _ein_re = re.compile(r'^(?P[0-9]{2})-?(?P[0-9]{7})$') def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, '-').strip() def get_campus(number): """Determine the Campus or other location that issued the EIN.""" from stdnum import numdb number = compact(number) results = numdb.get('us/ein').info(number)[0][1] if not results: raise InvalidComponent() return results['campus'] def validate(number): """Check if the number is a valid EIN. This checks the length, groups and formatting if it is present.""" match = _ein_re.search(clean(number, '').strip()) if not match: raise InvalidFormat() get_campus(number) # raises exception for unknown campus return compact(number) def is_valid(number): """Check if the number is a valid EIN.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" if len(number) == 9: number = number[:2] + '-' + number[2:] return number python-stdnum-1.13/stdnum/us/tin.py0000644000000000000000000000555113555400450017341 0ustar rootroot00000000000000# tin.py - functions for handling TINs # # Copyright (C) 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """TIN (U.S. Taxpayer Identification Number). The Taxpayer Identification Number is used used for tax purposes in the United States. A TIN may be: * a Social Security Number (SSN) * an Individual Taxpayer Identification Number (ITIN) * an Employer Identification Number (EIN) * a Preparer Tax Identification Number (PTIN) * an Adoption Taxpayer Identification Number (ATIN) >>> compact('123-45-6789') '123456789' >>> validate('123-45-6789') '123456789' >>> validate('07-3456789') Traceback (most recent call last): ... InvalidFormat: ... >>> guess_type('536-90-4399') ['ssn', 'atin'] >>> guess_type('04-2103594') ['ein'] >>> guess_type('042103594') ['ssn', 'ein', 'atin'] >>> format('042103594') '042-10-3594' >>> format('123-456') # invalid numbers are not reformatted '123-456' """ from stdnum.exceptions import * from stdnum.us import atin, ein, itin, ptin, ssn from stdnum.util import clean _tin_modules = (ssn, itin, ein, ptin, atin) def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, '-').strip() def validate(number): """Check if the number is a valid TIN. This searches for the proper sub-type and validates using that.""" for mod in _tin_modules: try: return mod.validate(number) except ValidationError: pass # try next module # fallback raise InvalidFormat() def is_valid(number): """Check if the number is a valid TIN.""" try: return bool(validate(number)) except ValidationError: return False def guess_type(number): """Return a list of possible TIN types for which this number is valid..""" return [mod.__name__.rsplit('.', 1)[-1] for mod in _tin_modules if mod.is_valid(number)] def format(number): """Reformat the number to the standard presentation format.""" for mod in _tin_modules: if mod.is_valid(number) and hasattr(mod, 'format'): return mod.format(number) return number python-stdnum-1.13/stdnum/us/rtn.py0000644000000000000000000000502513555400450017346 0ustar rootroot00000000000000# rtn.py - functions for handling banking routing transit numbers # # Copyright (C) 2014 Lifealike Ltd # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """RTN (Routing transport number). The routing transport number is a nine digit number used in the US banking system for processing deposits between banks. The last digit is a checksum. >>> calc_check_digit('11100002') '5' >>> validate('111000025') '111000025' >>> validate('11100002') # Not nine digits Traceback (most recent call last): ... InvalidLength: .. >>> validate('11100002B') # Not all numeric Traceback (most recent call last): ... InvalidFormat: .. >>> validate('112000025') # bad checksum Traceback (most recent call last): ... InvalidChecksum: .. """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any surrounding whitespace.""" number = clean(number).strip() return number def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" digits = [int(c) for c in number] checksum = ( 7 * (digits[0] + digits[3] + digits[6]) + 3 * (digits[1] + digits[4] + digits[7]) + 9 * (digits[2] + digits[5]) ) % 10 return str(checksum) def validate(number): """Check if the number is a valid routing number. This checks the length and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 9: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid RTN.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/us/ssn.py0000644000000000000000000000733713555400450017356 0ustar rootroot00000000000000# ssn.py - functions for handling SSNs # # Copyright (C) 2011-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """SSN (U.S. Social Security Number). The Social Security Number is used to identify individuals for taxation purposes. It is a 9-digit number that consists of a 3-digit area number, a 2-digit group number and a 4-digit serial number. The number does not use a check digit. Some validation options are available but with the introduction of Social Security Number Randomization it is no longer possible to validate using the High Group History List. Some areas, groups and ranges can be blacklisted though. There are several on-line verification facilities available, either for Employers or at a fee but validation requires more information than just the number (e.g. name, date of birth, etc). Another means of validation is the Death Master File which can be ordered on DVD. More information: * https://en.wikipedia.org/wiki/Social_Security_number * https://www.ssa.gov/employer/verifySSN.htm * https://en.wikipedia.org/wiki/Death_Master_File >>> validate('536-90-4399') '536904399' >>> validate('1112-23333') # dash in the wrong place Traceback (most recent call last): ... InvalidFormat: ... >>> validate('666-00-0000') # invalid area Traceback (most recent call last): ... InvalidComponent: ... >>> validate('078-05-1120') # blacklisted entry Traceback (most recent call last): ... InvalidComponent: ... >>> compact('1234-56-789') '123456789' >>> format('111223333') '111-22-3333' """ import re from stdnum.exceptions import * from stdnum.util import clean # regular expression for matching SSN _ssn_re = re.compile( r'^(?P[0-9]{3})-?(?P[0-9]{2})-?(?P[0-9]{4})$') # blacklist of SSNs _ssn_blacklist = set(('078-05-1120', '457-55-5462', '219-09-9999')) def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, '-').strip() def validate(number): """Check if the number is a valid SSN. This checks the length, groups and formatting if it is present.""" match = _ssn_re.search(clean(number, '').strip()) if not match: raise InvalidFormat() area = match.group('area') group = match.group('group') serial = match.group('serial') # check for all-0 or some unused areas # (9xx also won't be issued which includes the advertising range) if area == '000' or area == '666' or area[0] == '9' or \ group == '00' or serial == '0000': raise InvalidComponent() # check blacklists if format(number) in _ssn_blacklist: raise InvalidComponent() return compact(number) def is_valid(number): """Check if the number is a valid SSN.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" if len(number) == 9: number = number[:3] + '-' + number[3:5] + '-' + number[5:] return number python-stdnum-1.13/stdnum/us/ein.dat0000644000000000000000000000121013555401015017424 0ustar rootroot00000000000000# manually converted from the IRS website # https://www.irs.gov/businesses/small-businesses-self-employed/how-eins-are-assigned-and-valid-ein-prefixes 01,02,03,04,05,06,11,13,14,16,21,22,23,25,34,51,52,54,55,56,57,58,59,65 campus="Brookhaven" 10,12 campus="Andover" 15,24 campus="Fresno" 20,26,27,45,46,47,81,82,83,84 campus="Internet" 30,32,35,36,37,38,61 campus="Cincinnati" 31 campus="Small Business Administration (SBA)" 33,39,41,42,43,46,48,62,63,64,66,68,71,72,73,74,75,76,77,85,86,87,88,91,92,93,98,99 campus="Philadelphia" 40,44 campus="Kansas City" 50,53 campus="Austin" 60,67 campus="Atlanta" 80,90 campus="Ogden" 94,95 campus="Memphis" python-stdnum-1.13/stdnum/us/ptin.py0000644000000000000000000000402313555400450017512 0ustar rootroot00000000000000# ptin.py - functions for handling PTINs # # Copyright (C) 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """PTIN (U.S. Preparer Tax Identification Number). A Preparer Tax Identification Number (PTIN) is United States identification number for tax return preparers. It is an eight-digit number prefixed with a capital P. >>> validate('P-00634642') 'P00634642' >>> validate('P01594846') 'P01594846' >>> validate('00634642') # missing P Traceback (most recent call last): ... InvalidFormat: ... """ import re from stdnum.exceptions import * from stdnum.util import clean # regular expression for matching PTINs _ptin_re = re.compile(r'^P[0-9]{8}$') def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, '-').strip() def validate(number): """Check if the number is a valid PTIN. This checks the length, groups and formatting if it is present.""" number = compact(number).upper() if not _ptin_re.search(number): raise InvalidFormat() # sadly, no more information on PTIN number validation was found return number def is_valid(number): """Check if the number is a valid ATIN.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/us/__init__.py0000644000000000000000000000156013555400450020302 0ustar rootroot00000000000000# __init__.py - collection of United States numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of United States numbers.""" python-stdnum-1.13/stdnum/us/atin.py0000644000000000000000000000454113555400450017500 0ustar rootroot00000000000000# atin.py - functions for handling ATINs # # Copyright (C) 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ATIN (U.S. Adoption Taxpayer Identification Number). An Adoption Taxpayer Identification Number (ATIN) is a temporary nine-digit number issued by the United States IRS for a child for whom the adopting parents cannot obtain a Social Security Number. >>> validate('123-45-6789') '123456789' >>> validate('1234-56789') # dash in the wrong place Traceback (most recent call last): ... InvalidFormat: ... >>> format('123456789') '123-45-6789' >>> format('123') # unknown formatting is left alone '123' """ import re from stdnum.exceptions import * from stdnum.util import clean # regular expression for matching ATINs _atin_re = re.compile(r'^[0-9]{3}-?[0-9]{2}-?[0-9]{4}$') def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, '-').strip() def validate(number): """Check if the number is a valid ATIN. This checks the length and formatting if it is present.""" match = _atin_re.search(clean(number, '').strip()) if not match: raise InvalidFormat() # sadly, no more information on ATIN number validation was found return compact(number) def is_valid(number): """Check if the number is a valid ATIN.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" if len(number) == 9: number = number[:3] + '-' + number[3:5] + '-' + number[5:] return number python-stdnum-1.13/stdnum/us/itin.py0000644000000000000000000000571613555400450017515 0ustar rootroot00000000000000# itin.py - functions for handling ITINs # # Copyright (C) 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ITIN (U.S. Individual Taxpayer Identification Number). The Individual Taxpayer Identification Number is issued by the United States IRS to individuals who are required to have a taxpayer identification number but who are not eligible to obtain a Social Security Number. It is a nine-digit number that begins with the number 9 and the fourth and fifth digit are expected to be in a certain range. >>> validate('912-90-3456') '912903456' >>> validate('9129-03456') # dash in the wrong place Traceback (most recent call last): ... InvalidFormat: ... >>> validate('123-45-6789') # wrong start digit Traceback (most recent call last): ... InvalidComponent: ... >>> validate('912-93-4567') # wrong group Traceback (most recent call last): ... InvalidComponent: ... >>> compact('1234-56-789') '123456789' >>> format('111223333') '111-22-3333' >>> format('123') # unknown formatting is left alone '123' """ import re from stdnum.exceptions import * from stdnum.util import clean # regular expression for matching ITINs _itin_re = re.compile(r'^(?P[0-9]{3})-?(?P[0-9]{2})-?[0-9]{4}$') # allowed group digits _allowed_groups = set((str(x) for x in range(70, 100) if x not in (89, 93))) def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, '-').strip() def validate(number): """Check if the number is a valid ITIN. This checks the length, groups and formatting if it is present.""" match = _itin_re.search(clean(number, '').strip()) if not match: raise InvalidFormat() area = match.group('area') group = match.group('group') if area[0] != '9' or group not in _allowed_groups: raise InvalidComponent() return compact(number) def is_valid(number): """Check if the number is a valid ITIN.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" if len(number) == 9: number = number[:3] + '-' + number[3:5] + '-' + number[5:] return number python-stdnum-1.13/stdnum/grid.py0000644000000000000000000000462413555400447017053 0ustar rootroot00000000000000# grid.py - functions for handling Global Release Identifier (GRid) numbers # # Copyright (C) 2010, 2011, 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """GRid (Global Release Identifier). The Global Release Identifier is used to identify releases of digital sound recordings and uses the ISO 7064 Mod 37, 36 algorithm to verify the correctness of the number. >>> validate('A12425GABC1234002M') 'A12425GABC1234002M' >>> validate('Grid: A1-2425G-ABC1234002-M') 'A12425GABC1234002M' >>> validate('A1-2425G-ABC1234002-Q') # incorrect check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> compact('A1-2425G-ABC1234002-M') 'A12425GABC1234002M' >>> format('A12425GABC1234002M') 'A1-2425G-ABC1234002-M' """ from stdnum.exceptions import * from stdnum.util import clean def compact(number): """Convert the GRid to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').strip().upper() if number.startswith('GRID:'): number = number[5:] return number def validate(number): """Check if the number is a valid GRid.""" from stdnum.iso7064 import mod_37_36 number = compact(number) if len(number) != 18: raise InvalidLength() return mod_37_36.validate(number) def is_valid(number): """Check if the number is a valid GRid.""" try: return bool(validate(number)) except ValidationError: return False def format(number, separator='-'): """Reformat the number to the standard presentation format.""" number = compact(number) number = (number[0:2], number[2:7], number[7:17], number[17:]) return separator.join(x for x in number if x) python-stdnum-1.13/stdnum/pl/0000755000000000000000000000000013611057637016163 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/pl/pesel.py0000644000000000000000000000701113555400450017634 0ustar rootroot00000000000000# pesel.py - functions for handling Polish national identification numbers # coding: utf-8 # # Copyright (C) 2015 Dariusz Choruzy # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """PESEL (Polish national identification number). The Powszechny Elektroniczny System Ewidencji Ludności (PESEL, Universal Electronic System for Registration of the Population) is a 11-digit Polish national identification number. The number consists of the date of birth, a serial number, the person's gender and a check digit. >>> validate('44051401359') '44051401359' >>> validate('44051401358') # incorrect check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('02381307589') # invalid birth date Traceback (most recent call last): ... InvalidComponent: ... >>> get_birth_date('02122401358') datetime.date(1902, 12, 24) >>> get_gender('02122401358') 'M' >>> get_birth_date('02211307589') datetime.date(2002, 1, 13) >>> get_gender('02211307589') 'F' """ import datetime from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').upper().strip() def get_birth_date(number): """Split the date parts from the number and return the birth date.""" number = compact(number) year = int(number[0:2]) month = int(number[2:4]) day = int(number[4:6]) year += { 0: 1900, 1: 2000, 2: 2100, 3: 2200, 4: 1800, }[month // 20] month = month % 20 try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def get_gender(number): """Get the person's birth gender ('M' or 'F').""" number = compact(number) if number[9] in '02468': # even return 'F' else: # odd: 13579 return 'M' def calc_check_digit(number): """Calculate the check digit for organisations. The number passed should not have the check digit included.""" weights = (1, 3, 7, 9, 1, 3, 7, 9, 1, 3) check = sum(w * int(n) for w, n in zip(weights, number)) return str((10 - check) % 10) def validate(number): """Check if the number is a valid national identification number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 11: raise InvalidLength() if number[-1] != calc_check_digit(number[:-1]): raise InvalidChecksum() get_birth_date(number) return number def is_valid(number): """Check if the number is a valid national identification number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/pl/regon.py0000644000000000000000000000606113555400450017642 0ustar rootroot00000000000000# pesel.py - functions for handling REGON numbers # coding: utf-8 # # Copyright (C) 2015 Dariusz Choruzy # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """REGON (Rejestr Gospodarki Narodowej, Polish register of economic units). The REGON (Rejestr Gospodarki Narodowej) is a statistical identification number for businesses. National entities are assigned a 9-digit number, while local units append 5 digits to form a 14-digit number. More information: * http://bip.stat.gov.pl/en/regon/ * http://www.stat.gov.pl/bip/regon_ENG_HTML.htm * https://wyszukiwarkaregon.stat.gov.pl/appBIR/index.aspx >>> validate('192598184') '192598184' >>> validate('123456785') '123456785' >>> validate('192598183') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('12345678512347') '12345678512347' >>> validate('12345678612342') # first check digit invalid Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('12345678512348') # last check digit invalid Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').upper().strip() def calc_check_digit(number): """Calculate the check digit for organisations. The number passed should not have the check digit included.""" if len(number) == 8: weights = (8, 9, 2, 3, 4, 5, 6, 7) else: weights = (2, 4, 8, 5, 0, 9, 7, 3, 6, 1, 2, 4, 8) check = sum(w * int(n) for w, n in zip(weights, number)) return str(check % 11 % 10) def validate(number): """Check if the number is a valid REGON number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) not in (9, 14): raise InvalidLength() if number[-1] != calc_check_digit(number[:-1]): raise InvalidChecksum() if len(number) == 14 and number[8] != calc_check_digit(number[:8]): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid REGON number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/pl/nip.py0000644000000000000000000000464513555400450017324 0ustar rootroot00000000000000# nip.py - functions for handling Polish VAT numbers # # Copyright (C) 2012-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NIP (Numer Identyfikacji Podatkowej, Polish VAT number). The NIP (Numer Identyfikacji Podatkowej) number consists of 10 digit with a straightforward weighted checksum. >>> validate('PL 8567346215') '8567346215' >>> validate('PL 8567346216') # invalid check digits Traceback (most recent call last): ... InvalidChecksum: ... >>> format('PL 8567346215') '856-734-62-15' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('PL'): number = number[2:] return number def checksum(number): """Calculate the checksum.""" weights = (6, 5, 7, 2, 3, 4, 5, 6, 7, -1) return sum(w * int(n) for w, n in zip(weights, number)) % 11 def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 10: raise InvalidLength() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join((number[0:3], number[3:6], number[6:8], number[8:])) python-stdnum-1.13/stdnum/pl/__init__.py0000644000000000000000000000165413555400450020272 0ustar rootroot00000000000000# __init__.py - collection of Polish numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Polish numbers.""" # provide vat as an alias from stdnum.pl import nip as vat # noqa: F401 python-stdnum-1.13/stdnum/isbn.py0000644000000000000000000001606113555400447017057 0ustar rootroot00000000000000# isbn.py - functions for handling ISBNs # # Copyright (C) 2010-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ISBN (International Standard Book Number). The ISBN is the International Standard Book Number, used to identify publications. An ISBN is used to identify books. Numbers can either have 10 digits (in ISBN-10 format) or 13 digits (in ISBN-13, EAN compatible format). An ISBN has the following components: * 3-digit (only in ISBN-13) Bookland code * 1 to 5-digit group identifier (identifies country or language) * 1 to 7-digit publisher code * 1 to 8-digit item number (identifies the book) * a check digit More information: * https://en.wikipedia.org/wiki/International_Standard_Book_Number * https://www.isbn-international.org/range_file_generation This module also offers functions for converting to ISBN-13 and formatting based on how the number should be split into a bookland code, group identifier, publisher code, item number and check digit. >>> validate('978-9024538270') '9789024538270' >>> validate('978-9024538271') Traceback (most recent call last): ... InvalidChecksum: ... >>> compact('1-85798-218-5') '1857982185' >>> format('9780471117094') '978-0-471-11709-4' >>> format('1857982185') '1-85798-218-5' >>> isbn_type('1-85798-218-5') 'ISBN10' >>> isbn_type('978-0-471-11709-4') 'ISBN13' >>> to_isbn13('1-85798-218-5') '978-1-85798-218-3' >>> to_isbn10('978-1-85798-218-3') '1-85798-218-5' """ from stdnum import ean from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number, convert=False): """Convert the ISBN to the minimal representation. This strips the number of any valid ISBN separators and removes surrounding whitespace. If the covert parameter is True the number is also converted to ISBN-13 format.""" number = clean(number, ' -').strip().upper() if len(number) == 9: number = '0' + number if convert: return to_isbn13(number) return number def _calc_isbn10_check_digit(number): """Calculate the ISBN check digit for 10-digit numbers. The number passed should not have the check bit included.""" check = sum((i + 1) * int(n) for i, n in enumerate(number)) % 11 return 'X' if check == 10 else str(check) def validate(number, convert=False): """Check if the number provided is a valid ISBN (either a legacy 10-digit one or a 13-digit one). This checks the length and the check bit but does not check if the group and publisher are valid (use split() for that).""" number = compact(number, convert=False) if not isdigits(number[:-1]): raise InvalidFormat() if len(number) == 10: if _calc_isbn10_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() elif len(number) == 13: ean.validate(number) if number[:3] not in ('978', '979'): raise InvalidComponent() else: raise InvalidLength() if convert: number = to_isbn13(number) return number def isbn_type(number): """Check the passed number and return 'ISBN13', 'ISBN10' or None (for invalid) for checking the type of number passed.""" try: number = validate(number, convert=False) except ValidationError: return None if len(number) == 10: return 'ISBN10' else: # len(number) == 13: return 'ISBN13' def is_valid(number): """Check if the number provided is a valid ISBN (either a legacy 10-digit one or a 13-digit one). This checks the length and the check bit but does not check if the group and publisher are valid (use split() for that).""" try: return bool(validate(number)) except ValidationError: return False def to_isbn13(number): """Convert the number to ISBN-13 format.""" number = number.strip() min_number = clean(number, ' -') if len(min_number) == 13: return number # nothing to do, already ISBN-13 if len(min_number) == 9: number = '0' + number # convert from 9 to 10 digits # put new check digit in place number = number[:-1] + ean.calc_check_digit('978' + min_number[:-1]) # add prefix if ' ' in number: return '978 ' + number elif '-' in number: return '978-' + number else: return '978' + number def to_isbn10(number): """Convert the number to ISBN-10 format.""" number = number.strip() min_number = compact(number, convert=False) if len(min_number) == 10: return number # nothing to do, already ISBN-10 elif isbn_type(min_number) != 'ISBN13': raise InvalidFormat('Not a valid ISBN13.') elif not number.startswith('978'): raise InvalidComponent('Does not use 978 Bookland prefix.') # strip EAN prefix number = number[3:-1].strip().strip('-') digit = _calc_isbn10_check_digit(min_number[3:-1]) # append the new check digit if ' ' in number: return number + ' ' + digit elif '-' in number: return number + '-' + digit else: return number + digit def split(number, convert=False): """Split the specified ISBN into an EAN.UCC prefix, a group prefix, a registrant, an item number and a check-digit. If the number is in ISBN-10 format the returned EAN.UCC prefix is '978'. If the covert parameter is True the number is converted to ISBN-13 format first.""" from stdnum import numdb # clean up number number = compact(number, convert) # get Bookland prefix if any delprefix = False if len(number) == 10: number = '978' + number delprefix = True # split the number result = numdb.get('isbn').split(number[:-1]) itemnr = result.pop() if result else '' prefix = result.pop(0) if result else '' group = result.pop(0) if result else '' publisher = result.pop(0) if result else '' # return results return ('' if delprefix else prefix, group, publisher, itemnr, number[-1]) def format(number, separator='-', convert=False): """Reformat the number to the standard presentation format with the EAN.UCC prefix (if any), the group prefix, the registrant, the item number and the check-digit separated (if possible) by the specified separator. Passing an empty separator should equal compact() though this is less efficient. If the covert parameter is True the number is converted to ISBN-13 format first.""" return separator.join(x for x in split(number, convert) if x) python-stdnum-1.13/stdnum/oui.dat0000644000000000000000000323736713611053275017055 0ustar rootroot00000000000000# list of IEEE MAC Address Block registry entries # http://standards-oui.ieee.org/oui/oui.csv # http://standards-oui.ieee.org/oui28/mam.csv # http://standards-oui.ieee.org/oui36/oui36.csv 000000-000009,0000AA o="XEROX CORPORATION" 00000A o="OMRON TATEISI ELECTRONICS CO." 00000B o="MATRIX CORPORATION" 00000C,000142-000143,000163-000164,000196-000197,0001C7,0001C9,000216-000217,00023D,00024A-00024B,00027D-00027E,0002B9-0002BA,0002FC-0002FD,000331-000332,00036B-00036C,00039F-0003A0,0003E3-0003E4,0003FD-0003FE,000427-000428,00044D-00044E,00046D-00046E,00049A-00049B,0004C0-0004C1,0004DD-0004DE,000500-000501,000531-000532,00055E-00055F,000573-000574,00059A-00059B,0005DC-0005DD,000628,00062A,000652-000653,00067C,0006C1,0006D6-0006D7,0006F6,00070D-00070E,00074F-000750,00077D,000784-000785,0007B3-0007B4,0007EB-0007EC,000820-000821,00082F-000832,00087C-00087D,0008A3-0008A4,0008C2,0008E2-0008E3,000911-000912,000943-000944,00097B-00097C,0009B6-0009B7,0009E8-0009E9,000A41-000A42,000A8A-000A8B,000AB7-000AB8,000AF3-000AF4,000B45-000B46,000B5F-000B60,000B85,000BBE-000BBF,000BFC-000BFD,000C30-000C31,000C85-000C86,000CCE-000CCF,000D28-000D29,000D65-000D66,000DBC-000DBD,000DEC-000DED,000E38-000E39,000E83-000E84,000ED6-000ED7,000F23-000F24,000F34-000F35,000F8F-000F90,000FF7-000FF8,001007,00100B,00100D,001011,001014,00101F,001029,00102F,001054,001079,00107B,0010A6,0010F6,0010FF,001120-001121,00115C-00115D,001192-001193,0011BB-0011BC,001200-001201,001243-001244,00127F-001280,0012D9-0012DA,001319-00131A,00135F-001360,00137F-001380,0013C3-0013C4,00141B-00141C,001469-00146A,0014A8-0014A9,0014F1-0014F2,00152B-00152C,001562-001563,0015C6-0015C7,0015F9-0015FA,001646-001647,00169C-00169D,0016C7-0016C8,00170E-00170F,00173B,001759-00175A,001794-001795,0017DF-0017E0,001818-001819,001873-001874,0018B9-0018BA,001906-001907,00192F-001930,001955-001956,0019A9-0019AA,0019E7-0019E8,001A2F-001A30,001A6C-001A6D,001AA1-001AA2,001AE2-001AE3,001B0C-001B0D,001B2A-001B2B,001B53-001B54,001B8F-001B90,001BD4-001BD5,001C0E-001C0F,001C57-001C58,001CB0-001CB1,001CF6,001CF9,001D45-001D46,001D70-001D71,001DA1-001DA2,001DE5-001DE6,001E13-001E14,001E49-001E4A,001E79-001E7A,001EBD-001EBE,001EF6-001EF7,001F26-001F27,001F6C-001F6D,001F9D-001F9E,001FC9-001FCA,00211B-00211C,002155-002156,0021A0-0021A1,0021D7-0021D8,00220C-00220D,002255-002256,002290-002291,0022BD-0022BE,002304-002305,002333-002334,00235D-00235E,0023AB-0023AC,0023EA-0023EB,002413-002414,002450-002451,002497-002498,0024C3-0024C4,0024F7,0024F9,002545-002546,002583-002584,0025B4-0025B5,00260A-00260B,002651-002652,002698-002699,0026CA-0026CB,00270C-00270D,002790,0027E3,0029C2,002A10,002A6A,002CC8,002F5C,003019,003024,003040,003071,003078,00307B,003080,003085,003094,003096,0030A3,0030B6,0030F2,003217,00351A,0038DF,003A7D,003A98-003A9C,003C10,00400B,004096,0041D2,00425A,004268,00451D,00500B,00500F,005014,00502A,00503E,005050,005053-005054,005073,005080,0050A2,0050A7,0050BD,0050D1,0050E2,0050F0,00562B,0057D2,0059DC,005D73,005F86,006009,00602F,00603E,006047,00605C,006070,006083,0062EC,006440,006BF1,006CBC,007278,007686,00778D,007888,007E95,0081C4,008731,008764,008A96,008E73,00900C,009021,00902B,00905F,00906D,00906F,009086,009092,0090A6,0090AB,0090B1,0090BF,0090D9,0090F2,009AD2,009E1E,00A289,00A2EE,00A38E,00A3D1,00A5BF,00A6CA,00A742,00AA6E,00AF1F,00B04A,00B064,00B08E,00B0C2,00B0E1,00B1E3,00B670,00B771,00B8B3,00BC60,00BE75,00BF77,00C164,00C1B1,00C88B,00CAE5,00CCFC,00D006,00D058,00D063,00D079,00D090,00D097,00D0BA-00D0BC,00D0C0,00D0D3,00D0E4,00D0FF,00D6FE,00D78F,00DA55,00DEFB,00E014,00E01E,00E034,00E04F,00E08F,00E0A3,00E0B0,00E0F7,00E0F9,00E0FE,00E16D,00EABD,00EBD5,00EEAB,00F28B,00F663,00F82C,00FCBA,00FD22,00FEC8,042AE2,046273,046C9D,04C5A4,04DAD2,04EB40,04FE7F,081735,081FF3,084FA9,084FF9,0896AD,08CC68,08CCA7,08D09F,08ECF5,0C1167,0C2724,0C6803,0C75BD,0C8525,0CD0F8,0CD996,0CF5A4,1005CA,108CCF,10B3C6,10B3D5-10B3D6,10BD18,10F311,14169D,14A2A0,18339D,188090,188B45,188B9D,189C5D,18E728,18EF63,1C17D3,1C1D86,1C6A7A,1CAA07,1CDEA7,1CDF0F,1CE6C7,1CE85D,203706,203A07,204C9E,20BBC0,2401C7,24169D,247E12,24B657,24E9B3,2834A2,285261,286F7F,2893FE,28940F,28AC9E,28C7CE,2C01B5,2C0BE9,2C3124,2C3311,2C36F8,2C3ECF,2C3F38,2C4F52,2C542D,2C5741,2C5A0F,2C73A0,2C86D2,2CABEB,2CD02D,2CF89B,3037A6,308BB2,30E4DB,30F70D,346288,346F90,34A84E,34BDC8,34DBFD,34ED1B,34F8E7,380E4D,381C1A,382056,3890A5,38ED18,3C08F6,3C0E23,3C410E,3C510E,3C5731,3C5EC3,3CCE73,3CDF1E,40017A,405539,40A6E8,40CE24,40F4EC,4403A7,442B03,44ADD9,44D3CA,44E4D9,4C0082,4C4E35,4C710C-4C710D,4C776D,4CA64D,4CBC48,4CE175-4CE176,500604,5006AB,500F80,5017FF,501CB0,501CBF,502FA8,503DE5,5057A8,5061BF,5067AE,508789,50F722,544A00,5475D0,54781A,547C69,547FEE,5486BC,54A274,580A20,5835D9,588D09,58971E,5897BD,58AC78,58BC27,58BFEA,58F39C,5C5015,5C5AC7,5C710D,5C838F,5CA48A,5CA62D,5CE176,5CFC66,60735C,6400F1,641225,64168D,649EF3,64A0E7,64AE0C,64D814,64D989,64E950,64F69D,682C7B,683B78,6886A7,6899CD,689CE2,68BC0C,68BDAB,68CAE4,68EFBD,6C2056,6C310E,6C410E,6C416A,6C504D,6C5E3B,6C6CD3,6C710D,6C8BD3,6C9989,6C9CED,6CAB05,6CB2AE,6CDD30,6CFA89,7001B5,700B4F,700F6A,70105C,7018A7,701F53,703509,70695A,706BB9,706D15,706E6D,70708B,7079B3,707DB9,708105,70B317,70C9C6,70CA9B,70D379,70DB98,70DF2F,70E422,70EA1A,70F35A,7426AC,74860B,7488BB,74A02F,74A2E6,7802B1,780CF0,78725D,78BAF9,78BC1A,78DA6E,7C0ECE,7C210D-7C210E,7C310E,7C69F6,7C95F3,7CAD74,80E01D,80E86F,843DC6,8478AC,84802D,848A8D,84B261,84B517,84B802,881DFC,8843E1,885A92,887556,88908D,88F031,88F077,8C604F,8CB64F,94D469,9C4E20,9C57AD,9CAFCA,9CE176,A0239F,A03D6F,A0554F,A09351,A0B439,A0CF5B,A0E0AF,A0ECF9,A0F849,A40CC3,A41875,A44C11,A4530E,A45630,A46C2A,A4934C,A4B239,A4B439,A80C0D,A89D21,A8B1D4,A8B456,AC3A67,AC7E8A,ACA016,ACF2C5,ACF5E6,B000B4,B02680,B07D47,B08BCF,B0907E,B0AA77,B0FAEB,B40216,B41489,B4A4E3,B4A8B9,B4DE31,B4E9B0,B83861,B8621F,B8BEBF,BC1665,BC16F5,BC26C7,BC671C,BCC493,BCF1F2,C0255C,C0626B,C064E4,C067AF,C07BBC,C08C60,C40ACB,C4143C,C444A0,C46413,C471FE,C47295,C47D4F,C4B239,C4B36A,C4B9CD,C4C603,C4F7D5,C80084,C84C75,C89C1D,C8F9F9,CC167E,CC46D6,CC5A53,CC70ED,CC7F75-CC7F76,CC8E71,CC9070,CC9891,CCD539,CCD8C1,CCEF48,D0574C,D072DC,D0A5A6,D0C282,D0C789,D0D0FD,D0EC35,D42C44,D46A35,D46D50,D4789B,D48CB5,D4A02A,D4AD71,D4ADBD,D4C93C,D4D748,D4E880,D824BD,D867D9,D8B190,DC3979,DC7B94,DC8C37,DCA5F4,DCCEC1,DCEB94,DCF719,E00EDA,E02F6D,E05FB9,E0899D,E0ACF1,E0D173,E4AA5D,E4C722,E4D3F1,E80462,E84040,E86549,E8B748,E8BA70,E8EDF3,EC1D8B,EC3091,EC4476,ECBD1D,ECC882,ECE1A9,F02572,F02929,F07816,F07F06,F09E63,F0B2E5,F0F755,F40F1B,F41FC2,F44E05,F47F35,F4ACC1,F4BD9E,F4CFE2,F4DBE6,F4EA67,F80BCB,F80F6F,F84F57,F866F2,F872EA,F87B20,F8A5C5,F8B7E2,F8C288,FC589A,FC5B39,FC9947,FCFBFB o="Cisco Systems, Inc" 00000D o="FIBRONICS LTD." 00000E,000B5D,001742,002326,00E000,2CD444,38AFD7,502690,5C9AD8,68847E,742B62,8C736E,A06610,A8B2DA,B09928,B0ACFA,C47D46,E01877,E47FB2,FC084A o="FUJITSU LIMITED" 00000F o="NEXT, INC." 000010 o="SYTEK INC." 000011 o="NORMEREL SYSTEMES" 000012 o="INFORMATION TECHNOLOGY LIMITED" 000013 o="CAMEX" 000014 o="NETRONIX" 000015 o="DATAPOINT CORPORATION" 000016 o="DU PONT PIXEL SYSTEMS ." 000017 o="Oracle" 000018 o="WEBSTER COMPUTER CORPORATION" 000019 o="APPLIED DYNAMICS INTERNATIONAL" 00001A o="ADVANCED MICRO DEVICES" 00001B,0000D8 o="Novell, Inc." 00001C o="BELL TECHNOLOGIES" 00001D,0020D4,0060BB,00E03A,00E063 o="Cabletron Systems, Inc." 00001E o="TELSIST INDUSTRIA ELECTRONICA" 00001F,000F96,0010CA,00409F,00A012,00C0AB o="Telco Systems, Inc." 000020 o="DATAINDUSTRIER DIAB AB" 000021 o="SUREMAN COMP. & COMMUN. CORP." 000022 o="VISUAL TECHNOLOGY INC." 000023 o="ABB INDUSTRIAL SYSTEMS AB" 000024 o="CONNECT AS" 000025 o="RAMTEK CORP." 000026 o="SHA-KEN CO., LTD." 000027 o="JAPAN RADIO COMPANY" 000028 o="PRODIGY SYSTEMS CORPORATION" 000029 o="IMC NETWORKS CORP." 00002A o="TRW - SEDD/INP" 00002B o="CRISP AUTOMATION, INC" 00002C o="AUTOTOTE LIMITED" 00002D o="CHROMATICS INC" 00002E o="SOCIETE EVIRA" 00002F o="TIMEPLEX INC." 000030 o="VG LABORATORY SYSTEMS LTD" 000031,00A09B o="QPSX COMMUNICATIONS, LTD." 000032 o="Marconi plc" 000033 o="EGAN MACHINERY COMPANY" 000034 o="NETWORK RESOURCES CORPORATION" 000035 o="SPECTRAGRAPHICS CORPORATION" 000036 o="ATARI CORPORATION" 000037 o="OXFORD METRICS LIMITED" 000038 o="CSS LABS" 000039 o="TOSHIBA CORPORATION" 00003A o="CHYRON CORPORATION" 00003B o="i Controls, Inc." 00003C o="AUSPEX SYSTEMS INC." 00003D o="UNISYS" 00003E o="SIMPACT" 00003F o="SYNTREX, INC." 000040 o="APPLICON, INC." 000041 o="ICE CORPORATION" 000042 o="METIER MANAGEMENT SYSTEMS LTD." 000043 o="MICRO TECHNOLOGY" 000044 o="CASTELLE CORPORATION" 000045 o="FORD AEROSPACE & COMM. CORP." 000046 o="OLIVETTI NORTH AMERICA" 000047 o="NICOLET INSTRUMENTS CORP." 000048,0026AB,381A52,389D92,44D244,50579C,64EB8C,9CAED3,A4EE57,AC1826,B0E892,E0BB9E,F8D027 o="Seiko Epson Corporation" 000049 o="APRICOT COMPUTERS, LTD" 00004A,0080DF o="ADC CODENOLL TECHNOLOGY CORP." 00004B o="ICL DATA OY" 00004C,001697,00255C,003013,58C232,743A65,8CDF9D,D49234 o="NEC Corporation" 00004D o="DCI CORPORATION" 00004E o="AMPEX CORPORATION" 00004F o="LOGICRAFT, INC." 000050 o="RADISYS CORPORATION" 000051 o="HOB ELECTRONIC GMBH & CO. KG" 000052 o="Intrusion.com, Inc." 000053 o="COMPUCORP" 000054,001100 o="Schneider Electric" 000055 o="COMMISSARIAT A L`ENERGIE ATOM." 000056 o="DR. B. STRUCK" 000057 o="SCITEX CORPORATION LTD." 000058 o="RACORE COMPUTER PRODUCTS INC." 000059 o="Hellige GMBH" 00005A o="SysKonnect GmbH" 00005B o="ELTEC ELEKTRONIK AG" 00005C o="TELEMATICS INTERNATIONAL INC." 00005D o="CS TELECOM" 00005E o="ICANN, IANA Department" 00005F,0008F6,000BA2,001CFC,0025DC o="Sumitomo Electric Industries,Ltd" 000060 o="KONTRON ELEKTRONIK GMBH" 000061 o="GATEWAY COMMUNICATIONS" 000062 o="BULL HN INFORMATION SYSTEMS" 000063 o="BARCO CONTROL ROOMS GMBH" 000064,006041,D00AAB o="Yokogawa Digital Computer Corporation" 000065 o="Network General Corporation" 000066 o="TALARIS SYSTEMS, INC." 000067 o="SOFT * RITE, INC." 000068 o="ROSEMOUNT CONTROLS" 000069 o="CONCORD COMMUNICATIONS INC" 00006A o="COMPUTER CONSOLES INC." 00006B,080069 o="Silicon Graphics" 00006D o="CRAY COMMUNICATIONS, LTD." 00006E o="Artisoft Inc." 00006F,0000C1,000281,0080E9 o="Madge Ltd." 000070 o="HCL LIMITED" 000071 o="ADRA SYSTEMS INC." 000072 o="MINIWARE TECHNOLOGY" 000073 o="SIECOR CORPORATION" 000074 o="RICOH COMPANY LTD." 000075,000181,00025F,000342,00034B,000438,0004DC,000997,000CF7-000CF8,000E40,000E62,000EC0,000F06,000F6A,000FCD,001045,001158,0011F9,001283,00130A,001365,00140D-00140E,0014C7,001540,00159B,0015E8,001660,0016CA,001765,0017D1,0018B0,001969,0019E1,001A8F,001B25,001BBA,001C17,001C9C,001CEB,001D42,001DAF,001E1F,001E7E,001ECA,001F0A,001F46,001F9A,001FDA,0020D8,002162,0021E1,002267,00230D,002400,002443,00247F,0024B5,006038,40B2C8,5CE286,68784C,80177D,98D88C,A4218A,E02636,E8056D o="Nortel Networks" 000076 o="ABEKAS VIDEO SYSTEM" 000077 o="INTERPHASE CORPORATION" 000078 o="LABTAM LIMITED" 000079 o="NETWORTH INCORPORATED" 00007A o="DANA COMPUTER INC." 00007B o="RESEARCH MACHINES" 00007C o="AMPERE INCORPORATED" 00007D,00015D,0003BA,000782,000F4B,00104F,0010E0,001397,00144F,0020F2,002128,0021F6,00A0A4,080020,2CC260 o="Oracle Corporation" 00007E o="CLUSTRIX CORPORATION" 00007F o="LINOTYPE-HELL AG" 000080 o="CRAY COMMUNICATIONS A/S" 000081,0000A2 o="Bay Networks" 000082 o="LECTRA SYSTEMES SA" 000083 o="TADPOLE TECHNOLOGY PLC" 000084 o="SUPERNET" 000085,001E8F,00BBC1,180CAC,2C9EFC,349F7B,60128B,7438B7,74BFC0,84BA3B,888717,9C32CE,D8492F,F48139,F4A997,F80D60 o="CANON INC." 000086 o="MEGAHERTZ CORPORATION" 000087 o="HITACHI, LTD." 000088,00010F,000480,00051E,000533,000CDB,0012F2,0014C9,001BED,002438,0027F8,006069,0060DF,00E052,080088,50EB1A,609C9F,748EF8,78A6E1,889471,8C7CFF,C4F57C,CC4E24,D81FCC o="Brocade Communications Systems, Inc." 000089 o="CAYMAN SYSTEMS INC." 00008A o="DATAHOUSE INFORMATION SYSTEMS" 00008B o="INFOTRON" 00008C o="Alloy Computer Products (Australia) Pty Ltd" 00008D o="Cryptek Inc." 00008E o="SOLBOURNE COMPUTER, INC." 00008F o="Raytheon" 000090 o="MICROCOM" 000091 o="ANRITSU CORPORATION" 000092 o="COGENT DATA TECHNOLOGIES" 000093 o="PROTEON INC." 000094 o="ASANTE TECHNOLOGIES" 000095 o="SONY TEKTRONIX CORP." 000096 o="MARCONI ELECTRONICS LTD." 000097,000144,001248,001530,006048,08001B,7CC95A,8CCF09 o="Dell EMC" 000098 o="CROSSCOMM CORPORATION" 000099 o="MTX, INC." 00009A o="RC COMPUTER A/S" 00009B o="INFORMATION INTERNATIONAL, INC" 00009C o="ROLM MIL-SPEC COMPUTERS" 00009D o="LOCUS COMPUTING CORPORATION" 00009E o="MARLI S.A." 00009F o="AMERISTAR TECHNOLOGIES INC." 0000A0 o="SANYO Electric Co., Ltd." 0000A1 o="MARQUETTE ELECTRIC CO." 0000A3 o="NETWORK APPLICATION TECHNOLOGY" 0000A4 o="ACORN COMPUTERS LIMITED" 0000A5,002031,0020B3,004075,00408E,00604F,008046,009043,00908B,00A080 o="Tattile SRL" 0000A6 o="NETWORK GENERAL CORPORATION" 0000A7 o="NETWORK COMPUTING DEVICES INC." 0000A8,0004FC,00E009 o="Stratus Technologies" 0000A9 o="NETWORK SYSTEMS CORP." 0000AB o="LOGIC MODELING CORPORATION" 0000AC o="CONWARE COMPUTER CONSULTING" 0000AD o="BRUKER INSTRUMENTS INC." 0000AE o="DASSAULT ELECTRONIQUE" 0000AF o="Canberra Industries, Inc." 0000B0 o="RND-RAD NETWORK DEVICES" 0000B1 o="Alpha Micro" 0000B2 o="TELEVIDEO SYSTEMS, INC." 0000B3 o="CIMLINC INCORPORATED" 0000B4,000E2E,001F1F,0050FC,08BEAC,74DA38,801F02 o="Edimax Technology Co. Ltd." 0000B5 o="DATABILITY SOFTWARE SYS. INC." 0000B6 o="MICRO-MATIC RESEARCH" 0000B7 o="DOVE COMPUTER CORPORATION" 0000B8 o="SEIKOSHA CO., LTD." 0000B9 o="MCDONNELL DOUGLAS COMPUTER SYS" 0000BA o="SIIG, INC." 0000BB o="TRI-DATA" 0000BC,001D9C,086195,184C08,34C0F9,5C8816,E49069,F45433 o="Rockwell Automation" 0000BD o="Mitsubishi Cable Industries, Ltd. / Ryosei Systems" 0000BE o="THE NTI GROUP" 0000BF o="SYMMETRIC COMPUTER SYSTEMS" 0000C0 o="WESTERN DIGITAL CORPORATION" 0000C2 o="INFORMATION PRESENTATION TECH." 0000C3,0006EC,0017F3 o="Harris Corporation" 0000C4 o="WATERS DIV. OF MILLIPORE" 0000C5,0000CA,0003E0,0004BD,00080E,000B06,000CE5,000E5C,000F9F,000FCC,00111A,001180,0011AE,001225,00128A,0012C9,001311,001371,001404,00149A,0014E8,00152F,001596,00159A,0015A2-0015A4,0015A8,0015CE-0015D1,001626,001675,0016B5,001700,001784,0017E2,0017EE,0018A4,0018C0,00192C,00195E,0019A6,0019C0,001A1B,001A66,001A77,001AAD,001ADB,001ADE,001B52,001BDD,001C11-001C12,001CC1,001CC3,001CFB,001D6B,001DBE,001DCD-001DD6,001E46,001E5A,001E8D,001F7E,001FC4,002040,00211E,002136,002143,002180,002210,0022B4,00230B,002374-002375,002395,0023A2-0023A3,0023AF,0023ED-0023EE,002493,002495,0024A0-0024A1,0024C1,0025F1-0025F2,002636,002641-002642,0026BA,0026D9,003676,005094,0050E3,00909C,00ACE0,00D037,00D088,00E06F,044E5A,083E0C,0CB771,0CEAC9,0CF893,1005B1,105611,10868C,109397,145BD1,14ABF0,14C03E,14CFE2,14D4FE,1820D5,1835D1,189C27,18B81F,1C1448,1C1B68,203D66,207355,20E564,20F19E,20F375,240A63,287AEE,28C87A,2C1DB8,2C584F,2C7E81,2C9569,2C9924,2C9E5F,2CA17D,306023,341FE4,347A60,384C90,386BBB,38700C,3C0461,3C36E4,3C438E,3C754A,3C7A8A,3CDFA9,400D10,402B50,404C77,407009,40B7F3,40FC89,4434A7,446AB7,44AAF5,44E137,484EFC,48D343,4C1265,4C38D8,5075F1,509551,5465DE,54E2E0,5819F8,5856E8,5C571A,5C8FE0,5CB066,5CE30E,601971,608CE6,6092F5,60D248,6402CB,641269,6455B1,64ED57,6C639C,6CA604,6CC1D2,6CCA08,704FB8,705425,707630,707E43,7085C6,70B14E,745612,748A0D,74E7C6,74EAE8,74F612,7823AE,78719C,789684,7C2634,7CBFB1,8096B1,80E540,80F503,8461A0,8496D8,84BB69,84E058,8871B1,88964E,88EF16,8C09F4,8C5A25,8C5BF0,8C61A3,8C7F3B,900DCB,901ACA,903EAB,909D7D,90B134,90C792,946269,94877C,948FCF,94CCB9,94E8C5,984B4A,986B3D,98F781,98F7D7,9C3426,9CC8FC,A055DE,A0687E,A0C562,A41588,A47AA4,A49813,A4ED4E,A811FC,A8705D,A897CD,A89FEC,A8F5DD,ACB313,ACDB48,ACEC80,ACF8CC,B077AC,B083D6,B0935B,B0DAF9,B4F2E8,B81619,BC2E48,BC644B,BCCAB5,C005C2,C089AB,C0A00D,C0C522,C83FB4,C85261,C863FC,C8AA21,CC65AD,CC75E2,CC7D37,CCA462,D039B3,D0E54D,D404CD,D40598,D40AA9,D42C0F,D43FCB,D4AB82,D4B27A,D82522,DC4517,E02202,E0B70A,E0B7B1,E45740,E46449,E48399,E49F1E,E83381,E83EFC,E86D52,E8825B,E8892C,E8ED05,EC7097,ECA940,F0AF85,F0FCC8,F40E83,F80BBE,F82DC0,F87B7A,F88B37,F8A097,F8EDA5,F8F532,FC51A4,FC6FB7,FC8E7E,FCAE34 o="ARRIS Group, Inc." 0000C6 o="EON SYSTEMS" 0000C7 o="ARIX CORPORATION" 0000C8 o="ALTOS COMPUTER SYSTEMS" 0000C9,000A33,000E03,00109B,0090FA,00E0D5 o="Emulex Corporation" 0000CB o="COMPU-SHACK ELECTRONIC GMBH" 0000CC o="DENSAN CO., LTD." 0000CD o="Allied Telesis Labs Ltd" 0000CE o="MEGADATA CORP." 0000CF,0000DC o="HAYES MICROCOMPUTER PRODUCTS" 0000D0 o="DEVELCON ELECTRONICS LTD." 0000D1 o="ADAPTEC INCORPORATED" 0000D2 o="SBE, INC." 0000D3 o="WANG LABORATORIES INC." 0000D4 o="PURE DATA LTD." 0000D5 o="MICROGNOSIS INTERNATIONAL" 0000D6 o="PUNCH LINE HOLDING" 0000D7 o="DARTMOUTH COLLEGE" 0000D9 o="NIPPON TELEGRAPH & TELEPHONE" 0000DA o="ATEX" 0000DB o="British Telecommunications plc" 0000DD o="TCL INCORPORATED" 0000DE o="CETIA" 0000DF o="BELL & HOWELL PUB SYS DIV" 0000E0 o="QUADRAM CORP." 0000E1 o="GRID SYSTEMS" 0000E2 o="ACER TECHNOLOGIES CORP." 0000E3 o="INTEGRATED MICRO PRODUCTS LTD" 0000E4 o="IN2 GROUPE INTERTECHNIQUE" 0000E5 o="SIGMEX LTD." 0000E6 o="APTOR PRODUITS DE COMM INDUST" 0000E7 o="Star Gate Technologies" 0000E8 o="ACCTON TECHNOLOGY CORP." 0000E9 o="ISICAD, INC." 0000EA o="UPNOD AB" 0000EB o="MATSUSHITA COMM. IND. CO. LTD." 0000EC o="MICROPROCESS" 0000ED o="APRIL" 0000EE o="NETWORK DESIGNERS, LTD." 0000EF o="KTI" 0000F0,0007AB,001247,0012FB,001377,001599,0015B9,001632,00166B-00166C,0016DB,0017C9,0017D5,0018AF,001A8A,001B98,001C43,001D25,001DF6,001E7D,001EE1-001EE2,001FCC-001FCD,00214C,0021D1-0021D2,002339-00233A,002399,0023D6-0023D7,002454,002490-002491,0024E9,002566-002567,00265D,00265F,006F64,0073E0,007C2D,008701,00B5D0,00BF61,00C3F4,00E3B2,00F46F,00FA21,04180F,041BBA,04B1A1,04B429,04BA8D,04BDBF,04FE31,0808C2,0821EF,08373D,083D88,087808,088C2C,08AED6,08BFA0,08D42B,08ECA9,08EE8B,08FC88,08FD0E,0C1420,0C2FB0,0C715D,0C8910,0CA8A7,0CB319,0CDFA4,0CE0DC,1007B6,101DC0,103047,103B59,1077B1,1089FB,108EE0,109266,10D38A,10D542,141F78,1432D1,14568E,1489FD,1496E5,149F3C,14A364,14B484,14BB6E,14F42A,1816C9,1819D6,181EB0,182195,18227E,182666,183A2D,183F47,184617,1854CF,1867B0,188331,18895B,18E2C2,1C232C,1C3ADE,1C5A3E,1C62B8,1C66AA,1CAF05,2013E0,202D07,20326C,205531,205EF7,206E9C,20D390,20D5BF,244B03,244B81,245AB5,24920E,24C696,24DBED,24F5AA,24FCE5,2802D8,2827BF,28395E,288335,28987B,28BAB5,28CC01,2C4053,2C4401,2CAE2B,2CBABA,301966,306A85,3096FB,30C7AE,30CBF8,30CDA7,30D587,30D6C9,34145F,342D0D,343111,348A7B,34AA8B,34BE00,34C3AC,380195,380A94,380B40,3816D1,382DD1,382DE8,386A77,389496,389AF6,38D40B,38ECE4,3C0518,3C20F6,3C576C,3C5A37,3C6200,3C8BFE,3CA10D,3CBBFD,3CDCBC,3CF7A4,40163B,40D3AE,444E1A,445CE9,446D6C,44783E,44F459,48137E,4827EA,4844F7,4849C7,485169,48794D,489DD1,48C796,4C3C16,4CA56D,4CBCA5,4CDD31,5001BB,503275,503DA1,5050A4,5056BF,507705,508569,5092B9,509EA7,50A4C8,50B7C3,50C8E5,50F0D3,50F520,50FC9F,5440AD,5492BE,549B12,54B802,54BD79,54F201,54FA3E,54FCF0,58B10F,58C38B,58C5CB,5C2E59,5C3C27,5C497D,5C5181,5C865C,5C9960,5CC1D7,5CCB99,5CE8EB,5CF6DC,60684E,606BBD,6077E2,608E08,608F5C,60A10A,60A4D0,60AF6D,60C5AD,60D0A9,641CAE,641CB0,646CB2,647791,647BCE,6489F1,64B310,64B853,680571,682737,684898,685ACF,687D6B,68BFC4,68E7C2,68EBAE,6C006B,6C2F2C,6C8336,6CB7F4,6CDDBC,6CF373,701F3C,70288B,702AD5,705AAC,70CE8C,70F927,70FD46,74458A,749EF5,74EB80,78009E,781FDB,782327,7825AD,7840E4,78471D,78521A,78595E,789ED0,78A873,78ABBB,78BDBC,78C3E9,78F7BE,7C0BC6,7C1C68,7C2302,7C2EDD,7C38AD,7C6456,7C787E,7C8956,7C8BB5,7C9122,7CF854,7CF90E,8018A7,8020FD,8031F0,804E70,804E81,805719,80656D,807B3E,8086D9,80CEB9,84119E,8425DB,842E27,845181,8455A5,849866,84A466,84B541,84C0EF,88299C,887598,888322,889B39,889F6F,88A303,88ADD2,88BD45,8C1ABF,8C71F8,8C7712,8C79F5,8C83E1,8CBFA6,8CC8CD,8CE5C0,9000DB,900628,90633B,9097F3,90B144,90F1AA,9401C2,942DDC,94350A,945103,9463D1,9476B7,947BE7,948BC1,94B10A,94D771,981DFA,98398E,9852B1,988389,9C0298,9C2A83,9C3AAF,9C65B0,9C8C6E,9CA513,9CD35B,9CE063,9CE6E7,A00798,A01081,A02195,A06090,A07591,A0821F,A0AC69,A0B4A5,A0CBFD,A407B6,A4307A,A46CF1,A48431,A49A58,A4D990,A4EBD3,A80600,A816D0,A82BB9,A8346A,A8515B,A87C01,A88195,A887B3,A89FBA,A8F274,AC3613,AC5A14,ACAFB9,ACC33A,ACEE9E,B047BF,B06FE0,B0C4E7,B0C559,B0D09C,B0DF3A,B0EC71,B41A1D,B43A28,B46293,B47443,B4BFF6,B4CE40,B4EF39,B857D8,B85A73,B85E7B,B86CE8,B8BBAF,B8BC5B,B8C68E,B8D9CE,BC1485,BC20A4,BC4486,BC4760,BC5451,BC72B1,BC765E,BC79AD,BC7ABF,BC851F,BCA58B,BCB1F3,BCD11F,BCE63F,C01173,C0174D,C048E6,C06599,C087EB,C08997,C0BDC8,C0D2DD,C0D3C0,C0DCDA,C44202,C45006,C4576E,C462EA,C4731E,C488E5,C493D9,C4AE12,C81479,C819F7,C83870,C87E75,C8A823,C8D7B0,CC051B,CC07AB,CC2119,CC464E,CC6EA4,CCB11A,CCF9E8,CCFE3C,D003DF,D0176A,D03169,D059E4,D0667B,D07FA0,D087E2,D0B128,D0C1B1,D0DFC7,D0FCCC,D411A3,D47AE2,D487D8,D48890,D48A39,D49DC0,D4AE05,D4E6B7,D4E8B2,D80831,D80B9A,D831CF,D85575,D857EF,D85B2A,D868C3,D890E8,D8C4E9,D8E0E1,DC44B6,DC6672,DC74A8,DC8983,DCCF96,DCDCE2,DCF756,E09971,E0AA96,E0CBEE,E0D083,E0DB10,E4121D,E432CB,E440E2,E458B8,E458E7,E45D75,E47CF9,E47DBD,E492FB,E4B021,E4E0C5,E4F3C4,E4F8EF,E4FAED,E8039A,E81132,E83A12,E84E84,E89309,E8B4C8,E8E5D6,EC107B,ECAA25,ECE09B,F008F1,F05A09,F05B7B,F06BCA,F0728C,F08A76,F0E77E,F0EE10,F40E22,F4428F,F47190,F47B5E,F47DEF,F49F54,F4C248,F4D9FB,F4FEFB,F83F51,F877B8,F884F2,F8D0BD,F8E61A,F8F1E6,FC039F,FC1910,FC4203,FC643A,FC8F90,FCA13E,FCA621,FCAAB6,FCC734,FCDE90,FCF136 o="Samsung Electronics Co.,Ltd" 0000F1 o="MAGNA COMPUTER CORPORATION" 0000F2 o="SPIDER COMMUNICATIONS" 0000F3 o="GANDALF DATA LIMITED" 0000F4,001577,E01AEA,ECCD6D o="Allied Telesis, Inc." 0000F5 o="DIAMOND SALES LIMITED" 0000F6 o="APPLIED MICROSYSTEMS CORP." 0000F7 o="YOUTH KEEP ENTERPRISE CO LTD" 0000F8,0001FE,0010FE,08002B,AA0000-AA0004 o="DIGITAL EQUIPMENT CORPORATION" 0000F9 o="QUOTRON SYSTEMS INC." 0000FA o="MICROSAGE COMPUTER SYSTEMS INC" 0000FB o="RECHNER ZUR KOMMUNIKATION" 0000FC o="MEIKO" 0000FD o="HIGH LEVEL HARDWARE" 0000FE o="Annapolis Micro Systems, Inc." 0000FF o="CAMTEC ELECTRONICS LTD." 000100 o="EQUIP'TRANS" 000102-000103,00029C,000475-000476,00068C,000A5E,00104B,00105A,0020AF,002654,005004,0050DA,006008,00608C,006097,00A024,00D0D8,02608C,02C08C o="3COM" 000104 o="DVICO Co., Ltd." 000105 o="Beckhoff Automation GmbH" 000106 o="Tews Datentechnik GmbH" 000107 o="Leiser GmbH" 000108 o="AVLAB Technology, Inc." 000109 o="Nagano Japan Radio Co., Ltd." 00010A,002018 o="CIS TECHNOLOGY INC." 00010B o="Space CyberLink, Inc." 00010C o="System Talks Inc." 00010D o="Teledyne DALSA Inc." 00010E o="Bri-Link Technologies Co., Ltd" 000110 o="Gotham Networks" 000111 o="iDigm Inc." 000112 o="Shark Multimedia Inc." 000113 o="OLYMPUS CORPORATION" 000114 o="KANDA TSUSHIN KOGYO CO., LTD." 000115 o="EXTRATECH CORPORATION" 000116 o="Netspect Technologies, Inc." 000117,0026E4 o="Canal +" 000118 o="EZ Digital Co., Ltd." 000119 o="RTUnet (Australia)" 00011A o="Hoffmann und Burmeister GbR" 00011B o="Unizone Technologies, Inc." 00011C o="Universal Talkware Corporation" 00011D o="Centillium Communications" 00011E o="Precidia Technologies, Inc." 00011F o="RC Networks, Inc." 000120 o="OSCILLOQUARTZ S.A." 000121,00907F o="WatchGuard Technologies, Inc." 000122 o="Trend Communications, Ltd." 000123 o="Schneider Electric Japan Holdings Ltd." 000124 o="Acer Incorporated" 000125 o="YAESU MUSEN CO., LTD." 000126 o="PAC Labs" 000127 o="OPEN Networks Pty Ltd" 000128 o="EnjoyWeb, Inc." 000129 o="DFI Inc." 00012A o="Telematica Sistems Inteligente" 00012B o="TELENET Co., Ltd." 00012C o="Aravox Technologies, Inc." 00012D o="Komodo Technology" 00012E o="PC Partner Ltd." 00012F o="Twinhead International Corp" 000130,000496,00E02B,209EF7,489BD5,5C0E8B,7467F7,887E25,949B2C,A4EA8E,B42D56,B4C799,B85001,D88466,DCB808,F46E95,FC0A81 o="Extreme Networks, Inc." 000131 o="Bosch Security Systems, Inc." 000132 o="Dranetz - BMI" 000133 o="KYOWA Electronic Instruments C" 000134 o="Selectron Systems AG" 000135 o="KDC Corp." 000136,0045E2,0090A2,283926,6014B3,702559,784561,B0FC36,C83DD4 o="CyberTAN Technology Inc." 000137 o="IT Farm Corporation" 000138,E09153 o="XAVi Technologies Corp." 000139 o="Point Multimedia Systems" 00013A o="SHELCAD COMMUNICATIONS, LTD." 00013B o="BNA SYSTEMS" 00013C o="TIW SYSTEMS" 00013D o="RiscStation Ltd." 00013E o="Ascom Tateco AB" 00013F o="Neighbor World Co., Ltd." 000140 o="Sendtek Corporation" 000141 o="CABLE PRINT" 000145 o="WINSYSTEMS, INC." 000146 o="Tesco Controls, Inc." 000147,000271 o="Zhone Technologies" 000148 o="X-traWeb Inc." 000149 o="TDT AG" 00014A,0013A9,001A80,001DBA,0024BE,045D4B,080046,104FA8,30F9ED,3C0771,544249,5453ED,78843C,AC9B0A,D8D43C,F0BF97,FCF152 o="Sony Corporation" 00014B o="Ennovate Networks, Inc." 00014C o="Berkeley Process Control" 00014D o="Shin Kin Enterprises Co., Ltd" 00014E o="WIN Enterprises, Inc." 00014F,001992,002445,00A0C8 o="Adtran Inc" 000150 o="GILAT COMMUNICATIONS, LTD." 000151 o="Ensemble Communications" 000152 o="CHROMATEK INC." 000153 o="ARCHTEK TELECOM CORPORATION" 000154 o="G3M Corporation" 000155 o="Promise Technology, Inc." 000156 o="FIREWIREDIRECT.COM, INC." 000157 o="SYSWAVE CO., LTD" 000158 o="Electro Industries/Gauge Tech" 000159 o="S1 Corporation" 00015A o="Digital Video Broadcasting" 00015B,0090AE o="ITALTEL S.p.A/RF-UP-I" 00015C o="CADANT INC." 00015E o="BEST TECHNOLOGY CO., LTD." 00015F o="DIGITAL DESIGN GmbH" 000160 o="ELMEX Co., LTD." 000161 o="Meta Machine Technology" 000162 o="Cygnet Technologies, Inc." 000165 o="AirSwitch Corporation" 000166 o="TC GROUP A/S" 000167,00C09C o="HIOKI E.E. CORPORATION" 000168 o="VITANA CORPORATION" 000169 o="Celestix Networks Pte Ltd." 00016A o="ALITEC" 00016B o="LightChip, Inc." 00016C,001558 o="FOXCONN" 00016D o="CarrierComm Inc." 00016E o="Conklin Corporation" 00016F o="Inkel Corp." 000170 o="ESE Embedded System Engineer'g" 000171 o="Allied Data Technologies" 000172 o="TechnoLand Co., LTD." 000173 o="AMCC" 000174 o="CyberOptics Corporation" 000175 o="Radiant Communications Corp." 000176 o="Orient Silver Enterprises" 000177 o="EDSL" 000178 o="MARGI Systems, Inc." 000179 o="WIRELESS TECHNOLOGY, INC." 00017A o="Chengdu Maipu Electric Industrial Co., Ltd." 00017B o="Heidelberger Druckmaschinen AG" 00017C o="AG-E GmbH" 00017D o="ThermoQuest" 00017E o="ADTEK System Science Co., Ltd." 00017F o="Experience Music Project" 000180 o="AOpen, Inc." 000182 o="DICA TECHNOLOGIES AG" 000183 o="ANITE TELECOMS" 000184 o="SIEB & MEYER AG" 000185 o="Hitachi Aloka Medical, Ltd." 000186 o="Uwe Disch" 000187 o="I2SE GmbH" 000188 o="LXCO Technologies ag" 000189 o="Refraction Technology, Inc." 00018A o="ROI COMPUTER AG" 00018B o="NetLinks Co., Ltd." 00018C o="Mega Vision" 00018D o="AudeSi Technologies" 00018E,3495DB o="Logitec Corporation" 00018F o="Kenetec, Inc." 000190 o="SMK-M" 000191 o="SYRED Data Systems" 000192 o="Texas Digital Systems" 000193 o="Hanbyul Telecom Co., Ltd." 000194 o="Capital Equipment Corporation" 000195 o="Sena Technologies, Inc." 000198 o="Darim Vision" 000199 o="HeiSei Electronics" 00019A o="LEUNIG GmbH" 00019B o="Kyoto Microcomputer Co., Ltd." 00019C o="JDS Uniphase Inc." 00019D o="E-Control Systems, Inc." 00019E o="ESS Technology, Inc." 00019F o="ReadyNet" 0001A0 o="Infinilink Corporation" 0001A1 o="Mag-Tek, Inc." 0001A2 o="Logical Co., Ltd." 0001A3 o="GENESYS LOGIC, INC." 0001A4 o="Microlink Corporation" 0001A5 o="Nextcomm, Inc." 0001A6 o="Scientific-Atlanta Arcodan A/S" 0001A7,0010A7 o="UNEX TECHNOLOGY CORPORATION" 0001A8 o="Welltech Computer Co., Ltd." 0001A9 o="BMW AG" 0001AA o="Airspan Communications, Ltd." 0001AB o="Main Street Networks" 0001AC o="Sitara Networks, Inc." 0001AD o="Coach Master International d.b.a. CMI Worldwide, Inc." 0001AE o="Trex Enterprises" 0001AF,00060B,0008F9,008042,00C0F9,00E035,D8973B,EC9ECD o="Artesyn Embedded Technologies" 0001B0 o="Fulltek Technology Co., Ltd." 0001B1 o="General Bandwidth" 0001B2 o="Digital Processing Systems, Inc." 0001B3 o="Precision Electronic Manufacturing" 0001B4 o="Wayport, Inc." 0001B5 o="Turin Networks, Inc." 0001B6 o="SAEJIN T&M Co., Ltd." 0001B7 o="Centos, Inc." 0001B8 o="Netsensity, Inc." 0001B9 o="SKF (U.K.) Limited" 0001BA o="IC-Net, Inc." 0001BB o="Frequentis" 0001BC o="Brains Corporation" 0001BD o="Peterson Electro-Musical Products, Inc." 0001BE o="Gigalink Co., Ltd." 0001BF o="Teleforce Co., Ltd." 0001C0 o="CompuLab, Ltd." 0001C1 o="Vitesse Semiconductor Corporation" 0001C2 o="ARK Research Corp." 0001C3 o="Acromag, Inc." 0001C4 o="NeoWave, Inc." 0001C5 o="Simpler Networks" 0001C6 o="Quarry Technologies" 0001C8 o="CONRAD CORP." 0001C8 o="THOMAS CONRAD CORP." 0001CA o="Geocast Network Systems, Inc." 0001CB o="EVR" 0001CC o="Japan Total Design Communication Co., Ltd." 0001CD o="ARtem" 0001CE o="Custom Micro Products, Ltd." 0001CF o="Alpha Data Parallel Systems, Ltd." 0001D0 o="VitalPoint, Inc." 0001D1 o="CoNet Communications, Inc." 0001D2 o="inXtron, Inc." 0001D3 o="PAXCOMM, Inc." 0001D4 o="Leisure Time, Inc." 0001D5 o="HAEDONG INFO & COMM CO., LTD" 0001D6 o="manroland AG" 0001D7,000A49,0023E9,0094A1,F41563 o="F5 Networks, Inc." 0001D8 o="Teltronics, Inc." 0001D9 o="Sigma, Inc." 0001DA o="WINCOMM Corporation" 0001DB o="Freecom Technologies GmbH" 0001DC o="Activetelco" 0001DD o="Avail Networks" 0001DE o="Trango Systems, Inc." 0001DF o="ISDN Communications, Ltd." 0001E0 o="Fast Systems, Inc." 0001E1,DCD255 o="Kinpo Electronics, Inc." 0001E2 o="Ando Electric Corporation" 0001E3,000BA3,000E8C,10DFFC,286336,40ECF8,883F99,AC6417 o="Siemens AG" 0001E4 o="Sitera, Inc." 0001E5 o="Supernet, Inc." 0001E6-0001E7,0002A5,0004EA,000802,000883,0008C7,000A57,000BCD,000D9D,000E7F,000EB3,000F20,000F61,001083,0010E3,00110A,001185,001279,001321,0014C2,001560,001635,001708,0017A4,001871,0018FE,0019BB,001A4B,001B78,001CC4,001E0B,001F29,00215A,002264,00237D,002481,0025B3,002655,00306E,0030C1,00508B,0060B0,00805F,0080A0,009C02,080009,082E5F,101F74,10604B,1062E5,10E7C6,1458D0,186024,18A905,1CC1DE,24BE05,288023,28924A,2C233A,2C27D7,2C4138,2C44FD,2C59E5,2C768A,308D99,30E171,3464A9,3863BB,38EAA7,3C4A92,3C5282,3CA82A,3CD92B,40A8F0,40B034,441EA1,443192,480FCF,48BA4E,5065F3,5820B1,5C8A38,5CB901,643150,645106,68B599,6C3BE5,6CC217,705A0F,7446A0,784859,78ACC0,78E3B5,78E7D1,80C16E,80CE62,80E82C,843497,84A93E,8851FB,8CDCD4,9457A5,984BE1,98E7F4,9C7BEF,9C8E99,9CB654,A01D48,A02BB8,A0481C,A08CFD,A0B3CC,A0D3C1,A45D36,AC162D,ACE2D3,B00CD1,B05ADA,B499BA,B4B52F,B4B686,B8AF67,BCEAFA,C4346B,C46516,C8CBB8,C8D3FF,C8D9D2,CC3E5F,D07E28,D0BF9C,D48564,D4C9EF,D89D67,D8D385,DC4A3E,E4115B,E4E749,E83935,EC8EB5,EC9A74,ECB1D7,F0921C,F430B9,F43909,F4CE46,F8B46A,FC15B4,FC3FDB o="Hewlett Packard" 0001E8 o="Force10 Networks, Inc." 0001E9 o="Litton Marine Systems B.V." 0001EA o="Cirilium Corp." 0001EB o="C-COM Corporation" 0001EC,008037 o="Ericsson Group" 0001ED o="SETA Corp." 0001EE o="Comtrol Europe, Ltd." 0001EF o="Camtel Technology Corp." 0001F0 o="Tridium, Inc." 0001F1 o="Innovative Concepts, Inc." 0001F2 o="Mark of the Unicorn, Inc." 0001F3 o="QPS, Inc." 0001F4,001188,001F45,20B399 o="Enterasys" 0001F5 o="ERIM S.A." 0001F6 o="Association of Musical Electronics Industry" 0001F7 o="Image Display Systems, Inc." 0001F8,0010F8 o="TEXIO TECHNOLOGY CORPORATION" 0001F9 o="TeraGlobal Communications Corp." 0001FA o="HOROSCAS" 0001FB o="DoTop Technology, Inc." 0001FC o="Keyence Corporation" 0001FD o="Digital Voice Systems, Inc." 0001FF o="Data Direct Networks, Inc." 000200 o="Net & Sys Co., Ltd." 000201 o="IFM Electronic gmbh" 000202 o="Amino Communications, Ltd." 000203 o="Woonsang Telecom, Inc." 000204 o="Bodmann Industries Elektronik GmbH" 000205 o="Hitachi Denshi, Ltd." 000206 o="Telital R&D Denmark A/S" 000207 o="VisionGlobal Network Corp." 000208 o="Unify Networks, Inc." 000209 o="Shenzhen SED Information Technology Co., Ltd." 00020A o="Gefran Spa" 00020B o="Native Networks, Inc." 00020C o="Metro-Optix" 00020D o="Micronpc.com" 00020E,00065F,0016FA,00208F,30C507,F854AF o="ECI Telecom Ltd." 00020F o="AATR" 000210 o="Fenecom" 000211 o="Nature Worldwide Technology Corp." 000212 o="SierraCom" 000213 o="S.D.E.L." 000214 o="DTVRO" 000215 o="Cotas Computer Technology A/B" 000218 o="Advanced Scientific Corp" 000219 o="Paralon Technologies" 00021A o="Zuma Networks" 00021B o="Kollmorgen-Servotronix" 00021C o="Network Elements, Inc." 00021D o="Data General Communication Ltd." 00021E o="SIMTEL S.R.L." 00021F o="Aculab PLC" 000220 o="CANON FINETECH INC." 000221 o="DSP Application, Ltd." 000222 o="Chromisys, Inc." 000223 o="ClickTV" 000224 o="C-COR" 000225 o="One Stop Systems" 000226 o="XESystems, Inc." 000227 o="ESD Electronic System Design GmbH" 000228 o="Necsom, Ltd." 000229 o="Adtec Corporation" 00022A o="Asound Electronic" 00022B,0020C1 o="SAXA, Inc." 00022C o="ABB Bomem, Inc." 00022D,00053D o="Agere Systems" 00022E o="TEAC Corp. R& D" 00022F o="P-Cube, Ltd." 000230 o="Intersoft Electronics" 000231 o="Ingersoll-Rand" 000232 o="Avision, Inc." 000233 o="Mantra Communications, Inc." 000234 o="Imperial Technology, Inc." 000235 o="Paragon Networks International" 000236 o="INIT GmbH" 000237 o="Cosmo Research Corp." 000238 o="Serome Technology, Inc." 000239 o="Visicom" 00023A o="ZSK Stickmaschinen GmbH" 00023B,000D67,001067,0015E0,003088,D0F0DB o="Ericsson" 00023C o="Creative Technology, Ltd." 00023E o="Selta Telematica S.p.a" 00023F,000FB0 o="Compal Electronics INC." 000240 o="Seedek Co., Ltd." 000241 o="Amer.com" 000242 o="Videoframe Systems" 000243 o="Raysis Co., Ltd." 000244 o="SURECOM Technology Co." 000245 o="Lampus Co, Ltd." 000246 o="All-Win Tech Co., Ltd." 000247 o="Great Dragon Information Technology (Group) Co., Ltd." 000248 o="Pilz GmbH & Co." 000249 o="Aviv Infocom Co, Ltd." 00024C o="SiByte, Inc." 00024D o="Mannesman Dematic Colby Pty. Ltd." 00024E o="Datacard Group" 00024F o="IPM Datacom S.R.L." 000250 o="Geyser Networks, Inc." 000251 o="Soma Networks, Inc." 000252 o="Carrier Corporation" 000253 o="Televideo, Inc." 000254 o="WorldGate" 000255,0004AC,000629,00096B,000D60,001125,00145E,0017EF,0018B1,001A64,002035,00215E,002200,002503,005076,006094,08005A,0817F4,10005A,5CF3FC,E41F13,FCCF62 o="IBM Corp" 000256 o="Alpha Processor, Inc." 000257 o="Microcom Corp." 000258 o="Flying Packets Communications" 000259 o="Tsann Kuen China (Shanghai)Enterprise Co., Ltd. IT Group" 00025A o="Catena Networks" 00025B o="Cambridge Silicon Radio" 00025C o="SCI Systems (Kunshan) Co., Ltd." 00025D o="Calix Networks" 00025E o="High Technology Ltd" 000260 o="Accordion Networks, Inc." 000261,64209F o="Tilgin AB" 000262 o="Soyo Group Soyo Com Tech Co., Ltd" 000263 o="UPS Manufacturing SRL" 000264 o="AudioRamp.com" 000265 o="Virditech Co. Ltd." 000266 o="Thermalogic Corporation" 000267 o="NODE RUNNER, INC." 000268 o="Harris Government Communications" 000269 o="Nadatel Co., Ltd" 00026A o="Cocess Telecom Co., Ltd." 00026B o="BCM Computers Co., Ltd." 00026C o="Philips CFT" 00026D o="Adept Telecom" 00026E o="NeGeN Access, Inc." 00026F o="Senao International Co., Ltd." 000270 o="Crewave Co., Ltd." 000272 o="CC&C Technologies, Inc." 000273 o="Coriolis Networks" 000274 o="Tommy Technologies Corp." 000275 o="SMART Technologies, Inc." 000276,001CEF,380DD4,98FDB4,F065DD o="Primax Electronics Ltd." 000277 o="Cash Systemes Industrie" 000278,002119,002637,206432,38AA3C,50CCF8,5C0A5B,5CA39D,78D6F0,840B2D,90187C,980C82,A00BBA,A8CAB9,B407F9,CC3A61,DC7144,FC1F19 o="SAMSUNG ELECTRO MECHANICS CO., LTD." 000279 o="Control Applications, Ltd." 00027A o="IOI Technology Corporation" 00027B o="Amplify Net, Inc." 00027C o="Trilithic, Inc." 00027F o="ask-technologies.com" 000280 o="Mu Net, Inc." 000282 o="ViaClix, Inc." 000283 o="Spectrum Controls, Inc." 000284 o="UK Grid Solutions Limited" 000285 o="Riverstone Networks" 000286 o="Occam Networks" 000287 o="Adapcom" 000288,002088 o="GLOBAL VILLAGE COMMUNICATION" 000289 o="DNE Technologies" 00028A,000E9B o="Ambit Microsystems Corporation" 00028B o="VDSL Systems OY" 00028C o="Micrel-Synergy Semiconductor" 00028D o="Movita Technologies, Inc." 00028E o="Rapid 5 Networks, Inc." 00028F o="Globetek, Inc." 000290 o="Woorigisool, Inc." 000291 o="Open Network Co., Ltd." 000292 o="Logic Innovations, Inc." 000293 o="Solid Data Systems" 000294 o="Tokyo Sokushin Co., Ltd." 000295 o="IP.Access Limited" 000296 o="Lectron Co,. Ltd." 000297 o="C-COR.net" 000298 o="Broadframe Corporation" 000299 o="Apex, Inc." 00029A o="Storage Apps" 00029B o="Kreatel Communications AB" 00029D o="Merix Corp." 00029E o="Information Equipment Co., Ltd." 00029F o="L-3 Communication Aviation Recorders" 0002A0 o="Flatstack Ltd." 0002A1 o="World Wide Packets" 0002A2 o="Hilscher GmbH" 0002A3 o="ABB Switzerland Ltd, Power Systems" 0002A4 o="AddPac Technology Co., Ltd." 0002A6 o="Effinet Systems Co., Ltd." 0002A7 o="Vivace Networks" 0002A8 o="Air Link Technology" 0002A9 o="RACOM, s.r.o." 0002AA o="PLcom Co., Ltd." 0002AB o="CTC Union Technologies Co., Ltd." 0002AC o="3PAR data" 0002AD o="HOYA Corporation" 0002AE o="Scannex Electronics Ltd." 0002AF o="TeleCruz Technology, Inc." 0002B0 o="Hokubu Communication & Industrial Co., Ltd." 0002B1 o="Anritsu, Ltd." 0002B2 o="Cablevision" 0002B3,000347,000423,0007E9,000CF1,000E0C,000E35,001111,001175,00207B,0050F1,009027,00A0C9,00AA00-00AA02,00D0B7 o="Intel Corporation" 0002B4 o="DAPHNE" 0002B5 o="Avnet, Inc." 0002B6 o="Acrosser Technology Co., Ltd." 0002B7 o="Watanabe Electric Industry Co., Ltd." 0002B8 o="WHI KONSULT AB" 0002BB o="Continuous Computing Corp" 0002BC o="LVL 7 Systems, Inc." 0002BD o="Bionet Co., Ltd." 0002BE o="Totsu Engineering, Inc." 0002BF o="dotRocket, Inc." 0002C0 o="Bencent Tzeng Industry Co., Ltd." 0002C1 o="Innovative Electronic Designs, Inc." 0002C2 o="Net Vision Telecom" 0002C3 o="Arelnet Ltd." 0002C4 o="Vector International BVBA" 0002C5 o="Evertz Microsystems Ltd." 0002C6 o="Data Track Technology PLC" 0002C7,0006F5,0006F7,000704,0016FE,0019C1,001BFB,001E3D,00214F,002306,002433,002643,04766E,0498F3,28A183,30C3D9,34C731,38C096,48F07B,5816D7,60380E,64D4BD,7495EC,9C8D7C,AC7A4D,B4EC02,BC428C,BC7536,E0750A,E0AE5E,FC62B9 o="ALPS ELECTRIC CO., LTD." 0002C8 o="Technocom Communications Technology (pte) Ltd" 0002C9,00258B,043F72,08C0EB,0C42A1,1C34DA,248A07,506B4B,7CFE90,98039B,B8599F,B8CEF6,E41D2D,EC0D9A,F45214 o="Mellanox Technologies, Inc." 0002CA o="EndPoints, Inc." 0002CB o="TriState Ltd." 0002CC o="M.C.C.I" 0002CD o="TeleDream, Inc." 0002CE o="FoxJet, Inc." 0002CF o="ZyGate Communications, Inc." 0002D0 o="Comdial Corporation" 0002D1 o="Vivotek, Inc." 0002D2 o="Workstation AG" 0002D3 o="NetBotz, Inc." 0002D4 o="PDA Peripherals, Inc." 0002D5 o="ACR" 0002D6 o="NICE Systems" 0002D7 o="EMPEG Ltd" 0002D8 o="BRECIS Communications Corporation" 0002D9 o="Reliable Controls" 0002DA o="ExiO Communications, Inc." 0002DB o="NETSEC" 0002DC o="Fujitsu General Limited" 0002DD o="Bromax Communications, Ltd." 0002DE o="Astrodesign, Inc." 0002DF o="Net Com Systems, Inc." 0002E0 o="ETAS GmbH" 0002E1 o="Integrated Network Corporation" 0002E2 o="NDC Infared Engineering" 0002E3 o="LITE-ON Communications, Inc." 0002E4 o="JC HYUN Systems, Inc." 0002E5 o="Timeware Ltd." 0002E6 o="Gould Instrument Systems, Inc." 0002E7 o="CAB GmbH & Co KG" 0002E8 o="E.D.&A." 0002E9 o="CS Systemes De Securite - C3S" 0002EA o="Focus Enhancements" 0002EB o="Pico Communications" 0002EC o="Maschoff Design Engineering" 0002ED o="DXO Telecom Co., Ltd." 0002EE,000EED,00119F,001262,001370,0013FD,0014A7,0015A0,0015DE,00164E,0016BC,00174B,0017B0,00180F,001842,00188D,0018C5,00194F,001979,0019B7,001A16,001A89,001ADC,001B33,001BAF,001BEE,001C35,001C9A,001CD4,001CD6,001D3B,001D6E,001D98,001DE9,001DFD,001E3A-001E3B,001EA3-001EA4,001F00-001F01,001F5C-001F5D,001FDE-001FDF,002108-002109,0021AA-0021AB,0021FC,0021FE,002265-002266,0022FC-0022FD,0023B4,002403-002404,00247C-00247D,002547-002548,0025CF-0025D0,002668-002669,0026CC,1886AC,347E39,9C1874,A87E33,C038F9 o="Nokia Danmark A/S" 0002EF o="CCC Network Systems Group Ltd." 0002F0 o="AME Optimedia Technology Co., Ltd." 0002F1 o="Pinetron Co., Ltd." 0002F2 o="eDevice, Inc." 0002F3 o="Media Serve Co., Ltd." 0002F4 o="PCTEL, Inc." 0002F5 o="VIVE Synergies, Inc." 0002F6 o="Equipe Communications" 0002F7 o="ARM" 0002F8 o="SEAKR Engineering, Inc." 0002F9 o="MIMOS Berhad" 0002FA o="DX Antenna Co., Ltd." 0002FB o="Baumuller Aulugen-Systemtechnik GmbH" 0002FE o="Viditec, Inc." 0002FF o="Handan BroadInfoCom" 000300 o="Barracuda Networks, Inc." 000301 o="EXFO" 000302,00055B o="Charles Industries, Ltd." 000303 o="JAMA Electronics Co., Ltd." 000304 o="Pacific Broadband Communications" 000305 o="MSC Vertriebs GmbH" 000306 o="Fusion In Tech Co., Ltd." 000307 o="Secure Works, Inc." 000308 o="AM Communications, Inc." 000309 o="Texcel Technology PLC" 00030A o="Argus Technologies" 00030B o="Hunter Technology, Inc." 00030C o="Telesoft Technologies Ltd." 00030D o="Uniwill Computer Corp." 00030E o="Core Communications Co., Ltd." 00030F o="Digital China (Shanghai) Networks Ltd." 000310 o="E-Globaledge Corporation" 000311 o="Micro Technology Co., Ltd." 000312 o="TRsystems GmbH" 000313 o="Access Media SPA" 000314 o="Teleware Network Systems" 000315 o="Cidco Incorporated" 000316 o="Nobell Communications, Inc." 000317 o="Merlin Systems, Inc." 000318 o="Cyras Systems, Inc." 000319 o="Infineon AG" 00031A o="Beijing Broad Telecom Ltd., China" 00031B o="Cellvision Systems, Inc." 00031C o="Svenska Hardvarufabriken AB" 00031D o="Taiwan Commate Computer, Inc." 00031E o="Optranet, Inc." 00031F o="Condev Ltd." 000320 o="Xpeed, Inc." 000321 o="Reco Research Co., Ltd." 000322 o="IDIS Co., Ltd." 000323 o="Cornet Technology, Inc." 000324 o="SANYO Consumer Electronics Co., Ltd." 000325 o="Arima Computer Corp." 000326 o="Iwasaki Information Systems Co., Ltd." 000327 o="ACT'L" 000328 o="Mace Group, Inc." 000329 o="F3, Inc." 00032A o="UniData Communication Systems, Inc." 00032B o="GAI Datenfunksysteme GmbH" 00032C o="ABB Switzerland Ltd" 00032D o="IBASE Technology, Inc." 00032E o="Scope Information Management, Ltd." 00032F o="Global Sun Technology, Inc." 000330 o="Imagenics, Co., Ltd." 000333 o="Digitel Co., Ltd." 000334 o="Newport Electronics" 000335 o="Mirae Technology" 000336 o="Zetes Technologies" 000337 o="Vaone, Inc." 000338 o="Oak Technology" 000339 o="Eurologic Systems, Ltd." 00033A o="Silicon Wave, Inc." 00033B o="TAMI Tech Co., Ltd." 00033C o="Daiden Co., Ltd." 00033D o="ILSHin Lab" 00033E o="Tateyama System Laboratory Co., Ltd." 00033F o="BigBand Networks, Ltd." 000340 o="Floware Wireless Systems, Ltd." 000341 o="Axon Digital Design" 000343 o="Martin Professional A/S" 000344 o="Tietech.Co., Ltd." 000345 o="Routrek Networks Corporation" 000346 o="Hitachi Kokusai Electric, Inc." 000348 o="Norscan Instruments, Ltd." 000349 o="Vidicode Datacommunicatie B.V." 00034A o="RIAS Corporation" 00034C,00264C o="Shanghai DigiVision Technology Co., Ltd." 00034D o="Chiaro Networks, Ltd." 00034E o="Pos Data Company, Ltd." 00034F o="Sur-Gard Security" 000350 o="BTICINO SPA" 000351 o="Diebold, Inc." 000352 o="Colubris Networks" 000353 o="Mitac, Inc." 000354 o="Fiber Logic Communications" 000355 o="TeraBeam Internet Systems" 000356 o="Wincor Nixdorf International GmbH" 000357 o="Intervoice-Brite, Inc." 000358,1853E0 o="Hanyang Digitech Co.Ltd" 000359 o="DigitalSis" 00035A o="Photron Limited" 00035B o="BridgeWave Communications" 00035C o="Saint Song Corp." 00035D o="Bosung Hi-Net Co., Ltd." 00035E o="Metropolitan Area Networks, Inc." 00035F o="Prüftechnik Condition Monitoring GmbH & Co. KG" 000360 o="PAC Interactive Technology, Inc." 000361 o="Widcomm, Inc." 000362 o="Vodtel Communications, Inc." 000363 o="Miraesys Co., Ltd." 000364 o="Scenix Semiconductor, Inc." 000365 o="Kira Information & Communications, Ltd." 000366 o="ASM Pacific Technology" 000367 o="Jasmine Networks, Inc." 000368 o="Embedone Co., Ltd." 000369 o="Nippon Antenna Co., Ltd." 00036A o="Mainnet, Ltd." 00036D o="Runtop, Inc." 00036E o="Nicon Systems (Pty) Limited" 00036F o="Telsey SPA" 000370 o="NXTV, Inc." 000371 o="Acomz Networks Corp." 000372 o="ULAN" 000373 o="Aselsan A.S" 000374,000521 o="Control Microsystems" 000375 o="NetMedia, Inc." 000376 o="Graphtec Technology, Inc." 000377 o="Gigabit Wireless" 000378,044F17,08EB74,0C08B4,2832C5,2C088C,3438B7,38F85E,403DEC,4CD08A,6CB56B,8C444F,90F305,940937,942CB3,A0722C,B0B3AD,C85D38,CC4EEC,DCD321,E820E2,E8B2FE o="HUMAX Co., Ltd." 000379 o="Proscend Communications, Inc." 00037A,002258 o="Taiyo Yuden Co., Ltd." 00037B o="IDEC IZUMI Corporation" 00037C o="Coax Media" 00037D o="Stellcom" 00037E o="PORTech Communications, Inc." 00037F,001374 o="Atheros Communications, Inc." 000380 o="SSH Communications Security Corp." 000381 o="Ingenico International" 000382 o="A-One Co., Ltd." 000383 o="Metera Networks, Inc." 000384 o="AETA" 000385 o="Actelis Networks, Inc." 000386 o="Ho Net, Inc." 000387 o="Blaze Network Products" 000388 o="Fastfame Technology Co., Ltd." 000389,00197F,00237F,0CE0E4,48C1AC,BCF292,E422A5,F4B688 o="PLANTRONICS, INC." 00038A o="America Online, Inc." 00038B o="PLUS-ONE I&T, Inc." 00038C o="Total Impact" 00038D o="PCS Revenue Control Systems, Inc." 00038E o="Atoga Systems, Inc." 00038F o="Weinschel Corporation" 000390 o="Digital Video Communications, Inc." 000391 o="Advanced Digital Broadcast, Ltd." 000392 o="Hyundai Teletek Co., Ltd." 000393,000502,000A27,000A95,000D93,0010FA,001124,001451,0016CB,0017F2,0019E3,001B63,001CB3,001D4F,001E52,001EC2,001F5B,001FF3,0021E9,002241,002312,002332,00236C,0023DF,002436,002500,00254B,0025BC,002608,00264A,0026B0,0026BB,003065,003EE1,0050E4,0056CD,005B94,006171,006D52,008865,00A040,00B362,00C610,00CDFE,00DB70,00F4B9,00F76F,040CCE,041552,041E64,042665,04489A,044BED,0452F3,045453,0469F8,047295,04D3CF,04DB56,04E536,04F13E,04F7E4,080007,082CB6,086698,086D41,087045,087402,08E689,08F4AB,08F69C,08F8BC,0C1539,0C3021,0C3E9F,0C4DE9,0C5101,0C74C2,0C771A,0CBC9F,0CD746,101C0C,102959,103025,1040F3,10417F,1093E9,1094BB,109ADD,10DDB1,14109F,14205E,145A05,1460CB,14876A,148FC6,1495CE,1499E2,149D99,14BD61,14C213,14D00D,182032,183451,1855E3,186590,187EB9,18810E,189EFC,18AF61,18AF8F,18E7F4,18EE69,18F1D8,18F643,1C1AC0,1C36BB,1C5CF2,1C9148,1C9E46,1CABA7,1CE62B,203CAE,20768F,2078F0,207D74,209BCD,20A2E4,20AB37,20C9D0,20E874,20EE28,241B7A,241EEB,24240E,245BA7,24A074,24A2E1,24AB81,24D0DF,24E314,24F094,24F677,280B5C,283737,285AEB,286AB8,286ABA,2877F1,28A02B,28CFDA,28CFE9,28E02C,28E14C,28E7CF,28ED6A,28F033,28F076,28FF3C,2C1F23,2C200B,2C3361,2C61F6,2CB43A,2CBE08,2CF0A2,2CF0EE,3010E4,3035AD,305714,30636B,309048,3090AB,30D9D9,30F7C5,3408BC,341298,34159E,34363B,344262,3451C9,347C25,34A395,34A8EB,34AB37,34C059,34E2FD,380F4A,38484C,38539C,3866F0,3871DE,38892C,38B54D,38C986,38CADA,38EC0D,38F9D3,3C0754,3C15C2,3C22FB,3C2EF9,3C2EFF,3C7D0A,3CAB8E,3CBF60,3CCD36,3CD0F8,3CE072,402619,403004,40331A,403CFC,404D7F,406C8F,4070F5,40831D,4098AD,409C28,40A6D9,40B395,40BC60,40CBC0,40D32D,440010,4418FD,442A60,444ADB,444C0C,44C65D,44D884,44E66E,44FB42,483B38,48437C,484BAA,4860BC,48746E,48A195,48A91C,48B8A3,48BF6B,48D705,48E9F1,4C3275,4C569D,4C57CA,4C6BE8,4C74BF,4C7C5F,4C8D79,4CB199,503237,507A55,507AC5,5082D5,50A67F,50BC96,50DE06,50EAD6,542696,542B8D,5433CB,544E90,5462E2,54724F,549963,549F13,54AE27,54E43A,54EAA8,581FAA,58404E,5855CA,586B14,587F57,58B035,58E28F,58E6BA,5C0947,5C1DD9,5C5948,5C8D4E,5C95AE,5C969D,5C97F3,5CADCF,5CF5DA,5CF7E6,5CF938,600308,6030D4,60334B,606944,6070C0,608373,608B0E,608C4A,609217,609AC1,60A37D,60C547,60D9C7,60F445,60F81D,60FACD,60FB42,60FEC5,64200C,645AED,647033,6476BA,649ABE,64A3CB,64A5C3,64B0A6,64B9E8,64C753,64E682,680927,685B35,68644B,68967B,689C70,68A86D,68AB1E,68AE20,68D93C,68DBCA,68EF43,68FB7E,68FEF7,6C19C0,6C3E6D,6C4008,6C4A85,6C4D73,6C709F,6C72E7,6C8DC1,6C94F8,6C96CF,6CAB31,6CC26B,6CE85C,701124,7014A6,703C69,703EAC,70480F,705681,70700D,7073CB,7081EB,70A2B3,70CD60,70DEE2,70E72C,70EA5A,70ECE4,70EF00,70F087,741BB2,74428B,748114,748D08,749EAF,74B587,74E1B6,74E2F5,7831C1,783A84,784F43,7867D7,786C1C,787B8A,787E61,78886D,789F70,78A3E4,78CA39,78D162,78D75F,78FD94,7C0191,7C04D0,7C11BE,7C5049,7C6D62,7C6DF8,7C9A1D,7CA1AE,7CAB60,7CC3A1,7CC537,7CD1C3,7CF05F,7CFADF,80006E,800C67,804971,804A14,808223,80929F,80B03D,80BE05,80D605,80E650,80EA96,80ED2C,842999,843835,844167,846878,84788B,848506,8489AD,848E0C,84A134,84AB1A,84AD8D,84B153,84FCAC,84FCFE,881908,881FA1,885395,8863DF,886440,8866A5,886B6E,88A479,88A9B7,88AE07,88B291,88C663,88CB87,88E87F,88E9FE,8C006D,8C2937,8C2DAA,8C5877,8C7B9D,8C7C92,8C8590,8C861E,8C8EF2,8C8FE9,8CFABA,8CFE57,9027E4,903C92,9060F1,907240,90812A,90840D,908C43,908D6C,909C4A,90A25B,90B0ED,90B21F,90B931,90C1C6,90DD5D,90E17B,90FD61,940C98,941625,949426,94B01F,94BF2D,94E96A,94F6A3,94F6D6,9800C6,9801A7,9803D8,9810E8,98460A,985AEB,989E63,98B8E3,98CA33,98D6BB,98E0D9,98F0AB,98FE94,9C04EB,9C207B,9C293F,9C35EB,9C4FDA,9C648B,9C84BF,9C8BA0,9CE33F,9CE65E,9CF387,9CF48E,9CFC01,A01828,A03BE3,A04EA7,A056F3,A0999B,A0D795,A0EDCD,A43135,A45E60,A46706,A483E7,A4B197,A4B805,A4C361,A4D18C,A4D1D2,A4D931,A4E975,A4F1E8,A82066,A85B78,A85C2C,A860B6,A8667F,A886DD,A88808,A88E24,A8968A,A8BBCF,A8BE27,A8FAD8,AC15F4,AC1F74,AC293A,AC3C0B,AC61EA,AC7F3E,AC87A3,AC88FD,AC9085,ACBC32,ACCF5C,ACE4B5,ACFDEC,B019C6,B03495,B035B5,B0481A,B065BD,B0702D,B09FBA,B0CA68,B418D1,B440A4,B44BD2,B48B19,B49CDF,B4F0AB,B4F61C,B8098A,B817C2,B841A4,B844D9,B853AC,B85D0A,B8634D,B8782E,B87BC5,B88D12,B89047,B8B2F8,B8C111,B8C75D,B8E856,B8F12A,B8F6B1,B8FF61,BC0963,BC3BAF,BC4CC4,BC52B7,BC5436,BC6778,BC6C21,BC926B,BC9FEF,BCA920,BCB863,BCE143,BCEC5D,BCFED9,C01ADA,C06394,C0847A,C09AD0,C09F42,C0A53E,C0A600,C0B658,C0CCF8,C0CECD,C0D012,C0E862,C0F2FB,C42AD0,C42C03,C4618B,C48466,C49880,C4B301,C81EE7,C82A14,C8334B,C83C85,C869CD,C86F1D,C88550,C8B1CD,C8B5B7,C8BCC8,C8D083,C8E0EB,C8F650,CC088D,CC08E0,CC20E8,CC25EF,CC29F5,CC2DB7,CC4463,CC660A,CC785F,CCC760,CCD281,D0034B,D023DB,D02598,D02B20,D03311,D03FAA,D04F7E,D06544,D0817A,D0A637,D0C5F3,D0D2B0,D0E140,D446E1,D4619D,D461DA,D4909C,D49A20,D4A33D,D4DCCD,D4F46F,D8004D,D81C79,D81D72,D83062,D84C90,D88F76,D89695,D89E3F,D8A25E,D8BB2C,D8CF9C,D8D1CB,DC080F,DC0C5C,DC2B2A,DC2B61,DC3714,DC415F,DC56E7,DC86D8,DC9B9C,DCA4CA,DCA904,DCD3A2,E0338E,E05F45,E06678,E0897E,E0ACCB,E0B52D,E0B55F,E0B9BA,E0C767,E0C97A,E0EB40,E0F5C6,E0F847,E425E7,E42B34,E450EB,E47684,E48B7F,E490FD,E498D6,E49A79,E49ADC,E4B2FB,E4C63D,E4CE8F,E4E0A6,E4E4AB,E8040B,E80688,E83617,E8802E,E88D28,E8B2AC,E8FBE9,EC2CE2,EC3586,EC852F,ECADB8,ECCED7,F01898,F02475,F05CD5,F0766F,F07807,F07960,F0989D,F099B6,F099BF,F0A35A,F0B0E7,F0B479,F0C1F1,F0C371,F0CBA1,F0D1A9,F0DBE2,F0DBF8,F0DCE2,F0F61C,F40616,F40E01,F40F24,F41BA1,F431C3,F437B7,F45C89,F4AFE7,F4DBE3,F4F15A,F4F951,F80377,F81EDF,F82793,F82D7C,F83880,F84E73,F86214,F86FC1,F887F1,F895EA,F8E94E,F8FFC2,FC183C,FC1D43,FC253F,FC2A9C,FCB6D8,FCD848,FCE998,FCFC48 o="Apple, Inc." 000394 o="Connect One" 000395 o="California Amplifier" 000396 o="EZ Cast Co., Ltd." 000397 o="FireBrick Limited" 000398 o="WISI" 000399 o="Dongju Informations & Communications Co., Ltd." 00039A o="SiConnect" 00039B o="NetChip Technology, Inc." 00039C o="OptiMight Communications, Inc." 00039D,0017CA,001E21,1CE192 o="Qisda Corporation" 00039E o="Tera System Co., Ltd." 0003A1 o="HIPER Information & Communication, Inc." 0003A2 o="Catapult Communications" 0003A3 o="MAVIX, Ltd." 0003A4 o="Imation Corp." 0003A5 o="Medea Corporation" 0003A6 o="Traxit Technology, Inc." 0003A7 o="Unixtar Technology, Inc." 0003A8 o="IDOT Computers, Inc." 0003A9 o="AXCENT Media AG" 0003AA o="Watlow" 0003AB o="Bridge Information Systems" 0003AC o="Fronius Schweissmaschinen" 0003AD o="Emerson Energy Systems AB" 0003AE o="Allied Advanced Manufacturing Pte, Ltd." 0003AF o="Paragea Communications" 0003B0 o="Xsense Technology Corp." 0003B1 o="Hospira Inc." 0003B2,2CB693 o="Radware" 0003B3 o="IA Link Systems Co., Ltd." 0003B4 o="Macrotek International Corp." 0003B5 o="Entra Technology Co." 0003B6 o="QSI Corporation" 0003B7 o="ZACCESS Systems" 0003B8 o="NetKit Solutions, LLC" 0003B9 o="Hualong Telecom Co., Ltd." 0003BB o="Signal Communications Limited" 0003BC o="COT GmbH" 0003BD o="OmniCluster Technologies, Inc." 0003BE o="Netility" 0003BF o="Centerpoint Broadband Technologies, Inc." 0003C0 o="RFTNC Co., Ltd." 0003C1 o="Packet Dynamics Ltd" 0003C2 o="Solphone K.K." 0003C3 o="Micronik Multimedia" 0003C4 o="Tomra Systems ASA" 0003C5 o="Mobotix AG" 0003C6 o="ICUE Systems, Inc." 0003C7 o="hopf Elektronik GmbH" 0003C8 o="CML Emergency Services" 0003C9,001638,001915 o="TECOM Co., Ltd." 0003CA o="MTS Systems Corp." 0003CB o="SystemGear Co., Ltd." 0003CC o="Momentum Computer, Inc." 0003CD o="Clovertech, Inc." 0003CE o="ETEN Technologies, Inc." 0003CF o="Muxcom, Inc." 0003D0 o="KOANKEISO Co., Ltd." 0003D1 o="Takaya Corporation" 0003D2 o="Crossbeam Systems, Inc." 0003D3 o="Internet Energy Systems, Inc." 0003D4 o="Alloptic, Inc." 0003D5 o="Advanced Communications Co., Ltd." 0003D6 o="RADVision, Ltd." 0003D7 o="NextNet Wireless, Inc." 0003D8 o="iMPath Networks, Inc." 0003D9 o="Secheron SA" 0003DA o="Takamisawa Cybernetics Co., Ltd." 0003DB o="Apogee Electronics Corp." 0003DC o="Lexar Media, Inc." 0003DD o="Comark Interactive Solutions" 0003DE o="OTC Wireless" 0003DF o="Desana Systems" 0003E1 o="Winmate Communication, Inc." 0003E2 o="Comspace Corporation" 0003E5 o="Hermstedt SG" 0003E6 o="Entone, Inc." 0003E7 o="Logostek Co. Ltd." 0003E8 o="Wavelength Digital Limited" 0003E9 o="Akara Canada, Inc." 0003EA o="Mega System Technologies, Inc." 0003EB o="Atrica" 0003EC o="ICG Research, Inc." 0003ED o="Shinkawa Electric Co., Ltd." 0003EE o="MKNet Corporation" 0003EF o="Oneline AG" 0003F0 o="Redfern Broadband Networks" 0003F1 o="Cicada Semiconductor, Inc." 0003F2 o="Seneca Networks" 0003F3 o="Dazzle Multimedia, Inc." 0003F4 o="NetBurner" 0003F5 o="Chip2Chip" 0003F6 o="Allegro Networks, Inc." 0003F7 o="Plast-Control GmbH" 0003F8 o="SanCastle Technologies, Inc." 0003F9 o="Pleiades Communications, Inc." 0003FA o="TiMetra Networks" 0003FB o="ENEGATE Co.,Ltd." 0003FC o="Intertex Data AB" 0003FF,00125A,00155D,0017FA,001DD8,002248,0025AE,0C413E,0CE725,102F6B,149A10,1C1ADF,206274,20A99B,2816A8,281878,2C2997,2C5491,3C8375,485073,4886E8,5CBA37,6C5D3A,70BC10,74E28C,80C5E6,845733,8463D6,949AA9,985FD3,987A14,9C6C15,9CAA1B,B831B5,B84FD5,BC8385,C49DED,C83F26,D0929E,D48F33,DC9840,EC59E7,EC8350,F01DBC,F06E0B o="Microsoft Corporation" 000400,002000,0021B7,788C77 o="LEXMARK INTERNATIONAL, INC." 000401 o="Osaki Electric Co., Ltd." 000402 o="Nexsan Technologies, Ltd." 000403 o="Nexsi Corporation" 000404 o="Makino Milling Machine Co., Ltd." 000405 o="ACN Technologies" 000406 o="Fa. Metabox AG" 000407 o="Topcon Positioning Systems, Inc." 000408 o="Sanko Electronics Co., Ltd." 000409 o="Cratos Networks" 00040A o="Sage Systems" 00040B,00051A,001EC1,002257,002473,00301E,005099,009004,00D096,08004E,20FDF1,4001C6 o="3COM EUROPE LTD" 00040C o="Kanno Works, Ltd." 00040D,001B4F,00549F,048A15,10CDAE,14612F,24B209,24D921,2CF4C5,3475C7,38BB3C,3C3A73,3CB15B,44322A,506184,50CD22,581626,6049C1,646A52,64A7DD,64C354,6CA849,6CFA58,703018,7038EE,7052C5,707C69,801DAA,848371,90FB5B,A009ED,A01290,A051C6,A4251B,A47886,B0ADAA,B4475E,B4A95A,B4B017,BCADAB,C057BC,C4BED4,C81FEA,C8F406,CCF954,D47856,D4EA0E,E45D52,F81547,F873A2,FC8399,FCA841 o="Avaya Inc" 00040E,00150C,001A4F,001C4A,001F3F,0024FE,0896D7,246511,3431C4,3481C4,9CC7A6,BC0543,C02506 o="AVM GmbH" 00040F o="Asus Network Technologies, Inc." 000410 o="Spinnaker Networks, Inc." 000411 o="Inkra Networks, Inc." 000412 o="WaveSmith Networks, Inc." 000413 o="snom technology GmbH" 000414 o="Umezawa Musen Denki Co., Ltd." 000415 o="Rasteme Systems Co., Ltd." 000416 o="Parks S/A Comunicacoes Digitais" 000417 o="ELAU AG" 000418 o="Teltronic S.A.U." 000419 o="Fibercycle Networks, Inc." 00041A o="Ines Test and Measurement GmbH & CoKG" 00041B o="Bridgeworks Ltd." 00041C o="ipDialog, Inc." 00041D o="Corega of America" 00041E o="Shikoku Instrumentation Co., Ltd." 00041F,001315,0015C1,0019C5,001D0D,001FA7,00248D,00D9D1,0CFE45,280DFC,2CCC44,709E29,78C881,A8E3EE,BC60A7,C863F1,F8461C,F8D0AC,FC0FE6 o="Sony Interactive Entertainment Inc." 000420 o="Slim Devices, Inc." 000421 o="Ocular Networks" 000422 o="Studio Technologies, Inc" 000424 o="TMC s.r.l." 000425,FCC23D o="Atmel Corporation" 000426 o="Autosys" 000429,185253 o="Pixord Corporation" 00042A o="Wireless Networks, Inc." 00042B o="IT Access Co., Ltd." 00042C o="Minet, Inc." 00042D o="Sarian Systems, Ltd." 00042E o="Netous Technologies, Ltd." 00042F o="International Communications Products, Inc." 000430 o="Netgem" 000431 o="GlobalStreams, Inc." 000432 o="Voyetra Turtle Beach, Inc." 000433 o="Cyberboard A/S" 000434 o="Accelent Systems, Inc." 000435 o="InfiNet LLC" 000436 o="ELANsat Technologies, Inc." 000437 o="Powin Information Technology, Inc." 000439 o="Rosco Entertainment Technology, Inc." 00043A o="Intelligent Telecommunications, Inc." 00043B o="Lava Computer Mfg., Inc." 00043C o="SONOS Co., Ltd." 00043D o="INDEL AG" 00043E o="Telencomm" 00043F o="ESTeem Wireless Modems, Inc" 000440 o="cyberPIXIE, Inc." 000441 o="Half Dome Systems, Inc." 000442 o="NACT" 000443,0030D3 o="Agilent Technologies, Inc." 000444 o="Western Multiplex Corporation" 000445 o="LMS Skalar Instruments GmbH" 000446 o="CYZENTECH Co., Ltd." 000447 o="Acrowave Systems Co., Ltd." 000448,0040F7 o="Polaroid Corporation" 000449 o="Mapletree Networks" 00044A o="iPolicy Networks, Inc." 00044B o="NVIDIA" 00044C o="JENOPTIK" 00044F o="Schubert System Elektronik Gmbh" 000450 o="DMD Computers SRL" 000451 o="Medrad, Inc." 000452 o="RocketLogix, Inc." 000453 o="YottaYotta, Inc." 000454 o="Quadriga UK" 000455 o="ANTARA.net" 000456,58C17A,BCE67C o="Cambium Networks Limited" 000457 o="Universal Access Technology, Inc." 000458 o="Fusion X Co., Ltd." 000459 o="Veristar Corporation" 00045A,000625 o="The Linksys Group, Inc." 00045B o="Techsan Electronics Co., Ltd." 00045C o="Mobiwave Pte Ltd" 00045D o="BEKA Elektronik" 00045E o="PolyTrax Information Technology AG" 00045F o="Avalue Technology, Inc." 000460 o="Knilink Technology, Inc." 000461 o="EPOX Computer Co., Ltd." 000462 o="DAKOS Data & Communication Co., Ltd." 000463 o="Bosch Security Systems" 000464 o="Pulse-Link Inc" 000465 o="i.s.t isdn-support technik GmbH" 000466 o="ARMITEL Co." 000467 o="Wuhan Research Institute of MII" 000468 o="Vivity, Inc." 000469 o="Innocom, Inc." 00046A o="Navini Networks" 00046B o="Palm Wireless, Inc." 00046C o="Cyber Technology Co., Ltd." 00046F o="Digitel S/A Industria Eletronica" 000470 o="ipUnplugged AB" 000471 o="IPrad" 000472 o="Telelynx, Inc." 000473 o="Photonex Corporation" 000474 o="LEGRAND" 000477 o="Scalant Systems, Inc." 000478 o="G. Star Technology Corporation" 000479 o="Radius Co., Ltd." 00047A o="AXXESSIT ASA" 00047B o="Schlumberger" 00047C o="Skidata AG" 00047D o="Pelco" 00047E o="Siqura B.V." 00047F o="Chr. Mayr GmbH & Co. KG" 000481 o="Econolite Control Products, Inc." 000482 o="Medialogic Corp." 000483 o="Deltron Technology, Inc." 000484 o="Amann GmbH" 000485 o="PicoLight" 000486 o="ITTC, University of Kansas" 000487 o="Cogency Semiconductor, Inc." 000488 o="Eurotherm Controls" 000489 o="YAFO Networks, Inc." 00048A o="Temia Vertriebs GmbH" 00048B o="Poscon Corporation" 00048C o="Nayna Networks, Inc." 00048D o="Teo Technologies, Inc" 00048E o="Ohm Tech Labs, Inc." 00048F o="TD Systems Corporation" 000490 o="Optical Access" 000491 o="Technovision, Inc." 000492 o="Hive Internet, Ltd." 000493 o="Tsinghua Unisplendour Co., Ltd." 000494,0010E7,0020D6 o="Breezecom, Ltd." 000495 o="Tejas Networks India Limited" 000497 o="MacroSystem Digital Video AG" 000498 o="Mahi Networks" 000499 o="Chino Corporation" 00049C o="Surgient Networks, Inc." 00049D o="Ipanema Technologies" 00049E o="Wirelink Co., Ltd." 00049F o="Freescale Semiconductor" 0004A0 o="Verity Instruments, Inc." 0004A1 o="Pathway Connectivity" 0004A2 o="L.S.I. Japan Co., Ltd." 0004A3,001EC0,049162,5410EC,682719,801F12,D88039 o="Microchip Technology Inc." 0004A4 o="NetEnabled, Inc." 0004A5,000D0A o="Barco Projection Systems NV" 0004A6 o="SAF Tehnika Ltd." 0004A7 o="FabiaTech Corporation" 0004A8 o="Broadmax Technologies, Inc." 0004A9 o="SandStream Technologies, Inc." 0004AA o="Jetstream Communications" 0004AB o="Mavenir Inc." 0004AD o="Malibu Networks" 0004AE o="Sullair Corporation" 0004AF o="Digital Fountain, Inc." 0004B0 o="ELESIGN Co., Ltd." 0004B1 o="Signal Technology, Inc." 0004B2 o="ESSEGI SRL" 0004B3 o="Videotek, Inc." 0004B4 o="CIAC" 0004B5 o="Equitrac Corporation" 0004B6 o="Stratex Networks, Inc." 0004B7 o="AMB i.t. Holding" 0004B8 o="Kumahira Co., Ltd." 0004B9 o="S.I. Soubou, Inc." 0004BA o="KDD Media Will Corporation" 0004BB o="Bardac Corporation" 0004BC o="Giantec, Inc." 0004BE o="OptXCon, Inc." 0004BF o="VersaLogic Corp." 0004C2 o="Magnipix, Inc." 0004C3 o="CASTOR Informatique" 0004C4 o="Audiotonix Group Limited" 0004C5 o="ASE Technologies, USA" 0004C6 o="YAMAHA MOTOR CO.,LTD" 0004C7 o="NetMount" 0004C8 o="LIBA Maschinenfabrik GmbH" 0004C9 o="Micro Electron Co., Ltd." 0004CA o="FreeMs Corp." 0004CB o="Tdsoft Communication, Ltd." 0004CC o="Peek Traffic B.V." 0004CD o="Extenway Solutions Inc" 0004CE o="Patria Ailon" 0004CF,000C50,0011C6,0014C3,001862,001D38,002037,0024B6,B45253 o="Seagate Technology" 0004D0 o="Softlink s.r.o." 0004D1 o="Drew Technologies, Inc." 0004D2 o="Adcon Telemetry GmbH" 0004D3 o="Toyokeiki Co., Ltd." 0004D4 o="Proview Electronics Co., Ltd." 0004D5 o="Hitachi Information & Communication Engineering, Ltd." 0004D6 o="Takagi Industrial Co., Ltd." 0004D7 o="Omitec Instrumentation Ltd." 0004D8 o="IPWireless, Inc." 0004D9 o="Titan Electronics, Inc." 0004DA o="Relax Technology, Inc." 0004DB o="Tellus Group Corp." 0004DF,70CD91 o="TERACOM TELEMATICA S.A" 0004E0 o="Procket Networks" 0004E1 o="Infinior Microsystems" 0004E2,000BC5,0013F7 o="SMC Networks, Inc." 0004E3,0010B5,0012CF,0030F1,B8616F o="Accton Technology Corp" 0004E4 o="Daeryung Ind., Inc." 0004E5 o="Glonet Systems, Inc." 0004E6 o="Banyan Network Private Limited" 0004E7 o="Lightpointe Communications, Inc" 0004E8 o="IER, Inc." 0004E9 o="Infiniswitch Corporation" 0004EB o="Paxonet Communications, Inc." 0004EC o="Memobox SA" 0004ED o="Billion Electric Co., Ltd." 0004EE o="Lincoln Electric Company" 0004EF o="Polestar Corp." 0004F0,08000D o="International Computers, Ltd" 0004F1 o="WhereNet" 0004F2,64167F o="Polycom" 0004F3 o="FS FORTH-SYSTEME GmbH" 0004F4 o="Infinite Electronics Inc." 0004F5 o="SnowShore Networks, Inc." 0004F6 o="Amphus" 0004F7 o="Omega Band, Inc." 0004F8 o="QUALICABLE TV Industria E Com., Ltda" 0004F9 o="Xtera Communications, Inc." 0004FA o="NBS Technologies Inc." 0004FB o="Commtech, Inc." 0004FD o="Japan Control Engineering Co., Ltd." 0004FE o="Pelago Networks" 0004FF o="Acronet Co., Ltd." 000503 o="ICONAG" 000504 o="Naray Information & Communication Enterprise" 000505 o="Systems Integration Solutions, Inc." 000506 o="Reddo Networks AB" 000507 o="Fine Appliance Corp." 000508 o="Inetcam, Inc." 000509 o="AVOC Nishimura Ltd." 00050A o="ICS Spa" 00050B o="SICOM Systems, Inc." 00050C o="Network Photonics, Inc." 00050D o="Midstream Technologies, Inc." 00050E o="3ware, Inc." 00050F o="Tanaka S/S Ltd." 000510 o="Infinite Shanghai Communication Terminals Ltd." 000511 o="Complementary Technologies Ltd" 000512,001570,002368,00A0F8,4083DE,84248D,C47DCC o="Zebra Technologies Inc" 000513 o="VTLinx Multimedia Systems, Inc." 000514 o="KDT Systems Co., Ltd." 000515 o="Nuark Co., Ltd." 000516 o="SMART Modular Technologies" 000517 o="Shellcomm, Inc." 000518 o="Jupiters Technology" 000519 o="Siemens Building Technologies AG," 00051B o="Magic Control Technology Corporation" 00051C o="Xnet Technology Corp." 00051D o="Airocon, Inc." 00051F o="Taijin Media Co., Ltd." 000520,4018D7 o="Smartronix, Inc." 000522 o="LEA*D Corporation, Inc." 000523 o="AVL List GmbH" 000524 o="BTL System (HK) Limited" 000525 o="Puretek Industrial Co., Ltd." 000526 o="IPAS GmbH" 000527 o="SJ Tek Co. Ltd" 000528 o="New Focus, Inc." 000529 o="Shanghai Broadan Communication Technology Co., Ltd" 00052A o="Ikegami Tsushinki Co., Ltd." 00052B o="HORIBA, Ltd." 00052C o="Supreme Magic Corporation" 00052D o="Zoltrix International Limited" 00052E o="Cinta Networks" 00052F o="Leviton Network Solutions" 000530 o="Andiamo Systems, Inc." 000534 o="Northstar Engineering Ltd." 000535 o="Chip PC Ltd." 000536 o="Danam Communications, Inc." 000537 o="Nets Technology Co., Ltd." 000538 o="Merilus, Inc." 000539 o="A Brand New World in Sweden AB" 00053A o="Willowglen Services Pte Ltd" 00053B o="Harbour Networks Ltd., Co. Beijing" 00053C,0010A4,0080C7 o="XIRCOM" 00053E o="KID Systeme GmbH" 00053F o="VisionTek, Inc." 000540 o="FAST Corporation" 000541 o="Advanced Systems Co., Ltd." 000542 o="Otari, Inc." 000543 o="IQ Wireless GmbH" 000544 o="Valley Technologies, Inc." 000545 o="Internet Photonics" 000546 o="KDDI Network & Solultions Inc." 000547 o="Starent Networks" 000548 o="Disco Corporation" 000549 o="Salira Optical Network Systems" 00054A o="Ario Data Networks, Inc." 00054B o="Eaton Automation AG" 00054C o="RF Innovations Pty Ltd" 00054D o="Brans Technologies, Inc." 00054E,E8C1D7 o="Philips" 00054F,104E89,10C6FC,148F21,F09919 o="Garmin International" 000550 o="Vcomms Connect Limited" 000551 o="F & S Elektronik Systeme GmbH" 000552 o="Xycotec Computer GmbH" 000553 o="DVC Company, Inc." 000554 o="Rangestar Wireless" 000555 o="Japan Cash Machine Co., Ltd." 000556 o="360 Systems" 000557 o="Agile TV Corporation" 000558 o="Synchronous, Inc." 000559 o="Intracom S.A." 00055A o="Power Dsine Ltd." 00055C o="Kowa Company, Ltd." 00055D,0080C8 o="D-LINK SYSTEMS, INC." 000560 o="LEADER COMM.CO., LTD" 000561 o="nac Image Technology, Inc." 000562 o="Digital View Limited" 000563 o="J-Works, Inc." 000564 o="Tsinghua Bitway Co., Ltd." 000565 o="Tailyn Communication Company Ltd." 000566 o="Secui.com Corporation" 000567 o="Etymonic Design, Inc." 000568 o="Piltofish Networks AB" 000569,000C29,001C14,005056 o="VMware, Inc." 00056A o="Heuft Systemtechnik GmbH" 00056B o="C.P. Technology Co., Ltd." 00056C o="Hung Chang Co., Ltd." 00056D o="Pacific Corporation" 00056E o="National Enhance Technology, Inc." 00056F o="Innomedia Technologies Pvt. Ltd." 000570 o="Baydel Ltd." 000571 o="Seiwa Electronics Co." 000572 o="Deonet Co., Ltd." 000575 o="CDS-Electronics BV" 000576 o="NSM Technology Ltd." 000577 o="SM Information & Communication" 000579 o="Universal Control Solution Corp." 00057A o="Overture Networks" 00057B o="Chung Nam Electronic Co., Ltd." 00057C o="RCO Security AB" 00057D o="Sun Communications, Inc." 00057E o="Eckelmann Steuerungstechnik GmbH" 00057F o="Acqis Technology" 000580 o="FibroLAN Ltd." 000581,002370 o="Snell" 000582 o="ClearCube Technology" 000583 o="ImageCom Limited" 000584 o="AbsoluteValue Systems, Inc." 000585,0010DB,00121E,0014F6,0017CB,0019E2,001BC0,001DB5,001F12,002159,002283,00239C,0024DC,002688,003146,009069,045C6C,0881F4,08B258,0C8126,0C8610,100E7E,1039E9,182AD3,1C9C8C,201BC9,204E71,20D80B,288A1C,28A24B,28C0DA,2C2131,2C2172,2C6BF5,307C5E,30B64F,384F49,3C6104,3C8AB0,3C8C93,3C94D5,407183,40A677,40B4F0,40DEAD,44AA50,44ECCE,44F477,4C16FC,4C9614,50C58D,541E56,544B8C,54E032,5800BB,5C4527,5C5EAB,64649B,648788,64C3D6,7819F7,784F9B,78507C,78FE3D,7C2586,7CE2CA,80711F,807FF8,80ACAC,841888,84B59C,84C1C1,88A25E,88D98F,88E0F3,88E64B,94F7AD,9C8ACB,9CCC83,A8D0E5,AC4BC8,B033A6,B0A86E,B0C69A,B8C253,C00380,C042D0,C0BFA7,C8E7F0,CCE17F,CCE194,D007CA,D0DD49,D404FF,D818D3,D8B122,DC38E1,E45D37,E4FC82,E8B6C2,EC13DB,EC3873,EC3EF7,F01C2D,F04B3A,F07CC7,F4A739,F4B52F,F4CC55,F8C001,FC3342 o="Juniper Networks" 000586 o="Lucent Technologies" 000587 o="Locus, Incorporated" 000588 o="Sensoria Corp." 000589 o="National Datacomputer" 00058A o="Netcom Co., Ltd." 00058B o="IPmental, Inc." 00058C o="Opentech Inc." 00058D o="Lynx Photonic Networks, Inc." 00058E o="Flextronics International GmbH & Co. Nfg. KG" 00058F o="CLCsoft co." 000590 o="Swissvoice Ltd." 000591 o="Active Silicon Ltd" 000592 o="Pultek Corp." 000593 o="Grammar Engine Inc." 000594,003011,003056 o="HMS Industrial Networks" 000595 o="Alesis Corporation" 000596 o="Genotech Co., Ltd." 000597 o="Eagle Traffic Control Systems" 000598 o="CRONOS S.r.l." 000599 o="DRS Test and Energy Management or DRS-TEM" 00059C o="Kleinknecht GmbH, Ing. Büro" 00059D o="Daniel Computing Systems, Inc." 00059E o="Zinwell Corporation" 00059F o="Yotta Networks, Inc." 0005A0 o="MOBILINE Kft." 0005A1 o="Zenocom" 0005A2 o="CELOX Networks" 0005A3 o="QEI, Inc." 0005A4 o="Lucid Voice Ltd." 0005A5 o="KOTT" 0005A6 o="Extron Electronics" 0005A7 o="HYPERCHIP Inc." 0005A8 o="WYLE ELECTRONICS" 0005A9 o="Princeton Networks, Inc." 0005AA o="Moore Industries International Inc." 0005AB o="Cyber Fone, Inc." 0005AC o="Northern Digital, Inc." 0005AD o="Topspin Communications, Inc." 0005AE o="Mediaport USA" 0005AF o="InnoScan Computing A/S" 0005B0 o="Korea Computer Technology Co., Ltd." 0005B1 o="ASB Technology BV" 0005B2 o="Medison Co., Ltd." 0005B3 o="Asahi-Engineering Co., Ltd." 0005B4 o="Aceex Corporation" 0005B5 o="Broadcom Technologies" 0005B6 o="INSYS Microelectronics GmbH" 0005B7 o="Arbor Technology Corp." 0005B8 o="Electronic Design Associates, Inc." 0005B9 o="Airvana, Inc." 0005BA o="Area Netwoeks, Inc." 0005BB o="Myspace AB" 0005BC o="Resource Data Management Ltd" 0005BD o="ROAX BV" 0005BE o="Kongsberg Seatex AS" 0005BF o="JustEzy Technology, Inc." 0005C0 o="Digital Network Alacarte Co., Ltd." 0005C1 o="A-Kyung Motion, Inc." 0005C2,000E3F o="Soronti, Inc." 0005C3 o="Pacific Instruments, Inc." 0005C4 o="Telect, Inc." 0005C5 o="Flaga HF" 0005C6 o="Triz Communications" 0005C7 o="I/F-COM A/S" 0005C8 o="VERYTECH" 0005C9 o="LG Innotek Co., Ltd." 0005CA o="Hitron Technology, Inc." 0005CB o="ROIS Technologies, Inc." 0005CC o="Sumtel Communications, Inc." 0005CD,000678,8CA96F o="D&M Holdings Inc." 0005CE o="Prolink Microsystems Corporation" 0005CF o="Thunder River Technologies, Inc." 0005D0 o="Solinet Systems" 0005D1 o="Metavector Technologies" 0005D2 o="DAP Technologies" 0005D3 o="eProduction Solutions, Inc." 0005D4 o="FutureSmart Networks, Inc." 0005D5 o="Speedcom Wireless" 0005D6,000B7A o="L-3 Linkabit" 0005D7 o="Vista Imaging, Inc." 0005D8 o="Arescom, Inc." 0005D9 o="Techno Valley, Inc." 0005DA o="Apex Automationstechnik" 0005DB o="PSI Nentec GmbH" 0005DE o="Gi Fone Korea, Inc." 0005DF o="Electronic Innovation, Inc." 0005E0 o="Empirix Corp." 0005E1 o="Trellis Photonics, Ltd." 0005E2 o="Creativ Network Technologies" 0005E3 o="LightSand Communications, Inc." 0005E4 o="Red Lion Controls Inc." 0005E5 o="Renishaw PLC" 0005E6 o="Egenera, Inc." 0005E7 o="Netrake an AudioCodes Company" 0005E8 o="TurboWave, Inc." 0005E9 o="Unicess Network, Inc." 0005EA o="Rednix" 0005EB o="Blue Ridge Networks, Inc." 0005EC o="Mosaic Systems Inc." 0005ED o="Technikum Joanneum GmbH" 0005EE,002341 o="Vanderbilt International (SWE) AB" 0005EF o="ADOIR Digital Technology" 0005F0 o="SATEC" 0005F1 o="Vrcom, Inc." 0005F2 o="Power R, Inc." 0005F3 o="Webyn" 0005F4 o="System Base Co., Ltd." 0005F5 o="Geospace Technologies" 0005F6 o="Young Chang Co. Ltd." 0005F7,006088,00E022 o="Analog Devices, Inc." 0005F8 o="Real Time Access, Inc." 0005F9 o="TOA Corporation" 0005FA o="IPOptical, Inc." 0005FB o="ShareGate, Inc." 0005FC o="Schenck Pegasus Corp." 0005FD o="PacketLight Networks Ltd." 0005FE o="Traficon N.V." 0005FF o="SNS Solutions, Inc." 000600 o="Toshiba Teli Corporation" 000601 o="Otanikeiki Co., Ltd." 000602 o="Cirkitech Electronics Co." 000603 o="Baker Hughes Inc." 000604 o="@Track Communications, Inc." 000605 o="Inncom International, Inc." 000606 o="RapidWAN, Inc." 000607 o="Omni Directional Control Technology Inc." 000608 o="At-Sky SAS" 000609 o="Crossport Systems" 00060A o="Blue2space" 00060C o="Melco Industries, Inc." 00060D o="Wave7 Optics" 00060E o="IGYS Systems, Inc." 00060F o="Narad Networks Inc" 000610 o="Abeona Networks Inc" 000611 o="Zeus Wireless, Inc." 000612 o="Accusys, Inc." 000613 o="Kawasaki Microelectronics Incorporated" 000614 o="Prism Holdings" 000615 o="Kimoto Electric Co., Ltd." 000616 o="Tel Net Co., Ltd." 000617 o="Redswitch Inc." 000618 o="DigiPower Manufacturing Inc." 000619 o="Connection Technology Systems" 00061A o="Zetari Inc." 00061B o="Notebook Development Lab. Lenovo Japan Ltd." 00061C o="Hoshino Metal Industries, Ltd." 00061D o="MIP Telecom, Inc." 00061E o="Maxan Systems" 00061F o="Vision Components GmbH" 000620 o="Serial System Ltd." 000621 o="Hinox, Co., Ltd." 000622 o="Chung Fu Chen Yeh Enterprise Corp." 000623 o="MGE UPS Systems France" 000624 o="Gentner Communications Corp." 000626 o="MWE GmbH" 000627 o="Uniwide Technologies, Inc." 00062B o="INTRASERVER TECHNOLOGY" 00062C o="Bivio Networks" 00062D o="TouchStar Technologies, L.L.C." 00062E o="Aristos Logic Corp." 00062F o="Pivotech Systems Inc." 000630 o="Adtranz Sweden" 000631,44657F,487746,CCBE59,EC4F82 o="Calix Inc." 000632 o="Mesco Engineering GmbH" 000633 o="Cross Match Technologies GmbH" 000634 o="GTE Airfone Inc." 000635 o="PacketAir Networks, Inc." 000636 o="Jedai Broadband Networks" 000637 o="Toptrend-Meta Information (ShenZhen) Inc." 000638 o="Sungjin C&C Co., Ltd." 000639 o="Newtec" 00063A o="Dura Micro, Inc." 00063B o="Arcturus Networks Inc." 00063C,00D0CA o="Intrinsyc Software International Inc." 00063D o="Microwave Data Systems Inc." 00063E o="Opthos Inc." 00063F o="Everex Communications Inc." 000640 o="White Rock Networks" 000641 o="ITCN" 000642 o="Genetel Systems Inc." 000643 o="SONO Computer Co., Ltd." 000644 o="NextGen Business Solutions, Inc" 000645 o="Meisei Electric Co. Ltd." 000646 o="ShenZhen XunBao Network Technology Co Ltd" 000647 o="Etrali S.A." 000648 o="Seedsware, Inc." 000649 o="3M Deutschland GmbH" 00064A o="Honeywell Co., Ltd. (KOREA)" 00064B o="Alexon Co., Ltd." 00064C o="Invicta Networks, Inc." 00064D o="Sencore" 00064E o="Broad Net Technology Inc." 00064F o="PRO-NETS Technology Corporation" 000650 o="Tiburon Networks, Inc." 000651 o="Aspen Networks Inc." 000654 o="Winpresa Building Automation Technologies GmbH" 000655 o="Yipee, Inc." 000656 o="Tactel AB" 000657 o="Market Central, Inc." 000658 o="Helmut Fischer GmbH Institut für Elektronik und Messtechnik" 000659 o="EAL (Apeldoorn) B.V." 00065A o="Strix Systems" 00065B,000874,000BDB,000D56,000F1F,001143,00123F,001372,001422,0015C5,00188B,0019B9,001AA0,001C23,001D09,001E4F,001EC9,002170,00219B,002219,0023AE,0024E8,002564,0026B9,004E01,00B0D0,00C04F,0C29EF,106530,107D1A,109836,141877,149ECF,14B31F,14FEB5,180373,185A58,1866DA,18A99B,18DBF2,18FB7B,1C4024,1C721D,20040F,204747,246E96,24B6FD,28F10E,2CEA7F,3417EB,3448ED,34E6D7,3C2C30,405CFD,44A842,484D7E,4C7625,4CD98F,509A4C,544810,549F35,54BF64,588A5A,5C260A,5CF9DD,64006A,684F64,6C2B59,74867A,74E6E2,782BCB,7845C4,78AC44,801844,842B2B,847BEB,848F69,886FD4,8C04BA,8CEC4B,90B11C,9840BB,989096,98E743,A41F72,A44CC8,A4BADB,A4BB6D,A89969,B083FE,B4E10F,B82A72,B88584,B8AC6F,B8CA3A,BC305B,C81F66,C8F750,CCC5E5,D0431E,D067E5,D09466,D481D7,D4AE52,D4BED9,D89EF3,D8D090,DCF401,E0D848,E0DB55,E4434B,E454E8,E4B97A,E4F004,ECF4BB,F01FAF,F04DA2,F0D4E2,F40270,F48E38,F8B156,F8BC12,F8CAB8,F8DB88 o="Dell Inc." 00065C o="Malachite Technologies, Inc." 00065D o="Heidelberg Web Systems" 00065E o="Photuris, Inc." 000660 o="NADEX Co., Ltd." 000661 o="NIA Home Technologies Corp." 000662 o="MBM Technology Ltd." 000663 o="Human Technology Co., Ltd." 000664 o="Fostex Corporation" 000665 o="Sunny Giken, Inc." 000666 o="Roving Networks" 000667,00159D o="Tripp Lite" 000668 o="Vicon Industries Inc." 000669 o="Datasound Laboratories Ltd" 00066A o="InfiniCon Systems, Inc." 00066B o="Sysmex Corporation" 00066C o="Robinson Corporation" 00066D o="Compuprint S.P.A." 00066E,001823 o="Delta Electronics, Inc." 00066F o="Korea Data Systems" 000670 o="Upponetti Oy" 000671 o="Softing AG" 000672 o="Netezza" 000673 o="TKH Security Solutions USA" 000674 o="Spectrum Control, Inc." 000675 o="Banderacom, Inc." 000676 o="Novra Technologies Inc." 000677 o="SICK AG" 000679 o="Konami Corporation" 00067A o="JMP Systems" 00067B o="Toplink C&C Corporation" 00067D o="Takasago Ltd." 00067E o="WinCom Systems, Inc." 00067F,0006F0 o="Digeo, Inc." 000680 o="Card Access, Inc." 000681 o="Goepel Electronic GmbH" 000682 o="Convedia" 000683 o="Bravara Communications, Inc." 000684 o="Biacore AB" 000685 o="NetNearU Corporation" 000686 o="ZARDCOM Co., Ltd." 000687 o="Omnitron Systems Technology, Inc." 000688 o="Telways Communication Co., Ltd." 000689 o="yLez Technologies Pte Ltd" 00068A o="NeuronNet Co. Ltd. R&D Center" 00068B o="AirRunner Technologies, Inc." 00068D o="SEPATON, Inc." 00068E o="HID Corporation" 00068F o="Telemonitor, Inc." 000690 o="Euracom Communication GmbH" 000691 o="PT Inovacao" 000692 o="Intruvert Networks, Inc." 000693 o="Flexus Computer Technology, Inc." 000694 o="Mobillian Corporation" 000695 o="Ensure Technologies, Inc." 000696 o="Advent Networks" 000697 o="R & D Center" 000698 o="egnite GmbH" 000699 o="Vida Design Co." 00069A o="e & Tel" 00069B o="AVT Audio Video Technologies GmbH" 00069C o="Transmode Systems AB" 00069D o="Petards Ltd" 00069E o="UNIQA, Inc." 00069F o="Kuokoa Networks" 0006A0 o="Mx Imaging" 0006A1 o="Celsian Technologies, Inc." 0006A2 o="Microtune, Inc." 0006A3 o="Bitran Corporation" 0006A4 o="INNOWELL Corp." 0006A5 o="PINON Corp." 0006A6 o="Artistic Licence Engineering Ltd" 0006A7 o="Primarion" 0006A8 o="KC Technology, Inc." 0006A9 o="Universal Instruments Corp." 0006AA o="VT Miltope" 0006AB o="W-Link Systems, Inc." 0006AC o="Intersoft Co." 0006AD o="KB Electronics Ltd." 0006AE o="Himachal Futuristic Communications Ltd" 0006AF o="Xalted Networks" 0006B0 o="Comtech EF Data Corp." 0006B1,18B169,C0EAE4 o="Sonicwall" 0006B2 o="Linxtek Co." 0006B3 o="Diagraph Corporation" 0006B4 o="Vorne Industries, Inc." 0006B5,001F22 o="Source Photonics, Inc." 0006B6 o="Nir-Or Israel Ltd." 0006B7 o="TELEM GmbH" 0006B8 o="Bandspeed Pty Ltd" 0006B9 o="A5TEK Corp." 0006BA o="Westwave Communications" 0006BB o="ATI Technologies Inc." 0006BC o="Macrolink, Inc." 0006BD o="BNTECHNOLOGY Co., Ltd." 0006BE o="Baumer Optronic GmbH" 0006BF o="Accella Technologies Co., Ltd." 0006C0 o="United Internetworks, Inc." 0006C2 o="Smartmatic Corporation" 0006C3 o="Schindler Elevator Ltd." 0006C4 o="Piolink Inc." 0006C5 o="INNOVI Technologies Limited" 0006C6 o="lesswire AG" 0006C7 o="RFNET Technologies Pte Ltd (S)" 0006C8 o="Sumitomo Metal Micro Devices, Inc." 0006C9 o="Technical Marketing Research, Inc." 0006CA o="American Computer & Digital Components, Inc. (ACDC)" 0006CB o="Jotron Electronics A/S" 0006CC o="JMI Electronics Co., Ltd." 0006CD o="Leaf Imaging Ltd." 0006CE o="DATENO" 0006CF o="Thales Avionics In-Flight Systems, LLC" 0006D0 o="Elgar Electronics Corp." 0006D1 o="Tahoe Networks, Inc." 0006D2 o="Tundra Semiconductor Corp." 0006D3 o="Alpha Telecom, Inc. U.S.A." 0006D4 o="Interactive Objects, Inc." 0006D5 o="Diamond Systems Corp." 0006D8 o="Maple Optical Systems" 0006D9 o="IPM-Net S.p.A." 0006DA o="ITRAN Communications Ltd." 0006DB o="ICHIPS Co., Ltd." 0006DC o="Syabas Technology (Amquest)" 0006DD o="AT & T Laboratories - Cambridge Ltd" 0006DE o="Flash Technology" 0006DF o="AIDONIC Corporation" 0006E0 o="MAT Co., Ltd." 0006E1 o="Techno Trade s.a" 0006E2 o="Ceemax Technology Co., Ltd." 0006E3 o="Quantitative Imaging Corporation" 0006E4 o="Citel Technologies Ltd." 0006E5 o="Fujian Newland Computer Ltd. Co." 0006E6 o="DongYang Telecom Co., Ltd." 0006E7 o="Bit Blitz Communications Inc." 0006E8 o="Optical Network Testing, Inc." 0006E9 o="Intime Corp." 0006EA o="ELZET80 Mikrocomputer GmbH&Co. KG" 0006EB o="Global Data" 0006ED o="Inara Networks" 0006EE o="Shenyang Neu-era Information & Technology Stock Co., Ltd" 0006EF o="Maxxan Systems, Inc." 0006F1 o="Optillion" 0006F2 o="Platys Communications" 0006F3 o="AcceLight Networks" 0006F4,D4C8B0 o="Prime Electronics & Satellitics Inc." 0006F8,346178 o="The Boeing Company" 0006F9 o="Mitsui Zosen Systems Research Inc." 0006FA o="IP SQUARE Co, Ltd." 0006FB o="Hitachi Printing Solutions, Ltd." 0006FC o="Fnet Co., Ltd." 0006FD o="Comjet Information Systems Corp." 0006FE o="Ambrado, Inc" 0006FF o="Sheba Systems Co., Ltd." 000700 o="Zettamedia Korea" 000701,020701,027001 o="RACAL-DATACOM" 000702 o="Varex Imaging" 000703 o="CSEE Transport" 000705 o="Endress & Hauser GmbH & Co" 000706 o="Sanritz Corporation" 000707 o="Interalia Inc." 000708 o="Bitrage Inc." 000709 o="Westerstrand Urfabrik AB" 00070A o="Unicom Automation Co., Ltd." 00070B o="Novabase SGPS, SA" 00070C o="SVA-Intrusion.com Co. Ltd." 00070F o="Fujant, Inc." 000710 o="Adax, Inc." 000711 o="Acterna" 000712 o="JAL Information Technology" 000713 o="IP One, Inc." 000714 o="Brightcom" 000715 o="General Research of Electronics, Inc." 000716 o="J & S Marine Ltd." 000717 o="Wieland Electric GmbH" 000718 o="iCanTek Co., Ltd." 000719 o="Mobiis Co., Ltd." 00071A o="Finedigital Inc." 00071B o="CDVI Americas Ltd" 00071C,0060D3,08006A,800010,803A59 o="AT&T" 00071D o="Satelsa Sistemas Y Aplicaciones De Telecomunicaciones, S.A." 00071E o="Tri-M Engineering / Nupak Dev. Corp." 00071F o="European Systems Integration" 000720 o="Trutzschler GmbH & Co. KG" 000721 o="Formac Elektronik GmbH" 000722 o="The Nielsen Company" 000723 o="ELCON Systemtechnik GmbH" 000724 o="Telemax Co., Ltd." 000725 o="Bematech International Corp." 000726,001FA4,18C501,1CA532,2CAB25,30DF8D,38E595,50DB3F,68D482,803E48,80546A,84C9C6,94FBB2,94FE9D,AC6E1A,ACA46E,B4417A,BC9680,D837BE,E4EA83,ECB313,F43E61,FC8B97,FC8F7D o="SHENZHEN GONGJIN ELECTRONICS CO.,LT" 000727 o="Zi Corporation (HK) Ltd." 000728 o="Neo Telecom" 000729 o="Kistler Instrumente AG" 00072A o="Innovance Networks" 00072B o="Jung Myung Telecom Co., Ltd." 00072C o="Fabricom" 00072D o="CNSystems" 00072E o="North Node AB" 00072F o="Intransa, Inc." 000730 o="Hutchison OPTEL Telecom Technology Co., Ltd." 000731 o="Ophir-Spiricon LLC" 000732 o="AAEON Technology Inc." 000733 o="DANCONTROL Engineering" 000734 o="ONStor, Inc." 000735 o="Flarion Technologies, Inc." 000736 o="Data Video Technologies Co., Ltd." 000737 o="Soriya Co. Ltd." 000738 o="Young Technology Co., Ltd." 000739 o="Scotty Group Austria Gmbh" 00073A,0016AE o="INVENTEL" 00073B o="Tenovis GmbH & Co KG" 00073C,00227A o="Telecom Design" 00073D o="Nanjing Postel Telecommunications Co., Ltd." 00073E o="China Great-Wall Computer Shenzhen Co., Ltd." 00073F o="Woojyun Systec Co., Ltd." 000740,000D0B,001601,001D73,0024A5,004026,106F3F,18C2BF,343DC4,4CE676,50C4DD,58278C,6084BD,7403BD,84AFEC,8857EE,B0C745,CCE1D5,DCFB02 o="BUFFALO.INC" 000741 o="Sierra Automated Systems" 000742 o="Ormazabal" 000743 o="Chelsio Communications" 000744 o="Unico, Inc." 000745 o="Radlan Computer Communications Ltd." 000746 o="TURCK, Inc." 000747 o="Mecalc" 000748 o="The Imaging Source Europe" 000749 o="CENiX Inc." 00074A o="Carl Valentin GmbH" 00074B o="Daihen Corporation" 00074C o="Beicom Inc." 00074D,7493A4 o="Zebra Technologies Corp." 00074E o="IPFRONT Inc" 000751 o="m-u-t AG" 000752 o="Rhythm Watch Co., Ltd." 000753 o="Beijing Qxcomm Technology Co., Ltd." 000754 o="Xyterra Computing, Inc." 000755 o="Lafon" 000756 o="Juyoung Telecom" 000757 o="Topcall International AG" 000758 o="DragonWave Inc." 000759 o="Boris Manufacturing Corp." 00075A o="Air Products and Chemicals, Inc." 00075B o="Gibson Guitars" 00075C o="Eastman Kodak Company" 00075D o="Celleritas Inc." 00075E o="Ametek Power Instruments" 00075F o="VCS Video Communication Systems AG" 000760 o="TOMIS Information & Telecom Corp." 000761 o="29530" 000762 o="Group Sense Limited" 000763 o="Sunniwell Cyber Tech. Co., Ltd." 000764 o="YoungWoo Telecom Co. Ltd." 000765 o="Jade Quantum Technologies, Inc." 000766 o="Chou Chin Industrial Co., Ltd." 000767 o="Yuxing Electronics Company Limited" 000768 o="Danfoss A/S" 000769 o="Italiana Macchi SpA" 00076A o="NEXTEYE Co., Ltd." 00076B o="Stralfors AB" 00076C o="Daehanet, Inc." 00076D o="Flexlight Networks" 00076E o="Sinetica Corporation Limited" 00076F o="Synoptics Limited" 000770,70305D o="Ubiquoss Inc" 000771 o="Embedded System Corporation" 000772,184A6F,1880F5,3C8BCD,54A619,A09D86,A8AD3D,AC9CE4,C8F86D,E03005,E4A1E6,F4C613 o="Alcatel-Lucent Shanghai Bell Co., Ltd" 000773 o="Ascom Powerline Communications Ltd." 000774 o="GuangZhou Thinker Technology Co. Ltd." 000775 o="Valence Semiconductor, Inc." 000776 o="Federal APD" 000777 o="Motah Ltd." 000778 o="GERSTEL GmbH & Co. KG" 000779 o="Sungil Telecom Co., Ltd." 00077A o="Infoware System Co., Ltd." 00077B o="Millimetrix Broadband Networks" 00077C,0011B4 o="Westermo Network Technologies AB" 00077E o="Elrest GmbH" 00077F o="J Communications Co., Ltd." 000780,886B0F o="Bluegiga Technologies OY" 000781 o="Itron Inc." 000783 o="SynCom Network, Inc." 000786 o="Wireless Networks Inc." 000787 o="Idea System Co., Ltd." 000788 o="Clipcomm, Inc." 000789 o="Allradio Co., Ltd" 00078A o="Mentor Data System Inc." 00078B o="Wegener Communications, Inc." 00078C o="Elektronikspecialisten i Borlange AB" 00078D o="NetEngines Ltd." 00078E o="Garz & Friche GmbH" 00078F o="Emkay Innovative Products" 000790 o="Tri-M Technologies (s) Limited" 000791 o="International Data Communications, Inc." 000792 o="Sütron Electronic GmbH" 000793 o="Shin Satellite Public Company Limited" 000794 o="Simple Devices, Inc." 000795,000AE6,000D87,001035,00115B,00142A,0016EC,001921,001BB9,001E90,002197,002511,1078D2,4487FC,7427EA,B8AEED,C03FD5,C89CDC,ECA86B,F44D30 o="Elitegroup Computer Systems Co.,Ltd." 000796 o="LSI Systems, Inc." 000797 o="Netpower Co., Ltd." 000798 o="Selea SRL" 000799 o="Tipping Point Technologies, Inc." 00079A o="Verint Systems Inc" 00079B,001482 o="Aurora Networks" 00079C o="Golden Electronics Technology Co., Ltd." 00079D o="Musashi Co., Ltd." 00079E o="Ilinx Co., Ltd." 00079F o="Action Digital Inc." 0007A0 o="e-Watch Inc." 0007A1 o="VIASYS Healthcare GmbH" 0007A2 o="Opteon Corporation" 0007A3 o="Ositis Software, Inc." 0007A4 o="GN Netcom Ltd." 0007A5 o="Y.D.K Co. Ltd." 0007A6 o="Leviton Manufacturing Co., Inc." 0007A7 o="A-Z Inc." 0007A8 o="Haier Group Technologies Ltd" 0007A9 o="Novasonics" 0007AA o="Quantum Data Inc." 0007AC o="Eolring" 0007AD o="Pentacon GmbH Foto-und Feinwerktechnik" 0007AE o="Britestream Networks, Inc." 0007AF,001347,0060DA,00A01D o="Red Lion Controls, LP" 0007B0 o="Office Details, Inc." 0007B1 o="Equator Technologies" 0007B2 o="Transaccess S.A." 0007B5 o="Any One Wireless Ltd." 0007B6 o="Telecom Technology Ltd." 0007B7 o="Samurai Ind. Prods Eletronicos Ltda" 0007B8 o="Corvalent Corporation" 0007B9 o="Ginganet Corporation" 0007BA,001BDA o="UTStarcom Inc" 0007BB o="Candera Inc." 0007BC o="Identix Inc." 0007BD o="Radionet Ltd." 0007BE o="DataLogic SpA" 0007BF o="Armillaire Technologies, Inc." 0007C0 o="NetZerver Inc." 0007C1 o="Overture Networks, Inc." 0007C2 o="Netsys Telecom" 0007C3 o="Thomson" 0007C4 o="JEAN Co. Ltd." 0007C5 o="Gcom, Inc." 0007C6 o="VDS Vosskuhler GmbH" 0007C7 o="Synectics Systems Limited" 0007C8 o="Brain21, Inc." 0007C9 o="Technol Seven Co., Ltd." 0007CA o="Creatix Polymedia Ges Fur Kommunikaitonssysteme" 0007CB,0024D4,140C76,342792,68A378,70FC8F,8C97EA,E49E12,F4CAE5 o="FREEBOX SAS" 0007CC o="Kaba Benzing GmbH" 0007CD o="Kumoh Electronic Co, Ltd" 0007CE o="Cabletime Limited" 0007CF o="Anoto AB" 0007D0 o="Automat Engenharia de Automação Ltda." 0007D1 o="Spectrum Signal Processing Inc." 0007D2 o="Logopak Systeme GmbH & Co. KG" 0007D3 o="SPGPrints B.V." 0007D4 o="Zhejiang Yutong Network Communication Co Ltd." 0007D5 o="3e Technologies Int;., Inc." 0007D6 o="Commil Ltd." 0007D7 o="Caporis Networks AG" 0007D8,00265B,00FC8D,0C473D,1CABC0,30B7D4,64777D,688F2E,68B6FC,749BE8,788DF7,840B7C,84948C,9050CA,A84E3F,AC202E,B0F530,BC1401,BC3E07,BC4DFB,F0F249,F81D0F,FC5A1D o="Hitron Technologies. Inc" 0007D9 o="Splicecom" 0007DA o="Neuro Telecom Co., Ltd." 0007DB o="Kirana Networks, Inc." 0007DC o="Atek Co, Ltd." 0007DD o="Cradle Technologies" 0007DE o="eCopilt AB" 0007DF o="Vbrick Systems Inc." 0007E0 o="Palm Inc." 0007E1 o="WIS Communications Co. Ltd." 0007E2 o="Bitworks, Inc." 0007E3 o="Navcom Technology, Inc." 0007E4 o="SoftRadio Co., Ltd." 0007E5 o="Coup Corporation" 0007E6 o="edgeflow Canada Inc." 0007E7 o="FreeWave Technologies" 0007E8 o="EdgeWave" 0007EA o="Massana, Inc." 0007ED o="Altera Corporation" 0007EE o="telco Informationssysteme GmbH" 0007EF o="Lockheed Martin Tactical Systems" 0007F0 o="LogiSync LLC" 0007F1 o="TeraBurst Networks Inc." 0007F2 o="IOA Corporation" 0007F3 o="Thinkengine Networks" 0007F4 o="Eletex Co., Ltd." 0007F5 o="Bridgeco Co AG" 0007F6 o="Qqest Software Systems" 0007F7 o="Galtronics" 0007F8 o="ITDevices, Inc." 0007F9 o="Sensaphone" 0007FA o="ITT Co., Ltd." 0007FB o="Giga Stream UMTS Technologies GmbH" 0007FC o="Adept Systems Inc." 0007FD o="LANergy Ltd." 0007FE o="Rigaku Corporation" 0007FF o="Gluon Networks" 000800,008000 o="MULTITECH SYSTEMS, INC." 000801 o="HighSpeed Surfing Inc." 000803 o="Cos Tron" 000804 o="ICA Inc." 000805 o="Techno-Holon Corporation" 000806 o="Raonet Systems, Inc." 000807 o="Access Devices Limited" 000808 o="PPT Vision, Inc." 000809 o="Systemonic AG" 00080A o="Espera-Werke GmbH" 00080B o="Birka BPA Informationssystem AB" 00080C o="VDA Elettronica spa" 00080D,000E7B,0015B7,001C7E,002318,78D6B2,887384,B86B23,E89D87,E8E0B7,EC21E5,F4645D o="Toshiba" 00080F o="Proximion Fiber Optics AB" 000810 o="Key Technology, Inc." 000811 o="VOIX Corporation" 000812 o="GM-2 Corporation" 000813 o="Diskbank, Inc." 000814 o="TIL Technologies" 000815 o="CATS Co., Ltd." 000816 o="Bluelon ApS" 000817 o="EmergeCore Networks LLC" 000818 o="Pixelworks, Inc." 000819 o="Banksys" 00081A o="Sanrad Intelligence Storage Communications (2000) Ltd." 00081B o="Windigo Systems" 00081C o="@pos.com" 00081D o="Ipsil, Incorporated" 00081E o="Repeatit AB" 00081F o="Pou Yuen Tech Corp. Ltd." 000822 o="InPro Comm" 000823 o="Texa Corp." 000824 o="Nuance Document Imaging" 000825 o="Acme Packet" 000826 o="Colorado Med Tech" 000827,0013C8,0017C2,00193E,001CA2,001D8B,002233,00238E,002553,008C54,00A02F,3039F2,38229D,6487D7,74888B,842615,A04FD4,A4526F,A45DA1,D0D412,D4D184,DC0B1A,E874E6,F0842F o="ADB Broadband Italia" 000828 o="Koei Engineering Ltd." 000829 o="TOKYO ELECTRON DEVICE NAGASAKI LIMITED" 00082A o="Powerwallz Network Security" 00082B o="Wooksung Electronics, Inc." 00082C o="Homag AG" 00082D o="Indus Teqsite Private Limited" 00082E o="Multitone Electronics PLC" 00084E o="DivergeNet, Inc." 00084F o="Qualstar Corporation" 000850 o="Arizona Instrument Corp." 000851 o="Canadian Bank Note Company, Ltd." 000852 o="Davolink Co. Inc." 000853 o="Schleicher GmbH & Co. Relaiswerke KG" 000854 o="Netronix, Inc." 000855 o="NASA-Goddard Space Flight Center" 000856 o="Gamatronic Electronic Industries Ltd." 000857 o="Polaris Networks, Inc." 000858 o="Novatechnology Inc." 000859 o="ShenZhen Unitone Electronics Co., Ltd." 00085A o="IntiGate Inc." 00085B o="Hanbit Electronics Co., Ltd." 00085C o="Shanghai Dare Technologies Co. Ltd." 00085D o="Mitel Corporation" 00085E o="PCO AG" 00085F o="Picanol N.V." 000860 o="LodgeNet Entertainment Corp." 000861 o="SoftEnergy Co., Ltd." 000862 o="NEC Eluminant Technologies, Inc." 000863 o="Entrisphere Inc." 000864 o="Fasy S.p.A." 000865 o="JASCOM CO., LTD" 000866 o="DSX Access Systems, Inc." 000867 o="Uptime Devices" 000868 o="PurOptix" 000869 o="Command-e Technology Co.,Ltd." 00086A o="Securiton Gmbh" 00086B o="MIPSYS" 00086C o="Plasmon LMS" 00086D o="Missouri FreeNet" 00086E o="Hyglo AB" 00086F o="Resources Computer Network Ltd." 000870 o="Rasvia Systems, Inc." 000871 o="NORTHDATA Co., Ltd." 000872 o="Sorenson Communications" 000873 o="DapTechnology B.V." 000875 o="Acorp Electronics Corp." 000876 o="SDSystem" 000877 o="Liebert-Hiross Spa" 000878 o="Benchmark Storage Innovations" 000879 o="CEM Corporation" 00087A o="Wipotec GmbH" 00087B o="RTX Telecom A/S" 00087E o="Bon Electro-Telecom Inc." 00087F o="SPAUN electronic GmbH & Co. KG" 000880 o="BroadTel Canada Communications inc." 000881 o="DIGITAL HANDS CO.,LTD." 000882 o="SIGMA CORPORATION" 000884 o="Index Braille AB" 000885 o="EMS Dr. Thomas Wünsche" 000886 o="Hansung Teliann, Inc." 000887 o="Maschinenfabrik Reinhausen GmbH" 000888 o="OULLIM Information Technology Inc,." 000889,0024AF,04C9D9,285767,4C82CF,88B6EE o="Dish Technologies Corp" 00088A o="Minds@Work" 00088B o="Tropic Networks Inc." 00088C o="Quanta Network Systems Inc." 00088D o="Sigma-Links Inc." 00088E o="Nihon Computer Co., Ltd." 00088F o="ADVANCED DIGITAL TECHNOLOGY" 000890 o="AVILINKS SA" 000891 o="Lyan Inc." 000892 o="EM Solutions" 000893 o="LE INFORMATION COMMUNICATION INC." 000894 o="InnoVISION Multimedia Ltd." 000895 o="DIRC Technologie GmbH & Co.KG" 000896 o="Printronix, Inc." 000897 o="Quake Technologies" 000898 o="Gigabit Optics Corporation" 000899 o="Netbind, Inc." 00089A o="Alcatel Microelectronics" 00089B o="ICP Electronics Inc." 00089C o="Elecs Industry Co., Ltd." 00089D o="UHD-Elektronik" 00089E o="Beijing Enter-Net co.LTD" 00089F,002666,64E599,705DCC,88366C,909F33 o="EFM Networks" 0008A0 o="Stotz Feinmesstechnik GmbH" 0008A1 o="CNet Technology Inc." 0008A2 o="ADI Engineering, Inc." 0008A5 o="Peninsula Systems Inc." 0008A6 o="Multiware & Image Co., Ltd." 0008A7 o="iLogic Inc." 0008A8 o="Systec Co., Ltd." 0008A9 o="SangSang Technology, Inc." 0008AA o="KARAM" 0008AB o="EnerLinx.com, Inc." 0008AC o="Eltromat GmbH" 0008AD o="Toyo-Linx Co., Ltd." 0008AE o="PacketFront Network Products AB" 0008AF o="Novatec Corporation" 0008B0 o="BKtel communications GmbH" 0008B1 o="ProQuent Systems" 0008B2 o="SHENZHEN COMPASS TECHNOLOGY DEVELOPMENT CO.,LTD" 0008B3 o="Fastwel" 0008B4 o="SYSPOL" 0008B5 o="TAI GUEN ENTERPRISE CO., LTD" 0008B6 o="RouteFree, Inc." 0008B7 o="HIT Incorporated" 0008B8 o="E.F. Johnson" 0008B9,44F034,743AEF,808C97,90F891,943BB1 o="Kaonmedia CO., LTD." 0008BA o="Erskine Systems Ltd" 0008BB o="NetExcell" 0008BC o="Ilevo AB" 0008BD o="TEPG-US" 0008BE o="XENPAK MSA Group" 0008BF o="Aptus Elektronik AB" 0008C0 o="ASA SYSTEMS" 0008C1 o="Avistar Communications Corporation" 0008C3 o="Contex A/S" 0008C4 o="Hikari Co.,Ltd." 0008C5 o="Liontech Co., Ltd." 0008C6 o="Philips Consumer Communications" 0008C8 o="Soneticom, Inc." 0008C9 o="TechniSat Digital GmbH Daun" 0008CA o="TwinHan Technology Co.,Ltd" 0008CB o="Zeta Broadband Inc." 0008CC o="Remotec, Inc." 0008CD o="With-Net Inc" 0008CE o="IPMobileNet Inc." 0008CF o="Nippon Koei Power Systems Co., Ltd." 0008D0 o="Musashi Engineering Co., LTD." 0008D1 o="KAREL INC." 0008D2 o="ZOOM Networks Inc." 0008D3 o="Hercules Technologies S.A.S." 0008D4 o="IneoQuest Technologies, Inc" 0008D5 o="Vanguard Networks Solutions, LLC" 0008D6 o="HASSNET Inc." 0008D7 o="HOW CORPORATION" 0008D8 o="Dowkey Microwave" 0008D9 o="Mitadenshi Co.,LTD" 0008DA o="SofaWare Technologies Ltd." 0008DB o="Corrigent Systems" 0008DC o="Wiznet" 0008DD o="Telena Communications, Inc." 0008DE o="3UP Systems" 0008DF o="Alistel Inc." 0008E0 o="ATO Technology Ltd." 0008E1 o="Barix AG" 0008E4 o="Envenergy Inc" 0008E5 o="IDK Corporation" 0008E6 o="Littlefeet" 0008E7 o="SHI ControlSystems,Ltd." 0008E8 o="Excel Master Ltd." 0008E9 o="NextGig" 0008EA o="Motion Control Engineering, Inc" 0008EB o="ROMWin Co.,Ltd." 0008EC o="Optical Zonu Corporation" 0008ED o="ST&T Instrument Corp." 0008EE o="Logic Product Development" 0008EF o="DIBAL,S.A." 0008F0 o="Next Generation Systems, Inc." 0008F1,88DD79 o="Voltaire" 0008F2 o="C&S Technology" 0008F3 o="WANY" 0008F4 o="Bluetake Technology Co., Ltd." 0008F5 o="YESTECHNOLOGY Co.,Ltd." 0008F7 o="Hitachi Ltd, Semiconductor & Integrated Circuits Gr" 0008F8,00B019 o="UTC CCS" 0008FA o="KEB Automation KG" 0008FB o="SonoSite, Inc." 0008FC o="Gigaphoton Inc." 0008FD o="BlueKorea Co., Ltd." 0008FE o="UNIK C&C Co.,Ltd." 0008FF o="Trilogy Communications Ltd" 000900 o="TMT" 000901 o="Shenzhen Shixuntong Information & Technoligy Co" 000902 o="Redline Communications Inc." 000903 o="Panasas, Inc" 000904 o="MONDIAL electronic" 000905 o="iTEC Technologies Ltd." 000906 o="Esteem Networks" 000907 o="Chrysalis Development" 000908 o="VTech Technology Corp." 000909 o="Telenor Connect A/S" 00090A o="SnedFar Technology Co., Ltd." 00090B o="MTL Instruments PLC" 00090C o="Mayekawa Mfg. Co. Ltd." 00090D o="LEADER ELECTRONICS CORP." 00090E o="Helix Technology Inc." 00090F,000CE6 o="Fortinet Inc." 000910 o="Simple Access Inc." 000913 o="SystemK Corporation" 000914 o="COMPUTROLS INC." 000915 o="CAS Corp." 000916 o="Listman Home Technologies, Inc." 000917 o="WEM Technology Inc" 000918 o="SAMSUNG TECHWIN CO.,LTD" 000919 o="MDS Gateways" 00091A o="Macat Optics & Electronics Co., Ltd." 00091B o="Digital Generation Inc." 00091C o="CacheVision, Inc" 00091D o="Proteam Computer Corporation" 00091E o="Firstech Technology Corp." 00091F o="A&D Co., Ltd." 000920 o="EpoX COMPUTER CO.,LTD." 000921 o="Planmeca Oy" 000922 o="TST Biometrics GmbH" 000923 o="Heaman System Co., Ltd" 000924 o="Telebau GmbH" 000925 o="VSN Systemen BV" 000926 o="YODA COMMUNICATIONS, INC." 000927 o="TOYOKEIKI CO.,LTD." 000928 o="Telecore" 000929 o="Sanyo Industries (UK) Limited" 00092A o="MYTECS Co.,Ltd." 00092B o="iQstor Networks, Inc." 00092C o="Hitpoint Inc." 00092D,002376,00EEBD,04C23E,188796,1CB094,2C8A72,38E7D8,404E36,502E5C,64A769,74F61C,7C6193,800184,807ABF,847A88,902155,90E7C4,980D2E,A0F450,A826D9,AC3743,B4CEF6,BCCFCC,D40B1A,D4206D,D8B377,E899C4,F8DB7F o="HTC Corporation" 00092E o="B&Tech System Inc." 00092F o="Akom Technology Corporation" 000930 o="AeroConcierge Inc." 000931 o="Future Internet, Inc." 000932 o="Omnilux" 000933 o="Ophit Co.Ltd." 000934 o="Dream-Multimedia-Tv GmbH" 000935 o="Sandvine Incorporated" 000936 o="Ipetronik GmbH & Co. KG" 000937 o="Inventec Appliance Corp" 000938 o="Allot Communications" 000939 o="ShibaSoku Co.,Ltd." 00093A,B4C62E,F82F08 o="Molex CMS" 00093B o="HYUNDAI NETWORKS INC." 00093C o="Jacques Technologies P/L" 00093D o="Newisys,Inc." 00093E o="C&I Technologies" 00093F o="Double-Win Enterpirse CO., LTD" 000940 o="AGFEO GmbH & Co. KG" 000941,001AEB o="Allied Telesis R&D Center K.K." 000942 o="Wireless Technologies, Inc" 000945 o="Palmmicro Communications Inc" 000946 o="Cluster Labs GmbH" 000947 o="Aztek, Inc." 000948 o="Vista Control Systems, Corp." 000949 o="Glyph Technologies Inc." 00094A o="Homenet Communications" 00094B o="FillFactory NV" 00094C o="Communication Weaver Co.,Ltd." 00094D o="Braintree Communications Pty Ltd" 00094E o="BARTECH SYSTEMS INTERNATIONAL, INC" 00094F o="elmegt GmbH & Co. KG" 000950 o="Independent Storage Corporation" 000951 o="Apogee Imaging Systems" 000952 o="Auerswald GmbH & Co. KG" 000953 o="Linkage System Integration Co.Ltd." 000954 o="AMiT spol. s. r. o." 000955 o="Young Generation International Corp." 000956 o="Network Systems Group, Ltd. (NSG)" 000957 o="Supercaller, Inc." 000958 o="INTELNET S.A." 000959 o="Sitecsoft" 00095A o="RACEWOOD TECHNOLOGY" 00095B,000FB5,00146C,00184D,001B2F,001E2A,001F33,00223F,0024B2,0026F2,008EF2,04A151,08028E,0836C9,08BD43,100C6B,100D7F,10DA43,1459C0,200CC8,204E7F,20E52A,288088,28C68E,2C3033,2CB05D,30469A,3894ED,3C3786,405D82,4494FC,44A56E,4C60DE,504A6E,506A03,6CB0CE,744401,78D294,803773,841B5E,8C3BAD,9C3DCF,9CC9EB,9CD36D,A00460,A021B7,A040A0,A06391,A42B8C,B03956,B07FB9,B0B98A,BCA511,C03F0E,C0FFD4,C40415,C43DC7,CC40D0,DCEF09,E0469A,E091F5,E4F4C6,E8FCAF,F87394 o="NETGEAR" 00095C o="Philips Medical Systems - Cardiac and Monitoring Systems (CM" 00095D o="Dialogue Technology Corp." 00095E o="Masstech Group Inc." 00095F o="Telebyte, Inc." 000960 o="YOZAN Inc." 000961 o="Switchgear and Instrumentation Ltd" 000962 o="Sonitor Technologies AS" 000963 o="Dominion Lasercom Inc." 000964 o="Hi-Techniques, Inc." 000965 o="HyunJu Computer Co., Ltd." 000966 o="TRIMBLE EUROPE BV" 000967 o="Tachyon, Inc" 000968 o="TECHNOVENTURE, INC." 000969 o="Meret Optical Communications" 00096A o="Cloverleaf Communications Inc." 00096C o="Imedia Semiconductor Corp." 00096D o="Powernet Technologies Corp." 00096E o="GIANT ELECTRONICS LTD." 00096F o="Beijing Zhongqing Elegant Tech. Corp.,Limited" 000970 o="Vibration Research Corporation" 000971 o="Time Management, Inc." 000972 o="Securebase,Inc" 000973 o="Lenten Technology Co., Ltd." 000974 o="Innopia Technologies, Inc." 000975 o="fSONA Communications Corporation" 000976 o="Datasoft ISDN Systems GmbH" 000977 o="Brunner Elektronik AG" 000978 o="AIJI System Co., Ltd." 000979 o="Advanced Television Systems Committee, Inc." 00097A o="Louis Design Labs." 00097D o="SecWell Networks Oy" 00097E o="IMI TECHNOLOGY CO., LTD" 00097F o="Vsecure 2000 LTD." 000980 o="Power Zenith Inc." 000981 o="Newport Networks" 000982 o="Loewe Opta GmbH" 000983 o="GlobalTop Technology, Inc." 000984 o="MyCasa Network Inc." 000985 o="Auto Telecom Company" 000986 o="Metalink LTD." 000987 o="NISHI NIPPON ELECTRIC WIRE & CABLE CO.,LTD." 000988 o="Nudian Electron Co., Ltd." 000989 o="VividLogic Inc." 00098A o="EqualLogic Inc" 00098B o="Entropic Communications, Inc." 00098C o="Option Wireless Sweden" 00098D o="Velocity Semiconductor" 00098E o="ipcas GmbH" 00098F o="Cetacean Networks" 000990 o="ACKSYS Communications & systems" 000991 o="GE Fanuc Automation Manufacturing, Inc." 000992 o="InterEpoch Technology,INC." 000993,000A30,0CD9C1,7CFC3C,F855CD o="Visteon Corporation" 000994 o="Cronyx Engineering" 000995 o="Castle Technology Ltd" 000996 o="RDI" 000998 o="Capinfo Company Limited" 000999 o="CP GEORGES RENAULT" 00099A o="ELMO COMPANY, LIMITED" 00099B o="Western Telematic Inc." 00099C o="Naval Research Laboratory" 00099D o="Haliplex Communications" 00099E o="Testech, Inc." 00099F o="VIDEX INC." 0009A0 o="Microtechno Corporation" 0009A1 o="Telewise Communications, Inc." 0009A2 o="Interface Co., Ltd." 0009A3 o="Leadfly Techologies Corp. Ltd." 0009A4 o="HARTEC Corporation" 0009A5 o="HANSUNG ELETRONIC INDUSTRIES DEVELOPMENT CO., LTD" 0009A6 o="Ignis Optics, Inc." 0009A7 o="Bang & Olufsen A/S" 0009A8 o="Eastmode Pte Ltd" 0009A9 o="Ikanos Communications" 0009AA o="Data Comm for Business, Inc." 0009AB o="Netcontrol Oy" 0009AC o="LANVOICE" 0009AD o="HYUNDAI SYSCOMM, INC." 0009AE o="OKANO ELECTRIC CO.,LTD" 0009AF o="e-generis" 0009B0 o="Onkyo Corporation" 0009B1 o="Kanematsu Electronics, Ltd." 0009B2 o="L&F Inc." 0009B3 o="MCM Systems Ltd" 0009B4 o="KISAN TELECOM CO., LTD." 0009B5 o="3J Tech. Co., Ltd." 0009B8 o="Entise Systems" 0009B9 o="Action Imaging Solutions" 0009BA o="MAKU Informationstechik GmbH" 0009BB o="MathStar, Inc." 0009BC,0016ED o="Utility, Inc" 0009BD o="Epygi Technologies, Ltd." 0009BE o="Mamiya-OP Co.,Ltd." 0009BF,001656,0017AB,00191D,0019FD,001AE9,001B7A,001BEA,001CBE,001DBC,001E35,001EA9,001F32,001FC5,002147,0021BD,00224C,0022AA,0022D7,002331,0023CC,00241E,002444,0024F3,0025A0,002659,002709,182A7B,2C10C1,34AF2C,40D28A,40F407,58BDA3,78A2A0,7CBB8A,8C56C5,8CCDE8,9CE635,A45C27,A4C0E1,B8AE6E,CC9E00,CCFB65,D86BF7,E00C7F,E0E751,E84ECE o="Nintendo Co., Ltd." 0009C0 o="6WIND" 0009C1 o="PROCES-DATA A/S" 0009C2 o="Onity, Inc." 0009C3 o="NETAS" 0009C4 o="Medicore Co., Ltd" 0009C5 o="KINGENE Technology Corporation" 0009C6 o="Visionics Corporation" 0009C7 o="Movistec" 0009C8 o="SINAGAWA TSUSHIN KEISOU SERVICE" 0009C9 o="BlueWINC Co., Ltd." 0009CA o="iMaxNetworks(Shenzhen)Limited." 0009CB o="HBrain" 0009CC o="Moog GmbH" 0009CD o="HUDSON SOFT CO.,LTD." 0009CE o="SpaceBridge Semiconductor Corp." 0009CF o="iAd GmbH" 0009D0 o="Solacom Technologies Inc." 0009D1 o="SERANOA NETWORKS INC" 0009D2 o="Mai Logic Inc." 0009D3 o="Western DataCom Co., Inc." 0009D4 o="Transtech Networks" 0009D5 o="Signal Communication, Inc." 0009D6 o="KNC One GmbH" 0009D7 o="DC Security Products" 0009D8 o="Fält Communications AB" 0009D9 o="Neoscale Systems, Inc" 0009DA o="Control Module Inc." 0009DB o="eSpace" 0009DC o="Galaxis Technology AG" 0009DD o="Mavin Technology Inc." 0009DE o="Samjin Information & Communications Co., Ltd." 0009DF,486DBB,7054B4,CCD3C1 o="Vestel Elektronik San ve Tic. A.Ş." 0009E0 o="XEMICS S.A." 0009E1,0014A5,001A73,002100,002682,00904B,1C497B,20107A,80029C,AC8112,E8E1E1,F835DD o="Gemtek Technology Co., Ltd." 0009E2 o="Sinbon Electronics Co., Ltd." 0009E3 o="Angel Iglesias S.A." 0009E4 o="K Tech Infosystem Inc." 0009E5 o="Hottinger Baldwin Messtechnik GmbH" 0009E6 o="Cyber Switching Inc." 0009E7 o="ADC Techonology" 0009EA o="YEM Inc." 0009EB o="HuMANDATA LTD." 0009EC o="Daktronics, Inc." 0009ED o="CipherOptics" 0009EE o="MEIKYO ELECTRIC CO.,LTD" 0009EF o="Vocera Communications" 0009F0 o="Shimizu Technology Inc." 0009F1 o="Yamaki Electric Corporation" 0009F2 o="Cohu, Inc., Electronics Division" 0009F3 o="WELL Communication Corp." 0009F4 o="Alcon Laboratories, Inc." 0009F5 o="Emerson Network Power Co.,Ltd" 0009F6 o="Shenzhen Eastern Digital Tech Ltd." 0009F7 o="SED, a division of Calian" 0009F8 o="UNIMO TECHNOLOGY CO., LTD." 0009F9 o="ART JAPAN CO., LTD." 0009FB o="Philips Patient Monitoring" 0009FC o="IPFLEX Inc." 0009FD o="Ubinetics Limited" 0009FE o="Daisy Technologies, Inc." 0009FF o="X.net 2000 GmbH" 000A00 o="Mediatek Corp." 000A01 o="SOHOware, Inc." 000A02 o="ANNSO CO., LTD." 000A03 o="ENDESA SERVICIOS, S.L." 000A04,000BAC,000D54,000E6A,000FCB,0012A9,00147C,0016E0,00186E,001AC1,001CC5 o="3Com Ltd" 000A05 o="Widax Corp." 000A06 o="Teledex LLC" 000A07 o="WebWayOne Ltd" 000A08,146102 o="Alpine Electronics, Inc." 000A09 o="TaraCom Integrated Products, Inc." 000A0A o="SUNIX Co., Ltd." 000A0B o="Sealevel Systems, Inc." 000A0C o="Scientific Research Corporation" 000A0D o="FCI Deutschland GmbH" 000A0E o="Invivo Research Inc." 000A0F o="Ilryung Telesys, Inc" 000A10 o="FAST media integrations AG" 000A11 o="ExPet Technologies, Inc" 000A12 o="Azylex Technology, Inc" 000A13 o="Honeywell Video Systems" 000A14 o="TECO a.s." 000A15 o="Silicon Data, Inc" 000A16 o="Lassen Research" 000A17 o="NESTAR COMMUNICATIONS, INC" 000A18 o="Vichel Inc." 000A19 o="Valere Power, Inc." 000A1A o="Imerge Ltd" 000A1B o="Stream Labs" 000A1C o="Bridge Information Co., Ltd." 000A1D o="Optical Communications Products Inc." 000A1E o="Red-M Products Limited" 000A1F o="ART WARE Telecommunication Co., Ltd." 000A20 o="SVA Networks, Inc." 000A21 o="Integra Telecom Co. Ltd" 000A22 o="Amperion Inc" 000A23 o="Parama Networks Inc" 000A24 o="Octave Communications" 000A25,3C4CD0,F4B5BB o="CERAGON NETWORKS" 000A26 o="CEIA S.p.A." 000A28 o="Motorola" 000A29 o="Pan Dacom Networking AG" 000A2A o="QSI Systems Inc." 000A2B o="Etherstuff" 000A2C o="Active Tchnology Corporation" 000A2D o="Cabot Communications Limited" 000A2E o="MAPLE NETWORKS CO., LTD" 000A2F o="Artnix Inc." 000A31 o="HCV Consulting" 000A32 o="Xsido Corporation" 000A34 o="Identicard Systems Incorporated" 000A35 o="Xilinx" 000A36 o="Synelec Telecom Multimedia" 000A37 o="Procera Networks, Inc." 000A38 o="Apani Networks" 000A39 o="LoPA Information Technology" 000A3A o="J-THREE INTERNATIONAL Holding Co., Ltd." 000A3B o="GCT Semiconductor, Inc" 000A3C o="Enerpoint Ltd." 000A3D o="Elo Sistemas Eletronicos S.A." 000A3E o="EADS Telecom" 000A3F o="Data East Corporation" 000A40 o="Crown Audio -- Harmanm International" 000A43 o="Chunghwa Telecom Co., Ltd." 000A44 o="Avery Dennison Deutschland GmbH" 000A45 o="Audio-Technica Corp." 000A46 o="ARO WELDING TECHNOLOGIES SAS" 000A47 o="Allied Vision Technologies" 000A48 o="Albatron Technology" 000A4A o="Targa Systems Ltd." 000A4B o="DataPower Technology, Inc." 000A4C o="Molecular Devices Corporation" 000A4D o="Noritz Corporation" 000A4E o="UNITEK Electronics INC." 000A4F o="Brain Boxes Limited" 000A50 o="REMOTEK CORPORATION" 000A51 o="GyroSignal Technology Co., Ltd." 000A52 o="AsiaRF Ltd." 000A53 o="Intronics, Incorporated" 000A54 o="Laguna Hills, Inc." 000A55 o="MARKEM Corporation" 000A56 o="HITACHI Maxell Ltd." 000A58 o="Freyer & Siegel Elektronik GmbH & Co. KG" 000A59 o="HW server" 000A5A o="GreenNET Technologies Co.,Ltd." 000A5B o="Power-One as" 000A5C o="Carel s.p.a." 000A5D o="FingerTec Worldwide Sdn Bhd" 000A5F o="almedio inc." 000A60 o="Autostar Technology Pte Ltd" 000A61 o="Cellinx Systems Inc." 000A62 o="Crinis Networks, Inc." 000A63 o="DHD GmbH" 000A64 o="Eracom Technologies" 000A65 o="GentechMedia.co.,ltd." 000A66 o="MITSUBISHI ELECTRIC SYSTEM & SERVICE CO.,LTD." 000A67 o="OngCorp" 000A68,000F53 o="Solarflare Communications Inc." 000A69 o="SUNNY bell Technology Co., Ltd." 000A6A o="SVM Microwaves s.r.o." 000A6B o="Tadiran Telecom Business Systems LTD" 000A6C o="Walchem Corporation" 000A6D o="EKS Elektronikservice GmbH" 000A6E,000BBA,0020A3,00D028 o="Harmonic, Inc" 000A6F o="ZyFLEX Technologies Inc" 000A70 o="MPLS Forum" 000A71 o="Avrio Technologies, Inc" 000A72 o="STEC, INC." 000A73,0011E6,0014F8 o="Scientific Atlanta" 000A74 o="Manticom Networks Inc." 000A75 o="Caterpillar, Inc" 000A76 o="Beida Jade Bird Huaguang Technology Co.,Ltd" 000A77 o="Bluewire Technologies LLC" 000A78 o="OLITEC" 000A79,002687 o="corega K.K" 000A7A o="Kyoritsu Electric Co., Ltd." 000A7B o="Cornelius Consult" 000A7C o="Tecton Ltd" 000A7D o="Valo, Inc." 000A7E o="The Advantage Group" 000A7F o="Teradon Industries, Inc" 000A80 o="Telkonet Inc." 000A81 o="TEIMA Audiotex S.L." 000A82 o="TATSUTA SYSTEM ELECTRONICS CO.,LTD." 000A83 o="SALTO SYSTEMS S.L." 000A84 o="Rainsun Enterprise Co., Ltd." 000A85 o="PLAT'C2,Inc" 000A86 o="Lenze" 000A87 o="Integrated Micromachines Inc." 000A88 o="InCypher S.A." 000A89 o="Creval Systems, Inc." 000A8C o="Guardware Systems Ltd." 000A8D o="EUROTHERM LIMITED" 000A8E o="Invacom Ltd" 000A8F o="Aska International Inc." 000A90 o="Bayside Interactive, Inc." 000A91 o="HemoCue AB" 000A92 o="Presonus Corporation" 000A93 o="W2 Networks, Inc." 000A94 o="ShangHai cellink CO., LTD" 000A96 o="MEWTEL TECHNOLOGY INC." 000A97 o="SONICblue, Inc." 000A98 o="M+F Gwinner GmbH & Co" 000A99 o="Calamp Wireless Networks Inc" 000A9A o="Aiptek International Inc" 000A9B o="TB Group Inc" 000A9C o="Server Technology, Inc." 000A9D o="King Young Technology Co. Ltd." 000A9E o="BroadWeb Corportation" 000A9F o="Pannaway Technologies, Inc." 000AA0 o="Cedar Point Communications" 000AA1 o="V V S Limited" 000AA2 o="SYSTEK INC." 000AA3 o="SHIMAFUJI ELECTRIC CO.,LTD." 000AA4 o="SHANGHAI SURVEILLANCE TECHNOLOGY CO,LTD" 000AA5 o="MAXLINK INDUSTRIES LIMITED" 000AA6 o="Hochiki Corporation" 000AA7 o="FEI Electron Optics" 000AA8 o="ePipe Pty. Ltd." 000AA9 o="Brooks Automation GmbH" 000AAA o="AltiGen Communications Inc." 000AAB o="Toyota Technical Development Corporation" 000AAC o="TerraTec Electronic GmbH" 000AAD o="Stargames Corporation" 000AAE o="Rosemount Process Analytical" 000AAF o="Pipal Systems" 000AB0 o="LOYTEC electronics GmbH" 000AB1 o="GENETEC Corporation" 000AB2 o="Fresnel Wireless Systems" 000AB3 o="Fa. GIRA" 000AB4 o="ETIC Telecommunications" 000AB5 o="Digital Electronic Network" 000AB6 o="COMPUNETIX, INC" 000AB9 o="Astera Technologies Corp." 000ABA o="Arcon Technology Limited" 000ABB o="Taiwan Secom Co,. Ltd" 000ABC o="Seabridge Ltd." 000ABD o="Rupprecht & Patashnick Co." 000ABE o="OPNET Technologies CO., LTD." 000ABF o="HIROTA SS" 000AC0 o="Fuyoh Video Industry CO., LTD." 000AC1 o="Futuretel" 000AC2,14F893 o="Wuhan FiberHome Digital Technology Co.,Ltd." 000AC3 o="eM Technics Co., Ltd." 000AC4 o="Daewoo Teletech Co., Ltd" 000AC5 o="Color Kinetics" 000AC6 o="Overture Networks." 000AC7 o="Unication Group" 000AC8 o="ZPSYS CO.,LTD. (Planning&Management)" 000AC9 o="Zambeel Inc" 000ACA o="YOKOYAMA SHOKAI CO.,Ltd." 000ACB o="XPAK MSA Group" 000ACC o="Winnow Networks, Inc." 000ACD o="Sunrich Technology Limited" 000ACE o="RADIANTECH, INC." 000ACF o="PROVIDEO Multimedia Co. Ltd." 000AD0 o="Niigata Develoment Center, F.I.T. Co., Ltd." 000AD1 o="MWS" 000AD2 o="JEPICO Corporation" 000AD3 o="INITECH Co., Ltd" 000AD4 o="CoreBell Systems Inc." 000AD5 o="Brainchild Electronic Co., Ltd." 000AD6 o="BeamReach Networks" 000AD7 o="Origin ELECTRIC CO.,LTD." 000AD8 o="IPCserv Technology Corp." 000AD9,000E07,000FDE,0012EE,001620,0016B8,001813,001963,001A75,001B59,001CA4,001D28,001E45,001EDC,001FE4,00219E,002298,002345,0023F1,0024EF,0025E7,00EB2D,18002D,1C7B21,205476,2421AB,283F69,3017C8,303926,307512,30A8DB,387862,3C01EF,402BA1,4040A7,40B837,44746C,44D4E0,4C21D0,58170C,584822,5CB524,68764F,6C0E0D,6C23B9,8400D2,848EDF,84C7EA,8C6422,90C115,94CE2C,9C5CF9,A0E453,B4527D-B4527E,B8F934,BC6E64,C43ABE,D05162,D4389C,E063E5 o="Sony Mobile Communications Inc" 000ADA o="Vindicator Technologies" 000ADB,001477 o="Trilliant" 000ADC,94B8C5 o="RuggedCom Inc." 000ADD o="Allworx Corp." 000ADE o="Happy Communication Co., Ltd." 000ADF o="Gennum Corporation" 000AE0 o="Fujitsu Softek" 000AE1 o="EG Technology" 000AE2 o="Binatone Electronics International, Ltd" 000AE3 o="YANG MEI TECHNOLOGY CO., LTD" 000AE4,0016D3,001D72,001F16,00262D,5CFF35,80EB77 o="Wistron Corporation" 000AE5 o="ScottCare Corporation" 000AE7 o="ELIOP S.A." 000AE8 o="Cathay Roxus Information Technology Co. LTD" 000AE9 o="AirVast Technology Inc." 000AEA o="ADAM ELEKTRONIK LTD. ŞTI" 000AEB,001478,0019E0,001D0F,002127,0023CD,002586,002719,081F71,085700,0C4B54,0C722C,0C8063,0C8268,10FEED,147590,148692,14CC20,14CF92,14E6E4,18A6F7,18D6C7,1C3BF3,1C4419,1CFA68,206BE7,20DCE6,246968,282CB2,28EE52,30B49E,30B5C2,30FC68,349672,34E894,388345,3C46D8,40169F,403F8C,44B32D,480EEC,487D2E,503EAA,50BD5F,50C7BF,50D4F7,50FA84,547595,54A703,54C80F,54E6FC,5C63BF,5C899A,603A7C,60E327,645601,6466B3,646E97,647002,68FF7B,6CE873,704F57,7405A5,74DA88,74EA3A,7844FD,78A106,7C8BCA,7CB59B,808917,808F1D,8416F9,882593,8C210A,8CA6DF,90AE1B,90F652,940C6D,94D9B3,984827,98DAC4,98DED0,9C216A,9CA615,A0F3C1,A42BB0,A8154D,A8574E,AC84C6,B0487A,B04E26,B09575,B0958E,B0BE76,B8F883,BC4699,BCD177,C025E9,C04A00,C06118,C0E42D,C46E1F,C47154,C4E984,CC08FB,CC32E5,CC3429,D03745,D076E7,D0C7C0,D4016D,D46E0E,D807B6,D80D17,D8150D,D84732,D85D4C,DC0077,DCFE18,E005C5,E4D332,E894F6,E8DE27,EC086B,EC172F,EC26CA,EC888F,F0F336,F483CD,F4EC38,F4F26D,F81A67,F8D111,FCD733 o="TP-LINK TECHNOLOGIES CO.,LTD." 000AEC o="Koatsu Gas Kogyo Co., Ltd." 000AED,0011FC,D47B75 o="HARTING Electronics GmbH" 000AEE o="GCD Hard- & Software GmbH" 000AEF o="OTRUM ASA" 000AF0 o="SHIN-OH ELECTRONICS CO., LTD. R&D" 000AF1 o="Clarity Design, Inc." 000AF2 o="NeoAxiom Corp." 000AF5 o="Airgo Networks, Inc." 000AF6 o="Emerson Climate Technologies Retail Solutions, Inc." 000AF7,000DB6,001018,001BE9,18C086,38BAB0,D40129,E03E44 o="Broadcom" 000AF8 o="American Telecare Inc." 000AF9 o="HiConnect, Inc." 000AFA o="Traverse Technologies Australia" 000AFB o="Ambri Limited" 000AFC o="Core Tec Communications, LLC" 000AFD o="Kentec Electronics" 000AFE o="NovaPal Ltd" 000AFF o="Kilchherr Elektronik AG" 000B00 o="FUJIAN START COMPUTER EQUIPMENT CO.,LTD" 000B01 o="DAIICHI ELECTRONICS CO., LTD." 000B02 o="Dallmeier electronic" 000B03 o="Taekwang Industrial Co., Ltd" 000B04 o="Volktek Corporation" 000B05 o="Pacific Broadband Networks" 000B07 o="Voxpath Networks" 000B08 o="Pillar Data Systems" 000B09 o="Ifoundry Systems Singapore" 000B0A o="dBm Optics" 000B0B o="Corrent Corporation" 000B0C o="Agile Systems Inc." 000B0D o="Air2U, Inc." 000B0E,00263E o="Trapeze Networks" 000B0F o="Bosch Rexroth" 000B10 o="11wave Technonlogy Co.,Ltd" 000B11 o="HIMEJI ABC TRADING CO.,LTD." 000B12 o="NURI Telecom Co., Ltd." 000B13 o="ZETRON INC" 000B14 o="ViewSonic Corporation" 000B15 o="Platypus Technology" 000B16,00CF1C,02CF1C o="Communication Machinery Corporation" 000B17 o="MKS Instruments" 000B19 o="Vernier Networks, Inc." 000B1A o="Industrial Defender, Inc." 000B1B o="Systronix, Inc." 000B1C o="SIBCO bv" 000B1D o="LayerZero Power Systems, Inc." 000B1E o="KAPPA opto-electronics GmbH" 000B1F o="I CON Computer Co." 000B20 o="Hirata corporation" 000B21 o="G-Star Communications Inc." 000B22 o="Environmental Systems and Services" 000B23,0013A3,0018D1 o="Siemens Home & Office Comm. Devices" 000B24 o="AirLogic" 000B25 o="Aeluros" 000B26 o="Wetek Corporation" 000B27 o="Scion Corporation" 000B28 o="Quatech Inc." 000B29 o="LS(LG) Industrial Systems co.,Ltd" 000B2A o="HOWTEL Co., Ltd." 000B2B o="HOSTNET CORPORATION" 000B2C o="Eiki Industrial Co. Ltd." 000B2D o="Danfoss Inc." 000B2E,001F82,F0219D o="Cal-Comp Electronics & Communications Company Ltd." 000B2F o="bplan GmbH" 000B30 o="Beijing Gongye Science & Technology Co.,Ltd" 000B31 o="Yantai ZhiYang Scientific and technology industry CO., LTD" 000B32 o="VORMETRIC, INC." 000B33 o="Vivato Technologies" 000B34 o="ShangHai Broadband Technologies CO.LTD" 000B35 o="Quad Bit System co., Ltd." 000B36 o="Productivity Systems, Inc." 000B37 o="MANUFACTURE DES MONTRES ROLEX SA" 000B38 o="Knürr GmbH" 000B39 o="Keisoku Giken Co.,Ltd." 000B3A o="QuStream Corporation" 000B3B,30D32D,B8BEF4,BCF2AF,F4068D o="devolo AG" 000B3C o="Cygnal Integrated Products, Inc." 000B3D o="CONTAL OK Ltd." 000B3E o="BittWare, Inc" 000B3F o="Anthology Solutions Inc." 000B40 o="Cambridge Industries Group (CIG)" 000B41 o="Ing. Büro Dr. Beutlhauser" 000B42 o="commax Co., Ltd." 000B43 o="Microscan Systems, Inc." 000B44 o="Concord IDea Corp." 000B47 o="Advanced Energy" 000B48 o="sofrel" 000B49 o="RF-Link System Inc." 000B4A o="Visimetrics (UK) Ltd" 000B4B o="VISIOWAVE SA" 000B4C o="Clarion (M) Sdn Bhd" 000B4D o="Emuzed" 000B4E o="VertexRSI, General Dynamics SatCOM Technologies, Inc." 000B4F,60C798,A46011 o="Verifone" 000B50 o="Oxygnet" 000B51 o="Micetek International Inc." 000B52 o="JOYMAX ELECTRONICS CO. LTD." 000B53 o="INITIUM Co., Ltd." 000B54 o="BiTMICRO Networks, Inc." 000B55 o="ADInstruments" 000B56 o="Cybernetics" 000B57,086BD7,14B457,588E81,680AE2,842E14,90FD9F,CCCCCC,EC1BBD o="Silicon Laboratories" 000B58 o="Astronautics C.A LTD" 000B59 o="ScriptPro, LLC" 000B5A o="HyperEdge" 000B5B o="Rincon Research Corporation" 000B5C o="Newtech Co.,Ltd" 000B5E o="Audio Engineering Society Inc." 000B61 o="Friedrich Lütze GmbH & Co. KG" 000B62 o="ib-mohnen KG" 000B63 o="Kaleidescape" 000B64 o="Kieback & Peter GmbH & Co KG" 000B65 o="Sy.A.C. srl" 000B66 o="Teralink Communications" 000B67 o="Topview Technology Corporation" 000B68 o="Addvalue Communications Pte Ltd" 000B69 o="Franke Finland Oy" 000B6A,00138F,001966 o="Asiarock Technology Limited" 000B6B,001BB1,2824FF,2CDCAD,30144A,44E4EE,48A9D2,6002B4,64FF0A,746FF7,80EA23,8C579B,90A4DE,984914,A854B2,B00073,B89F09,B8B7F1,BC307D-BC307E,D86162,E037BF o="Wistron Neweb Corporation" 000B6C o="Sychip Inc." 000B6D o="SOLECTRON JAPAN NAKANIIDA" 000B6E o="Neff Instrument Corp." 000B6F o="Media Streaming Networks Inc" 000B70 o="Load Technology, Inc." 000B71 o="Litchfield Communications Inc." 000B72 o="Lawo AG" 000B73 o="Kodeos Communications" 000B74 o="Kingwave Technology Co., Ltd." 000B75 o="Iosoft Ltd." 000B76 o="ET&T Technology Co. Ltd." 000B77 o="Cogent Systems, Inc." 000B78 o="TAIFATECH INC." 000B79 o="X-COM, Inc." 000B7B o="Test-Um Inc." 000B7C o="Telex Communications" 000B7D o="SOLOMON EXTREME INTERNATIONAL LTD." 000B7E o="SAGINOMIYA Seisakusho Inc." 000B7F o="Align Engineering LLC" 000B80 o="Lycium Networks" 000B81 o="Kaparel Corporation" 000B82,C074AD o="Grandstream Networks, Inc." 000B83 o="DATAWATT B.V." 000B84 o="BODET" 000B86,001A1E,00246C,04BD88,104F58,186472,204C03,24DEC6,3821C7,40E3D6,6CF37F,703A0E,7C573C,84D47E,883A30,9020C2,94B40F,9C1C12,ACA31E,B45D50,B83A5A,B8D4E7,BC9FE4,D015A6,D0D3E0,D8C7C8,E82689,F05C19,F42E7F,F860F0 o="Aruba, a Hewlett Packard Enterprise Company" 000B87 o="American Reliance Inc." 000B88 o="Vidisco ltd." 000B89 o="Top Global Technology, Ltd." 000B8A o="MITEQ Inc." 000B8B o="KERAJET, S.A." 000B8C o="Flextronics" 000B8D o="Avvio Networks" 000B8E o="Ascent Corporation" 000B8F o="AKITA ELECTRONICS SYSTEMS CO.,LTD." 000B90,0080EA,00D08B,289AF7,84C807 o="ADVA Optical Networking Ltd." 000B91 o="Aglaia Gesellschaft für Bildverarbeitung und Kommunikation mbH" 000B92 o="Ascom Danmark A/S" 000B93 o="Ritter Elektronik" 000B94 o="Digital Monitoring Products, Inc." 000B95 o="eBet Gaming Systems Pty Ltd" 000B96 o="Innotrac Diagnostics Oy" 000B97 o="Matsushita Electric Industrial Co.,Ltd." 000B98 o="NiceTechVision" 000B99 o="SensAble Technologies, Inc." 000B9A o="Shanghai Ulink Telecom Equipment Co. Ltd." 000B9B o="Sirius System Co, Ltd." 000B9C o="TriBeam Technologies, Inc." 000B9D o="TwinMOS Technologies Inc." 000B9E o="Yasing Technology Corp." 000B9F o="Neue ELSA GmbH" 000BA0 o="T&L Information Inc." 000BA1 o="Fujikura Solutions Ltd." 000BA4 o="Shiron Satellite Communications Ltd. (1996)" 000BA5 o="Quasar Cipta Mandiri, PT" 000BA6 o="Miyakawa Electric Works Ltd." 000BA7 o="Maranti Networks" 000BA8 o="HANBACK ELECTRONICS CO., LTD." 000BA9 o="CloudShield Technologies, Inc." 000BAA o="Aiphone co.,Ltd" 000BAB,C400AD o="Advantech Technology (CHINA) Co., Ltd." 000BAD o="PC-PoS Inc." 000BAE o="Vitals System Inc." 000BAF o="WOOJU COMMUNICATIONS Co,.Ltd" 000BB0 o="Sysnet Telematica srl" 000BB1 o="Super Star Technology Co., Ltd." 000BB2 o="SMALLBIG TECHNOLOGY" 000BB3 o="RiT technologies Ltd." 000BB4 o="RDC Semiconductor Inc.," 000BB5 o="nStor Technologies, Inc." 000BB6,0050BF o="Metalligence Technology Corp." 000BB7 o="Micro Systems Co.,Ltd." 000BB8 o="Kihoku Electronic Co." 000BB9 o="Imsys AB" 000BBB o="Etin Systems Co., Ltd" 000BBC o="En Garde Systems, Inc." 000BBD o="Connexionz Limited" 000BC0 o="China IWNComm Co., Ltd." 000BC1 o="Bay Microsystems, Inc." 000BC2 o="Corinex Communication Corp." 000BC3 o="Multiplex, Inc." 000BC4 o="BIOTRONIK GmbH & Co" 000BC6 o="ISAC, Inc." 000BC7 o="ICET S.p.A." 000BC8 o="AirFlow Networks" 000BC9 o="Electroline Equipment" 000BCA o="DATAVAN TC" 000BCB o="Fagor Automation , S. Coop" 000BCC o="JUSAN, S.A." 000BCE o="Free2move AB" 000BCF o="AGFA NDT INC." 000BD0 o="XiMeta Technology Americas Inc." 000BD1 o="Aeronix, Inc." 000BD2 o="Remopro Technology Inc." 000BD3 o="cd3o" 000BD4 o="Beijing Wise Technology & Science Development Co.Ltd" 000BD5 o="Nvergence, Inc." 000BD6,6C2ACB o="Paxton Access Ltd" 000BD7 o="DORMA Time + Access GmbH" 000BD8 o="Industrial Scientific Corp." 000BD9 o="General Hydrogen" 000BDA o="EyeCross Co.,Inc." 000BDC o="AKCP" 000BDD o="TOHOKU RICOH Co., LTD." 000BDE o="TELDIX GmbH" 000BDF o="Shenzhen RouterD Networks Limited" 000BE0 o="SercoNet Ltd." 000BE1 o="Nokia NET Product Operations" 000BE2 o="Lumenera Corporation" 000BE3 o="Key Stream Co., Ltd." 000BE4,30317D o="Hosiden Corporation" 000BE5 o="HIMS International Corporation" 000BE6 o="Datel Electronics" 000BE7 o="COMFLUX TECHNOLOGY INC." 000BE8 o="AOIP" 000BE9 o="Actel Corporation" 000BEA o="Zultys Technologies" 000BEB o="Systegra AG" 000BEC o="NIPPON ELECTRIC INSTRUMENT, INC." 000BED o="ELM Inc." 000BEE o="inc.jet, Incorporated" 000BEF o="Code Corporation" 000BF0 o="MoTEX Products Co., Ltd." 000BF1 o="LAP Laser Applikations" 000BF2 o="Chih-Kan Technology Co., Ltd." 000BF3 o="BAE SYSTEMS" 000BF5 o="Shanghai Sibo Telecom Technology Co.,Ltd" 000BF6 o="Nitgen Co., Ltd" 000BF7 o="NIDEK CO.,LTD" 000BF8 o="Infinera" 000BF9 o="Gemstone Communications, Inc." 000BFA o="EXEMYS SRL" 000BFB o="D-NET International Corporation" 000BFE o="CASTEL Broadband Limited" 000BFF o="Berkeley Camera Engineering" 000C00 o="BEB Industrie-Elektronik AG" 000C01 o="Abatron AG" 000C02 o="ABB Oy" 000C03,444891 o="HDMI Licensing, LLC" 000C04 o="Tecnova" 000C05 o="RPA Reserch Co., Ltd." 000C06 o="Nixvue Systems Pte Ltd" 000C07 o="Iftest AG" 000C08 o="HUMEX Technologies Corp." 000C09 o="Hitachi IE Systems Co., Ltd" 000C0A o="Guangdong Province Electronic Technology Research Institute" 000C0B o="Broadbus Technologies" 000C0C o="APPRO TECHNOLOGY INC." 000C0D o="Communications & Power Industries / Satcom Division" 000C0E o="XtremeSpectrum, Inc." 000C0F o="Techno-One Co., Ltd" 000C10 o="PNI Corporation" 000C11 o="NIPPON DEMPA CO.,LTD." 000C12 o="Micro-Optronic-Messtechnik GmbH" 000C13 o="MediaQ" 000C14 o="Diagnostic Instruments, Inc." 000C15 o="CyberPower Systems, Inc." 000C16 o="Concorde Microsystems Inc." 000C17 o="AJA Video Systems Inc" 000C18 o="Zenisu Keisoku Inc." 000C19 o="Telio Communications GmbH" 000C1A o="Quest Technical Solutions Inc." 000C1B o="ORACOM Co, Ltd." 000C1C o="MicroWeb Co., Ltd." 000C1D o="Mettler & Fuchs AG" 000C1E o="Global Cache" 000C1F o="Glimmerglass Networks" 000C20 o="Fi WIn, Inc." 000C21 o="Faculty of Science and Technology, Keio University" 000C22 o="Double D Electronics Ltd" 000C23 o="Beijing Lanchuan Tech. Co., Ltd." 000C24 o="ANATOR" 000C25 o="Allied Telesis Labs, Inc." 000C26 o="Weintek Labs. Inc." 000C27 o="Sammy Corporation" 000C28 o="RIFATRON" 000C2A o="OCTTEL Communication Co., Ltd." 000C2B o="ELIAS Technology, Inc." 000C2C o="Enwiser Inc." 000C2D o="FullWave Technology Co., Ltd." 000C2E o="Openet information technology(shenzhen) Co., Ltd." 000C2F o="SeorimTechnology Co.,Ltd." 000C32 o="Avionic Design Development GmbH" 000C33 o="Compucase Enterprise Co. Ltd." 000C34 o="Vixen Co., Ltd." 000C35 o="KaVo Dental GmbH & Co. KG" 000C36 o="SHARP TAKAYA ELECTRONICS INDUSTRY CO.,LTD." 000C37 o="Geomation, Inc." 000C38 o="TelcoBridges Inc." 000C39 o="Sentinel Wireless Inc." 000C3A o="Oxance" 000C3B o="Orion Electric Co., Ltd." 000C3C o="MediaChorus, Inc." 000C3D o="Glsystech Co., Ltd." 000C3E o="Crest Audio" 000C3F o="Cogent Defence & Security Networks," 000C40 o="Altech Controls" 000C41,000E08,000F66,001217,001310,0014BF,0016B6,001839,0018F8,001A70,001C10,001D7E,001EE5,002129,00226B,002369,00259C,20AA4B,48F8B3,586D8F,687F74,98FC11,C0C1C0,C8B373,C8D719 o="Cisco-Linksys, LLC" 000C42,4C5E0C,64D154,6C3B6B,744D28,B869F4,C4AD34,CC2DE0,D4CA6D,E48D8C o="Routerboard.com" 000C43 o="Ralink Technology, Corp." 000C44 o="Automated Interfaces, Inc." 000C45 o="Animation Technologies Inc." 000C46 o="Allied Telesyn Inc." 000C47 o="SK Teletech(R&D Planning Team)" 000C48 o="QoStek Corporation" 000C49 o="Dangaard Telecom Denmark A/S" 000C4A o="Cygnus Microsystems (P) Limited" 000C4B o="Cheops Elektronik" 000C4C o="Arcor AG&Co." 000C4D o="Curtiss-Wright Controls Avionics & Electronics" 000C4E o="Winbest Technology CO,LT" 000C4F o="UDTech Japan Corporation" 000C51 o="Scientific Technologies Inc." 000C52 o="Roll Systems Inc." 000C54 o="Pedestal Networks, Inc" 000C55 o="Microlink Communications Inc." 000C56 o="Megatel Computer (1986) Corp." 000C57 o="MACKIE Engineering Services Belgium BVBA" 000C58 o="M&S Systems" 000C59 o="Indyme Electronics, Inc." 000C5A o="IBSmm Embedded Electronics Consulting" 000C5B o="HANWANG TECHNOLOGY CO.,LTD" 000C5C o="GTN Systems B.V." 000C5D o="CHIC TECHNOLOGY (CHINA) CORP." 000C5E o="Calypso Medical" 000C5F o="Avtec, Inc." 000C60 o="ACM Systems" 000C61 o="AC Tech corporation DBA Advanced Digital" 000C62 o="ABB AB, Cewe-Control" 000C63,0080F7,00E0DD o="Zenith Electronics Corporation" 000C64 o="X2 MSA Group" 000C65 o="Sunin Telecom" 000C66 o="Pronto Networks Inc" 000C67 o="OYO ELECTRIC CO.,LTD" 000C68 o="SigmaTel, Inc." 000C69 o="National Radio Astronomy Observatory" 000C6A o="MBARI" 000C6B o="Kurz Industrie-Elektronik GmbH" 000C6C o="Eve Systems GmbH" 000C6D o="Edwards Ltd." 000C6E,000EA6,00112F,0011D8,0013D4,0015F2,001731,0018F3,001A92,001BFC,001D60,001E8C,001FC6,002215,002354,00248C,002618,00E018,049226,04D4C4,04D9F5,08606E,086266,0C9D92,107B44,10BF48,10C37B,14DAE9,14DDA9,1831BF,1C872C,1CB72C,20CF30,2C4D54,2C56DC,2CFDA1,305A3A,3085A9,3497F6,382C4A,38D547,40167E,40B076,485B39,4CEDFB,50465D,5404A6,54A050,6045CB,60A44C,704D7B,708BCD,74D02B,7824AF,88D7F6,90E6BA,9C5C8E,A85E45,AC220B,AC9E17,B06EBF,BCAEC5,BCEE7B,C86000,D017C2,D45D64,D850E6,E03F49,E0CB4E,F07959,F46D04,F832E4,FCC233 o="ASUSTek COMPUTER INC." 000C6F o="Amtek system co.,LTD." 000C70 o="ACC GmbH" 000C71 o="Wybron, Inc" 000C72 o="Tempearl Industrial Co., Ltd." 000C73 o="TELSON ELECTRONICS CO., LTD" 000C74 o="RIVERTEC CORPORATION" 000C75 o="Oriental integrated electronics. LTD" 000C76,0010DC,0013D3,0019DB o="MICRO-STAR INTERNATIONAL CO., LTD." 000C77 o="Life Racing Ltd" 000C78 o="In-Tech Electronics Limited" 000C79 o="Extel Communications P/L" 000C7A o="DaTARIUS Technologies GmbH" 000C7B o="ALPHA PROJECT Co.,Ltd." 000C7C o="Internet Information Image Inc." 000C7D o="TEIKOKU ELECTRIC MFG. CO., LTD" 000C7E o="Tellium Incorporated" 000C7F o="synertronixx GmbH" 000C80 o="Opelcomm Inc." 000C81 o="Schneider Electric (Australia)" 000C82 o="NETWORK TECHNOLOGIES INC" 000C83 o="Logical Solutions" 000C84 o="Eazix, Inc." 000C87 o="AMD" 000C88 o="Apache Micro Peripherals, Inc." 000C89 o="AC Electric Vehicles, Ltd." 000C8A,0452C7,08DF1F,2811A5,2C41A1,4C875D,60ABD2 o="Bose Corporation" 000C8B o="Connect Tech Inc" 000C8C o="KODICOM CO.,LTD." 000C8D o="MATRIX VISION GmbH" 000C8E o="Mentor Engineering Inc" 000C8F o="Nergal s.r.l." 000C90 o="Octasic Inc." 000C91 o="Riverhead Networks Inc." 000C92 o="WolfVision Gmbh" 000C93 o="Xeline Co., Ltd." 000C94 o="United Electronic Industries, Inc. (EUI)" 000C95 o="PrimeNet" 000C96 o="OQO, Inc." 000C97 o="NV ADB TTV Technologies SA" 000C98 o="LETEK Communications Inc." 000C99 o="HITEL LINK Co.,Ltd" 000C9A o="Hitech Electronics Corp." 000C9B o="EE Solutions, Inc" 000C9C o="Chongho information & communications" 000C9D o="UbeeAirWalk, Inc." 000C9E o="MemoryLink Corp." 000C9F o="NKE Corporation" 000CA0 o="StorCase Technology, Inc." 000CA1 o="SIGMACOM Co., LTD." 000CA2 o="Harmonic Video Network" 000CA3 o="Rancho Technology, Inc." 000CA4 o="Prompttec Product Management GmbH" 000CA5 o="Naman NZ LTd" 000CA6 o="Mintera Corporation" 000CA7 o="Metro (Suzhou) Technologies Co., Ltd." 000CA8 o="Garuda Networks Corporation" 000CA9 o="Ebtron Inc." 000CAA o="Cubic Transportation Systems Inc" 000CAB,BC6A44 o="Commend International GmbH" 000CAC o="Citizen Watch Co., Ltd." 000CAD o="BTU International" 000CAE o="Ailocom Oy" 000CAF o="TRI TERM CO.,LTD." 000CB0 o="Star Semiconductor Corporation" 000CB1 o="Salland Engineering (Europe) BV" 000CB2 o="UNION co., ltd." 000CB3 o="ROUND Co.,Ltd." 000CB4 o="AutoCell Laboratories, Inc." 000CB5 o="Premier Technolgies, Inc" 000CB6 o="NANJING SEU MOBILE & INTERNET TECHNOLOGY CO.,LTD" 000CB7 o="Nanjing Huazhuo Electronics Co., Ltd." 000CB8 o="MEDION AG" 000CB9 o="LEA" 000CBA o="Jamex, Inc." 000CBB o="ISKRAEMECO" 000CBC o="Iscutum" 000CBD o="Interface Masters, Inc" 000CBE o="Innominate Security Technologies AG" 000CBF o="Holy Stone Ent. Co., Ltd." 000CC0 o="Genera Oy" 000CC1,001345,001864,001D05,002085 o="Eaton Corporation" 000CC2 o="ControlNet (India) Private Limited" 000CC3 o="BeWAN systems" 000CC4 o="Tiptel AG" 000CC5 o="Nextlink Co., Ltd." 000CC6 o="Ka-Ro electronics GmbH" 000CC7 o="Intelligent Computer Solutions Inc." 000CC8 o="Xytronix Research & Design, Inc." 000CC9 o="ILWOO DATA & TECHNOLOGY CO.,LTD" 000CCA o="HGST a Western Digital Company" 000CCB o="Design Combus Ltd" 000CCC o="Aeroscout Ltd." 000CCD o="IEC - TC57" 000CD0 o="Symetrix" 000CD1 o="SFOM Technology Corp." 000CD2 o="Schaffner EMV AG" 000CD3 o="Prettl Elektronik Radeberg GmbH" 000CD4 o="Positron Public Safety Systems inc." 000CD5 o="Passave Inc." 000CD6 o="PARTNER TECH" 000CD7 o="Nallatech Ltd" 000CD8 o="M. K. Juchheim GmbH & Co" 000CD9 o="Itcare Co., Ltd" 000CDA o="FreeHand Systems, Inc." 000CDC o="BECS Technology, Inc" 000CDD o="AOS technologies AG" 000CDE o="ABB STOTZ-KONTAKT GmbH" 000CDF,D41F0C o="JAI Manufacturing" 000CE0 o="Trek Diagnostics Inc." 000CE1 o="The Open Group" 000CE2 o="Rolls-Royce" 000CE3 o="Option International N.V." 000CE4 o="NeuroCom International, Inc." 000CE7 o="MediaTek Inc." 000CE8 o="GuangZhou AnJuBao Co., Ltd" 000CE9 o="BLOOMBERG L.P." 000CEA o="aphona Kommunikationssysteme" 000CEB o="CNMP Networks, Inc." 000CEC o="Spectracom Corp." 000CED o="Real Digital Media" 000CEE o="jp-embedded" 000CEF o="Open Networks Engineering Ltd" 000CF0 o="M & N GmbH" 000CF2 o="GAMESA Eólica" 000CF3 o="CALL IMAGE SA" 000CF4 o="AKATSUKI ELECTRIC MFG.CO.,LTD." 000CF5 o="InfoExpress" 000CF6,64D1A3 o="Sitecom Europe BV" 000CF9 o="Xylem Water Solutions" 000CFA o="Digital Systems Corp" 000CFB o="Korea Network Systems" 000CFC o="S2io Technologies Corp" 000CFD o="Hyundai ImageQuest Co.,Ltd." 000CFE o="Grand Electronic Co., Ltd" 000CFF o="MRO-TEK Realty Limited" 000D00 o="Seaway Networks Inc." 000D01 o="P&E Microcomputer Systems, Inc." 000D02,001B8B,003A9D,106682,1CB17F,6CE4DA,98F199,A41242,C025A2,F8B797 o="NEC Platforms, Ltd." 000D03 o="Matrics, Inc." 000D04 o="Foxboro Eckardt Development GmbH" 000D05 o="cybernet manufacturing inc." 000D06 o="Compulogic Limited" 000D07 o="Calrec Audio Ltd" 000D08 o="AboveCable, Inc." 000D09 o="Yuehua(Zhuhai) Electronic CO. LTD" 000D0C o="MDI Security Systems" 000D0D o="ITSupported, LLC" 000D0E o="Inqnet Systems, Inc." 000D0F o="Finlux Ltd" 000D10 o="Embedtronics Oy" 000D11 o="DENTSPLY - Gendex" 000D12 o="AXELL Corporation" 000D13 o="Wilhelm Rutenbeck GmbH&Co.KG" 000D14 o="Vtech Innovation LP dba Advanced American Telephones" 000D15 o="Voipac s.r.o." 000D16 o="UHS Systems Pty Ltd" 000D17 o="Turbo Networks Co.Ltd" 000D18 o="Mega-Trend Electronics CO., LTD." 000D19 o="ROBE Show lighting" 000D1A o="Mustek System Inc." 000D1B o="Kyoto Electronics Manufacturing Co., Ltd." 000D1C o="Amesys Defense" 000D1D o="HIGH-TEK HARNESS ENT. CO., LTD." 000D1E o="Control Techniques" 000D1F o="AV Digital" 000D20 o="ASAHIKASEI TECHNOSYSTEM CO.,LTD." 000D21 o="WISCORE Inc." 000D22 o="Unitronics LTD" 000D23 o="Smart Solution, Inc" 000D24 o="SENTEC E&E CO., LTD." 000D25 o="SANDEN CORPORATION" 000D26 o="Primagraphics Limited" 000D27 o="MICROPLEX Printware AG" 000D2A o="Scanmatic AS" 000D2B o="Racal Instruments" 000D2C o="Net2Edge Limited" 000D2D o="NCT Deutschland GmbH" 000D2E o="Matsushita Avionics Systems Corporation" 000D2F o="AIN Comm.Tech.Co., LTD" 000D30 o="IceFyre Semiconductor" 000D31 o="Compellent Technologies, Inc." 000D32 o="DispenseSource, Inc." 000D33 o="Prediwave Corp." 000D34 o="Shell International Exploration and Production, Inc." 000D35 o="PAC International Ltd" 000D36 o="Wu Han Routon Electronic Co., Ltd" 000D37 o="WIPLUG" 000D38 o="NISSIN INC." 000D39 o="Network Electronics" 000D3A o="Microsoft Corp." 000D3B o="Microelectronics Technology Inc." 000D3C o="i.Tech Dynamic Ltd" 000D3D o="Hammerhead Systems, Inc." 000D3E o="APLUX Communications Ltd." 000D3F o="VTI Instruments Corporation" 000D40 o="Verint Loronix Video Solutions" 000D41 o="Siemens AG ICM MP UC RD IT KLF1" 000D42 o="Newbest Development Limited" 000D43 o="DRS Tactical Systems Inc." 000D44 o="Audio BU - Logitech" 000D45 o="Tottori SANYO Electric Co., Ltd." 000D46 o="Parker SSD Drives" 000D47 o="Collex" 000D48 o="AEWIN Technologies Co., Ltd." 000D49 o="Triton Systems of Delaware, Inc." 000D4A o="Steag ETA-Optik" 000D4B,080581,88DEA9,AC3A7A,B0A737,B83E59,B8A175,CC6DA0,D04D2C,DC3A5E o="Roku, Inc." 000D4C o="Outline Electronics Ltd." 000D4D o="Ninelanes" 000D4E o="NDR Co.,LTD." 000D4F o="Kenwood Corporation" 000D50 o="Galazar Networks" 000D51 o="DIVR Systems, Inc." 000D52 o="Comart system" 000D53 o="Beijing 5w Communication Corp." 000D55 o="SANYCOM Technology Co.,Ltd" 000D57 o="Fujitsu I-Network Systems Limited." 000D59 o="Amity Systems, Inc." 000D5A,C87765 o="Tiesse SpA" 000D5B o="Smart Empire Investments Limited" 000D5C o="Robert Bosch GmbH, VT-ATMO" 000D5D o="Raritan Computer, Inc" 000D5E o="NEC Personal Products" 000D5F o="Minds Inc" 000D61 o="Giga-Byte Technology Co., Ltd." 000D62 o="Funkwerk Dabendorf GmbH" 000D63 o="DENT Instruments, Inc." 000D64 o="COMAG Handels AG" 000D68 o="Vinci Systems, Inc." 000D69 o="TMT&D Corporation" 000D6A o="Redwood Technologies LTD" 000D6B,F0321A o="Mita-Teknik A/S" 000D6C o="M-Audio" 000D6D o="K-Tech Devices Corp." 000D6E o="K-Patents Oy" 000D6F o="Ember Corporation" 000D70 o="Datamax Corporation" 000D71 o="boca systems" 000D72,001288,001495,00183F,0019E4,001AC4,001B5B,001D5A,001EC7,001FB3,00217C,0022A4,002351,002456,00253C,002650,00D09E,14EDBB,28162E,34EF44,383BC8,3CEA4F,60C397,60FE20,640F28,749DDC,94C150,982CBE,B0E754,B8E625,C0830A,DC7FA4,F81897,F82C18 o="2Wire Inc" 000D73 o="Technical Support, Inc." 000D74 o="Sand Network Systems, Inc." 000D75 o="Kobian Pte Ltd - Taiwan Branch" 000D76 o="Hokuto Denshi Co,. Ltd." 000D77 o="FalconStor Software" 000D78 o="Engineering & Security" 000D79 o="Dynamic Solutions Co,.Ltd." 000D7A o="DiGATTO Asia Pacific Pte Ltd" 000D7B o="Consensys Computers Inc." 000D7C o="Codian Ltd" 000D7D o="Afco Systems" 000D7E o="Axiowave Networks, Inc." 000D7F o="MIDAS COMMUNICATION TECHNOLOGIES PTE LTD ( Foreign Branch)" 000D80 o="Online Development Inc" 000D81 o="Pepperl+Fuchs GmbH" 000D82 o="PHSNET" 000D83 o="Sanmina-SCI Hungary Ltd." 000D84 o="Makus Inc." 000D85 o="Tapwave, Inc." 000D86 o="Huber + Suhner AG" 000D88,000F3D,001195,001346,0015E9,00179A,00195B,001B11,001CF0,001E58,002191,0022B0,002401,00265A,0050BA,340804,5CD998,F07D68 o="D-Link Corporation" 000D89 o="Bils Technology Inc" 000D8A o="Winners Electronics Co., Ltd." 000D8B o="T&D Corporation" 000D8C o="Shanghai Wedone Digital Ltd. CO." 000D8D o="Prosoft Technology, Inc" 000D8E o="Koden Electronics Co., Ltd." 000D8F o="King Tsushin Kogyo Co., LTD." 000D90 o="Factum Electronics AB" 000D91 o="Eclipse (HQ Espana) S.L." 000D92,00E666,40BA61 o="ARIMA Communications Corp." 000D94 o="AFAR Communications,Inc" 000D95 o="Opti-cell, Inc." 000D96 o="Vtera Technology Inc." 000D97 o="ABB Inc./Tropos" 000D98 o="S.W.A.C. Schmitt-Walter Automation Consult GmbH" 000D99 o="Orbital Sciences Corp.; Launch Systems Group" 000D9A o="INFOTEC LTD" 000D9B o="Heraeus Electro-Nite International N.V." 000D9C o="Elan GmbH & Co KG" 000D9E o="TOKUDEN OHIZUMI SEISAKUSYO Co.,Ltd." 000D9F o="RF Micro Devices" 000DA0 o="NEDAP N.V." 000DA1 o="MIRAE ITS Co.,LTD." 000DA2 o="Infrant Technologies, Inc." 000DA3 o="Emerging Technologies Limited" 000DA4 o="DOSCH & AMAND SYSTEMS AG" 000DA5 o="Fabric7 Systems, Inc" 000DA6 o="Universal Switching Corporation" 000DA8 o="Teletronics Technology Corporation" 000DA9 o="T.E.A.M. S.L." 000DAA o="S.A.Tehnology co.,Ltd." 000DAB o="Parker Hannifin GmbH Electromechanical Division Europe" 000DAC o="Japan CBM Corporation" 000DAD o="Dataprobe, Inc." 000DAE o="SAMSUNG HEAVY INDUSTRIES CO., LTD." 000DAF o="Plexus Corp (UK) Ltd" 000DB0 o="Olym-tech Co.,Ltd." 000DB1 o="Japan Network Service Co., Ltd." 000DB2 o="Ammasso, Inc." 000DB3 o="SDO Communication Corperation" 000DB4 o="Stormshield" 000DB5 o="GLOBALSAT TECHNOLOGY CORPORATION" 000DB7 o="SANKO ELECTRIC CO,.LTD" 000DB8 o="SCHILLER AG" 000DB9 o="PC Engines GmbH" 000DBA o="Océ Document Technologies GmbH" 000DBB o="Nippon Dentsu Co.,Ltd." 000DBE o="Bel Fuse Europe Ltd.,UK" 000DBF o="TekTone Sound & Signal Mfg., Inc." 000DC0 o="Spagat AS" 000DC1 o="SafeWeb Inc" 000DC3 o="First Communication, Inc." 000DC4 o="Emcore Corporation" 000DC5 o="EchoStar Global B.V." 000DC6 o="DigiRose Technology Co., Ltd." 000DC7 o="COSMIC ENGINEERING INC." 000DC8 o="AirMagnet, Inc" 000DC9 o="THALES Elektronik Systeme GmbH" 000DCA o="Tait Electronics" 000DCB o="Petcomkorea Co., Ltd." 000DCC o="NEOSMART Corp." 000DCD o="GROUPE TXCOM" 000DCE o="Dynavac Technology Pte Ltd" 000DCF o="Cidra Corp." 000DD0 o="TetraTec Instruments GmbH" 000DD1 o="Stryker Corporation" 000DD2 o="Simrad Optronics ASA" 000DD3 o="SAMWOO Telecommunication Co.,Ltd." 000DD4,00A065,B4A984 o="Symantec Corporation" 000DD5 o="O'RITE TECHNOLOGY CO.,LTD" 000DD6 o="ITI LTD" 000DD7 o="Bright" 000DD8 o="BBN" 000DD9 o="Anton Paar GmbH" 000DDA o="ALLIED TELESIS K.K." 000DDB o="AIRWAVE TECHNOLOGIES INC." 000DDC o="VAC" 000DDD o="Profilo Telra Elektronik Sanayi ve Ticaret. A.Ş" 000DDE o="Joyteck Co., Ltd." 000DDF o="Japan Image & Network Inc." 000DE0 o="ICPDAS Co.,LTD" 000DE1 o="Control Products, Inc." 000DE2 o="CMZ Sistemi Elettronici" 000DE3 o="AT Sweden AB" 000DE4 o="DIGINICS, Inc." 000DE5 o="Samsung Thales" 000DE6 o="YOUNGBO ENGINEERING CO.,LTD" 000DE7 o="Snap-on OEM Group" 000DE8 o="Nasaco Electronics Pte. Ltd" 000DE9 o="Napatech Aps" 000DEA o="Kingtel Telecommunication Corp." 000DEB o="CompXs Limited" 000DEE o="Andrew RF Power Amplifier Group" 000DEF o="Soc. Coop. Bilanciai" 000DF0 o="QCOM TECHNOLOGY INC." 000DF1 o="IONIX INC." 000DF3 o="Asmax Solutions" 000DF4 o="Watertek Co." 000DF5 o="Teletronics International Inc." 000DF6 o="Technology Thesaurus Corp." 000DF7 o="Space Dynamics Lab" 000DF8 o="ORGA Kartensysteme GmbH" 000DF9 o="NDS Limited" 000DFA o="Micro Control Systems Ltd." 000DFB o="Komax AG" 000DFC o="ITFOR Inc." 000DFD o="Huges Hi-Tech Inc.," 000DFE o="Hauppauge Computer Works, Inc." 000DFF o="CHENMING MOLD INDUSTRY CORP." 000E00 o="Atrie" 000E01 o="ASIP Technologies Inc." 000E02 o="Advantech AMT Inc." 000E04 o="CMA/Microdialysis AB" 000E05 o="WIRELESS MATRIX CORP." 000E06 o="Team Simoco Ltd" 000E09 o="Shenzhen Coship Software Co.,LTD." 000E0A o="SAKUMA DESIGN OFFICE" 000E0B o="Netac Technology Co., Ltd." 000E0D o="Hesch Schröder GmbH" 000E0E o="ESA elettronica S.P.A." 000E0F o="ERMME" 000E10 o="C-guys, Inc." 000E11 o="BDT Büro und Datentechnik GmbH & Co.KG" 000E12 o="Adaptive Micro Systems Inc." 000E13 o="Accu-Sort Systems inc." 000E14 o="Visionary Solutions, Inc." 000E15 o="Tadlys LTD" 000E16 o="SouthWing S.L." 000E18 o="MyA Technology" 000E19 o="LogicaCMG Pty Ltd" 000E1A o="JPS Communications" 000E1B o="IAV GmbH" 000E1C o="Hach Company" 000E1D o="ARION Technology Inc." 000E1E,001B32,0024FF,00C0DD,00E08B,F4E9D4 o="QLogic Corporation" 000E1F o="TCL Networks Equipment Co., Ltd." 000E20 o="ACCESS Systems Americas, Inc." 000E21 o="MTU Friedrichshafen GmbH" 000E23 o="Incipient, Inc." 000E24 o="Huwell Technology Inc." 000E25 o="Hannae Technology Co., Ltd" 000E26 o="Gincom Technology Corp." 000E27 o="Crere Networks, Inc." 000E28 o="Dynamic Ratings P/L" 000E29 o="Shester Communications Inc" 000E2B o="Safari Technologies" 000E2C o="Netcodec co." 000E2D o="Hyundai Digital Technology Co.,Ltd." 000E2F,B87879 o="Roche Diagnostics GmbH" 000E30 o="AERAS Networks, Inc." 000E31 o="Olympus Soft Imaging Solutions GmbH" 000E32 o="Kontron Medical" 000E33 o="Shuko Electronics Co.,Ltd" 000E34 o="NexGen City, LP" 000E36 o="HEINESYS, Inc." 000E37 o="Harms & Wende GmbH & Co.KG" 000E3A o="Cirrus Logic" 000E3B o="Hawking Technologies, Inc." 000E3C o="Transact Technologies Inc" 000E3D o="Televic N.V." 000E3E o="Sun Optronics Inc" 000E41 o="NIHON MECHATRONICS CO.,LTD." 000E42 o="Motic Incoporation Ltd." 000E43 o="G-Tek Electronics Sdn. Bhd." 000E44 o="Digital 5, Inc." 000E45 o="Beijing Newtry Electronic Technology Ltd" 000E46 o="Niigata Seimitsu Co.,Ltd." 000E47 o="NCI System Co.,Ltd." 000E48 o="Lipman TransAction Solutions" 000E49 o="Forsway Scandinavia AB" 000E4A o="Changchun Huayu WEBPAD Co.,LTD" 000E4B o="atrium c and i" 000E4C o="Bermai Inc." 000E4D o="Numesa Inc." 000E4E o="Waveplus Technology Co., Ltd." 000E4F o="Trajet GmbH" 000E50,00147F,0018F6,001D68,001F9F,002417,002644,0090D0,0876FF o="Thomson Telecom Belgium" 000E51 o="tecna elettronica srl" 000E52 o="Optium Corporation" 000E53 o="AV TECH CORPORATION" 000E54 o="AlphaCell Wireless Ltd." 000E55 o="AUVITRAN" 000E56 o="4G Systems GmbH & Co. KG" 000E57 o="Iworld Networking, Inc." 000E58,347E5C,48A6B8,542A1B,5CAAFD,7828CA,949F3E,B8E937,F0F6C1 o="Sonos, Inc." 000E59,001556,00194B,001BBF,001E74,001F95,002348,002569,002691,0037B7,00604C,00789E,00CB51,083E5D,08D59D,181E78,18622C,1890D8,2420C7,247F20,289EFC,2C3996,2C79D7,2CE412,302478,3093BC,34495B,346B46,348AAE,34DB9C,3835FB,3C1710,3C81D8,4065A3,40C729,40F201,44E9DD,4883C7,48D24F,4C17EB,5464D9,589043,5CB13E,646624,681590,6C2E85,700B01,786559,7C034C,7C03D8,7C2664,8020DA,84A06E,84A1D1,84A423,88A6C6,8C10D4,90013B,904D4A,907282,94FEF4,981E19,988B5D,A01B29,A039EE,A08E78,A408F5,A89A93,AC3B77,AC84C9,B0982B,B0B28F,B86685,B8D94D,B8EE0E,C0AC54,C0D044,C891F9,C8CD72,CC33BB,D05794,D06EDE,D084B0,D86CE9,D87D7F,D8A756,D8D775,E8ADA6,E8BE81,E8F1B0,ECBEDD,F08175,F08261,F46BEF,F4EB38,F8084F,F8AB05 o="Sagemcom Broadband SAS" 000E5A o="TELEFIELD inc." 000E5B o="ParkerVision - Direct2Data" 000E5D o="Triple Play Technologies A/S" 000E5E o="Raisecom Technology" 000E5F o="activ-net GmbH & Co. KG" 000E60 o="360SUN Digital Broadband Corporation" 000E61 o="MICROTROL LIMITED" 000E63 o="Lemke Diagnostics GmbH" 000E64 o="Elphel, Inc" 000E65 o="TransCore" 000E66 o="Hitachi Industry & Control Solutions, Ltd." 000E67 o="Eltis Microelectronics Ltd." 000E68 o="E-TOP Network Technology Inc." 000E69 o="China Electric Power Research Institute" 000E6B o="Janitza electronics GmbH" 000E6C o="Device Drivers Limited" 000E6D,0013E0,0021E8,0026E8,00376D,006057,009D6B,00AEFA,044665,1098C3,10A5D0,147DC5,1C7022,1C994C,2002AF,2C4CC6,40F308,449160,44A7CF,48EB62,58D50A,5CDAD4,5CF8A1,6021C0,60F189,784B87,88308A,8C4500,90B686,98F170,A0C9A0,A0CC2B,A408EA,B072BF,B8D7AF,C4AC59,CCC079,D0E44A,D44DA4,D45383,D8C46A,DCEFCA,E8E8B7,F02765,FCC2DE,FCDBB3 o="Murata Manufacturing Co., Ltd." 000E6E o="MAT S.A. (Mircrelec Advanced Technology)" 000E6F o="IRIS Corporation Berhad" 000E70 o="in2 Networks" 000E71 o="Gemstar Technology Development Ltd." 000E72 o="CTS electronics" 000E73 o="Tpack A/S" 000E74 o="Solar Telecom. Tech" 000E75 o="New York Air Brake Corp." 000E76 o="GEMSOC INNOVISION INC." 000E77 o="Decru, Inc." 000E78 o="Amtelco" 000E79 o="Ample Communications Inc." 000E7A o="GemWon Communications Co., Ltd." 000E7C o="Televes S.A." 000E7D o="Electronics Line 3000 Ltd." 000E7E o="ionSign Oy" 000E80 o="Thomson Technology Inc" 000E81 o="Devicescape Software, Inc." 000E82 o="Commtech Wireless" 000E85 o="Catalyst Enterprises, Inc." 000E86 o="Alcatel North America" 000E87 o="adp Gauselmann GmbH" 000E88 o="VIDEOTRON CORP." 000E89 o="CLEMATIC" 000E8A o="Avara Technologies Pty. Ltd." 000E8B o="Astarte Technology Co, Ltd." 000E8D o="Systems in Progress Holding GmbH" 000E8E o="SparkLAN Communications, Inc." 000E8F,00C002,142E5E,3C9872,60CE86,749D79,788102,7894B4,944A0C,B4A5EF,D42122,D460E3,E06066 o="Sercomm Corporation." 000E90 o="PONICO CORP." 000E91 o="Navico Auckland Ltd" 000E92 o="Open Telecom" 000E93 o="Milénio 3 Sistemas Electrónicos, Lda." 000E94 o="Maas International BV" 000E95 o="Fujiya Denki Seisakusho Co.,Ltd." 000E96 o="Cubic Defense Applications, Inc." 000E97 o="Ultracker Technology CO., Inc" 000E98,00C068 o="HME Clear-Com LTD." 000E99 o="Spectrum Digital, Inc" 000E9A,000EE4 o="BOE TECHNOLOGY GROUP CO.,LTD" 000E9C o="Benchmark Electronics" 000E9D o="Tiscali UK Ltd" 000E9E o="Topfield Co., Ltd" 000E9F o="TEMIC SDS GmbH" 000EA0 o="NetKlass Technology Inc." 000EA1 o="Formosa Teletek Corporation" 000EA2 o="McAfee, Inc" 000EA3 o="CNCR-IT CO.,LTD,HangZhou P.R.CHINA" 000EA4,005084 o="Quantum Corp." 000EA5 o="BLIP Systems" 000EA7 o="Endace Technology" 000EA8 o="United Technologists Europe Limited" 000EA9 o="Shanghai Xun Shi Communications Equipment Ltd. Co." 000EAA o="Scalent Systems, Inc." 000EAB o="Cray Inc" 000EAC o="MINTRON ENTERPRISE CO., LTD." 000EAD o="Metanoia Technologies, Inc." 000EAE o="GAWELL TECHNOLOGIES CORP." 000EAF o="CASTEL" 000EB0 o="Solutions Radio BV" 000EB1 o="Newcotech,Ltd" 000EB2 o="Micro-Research Finland Oy" 000EB4 o="GUANGZHOU GAOKE COMMUNICATIONS TECHNOLOGY CO.LTD." 000EB5 o="Ecastle Electronics Co., Ltd." 000EB6,002550,6C98EB o="Riverbed Technology, Inc." 000EB7 o="Knovative, Inc." 000EB8 o="Iiga co.,Ltd" 000EB9 o="HASHIMOTO Electronics Industry Co.,Ltd." 000EBA o="HANMI SEMICONDUCTOR CO., LTD." 000EBB o="Everbee Networks" 000EBC o="Paragon Fidelity GmbH" 000EBD o="Burdick, a Quinton Compny" 000EBE o="B&B Electronics Manufacturing Co." 000EBF o="Remsdaq Limited" 000EC1 o="MYNAH Technologies" 000EC2 o="Lowrance Electronics, Inc." 000EC3 o="Logic Controls, Inc." 000EC4 o="Iskra Transmission d.d." 000EC5 o="Digital Multitools Inc" 000EC6 o="ASIX ELECTRONICS CORP." 000EC7 o="Motorola Korea" 000EC8 o="Zoran Corporation" 000EC9 o="YOKO Technology Corp." 000ECA o="WTSS Inc" 000ECB o="VineSys Technology" 000ECC o="Tableau, LLC" 000ECD o="SKOV A/S" 000ECE o="S.I.T.T.I. S.p.A." 000ECF o="PROFIBUS Nutzerorganisation e.V." 000ED0 o="Privaris, Inc." 000ED1 o="Osaka Micro Computer." 000ED2 o="Filtronic plc" 000ED3 o="Epicenter, Inc." 000ED4 o="CRESITT INDUSTRIE" 000ED5 o="COPAN Systems Inc." 000ED8 o="Positron Access Solutions Corp" 000ED9 o="Aksys, Ltd." 000EDA o="C-TECH UNITED CORP." 000EDB o="XiNCOM Corp." 000EDC o="Tellion INC." 000EDD o="SHURE INCORPORATED" 000EDE o="REMEC, Inc." 000EDF o="PLX Technology" 000EE0 o="Mcharge" 000EE1 o="ExtremeSpeed Inc." 000EE2 o="Custom Engineering" 000EE3 o="Chiyu Technology Co.,Ltd" 000EE5 o="bitWallet, Inc." 000EE6 o="Adimos Systems LTD" 000EE7 o="AAC ELECTRONICS CORP." 000EE8,144D67,5C925E,784476,B85510,F42853 o="Zioncom Electronics (Shenzhen) Ltd." 000EE9 o="WayTech Development, Inc." 000EEA o="Shadong Luneng Jicheng Electronics,Co.,Ltd" 000EEB o="Sandmartin(zhong shan)Electronics Co.,Ltd" 000EEC o="Orban" 000EEE o="Muco Industrie BV" 000EF0 o="Festo AG & Co. KG" 000EF1 o="EZQUEST INC." 000EF2 o="Infinico Corporation" 000EF3 o="Smartlabs, Inc." 000EF4,80AD67 o="Kasda Networks Inc" 000EF5 o="iPAC Technology Co., Ltd." 000EF6 o="E-TEN Information Systems Co., Ltd." 000EF7 o="Vulcan Portals Inc" 000EF8 o="SBC ASI" 000EF9 o="REA Elektronik GmbH" 000EFA o="Optoway Technology Incorporation" 000EFB o="Macey Enterprises" 000EFC o="JTAG Technologies B.V." 000EFD o="FUJINON CORPORATION" 000EFE o="EndRun Technologies LLC" 000EFF o="Megasolution,Inc." 000F00 o="Legra Systems, Inc." 000F01 o="DIGITALKS INC" 000F02 o="Digicube Technology Co., Ltd" 000F03 o="COM&C CO., LTD" 000F04 o="cim-usa inc" 000F05 o="3B SYSTEM INC." 000F07 o="Mangrove Systems, Inc." 000F08 o="Indagon Oy" 000F0A o="Clear Edge Networks" 000F0B o="Kentima Technologies AB" 000F0C o="SYNCHRONIC ENGINEERING" 000F0D o="Hunt Electronic Co., Ltd." 000F0E o="WaveSplitter Technologies, Inc." 000F0F o="Real ID Technology Co., Ltd." 000F10 o="RDM Corporation" 000F11 o="Prodrive B.V." 000F12,00D060 o="Panasonic Europe Ltd." 000F13 o="Nisca corporation" 000F14 o="Mindray Co., Ltd." 000F15,001E80 o="Icotera A/S" 000F16 o="JAY HOW TECHNOLOGY CO.," 000F17,002365 o="Insta Elektro GmbH" 000F18 o="Industrial Control Systems" 000F19 o="Boston Scientific" 000F1A o="Gaming Support B.V." 000F1B o="Ego Systems Inc." 000F1C o="DigitAll World Co., Ltd" 000F1D o="Cosmo Techs Co., Ltd." 000F1E o="Chengdu KT Electric Co.of High & New Technology" 000F21 o="Scientific Atlanta, Inc" 000F22 o="Helius, Inc." 000F25 o="AimValley B.V." 000F26 o="WorldAccxx LLC" 000F27 o="TEAL Electronics, Inc." 000F28 o="Itronix Corporation" 000F29 o="Augmentix Corporation" 000F2A o="Cableware Electronics" 000F2B o="GREENBELL SYSTEMS" 000F2C o="Uplogix, Inc." 000F2D o="CHUNG-HSIN ELECTRIC & MACHINERY MFG.CORP." 000F2E o="Megapower International Corp." 000F2F o="W-LINX TECHNOLOGY CO., LTD." 000F30 o="Raza Microelectronics Inc" 000F31 o="Allied Vision Technologies Canada Inc" 000F32 o="Lootom Telcovideo Network Wuxi Co Ltd" 000F33 o="DUALi Inc." 000F36 o="Accurate Techhnologies, Inc." 000F37 o="Xambala Incorporated" 000F38 o="Netstar" 000F39 o="IRIS SENSORS" 000F3A o="HISHARP" 000F3B o="Fuji System Machines Co., Ltd." 000F3C o="Endeleo Limited" 000F3E o="CardioNet, Inc" 000F3F o="Big Bear Networks" 000F40 o="Optical Internetworking Forum" 000F41 o="Zipher Ltd" 000F42 o="Xalyo Systems" 000F43 o="Wasabi Systems Inc." 000F44 o="Tivella Inc." 000F45 o="Stretch, Inc." 000F46 o="SINAR AG" 000F47 o="ROBOX SPA" 000F48 o="Polypix Inc." 000F49 o="Northover Solutions Limited" 000F4A o="Kyushu-kyohan co.,ltd" 000F4C o="Elextech INC" 000F4D o="TalkSwitch" 000F4E o="Cellink" 000F4F,080027 o="PCS Systemtechnik GmbH" 000F50 o="StreamScale Limited" 000F51 o="Azul Systems, Inc." 000F52 o="YORK Refrigeration, Marine & Controls" 000F54 o="Entrelogic Corporation" 000F55 o="Datawire Communication Networks Inc." 000F56 o="Continuum Photonics Inc" 000F57 o="CABLELOGIC Co., Ltd." 000F58 o="Adder Technology Limited" 000F59 o="Phonak AG" 000F5A o="Peribit Networks" 000F5B o="Delta Information Systems, Inc." 000F5C o="Day One Digital Media Limited" 000F5D,000F94 o="Genexis BV" 000F5E o="Veo" 000F5F o="Nicety Technologies Inc. (NTS)" 000F60 o="Lifetron Co.,Ltd" 000F62 o="Alcatel Bell Space N.V." 000F63 o="Obzerv Technologies" 000F64 o="D&R Electronica Weesp BV" 000F65 o="icube Corp." 000F67 o="West Instruments" 000F68 o="Vavic Network Technology, Inc." 000F69 o="SEW Eurodrive GmbH & Co. KG" 000F6B o="GateWare Communications GmbH" 000F6C o="ADDI-DATA GmbH" 000F6D o="Midas Engineering" 000F6E o="BBox" 000F6F o="FTA Communication Technologies" 000F70 o="Wintec Industries, inc." 000F71 o="Sanmei Electronics Co.,Ltd" 000F72 o="Sandburst" 000F73 o="RS Automation Co., Ltd" 000F74 o="Qamcom Technology AB" 000F75 o="First Silicon Solutions" 000F76 o="Digital Keystone, Inc." 000F77 o="DENTUM CO.,LTD" 000F78 o="Datacap Systems Inc" 000F79 o="Bluetooth Interest Group Inc." 000F7A o="BeiJing NuQX Technology CO.,LTD" 000F7B o="Arce Sistemas, S.A." 000F7C o="ACTi Corporation" 000F7D o="Xirrus" 000F7E o="Ablerex Electronics Co., LTD" 000F7F o="UBSTORAGE Co.,Ltd." 000F80 o="Trinity Security Systems,Inc." 000F81 o="PAL Pacific Inc." 000F82 o="Mortara Instrument, Inc." 000F83 o="Brainium Technologies Inc." 000F84 o="Astute Networks, Inc." 000F85 o="ADDO-Japan Corporation" 000F86,001CCC,002557,0026FF,1C69A5,34BB1F,406F2A,489D24,68ED43,70AAB2,94EBCD,A4E4B8,F40B93 o="BlackBerry RTS" 000F87 o="Maxcess International" 000F88 o="AMETEK, Inc." 000F89 o="Winnertec System Co., Ltd." 000F8A o="WideView" 000F8B o="Orion MultiSystems Inc" 000F8C o="Gigawavetech Pte Ltd" 000F8D o="FAST TV-Server AG" 000F8E o="DONGYANG TELECOM CO.,LTD." 000F91 o="Aerotelecom Co.,Ltd." 000F92 o="Microhard Systems Inc." 000F93 o="Landis+Gyr Ltd." 000F95 o="ELECOM Co.,LTD Laneed Division" 000F97 o="Avanex Corporation" 000F98 o="Avamax Co. Ltd." 000F99 o="APAC opto Electronics Inc." 000F9A o="Synchrony, Inc." 000F9B o="Ross Video Limited" 000F9C o="Panduit Corp" 000F9D,6CA936 o="DisplayLink (UK) Ltd" 000F9E o="Murrelektronik GmbH" 000FA0 o="CANON KOREA BUSINESS SOLUTIONS INC." 000FA1 o="Gigabit Systems Inc." 000FA2 o="2xWireless" 000FA3,001802,001D6A,542AA2,5C338E,886AE3,D0AEEC o="Alpha Networks Inc." 000FA4 o="Sprecher Automation GmbH" 000FA5 o="BWA Technology GmbH" 000FA6 o="S2 Security Corporation" 000FA7 o="Raptor Networks Technology" 000FA8 o="Photometrics, Inc." 000FA9 o="PC Fabrik" 000FAA o="Nexus Technologies" 000FAB o="Kyushu Electronics Systems Inc." 000FAC o="IEEE 802.11" 000FAD o="FMN communications GmbH" 000FAE o="E2O Communications" 000FAF o="Dialog Inc." 000FB1 o="Cognio Inc." 000FB2 o="Broadband Pacenet (India) Pvt. Ltd." 000FB3,001505,001801,001EA7,001F90,0020E0,00247B,002662,0026B8,007F28,0C6127,105F06,10785B,109FA9,181BEB,207600,408B07,4C8B30,70F196,70F220,84E892,941C56,9C1E95,A0A3E2,A83944,E86FF2,F8E4FB,FC2BB2 o="Actiontec Electronics, Inc" 000FB4 o="Timespace Technology" 000FB6 o="Europlex Technologies" 000FB7 o="Cavium" 000FB8 o="CallURL Inc." 000FB9 o="Adaptive Instruments" 000FBA o="Tevebox AB" 000FBB,004043 o="Nokia Siemens Networks GmbH & Co. KG." 000FBC o="Onkey Technologies, Inc." 000FBD,3CA72B,A46032 o="MRV Communications (Networks) LTD" 000FBE o="e-w/you Inc." 000FBF o="DGT Sp. z o.o." 000FC0 o="DELCOMp" 000FC1 o="WAVE Corporation" 000FC2 o="Uniwell Corporation" 000FC3 o="PalmPalm Technology, Inc." 000FC4 o="NST co.,LTD." 000FC5 o="KeyMed Ltd" 000FC6 o="Eurocom Industries A/S" 000FC7 o="Dionica R&D Ltd." 000FC8 o="Chantry Networks" 000FC9 o="Allnet GmbH" 000FCA o="A-JIN TECHLINE CO, LTD" 000FCE o="Kikusui Electronics Corp." 000FCF o="DataWind Research" 000FD0 o="ASTRI" 000FD1 o="Applied Wireless Identifications Group, Inc." 000FD2 o="EWA Technologies, Inc." 000FD3 o="Digium" 000FD4 o="Soundcraft" 000FD5 o="Schwechat - RISE" 000FD6 o="Sarotech Co., Ltd" 000FD7 o="Harman Music Group" 000FD8 o="Force, Inc." 000FD9 o="FlexDSL Telecommunications AG" 000FDA o="YAZAKI CORPORATION" 000FDB,00183A,002397,00600F,0CD502 o="Westell Technologies Inc." 000FDC o="Ueda Japan Radio Co., Ltd." 000FDD o="SORDIN AB" 000FDF o="SOLOMON Technology Corp." 000FE0 o="NComputing Co.,Ltd." 000FE1 o="ID DIGITAL CORPORATION" 000FE2,002389,0CDA41,3822D6,3891D5,3897D6,3C8C40,3CE5A6,487ADA,50DA00,5866BA,586AB1,5CDD70,600B03,60DA83,703D15,70BAEF,70F96D,741F4A,74258A,80F62E,84D931,9C061B,AC7409,B0F963,C4CAD9,D461FE o="Hangzhou H3C Technologies Co., Limited" 000FE3 o="Damm Cellular Systems A/S" 000FE4,2C3068 o="Pantech Co.,Ltd" 000FE5 o="MERCURY SECURITY CORPORATION" 000FE6 o="MBTech Systems, Inc." 000FE7 o="Lutron Electronics Co., Inc." 000FE8 o="Lobos, Inc." 000FE9 o="GW TECHNOLOGIES CO.,LTD." 000FEA o="Giga-Byte Technology Co.,LTD." 000FEB o="Cylon Controls" 000FEC o="ARKUS Inc." 000FED o="Anam Electronics Co., Ltd" 000FEE o="XTec, Incorporated" 000FEF o="Thales e-Transactions GmbH" 000FF0 o="Sunray Co. Ltd." 000FF1 o="nex-G Systems Pte.Ltd" 000FF2 o="Loud Technologies Inc." 000FF3 o="Jung Myoung Communications&Technology" 000FF4 o="Guntermann & Drunck GmbH" 000FF5 o="GN&S company" 000FF6,ECEA03 o="DARFON LIGHTING CORP" 000FF9 o="Valcretec, Inc." 000FFA o="Optinel Systems, Inc." 000FFB o="Nippon Denso Industry Co., Ltd." 000FFC o="Merit Li-Lin Ent." 000FFD o="Glorytek Network Inc." 000FFE,002324 o="G-PRO COMPUTER" 000FFF o="Control4" 001000 o="CABLE TELEVISION LABORATORIES, INC." 001001 o="Citel" 001002 o="ACTIA" 001003 o="IMATRON, INC." 001004 o="THE BRANTLEY COILE COMPANY,INC" 001005 o="UEC COMMERCIAL" 001006 o="Thales Contact Solutions Ltd." 001008 o="VIENNA SYSTEMS CORPORATION" 001009 o="HORANET" 00100A o="WILLIAMS COMMUNICATIONS GROUP" 00100C o="ITO CO., LTD." 00100E o="MICRO LINEAR COPORATION" 00100F o="INDUSTRIAL CPU SYSTEMS" 001010 o="INITIO CORPORATION" 001012 o="PROCESSOR SYSTEMS (I) PVT LTD" 001013 o="Kontron America, Inc." 001015 o="OOmon Inc." 001016 o="T.SQWARE" 001017,001B86 o="Bosch Access Systems GmbH" 001019 o="SIRONA DENTAL SYSTEMS GmbH & Co. KG" 00101A o="PictureTel Corp." 00101B o="CORNET TECHNOLOGY, INC." 00101C o="OHM TECHNOLOGIES INTL, LLC" 00101D o="WINBOND ELECTRONICS CORP." 00101E o="MATSUSHITA ELECTRONIC INSTRUMENTS CORP." 001020 o="Hand Held Products Inc" 001021 o="ENCANTO NETWORKS, INC." 001022 o="SatCom Media Corporation" 001023 o="Network Equipment Technologies" 001024 o="NAGOYA ELECTRIC WORKS CO., LTD" 001025 o="Grayhill, Inc" 001026 o="ACCELERATED NETWORKS, INC." 001027 o="L-3 COMMUNICATIONS EAST" 001028 o="COMPUTER TECHNICA, INC." 00102A o="ZF MICROSYSTEMS, INC." 00102B o="UMAX DATA SYSTEMS, INC." 00102C o="Lasat Networks A/S" 00102D o="HITACHI SOFTWARE ENGINEERING" 00102E o="NETWORK SYSTEMS & TECHNOLOGIES PVT. LTD." 001030 o="EION Inc." 001031 o="OBJECTIVE COMMUNICATIONS, INC." 001032 o="ALTA TECHNOLOGY" 001033 o="ACCESSLAN COMMUNICATIONS, INC." 001034 o="GNP Computers" 001036 o="INTER-TEL INTEGRATED SYSTEMS" 001037 o="CYQ've Technology Co., Ltd." 001038 o="Micro Research Ltd." 001039 o="Vectron Systems AG" 00103A o="DIAMOND NETWORK TECH" 00103B o="HIPPI NETWORKING FORUM" 00103C o="IC ENSEMBLE, INC." 00103D o="PHASECOM, LTD." 00103E o="NETSCHOOLS CORPORATION" 00103F o="TOLLGRADE COMMUNICATIONS, INC." 001040 o="INTERMEC CORPORATION" 001041 o="BRISTOL BABCOCK, INC." 001042 o="Alacritech, Inc." 001043 o="A2 CORPORATION" 001044 o="InnoLabs Corporation" 001046 o="ALCORN MCBRIDE INC." 001047 o="ECHO ELETRIC CO. LTD." 001048 o="HTRC AUTOMATION, INC." 001049 o="ShoreTel, Inc" 00104A o="The Parvus Corporation" 00104C o="Teledyne LeCroy, Inc" 00104D o="SURTEC INDUSTRIES, INC." 00104E o="CEOLOGIC" 001050 o="RION CO., LTD." 001051 o="CMICRO CORPORATION" 001052 o="METTLER-TOLEDO (ALBSTADT) GMBH" 001053 o="COMPUTER TECHNOLOGY CORP." 001055 o="FUJITSU MICROELECTRONICS, INC." 001056 o="SODICK CO., LTD." 001057 o="Rebel.com, Inc." 001058 o="ArrowPoint Communications" 001059 o="DIABLO RESEARCH CO. LLC" 00105B o="NET INSIGHT AB" 00105C o="QUANTUM DESIGNS (H.K.) LTD." 00105D o="Draeger Medical" 00105E o="Spirent plc, Service Assurance Broadband" 00105F o="ZODIAC DATA SYSTEMS" 001060 o="BILLIONTON SYSTEMS, INC." 001061 o="HOSTLINK CORP." 001062 o="NX SERVER, ILNC." 001063 o="STARGUIDE DIGITAL NETWORKS" 001064 o="DNPG, LLC" 001065 o="RADYNE CORPORATION" 001066 o="ADVANCED CONTROL SYSTEMS, INC." 001068 o="COMOS TELECOM" 001069 o="HELIOSS COMMUNICATIONS, INC." 00106A o="DIGITAL MICROWAVE CORPORATION" 00106B o="SONUS NETWORKS, INC." 00106C o="EDNT GmbH" 00106D,00C069 o="Axxcelera Broadband Wireless" 00106E o="TADIRAN COM. LTD." 00106F o="TRENTON TECHNOLOGY INC." 001070 o="CARADON TREND LTD." 001071 o="ADVANET INC." 001072 o="GVN TECHNOLOGIES, INC." 001073 o="TECHNOBOX, INC." 001074 o="ATEN INTERNATIONAL CO., LTD." 001075 o="Segate Technology LLC" 001076 o="EUREM GmbH" 001077 o="SAF DRIVE SYSTEMS, LTD." 001078 o="NUERA COMMUNICATIONS, INC." 00107A o="AmbiCom, Inc." 00107C o="P-COM, INC." 00107D o="AURORA COMMUNICATIONS, LTD." 00107E o="BACHMANN ELECTRONIC GmbH" 00107F o="CRESTRON ELECTRONICS, INC." 001080 o="METAWAVE COMMUNICATIONS" 001081 o="DPS, INC." 001082 o="JNA TELECOMMUNICATIONS LIMITED" 001084 o="K-BOT COMMUNICATIONS" 001085 o="POLARIS COMMUNICATIONS, INC." 001086 o="ATTO Technology, Inc." 001087,00B0B3 o="XSTREAMIS PLC" 001088 o="AMERICAN NETWORKS INC." 001089 o="WebSonic" 00108A o="TeraLogic, Inc." 00108B o="LASERANIMATION SOLLINGER GMBH" 00108C o="Fujitsu Services Ltd" 00108D o="Johnson Controls, Inc." 00108E o="HUGH SYMONS CONCEPT Technologies Ltd." 00108F o="RAPTOR SYSTEMS" 001090 o="CIMETRICS, INC." 001091 o="NO WIRES NEEDED BV" 001092 o="NETCORE INC." 001093 o="CMS COMPUTERS, LTD." 001094,0060F3 o="Performance Analysis Broadband, Spirent plc" 001095,00189B,0019DF,001E69,0024D1,002624,009064 o="Thomson Inc." 001096 o="TRACEWELL SYSTEMS, INC." 001097 o="WinNet Metropolitan Communications Systems, Inc." 001098 o="STARNET TECHNOLOGIES, INC." 001099 o="InnoMedia, Inc." 00109A o="NETLINE" 00109C o="M-SYSTEM CO., LTD." 00109D o="CLARINET SYSTEMS, INC." 00109E o="AWARE, INC." 00109F o="PAVO, INC." 0010A0 o="INNOVEX TECHNOLOGIES, INC." 0010A1 o="KENDIN SEMICONDUCTOR, INC." 0010A2 o="TNS" 0010A3 o="OMNITRONIX, INC." 0010A5 o="OXFORD INSTRUMENTS" 0010A8 o="RELIANCE COMPUTER CORP." 0010A9 o="ADHOC TECHNOLOGIES" 0010AA o="MEDIA4, INC." 0010AB o="KOITO ELECTRIC INDUSTRIES, LTD." 0010AC o="IMCI TECHNOLOGIES" 0010AD o="SOFTRONICS USB, INC." 0010AE o="SHINKO ELECTRIC INDUSTRIES CO." 0010AF o="TAC SYSTEMS, INC." 0010B0 o="MERIDIAN TECHNOLOGY CORP." 0010B1 o="FOR-A CO., LTD." 0010B2 o="COACTIVE AESTHETICS" 0010B3 o="NOKIA MULTIMEDIA TERMINALS" 0010B4 o="ATMOSPHERE NETWORKS" 0010B6 o="ENTRATA COMMUNICATIONS CORP." 0010B7 o="COYOTE TECHNOLOGIES, LLC" 0010B8 o="ISHIGAKI COMPUTER SYSTEM CO." 0010B9 o="MAXTOR CORP." 0010BA o="MARTINHO-DAVIS SYSTEMS, INC." 0010BB o="DATA & INFORMATION TECHNOLOGY" 0010BC o="Aastra Telecom" 0010BD o="THE TELECOMMUNICATION TECHNOLOGY COMMITTEE (TTC)" 0010BE o="MARCH NETWORKS CORPORATION" 0010BF o="InterAir Wireless" 0010C0 o="ARMA, Inc." 0010C1,509F3B,8835C1,D84A87 o="OI ELECTRIC CO.,LTD" 0010C2 o="WILLNET, INC." 0010C3 o="CSI-CONTROL SYSTEMS" 0010C4,046169 o="MEDIA GLOBAL LINKS CO., LTD." 0010C5 o="PROTOCOL TECHNOLOGIES, INC." 0010C6,001641,001A6B,001E37,002186,00247E,002713,083A88,0C3CCD,3CE1A1,402CF4,4439C4,6C0B84,70F395,CC52AF,E02A82,E04F43,FC4DD4 o="Universal Global Scientific Industrial Co., Ltd." 0010C7 o="DATA TRANSMISSION NETWORK" 0010C8 o="COMMUNICATIONS ELECTRONICS SECURITY GROUP" 0010C9 o="MITSUBISHI ELECTRONICS LOGISTIC SUPPORT CO." 0010CB o="FACIT K.K." 0010CC o="CLP COMPUTER LOGISTIK PLANUNG GmbH" 0010CD o="INTERFACE CONCEPT" 0010CE o="VOLAMP, LTD." 0010CF o="FIBERLANE COMMUNICATIONS" 0010D0 o="WITCOM, LTD." 0010D1 o="Top Layer Networks, Inc." 0010D2 o="NITTO TSUSHINKI CO., LTD" 0010D3 o="GRIPS ELECTRONIC GMBH" 0010D4 o="STORAGE COMPUTER CORPORATION" 0010D5 o="IMASDE CANARIAS, S.A." 0010D6 o="Exelis" 0010D7 o="ARGOSY RESEARCH INC." 0010D8 o="CALISTA" 0010D9 o="IBM JAPAN, FUJISAWA MT+D" 0010DA o="Kollmorgen Corp" 0010DD o="ENABLE SEMICONDUCTOR, INC." 0010DE o="INTERNATIONAL DATACASTING CORPORATION" 0010DF o="RISE COMPUTER INC." 0010E1 o="S.I. TECH, INC." 0010E2 o="ArrayComm, Inc." 0010E4 o="NSI CORPORATION" 0010E5 o="SOLECTRON TEXAS" 0010E6 o="APPLIED INTELLIGENT SYSTEMS, INC." 0010E8 o="TELOCITY, INCORPORATED" 0010E9 o="RAIDTEC LTD." 0010EA o="ADEPT TECHNOLOGY" 0010EB o="SELSIUS SYSTEMS, INC." 0010EC o="RPCG, LLC" 0010ED o="SUNDANCE TECHNOLOGY, INC." 0010EE o="CTI PRODUCTS, INC." 0010EF o="DBTEL INCORPORATED" 0010F0 o="RITTAL-WERK RUDOLF LOH GmbH & Co." 0010F1 o="I-O CORPORATION" 0010F2 o="ANTEC" 0010F3 o="Nexcom International Co., Ltd." 0010F4 o="Vertical Communications" 0010F5 o="AMHERST SYSTEMS, INC." 0010F7 o="IRIICHI TECHNOLOGIES Inc." 0010F9 o="UNIQUE SYSTEMS, INC." 0010FB o="ZIDA TECHNOLOGIES LIMITED" 0010FC o="BROADBAND NETWORKS, INC." 0010FD o="COCOM A/S" 001101 o="CET Technologies Pte Ltd" 001102 o="Aurora Multimedia Corp." 001103 o="kawamura electric inc." 001104 o="TELEXY" 001105,FC4BBC o="Sunplus Technology Co., Ltd." 001106 o="Siemens NV (Belgium)" 001107 o="RGB Networks Inc." 001108 o="Orbital Data Corporation" 001109 o="Micro-Star International" 00110B o="Franklin Technology Systems" 00110C o="Atmark Techno, Inc." 00110D o="SANBlaze Technology, Inc." 00110E o="Tsurusaki Sealand Transportation Co. Ltd." 00110F o="netplat,Inc." 001110 o="Maxanna Technology Co., Ltd." 001112 o="Honeywell CMSS" 001113 o="Fraunhofer FOKUS" 001114 o="EverFocus Electronics Corp." 001115 o="EPIN Technologies, Inc." 001116 o="COTEAU VERT CO., LTD." 001117 o="CESNET" 001118 o="BLX IC Design Corp., Ltd." 001119 o="Solteras, Inc." 00111B o="Targa Systems Div L-3 Communications" 00111C o="Pleora Technologies Inc." 00111D o="Hectrix Limited" 00111E,00151E o="ETHERNET Powerlink Standarization Group (EPSG)" 00111F o="Doremi Labs, Inc." 001122 o="CIMSYS Inc" 001123 o="Appointech, Inc." 001126 o="Venstar Inc." 001127 o="TASI, Inc" 001128 o="Streamit" 001129 o="Paradise Datacom Ltd." 00112A o="Niko NV" 00112B o="NetModule AG" 00112C o="IZT GmbH" 00112D o="iPulse Systems" 00112E o="CEICOM" 001130 o="Allied Telesis (Hong Kong) Ltd." 001131 o="UNATECH. CO.,LTD" 001132 o="Synology Incorporated" 001133 o="Siemens AG Austria" 001134 o="MediaCell, Inc." 001135 o="Grandeye Ltd" 001136 o="Goodrich Sensor Systems" 001137 o="AICHI ELECTRIC CO., LTD." 001138 o="TAISHIN CO., LTD." 001139 o="STOEBER ANTRIEBSTECHNIK GmbH + Co. KG." 00113A o="SHINBORAM" 00113B o="Micronet Communications Inc." 00113C o="Micronas GmbH" 00113D o="KN SOLTEC CO.,LTD." 00113E o="JL Corporation" 00113F o="Alcatel DI" 001140 o="Nanometrics Inc." 001141 o="GoodMan Corporation" 001142 o="e-SMARTCOM INC." 001144 o="Assurance Technology Corp" 001145 o="ValuePoint Networks" 001146 o="Telecard-Pribor Ltd" 001147 o="Secom-Industry co.LTD." 001148 o="Prolon Control Systems" 001149 o="Proliphix Inc." 00114A o="KAYABA INDUSTRY Co,.Ltd." 00114B o="Francotyp-Postalia GmbH" 00114C o="caffeina applied research ltd." 00114D o="Atsumi Electric Co.,LTD." 00114E o="690885 Ontario Inc." 00114F o="US Digital Television, Inc" 001150 o="Belkin Corporation" 001151 o="Mykotronx" 001152 o="Eidsvoll Electronics AS" 001153 o="Trident Tek, Inc." 001154 o="Webpro Technologies Inc." 001155 o="Sevis Systems" 001156 o="Pharos Systems NZ" 001157,002536,2CFF65 o="Oki Electric Industry Co., Ltd." 001159 o="MATISSE NETWORKS INC" 00115A o="Ivoclar Vivadent AG" 00115E o="ProMinent Dosiertechnik GmbH" 00115F o="ITX Security Co., Ltd." 001160 o="ARTDIO Company Co., LTD" 001161 o="NetStreams, LLC" 001162 o="STAR MICRONICS CO.,LTD." 001163 o="SYSTEM SPA DEPT. ELECTRONICS" 001164 o="ACARD Technology Corp." 001165,00C095,E88DF5 o="ZNYX Networks, Inc." 001166 o="Taelim Electronics Co., Ltd." 001167 o="Integrated System Solution Corp." 001168 o="HomeLogic LLC" 001169 o="EMS Satcom" 00116A o="Domo Ltd" 00116B o="Digital Data Communications Asia Co.,Ltd" 00116C o="Nanwang Multimedia Inc.,Ltd" 00116D o="American Time and Signal" 00116E,1056CA o="Peplink International Ltd." 00116F o="Netforyou Co., LTD." 001170 o="GSC SRL" 001171 o="DEXTER Communications, Inc." 001172 o="COTRON CORPORATION" 001173 o="SMART Storage Systems" 001174,30B62D,88B1E1,E4D124 o="Mojo Networks, Inc." 001176 o="Intellambda Systems, Inc." 001177 o="Coaxial Networks, Inc." 001178 o="Chiron Technology Ltd" 001179 o="Singular Technology Co. Ltd." 00117A o="Singim International Corp." 00117B o="Büchi Labortechnik AG" 00117C o="e-zy.net" 00117D o="ZMD America, Inc." 00117E o="Midmark Corp" 00117F o="Neotune Information Technology Corporation,.LTD" 001181 o="InterEnergy Co.Ltd," 001182 o="IMI Norgren Ltd" 001183 o="Datalogic ADC, Inc." 001184 o="Humo Laboratory,Ltd." 001186 o="Prime Systems, Inc." 001187 o="Category Solutions, Inc" 001189 o="Aerotech Inc" 00118A o="Viewtran Technology Limited" 00118B,0020DA,00D095,00E0B1,00E0DA,2CFAA2,9424E1,DC0856,E8E732 o="Alcatel-Lucent Enterprise" 00118C o="Missouri Department of Transportation" 00118D o="Hanchang System Corp." 00118E o="Halytech Mace" 00118F o="EUTECH INSTRUMENTS PTE. LTD." 001190 o="Digital Design Corporation" 001191 o="CTS-Clima Temperatur Systeme GmbH" 001194 o="Chi Mei Communication Systems, Inc." 001196 o="Actuality Systems, Inc." 001197 o="Monitoring Technologies Limited" 001198 o="Prism Media Products Limited" 001199 o="2wcom Systems GmbH" 00119A o="Alkeria srl" 00119B o="Telesynergy Research Inc." 00119C o="EP&T Energy" 00119D o="Diginfo Technology Corporation" 00119E o="Solectron Brazil" 0011A0 o="Vtech Engineering Canada Ltd" 0011A1 o="VISION NETWARE CO.,LTD" 0011A2 o="Manufacturing Technology Inc" 0011A3 o="LanReady Technologies Inc." 0011A4 o="JStream Technologies Inc." 0011A5 o="Fortuna Electronic Corp." 0011A6 o="Sypixx Networks" 0011A7 o="Infilco Degremont Inc." 0011A8 o="Quest Technologies" 0011A9 o="MOIMSTONE Co., LTD" 0011AA o="Uniclass Technology, Co., LTD" 0011AB o="TRUSTABLE TECHNOLOGY CO.,LTD." 0011AC o="Simtec Electronics" 0011AD o="Shanghai Ruijie Technology" 0011AF o="Medialink-i,Inc" 0011B0 o="Fortelink Inc." 0011B1 o="BlueExpert Technology Corp." 0011B2 o="2001 Technology Inc." 0011B3 o="YOSHIMIYA CO.,LTD." 0011B5 o="Shenzhen Powercom Co.,Ltd" 0011B6 o="Open Systems International" 0011B7 o="Octalix B.V." 0011B8 o="Liebherr - Elektronik GmbH" 0011B9 o="Inner Range Pty. Ltd." 0011BA o="Elexol Pty Ltd" 0011BD o="Bombardier Transportation" 0011BE o="AGP Telecom Co. Ltd" 0011BF o="AESYS S.p.A." 0011C0 o="Aday Technology Inc" 0011C1 o="4P MOBILE DATA PROCESSING" 0011C2 o="United Fiber Optic Communication" 0011C3 o="Transceiving System Technology Corporation" 0011C4 o="Terminales de Telecomunicacion Terrestre, S.L." 0011C5 o="TEN Technology" 0011C7 o="Raymarine UK Ltd" 0011C8 o="Powercom Co., Ltd." 0011C9 o="MTT Corporation" 0011CA o="Long Range Systems, Inc." 0011CB o="Jacobsons AB" 0011CC o="Guangzhou Jinpeng Group Co.,Ltd." 0011CD o="Axsun Technologies" 0011CE o="Ubisense Limited" 0011CF o="Thrane & Thrane A/S" 0011D0 o="Tandberg Data ASA" 0011D1 o="Soft Imaging System GmbH" 0011D2 o="Perception Digital Ltd" 0011D3 o="NextGenTel Holding ASA" 0011D4 o="NetEnrich, Inc" 0011D5 o="Hangzhou Sunyard System Engineering Co.,Ltd." 0011D6 o="HandEra, Inc." 0011D7 o="eWerks Inc" 0011D9 o="TiVo" 0011DA o="Vivaas Technology Inc." 0011DB o="Land-Cellular Corporation" 0011DC o="Glunz & Jensen" 0011DD o="FROMUS TEC. Co., Ltd." 0011DE o="EURILOGIC" 0011DF o="Current Energy" 0011E0 o="U-MEDIA Communications, Inc." 0011E1 o="Arcelik A.S" 0011E2 o="Hua Jung Components Co., Ltd." 0011E3 o="Thomson, Inc." 0011E4 o="Danelec Electronics A/S" 0011E5 o="KCodes Corporation" 0011E7 o="WORLDSAT - Texas de France" 0011E8 o="Tixi.Com" 0011E9 o="STARNEX CO., LTD." 0011EA o="IWICS Inc." 0011EB o="Innovative Integration" 0011EC o="AVIX INC." 0011ED o="802 Global" 0011EE o="Estari, Inc." 0011EF o="Conitec Datensysteme GmbH" 0011F0 o="Wideful Limited" 0011F1 o="QinetiQ Ltd" 0011F2 o="Institute of Network Technologies" 0011F3 o="NeoMedia Europe AG" 0011F4 o="woori-net" 0011F5,0016E3,001B9E,002163,0024D2,0026B6,009096,086A0A,1CB044,24EC99,4CEDDE,7829ED,7CB733,7CDB98,807871,94917F,A0648F,B0EABC,B4749F,B482FE,B4EEB4,C0D962,C8B422,D47BB0,D8FB5E,E0CA94,E0CEC3,E839DF,E8D11B,F85B3B,FCB4E6 o="ASKEY COMPUTER CORP" 0011F6 o="Asia Pacific Microsystems , Inc." 0011F7 o="Shenzhen Forward Industry Co., Ltd" 0011F8 o="AIRAYA Corp" 0011FA o="Rane Corporation" 0011FB o="Heidelberg Engineering GmbH" 0011FD o="KORG INC." 0011FE o="Keiyo System Research, Inc." 0011FF o="Digitro Tecnologia Ltda" 001202 o="Decrane Aerospace - Audio International Inc." 001203 o="ActivNetworks" 001204 o="u10 Networks, Inc." 001205 o="Terrasat Communications, Inc." 001206 o="iQuest (NZ) Ltd" 001207 o="Head Strong International Limited" 001208 o="Gantner Instruments GmbH" 001209 o="Fastrax Ltd" 00120A o="Emerson Climate Technologies GmbH" 00120B o="Chinasys Technologies Limited" 00120C o="CE-Infosys Pte Ltd" 00120D o="Advanced Telecommunication Technologies, Inc." 00120E,00E098,ECF00E o="AboCom" 00120F o="IEEE 802.3" 001210 o="WideRay Corp" 001211 o="Protechna Herbst GmbH & Co. KG" 001212 o="PLUS Corporation" 001213 o="Metrohm AG" 001214 o="Koenig & Bauer AG" 001215 o="iStor Networks, Inc." 001216 o="ICP Internet Communication Payment AG" 001218 o="ARUZE Corporation" 001219,00C064 o="General Datacomm LLC" 00121A o="Techno Soft Systemnics Inc." 00121B o="Sound Devices, LLC" 00121C,00267E,9003B7,903AE6,A0143D o="PARROT SA" 00121D o="Netfabric Corporation" 00121F o="Harding Instruments" 001220 o="Cadco Systems" 001221 o="B.Braun Melsungen AG" 001222 o="Skardin (UK) Ltd" 001223 o="Pixim" 001224 o="NexQL Corporation" 001226 o="Japan Direx Corporation" 001227 o="Franklin Electric Co., Inc." 001228 o="Data Ltd." 001229 o="BroadEasy Technologies Co.,Ltd" 00122A,14AEDB,A4975C,C468D0 o="VTech Telecommunications Ltd." 00122B o="Virbiage Pty Ltd" 00122C o="Soenen Controls N.V." 00122D o="SiNett Corporation" 00122E o="Signal Technology - AISD" 00122F o="Sanei Electric Inc." 001230 o="Picaso Infocommunication CO., LTD." 001231 o="Motion Control Systems, Inc." 001232 o="LeWiz Communications Inc." 001233 o="JRC TOKKI Co.,Ltd." 001234 o="Camille Bauer" 001235 o="Andrew Corporation" 001236 o="ConSentry Networks" 001237,00124B,0012D1-0012D2,001783,0017E3-0017EC,00182F-001834,001AB6,0021BA,0022A5,0023D4,0024BA,0035FF,0081F9,0479B7,04A316,04E451,04EE03,080028,0C1C57,0C61CF,0CAE7D,0CB2B7,10082C,102EAF,10CEA9,1442FC,1804ED,1862E4,1893D7,1C4593,1CBA8C,1CDF52,1CE2CC,209148,20C38F,20CD39,247189,247D4D,28EC9A,2C6B7D,2CAB33,304511,3403DE,3414B5,341513,342AF1,34B1F7,380B3C,3881D7,38D269,3C2DB7,3C7DB1,3CA308,4006A0,402E71,405FC2,40984E,40BD32,44C15C,44EAD8,4C2498,4C3FD3,50338B,5051A9,505663,506583,507224,508CB1,50F14A,544A16,546C0E,547DCD,587A62,5893D8,5C313E,5C6B32,5CF821,606405,607771,64694E,647BD4,649C8E,64CFD9,684749,689E19,68C90B,6CC374,6CECEB,7086C1,70E56E,70FF76,74D6EA,74DAEA,74E182,780473,78A504,78C5E5,78DB2F,78DEE4,7C010A,7C3866,7C669D,7C8EE4,7CEC79,8030DC,806FB0,847E40,84DD20,84EB18,883314,883F4A,884AEA,88C255,8C8B83,9059AF,907065,909A77,90D7EB,90E202,948854,94E36D,98072D,985945,985DAD,987BF3,9884E3,9C1D58,A0E6F8,A0F6FD,A434F1,A4D578,A4DA32,A81087,A81B6A,A863F2,A8E2C1,A8E77D,B07E11,B09122,B0B448,B0D5CC,B452A9,B4994C,B4BC7C,B4EED4,B8FFFE,BC0DA5,BC6A29,C0E422,C464E3,C4BE84,C4EDBA,C4F312,C83E99,C8A030,C8DF84,C8FD19,CC78AB,CC8CE3,D003EB,D00790,D03761,D03972,D05FB8,D08CB5,D0B5C2,D0FF50,D43639,D494A1,D4F513,D8543A,D8952F,D8A98B,D8DDFD,E07DEA,E0C79D,E0D7BA,E0E5CF,E415F6,E4E112,E8EB11,EC1127,EC24B8,F045DA,F0B5D1,F0C77F,F0F8F2,F45EAB,F4844C,F4B85E,F4E11E,F4FC32,F83002,F83331,F8369B,F88A5E,FC0F4B,FC6947 o="Texas Instruments" 001238 o="SetaBox Technology Co., Ltd." 001239 o="S Net Systems Inc." 00123A o="Posystech Inc., Co." 00123B o="KeRo Systems ApS" 00123C o="Second Rule LLC" 00123D o="GES Co, Ltd" 00123E o="ERUNE technology Co., Ltd." 001240 o="AMOI ELECTRONICS CO.,LTD" 001241 o="a2i marketing center" 001242 o="Millennial Net" 001245 o="Zellweger Analytics, Inc." 001246 o="T.O.M TECHNOLOGY INC.." 001249 o="Delta Elettronica S.p.A." 00124A o="Dedicated Devices, Inc." 00124C o="BBWM Corporation" 00124D o="Inducon BV" 00124E o="XAC AUTOMATION CORP." 00124F o="nVent" 001250 o="Tokyo Aircaft Instrument Co., Ltd." 001251 o="SILINK" 001252 o="Citronix, LLC" 001253 o="AudioDev AB" 001254 o="Spectra Technologies Holdings Company Ltd" 001255 o="NetEffect Incorporated" 001256,0019A1 o="LG INFORMATION & COMM." 001257 o="LeapComm Communication Technologies Inc." 001258 o="TechVoIP Sp z o.o." 001259 o="THERMO ELECTRON KARLSRUHE" 00125B o="KAIMEI ELECTRONI" 00125C o="Green Hills Software, Inc." 00125D o="CyberNet Inc." 00125E o="CAEN" 00125F o="AWIND Inc." 001260 o="Stanton Magnetics,inc." 001261 o="Adaptix, Inc" 001263 o="Data Voice Technologies GmbH" 001264 o="daum electronic gmbh" 001265 o="Enerdyne Technologies, Inc." 001266 o="Swisscom Hospitality Services SA" 001267 o="Panasonic Corporation" 001268 o="IPS d.o.o." 001269 o="Value Electronics" 00126A o="OPTOELECTRONICS Co., Ltd." 00126B o="Ascalade Communications Limited" 00126C,002555 o="Visonic Technologies 1993 Ltd." 00126D o="University of California, Berkeley" 00126E o="Seidel Elektronik GmbH Nfg.KG" 00126F,54B7E5 o="Rayson Technology Co., Ltd." 001270 o="NGES Denro Systems" 001271 o="Measurement Computing Corp" 001272 o="Redux Communications Ltd." 001273 o="Stoke Inc" 001274 o="NIT lab" 001275 o="Sentilla Corporation" 001276 o="CG Power Systems Ireland Limited" 001277 o="Korenix Technologies Co., Ltd." 001278 o="International Bar Code" 00127A o="Sanyu Industry Co.,Ltd." 00127B o="VIA Networking Technologies, Inc." 00127C o="SWEGON AB" 00127D o="MobileAria" 00127E o="Digital Lifestyles Group, Inc." 001281 o="March Networks S.p.A." 001282 o="Qovia" 001284 o="Lab33 Srl" 001285 o="Gizmondo Europe Ltd" 001286 o="ENDEVCO CORP" 001287 o="Digital Everywhere Unterhaltungselektronik GmbH" 001289 o="Advance Sterilization Products" 00128B o="Sensory Networks Inc" 00128C o="Woodward Governor" 00128D o="STB Datenservice GmbH" 00128E o="Q-Free ASA" 00128F o="Montilio" 001290 o="KYOWA Electric & Machinery Corp." 001291 o="KWS Computersysteme GmbH" 001292 o="Griffin Technology" 001293,00D632 o="GE Energy" 001294 o="SUMITOMO ELECTRIC DEVICE INNOVATIONS, INC" 001295 o="Aiware Inc." 001296 o="Addlogix" 001297 o="O2Micro, Inc." 001298 o="MICO ELECTRIC(SHENZHEN) LIMITED" 001299 o="Ktech Telecommunications Inc" 00129A o="IRT Electronics Pty Ltd" 00129B o="E2S Electronic Engineering Solutions, S.L." 00129C o="Yulinet" 00129D o="First International Computer do Brasil" 00129E o="Surf Communications Inc." 00129F o="RAE Systems" 0012A0 o="NeoMeridian Sdn Bhd" 0012A1 o="BluePacket Communications Co., Ltd." 0012A2 o="VITA" 0012A3 o="Trust International B.V." 0012A4 o="ThingMagic, LLC" 0012A5 o="Dolphin Interconnect Solutions AS" 0012A6 o="Dolby Australia" 0012A7 o="ISR TECHNOLOGIES Inc" 0012A8 o="intec GmbH" 0012AA o="IEE, Inc." 0012AB o="WiLife, Inc." 0012AC o="ONTIMETEK INC." 0012AD o="IDS GmbH" 0012AE o="HLS HARD-LINE Solutions Inc." 0012AF o="ELPRO Technologies" 0012B0 o="Efore Oyj (Plc)" 0012B1 o="Dai Nippon Printing Co., Ltd" 0012B2 o="AVOLITES LTD." 0012B3 o="Advance Wireless Technology Corp." 0012B4 o="Work Microwave GmbH" 0012B5 o="Vialta, Inc." 0012B6 o="Santa Barbara Infrared, Inc." 0012B7 o="PTW Freiburg" 0012B8 o="G2 Microsystems" 0012B9 o="Fusion Digital Technology" 0012BA o="FSI Systems, Inc." 0012BB o="Telecommunications Industry Association TR-41 Committee" 0012BC o="Echolab LLC" 0012BD o="Avantec Manufacturing Limited" 0012BE o="Astek Corporation" 0012BF,001A2A,001D19,002308,00264D,1883BF,1CC63C,4C09D4,507E5D,5CDC96,743170,7C4FB5,849CA6,880355,88252C,9C80DF,A8D3F7 o="Arcadyan Technology Corporation" 0012C0 o="HotLava Systems, Inc." 0012C1,001C7F,00A08E o="Check Point Software Technologies" 0012C2 o="Apex Electronics Factory" 0012C3 o="WIT S.A." 0012C4 o="Viseon, Inc." 0012C5 o="V-Show Technology (China) Co.,Ltd" 0012C6 o="TGC America, Inc" 0012C7 o="SECURAY Technologies Ltd.Co." 0012C8 o="Perfect tech" 0012CA o="Mechatronic Brick Aps" 0012CB o="CSS Inc." 0012CC o="Bitatek CO., LTD" 0012CD o="ASEM SpA" 0012CE o="Advanced Cybernetics Group" 0012D0 o="Gossen-Metrawatt-GmbH" 0012D3 o="Zetta Systems, Inc." 0012D4 o="Princeton Technology, Ltd" 0012D5 o="Motion Reality Inc." 0012D6 o="Jiangsu Yitong High-Tech Co.,Ltd" 0012D7 o="Invento Networks, Inc." 0012D8 o="International Games System Co., Ltd." 0012DB o="ZIEHL industrie-elektronik GmbH + Co KG" 0012DC o="SunCorp Industrial Limited" 0012DD o="Shengqu Information Technology (Shanghai) Co., Ltd." 0012DE o="Radio Components Sweden AB" 0012DF o="Novomatic AG" 0012E0 o="Codan Limited" 0012E1 o="Alliant Networks, Inc" 0012E2 o="ALAXALA Networks Corporation" 0012E3 o="Agat-RT, Ltd." 0012E4 o="ZIEHL industrie-electronik GmbH + Co KG" 0012E5 o="Time America, Inc." 0012E6 o="SPECTEC COMPUTER CO., LTD." 0012E7 o="Projectek Networking Electronics Corp." 0012E8 o="Fraunhofer IMS" 0012E9 o="Abbey Systems Ltd" 0012EA o="Trane" 0012EB o="PDH Solutions, LLC" 0012EC o="Movacolor b.v." 0012ED o="AVG Advanced Technologies" 0012EF,70FC8C o="OneAccess SA" 0012F0,001302,001320,0013CE,0013E8,001500,001517,00166F,001676,0016EA-0016EB,0018DE,0019D1-0019D2,001B21,001B77,001CBF-001CC0,001DE0-001DE1,001E64-001E65,001E67,001F3B-001F3C,00215C-00215D,00216A-00216B,0022FA-0022FB,002314-002315,0024D6-0024D7,0026C6-0026C7,00270E,002710,0028F8,00BB60,00C2C6,00DBDF,00E18C,0433C2,04D3B0,04EA56,04ED33,081196,087190,08D23E,08D40C,0C5415,0C7A15,0C8BFD,0CD292,0CDD24,1002B5,100BA9,104A7D,10F005,144F8A,14ABC5,14F6D8,181DEA,183DA2,185680,185E0F,18FF0F,1C1BB5,1C4D70,2016B9,207918,24418C,247703,24EE9A,2816AD,287FCF,28B2BD,28C63F,2C6E85,302432,303A64,30E37A,340286,3413E8,34415D,34CFF6,34DE1A,34E12D,34E6AD,34F39A,34F64B,380025,38BAF8,38DEAD,3C58C2,3C6AA7,3CA9F4,3CF011,3CF862,3CFDFE,4025C2,4074E0,40A3CC,40A6B7,40EC99,44032C,448500,484520,4851B7,4889E7,48A472,48F17F,4C1D96,4C3488,4C79BA,4C8093,4CEB42,502DA2,5076AF,50E085,50EB71,548D5A,5891CF,58946B,58961D,58A023,58A839,58FB84,5C514F,5C5F67,5C80B6,5C879C,5CC5D4,5CCD5B,5CD2E4,5CE0C5,6036DD,605718,606720,606C66,60F262,60F677,6432A8,644C36,645D86,648099,64BC58,64D4DA,6805CA,680715,681729,685D43,68ECC5,6C2995,6C6A77,6C8814,6CA100,701CE7,7470FD,74D83E,74E50B,74E5F9,780CB8,78929C,78FF57,7C2A31,7C5CF8,7C67A2,7C7635,7C7A91,7CB0C2,7CB27D,7CCCB8,80000B,801934,803253,8086F2,809B20,843A4B,84683E,84A6C8,84C5A6,84EF18,84FDD1,88532E,887873,88B111,8C705A,8CA982,8CC681,902E1C,9049FA,9061AE,907841,90E2BA,94659C,94B86D,94E6F7,982CBC,983B8F,984FEE,98541B,98AF65,9C4E36,9CDA3E,9CFCE8,A0369F,A0510B,A08869,A088B4,A0A4C5,A0A8CD,A0AFBD,A0C589,A0D37A,A402B9,A434D9,A44E31,A4BF01,A4C3F0,A4C494,A86DAA,A87EEA,AC1203,AC2B6E,AC7289,AC7BA1,ACED5C,ACFDCE,B0359F,B46921,B46BFC,B46D83,B49691,B4B676,B4D5BD,B80305,B808CF,B88198,B88A60,B89A2A,B8B81E,B8BF83,BC0F64,BC542F,BC7737,BCA8A6,C0B6F9,C0B883,C48508,C4D987,C809A8,C82158,C8348E,C858C0,C8F733,CC2F71,CC3D82,CCF9E4,D0577B,D07E35,D0ABD5,D0C637,D4258B,D43B04,D46D6D,D4D252,D83BBF,D8F2CA,D8FC93,DC5360,DC7196,DC8B28,DCA971,DCFB48,E09467,E09D31,E0D4E8,E4029B,E442A6,E45E37,E470B8,E4A471,E4A7A0,E4B318,E4F89C,E4FAFD,E82AEA,E8B1FC,F0421C,F0D5BF,F40669,F48C50,F49634,F4D108,F81654,F83441,F85971,F8633F,F894C2,F8E4E3,F8F21E,FC7774,FCF8AE o="Intel Corporate" 0012F1 o="IFOTEC" 0012F3 o="connectBlue AB" 0012F4 o="Belco International Co.,Ltd." 0012F5 o="Imarda New Zealand Limited" 0012F6 o="MDK CO.,LTD." 0012F7 o="Xiamen Xinglian Electronics Co., Ltd." 0012F8 o="WNI Resources, LLC" 0012F9 o="URYU SEISAKU, LTD." 0012FA o="THX LTD" 0012FC o="PLANET System Co.,LTD" 0012FD o="OPTIMUS IC S.A." 0012FE,1436C6,149FE8,503CC4,60D9A0,6C5F1C,70720D,80CF41,88708C,98FFD0,AC3870,C8DDC9,CC07E4,D4223F,D87157,EC89F5 o="Lenovo Mobile Communication Technology Ltd." 0012FF o="Lely Industries N.V." 001300 o="IT-FACTORY, INC." 001301 o="IronGate S.L." 001303 o="GateConnect" 001304 o="Flaircomm Technologies Co. LTD" 001305 o="Epicom, Inc." 001306 o="Always On Wireless" 001307 o="Paravirtual Corporation" 001308 o="Nuvera Fuel Cells" 001309 o="Ocean Broadband Networks" 00130B o="Mextal B.V." 00130C o="HF System Corporation" 00130D o="GALILEO AVIONICA" 00130E o="Focusrite Audio Engineering Limited" 00130F o="EGEMEN Bilgisayar Muh San ve Tic LTD STI" 001312 o="Amedia Networks Inc." 001313 o="GuangZhou Post & Telecom Equipment ltd" 001314 o="Asiamajor Inc." 001316 o="L-S-B Broadcast Technologies GmbH" 001317,00168F,001A45,001D82,002378,1C48F9,501AA5,50C971 o="GN Netcom A/S" 001318 o="DGSTATION Co., Ltd." 00131B o="BeCell Innovations Corp." 00131C o="LiteTouch, Inc." 00131D o="Scanvaegt International A/S" 00131E,0052C2 o="peiker acustic GmbH" 00131F o="NxtPhase T&D, Corp." 001322 o="DAQ Electronics, Inc." 001323 o="Cap Co., Ltd." 001324 o="Schneider Electric Ultra Terminal" 001325 o="Cortina Systems Inc" 001326 o="ECM Systems Ltd" 001327 o="Data Acquisitions limited" 001328 o="Westech Korea Inc.," 001329 o="VSST Co., LTD" 00132A o="Sitronics Telecom Solutions" 00132B o="Phoenix Digital" 00132C o="MAZ Brandenburg GmbH" 00132D o="iWise Communications" 00132E o="ITian Coporation" 00132F o="Interactek" 001330 o="EURO PROTECTION SURVEILLANCE" 001331 o="CellPoint Connect" 001332 o="Beijing Topsec Network Security Technology Co., Ltd." 001333,944696 o="BaudTec Corporation" 001334 o="Arkados, Inc." 001335 o="VS Industry Berhad" 001336 o="Tianjin 712 Communication Broadcasting co., ltd." 001337 o="Orient Power Home Network Ltd." 001338 o="FRESENIUS-VIAL" 001339 o="CCV Deutschland GmbH" 00133A o="VadaTech Inc." 00133B o="Speed Dragon Multimedia Limited" 00133C o="QUINTRON SYSTEMS INC." 00133D o="Micro Memory Curtiss Wright Co" 00133E o="MetaSwitch" 00133F o="Eppendorf Instrumente GmbH" 001340 o="AD.EL s.r.l." 001341 o="Shandong New Beiyang Information Technology Co.,Ltd" 001342 o="Vision Research, Inc." 001343 o="Matsushita Electronic Components (Europe) GmbH" 001344 o="Fargo Electronics Inc." 001348 o="Artila Electronics Co., Ltd." 001349,0019CB,0023F8,00A0C5,04BF6D,082697,107BEF,1C740D,28285D,404A03,4C9EFF,5067F0,54833A,588BF3,5C6A80,5CE28C,5CF4AB,603197,88ACC0,8C5973,90EF68,980D67,A0E4CB,B0B2DC,B8D526,B8ECA3,BC9911,BCCF4F,C8544B,C86C87,CC5D4E,D8912A,E4186B,E8377A,EC43F6,FCF528 o="Zyxel Communications Corporation" 00134A o="Engim, Inc." 00134B o="ToGoldenNet Technology Inc." 00134C o="YDT Technology International" 00134D o="Inepro BV" 00134E o="Valox Systems, Inc." 00134F o="Rapidus Wireless Networks Inc." 001350 o="Silver Spring Networks, Inc" 001351 o="Niles Audio Corporation" 001352 o="Naztec, Inc." 001353 o="HYDAC Filtertechnik GMBH" 001354 o="Zcomax Technologies, Inc." 001355 o="TOMEN Cyber-business Solutions, Inc." 001356 o="FLIR Radiation Inc" 001357 o="Soyal Technology Co., Ltd." 001358 o="Realm Systems, Inc." 001359 o="ProTelevision Technologies A/S" 00135A o="Project T&E Limited" 00135B o="PanelLink Cinema, LLC" 00135C o="OnSite Systems, Inc." 00135D o="NTTPC Communications, Inc." 00135E o="EAB/RWI/K" 001361 o="Biospace Co., Ltd." 001362 o="ShinHeung Precision Co., Ltd." 001363 o="Verascape, Inc." 001364 o="Paradigm Technology Inc.." 001366 o="Neturity Technologies Inc." 001367 o="Narayon. Co., Ltd." 001368 o="Saab Danmark A/S" 001369 o="Honda Electron Co., LED." 00136A o="Hach Lange Sarl" 00136B o="E-TEC" 00136C,00213E o="TomTom" 00136D o="Tentaculus AB" 00136E o="Techmetro Corp." 00136F o="PacketMotion, Inc." 001373 o="BLwave Electronics Co., Ltd" 001375 o="American Security Products Co." 001376 o="Tabor Electronics Ltd." 001378 o="Qsan Technology, Inc." 001379 o="PONDER INFORMATION INDUSTRIES LTD." 00137A o="Netvox Technology Co., Ltd." 00137B,401920 o="Movon Corporation" 00137C o="Kaicom co., Ltd." 00137D o="Dynalab, Inc." 00137E o="CorEdge Networks, Inc." 001381 o="CHIPS & Systems, Inc." 001382 o="Cetacea Networks Corporation" 001383 o="Application Technologies and Engineering Research Laboratory" 001384 o="Advanced Motion Controls" 001385 o="Add-On Technology Co., LTD." 001386 o="ABB Inc/Totalflow" 001387 o="27M Technologies AB" 001388 o="WiMedia Alliance" 001389 o="Redes de Telefonía Móvil S.A." 00138A,B467E9 o="Qingdao GoerTek Technology Co., Ltd." 00138B o="Phantom Technologies LLC" 00138C o="Kumyoung.Co.Ltd" 00138D o="Kinghold" 00138E o="FOAB Elektronik AB" 001390 o="Termtek Computer Co., Ltd" 001391 o="OUEN CO.,LTD." 001392,001D2E,001F41,00227F,002482,0025C4,044FAA,0CF4D5,184B0D,187C0B,1C3A60,1CB9C4,205869,24792A,24C9A1,2C5D93,2CC5D3,2CE6CC,3087D9,348F27,34FA9F,38FF36,441E98,4CB1CD,50A733,543D37,54EC2F,589396,58B633,60D02C,689234,6CAAB3,743E2B,74911A,84183A,8C0C90,8CFE74,903A72,94BFC4,94F665,AC6706,B479C8,C08ADE,C0C520,C4017C,C4108A,C803F5,C80873,D4684D,D4C19E,D838FC,E0107F,E81DA8,EC58EA,EC8CA2,F03E90,F0B052,F8E71E o="Ruckus Wireless" 001393 o="Panta Systems, Inc." 001394 o="Infohand Co.,Ltd" 001395 o="congatec AG" 001396 o="Acbel Polytech Inc." 001398 o="TrafficSim Co.,Ltd" 001399 o="STAC Corporation." 00139A o="K-ubique ID Corp." 00139B o="ioIMAGE Ltd." 00139C o="Exavera Technologies, Inc." 00139D o="MaxLinear Hispania S.L.U." 00139E o="Ciara Technologies Inc." 00139F o="Electronics Design Services, Co., Ltd." 0013A0 o="ALGOSYSTEM Co., Ltd." 0013A1 o="Crow Electronic Engeneering" 0013A2 o="MaxStream, Inc" 0013A4 o="KeyEye Communications" 0013A5 o="General Solutions, LTD." 0013A6 o="Extricom Ltd" 0013A7 o="BATTELLE MEMORIAL INSTITUTE" 0013A8 o="Tanisys Technology" 0013AA o="ALS & TEC Ltd." 0013AB o="Telemotive AG" 0013AC o="Sunmyung Electronics Co., LTD" 0013AD o="Sendo Ltd" 0013AE o="Radiance Technologies, Inc." 0013AF o="NUMA Technology,Inc." 0013B0 o="Jablotron" 0013B1 o="Intelligent Control Systems (Asia) Pte Ltd" 0013B2 o="Carallon Limited" 0013B3 o="Ecom Communications Technology Co., Ltd." 0013B4 o="Appear TV" 0013B5 o="Wavesat" 0013B6 o="Sling Media, Inc." 0013B7 o="Scantech ID" 0013B8 o="RyCo Electronic Systems Limited" 0013B9 o="BM SPA" 0013BA o="ReadyLinks Inc" 0013BB o="Smartvue Corporation" 0013BC o="Artimi Ltd" 0013BD o="HYMATOM SA" 0013BE o="Virtual Conexions" 0013BF o="Media System Planning Corp." 0013C0 o="Trix Tecnologia Ltda." 0013C1 o="Asoka USA Corporation" 0013C2 o="WACOM Co.,Ltd" 0013C5 o="LIGHTRON FIBER-OPTIC DEVICES INC." 0013C6 o="OpenGear, Inc" 0013C7 o="IONOS Co.,Ltd." 0013C9 o="Beyond Achieve Enterprises Ltd." 0013CA o="Pico Digital" 0013CB o="Zenitel Norway AS" 0013CC o="Tall Maple Systems" 0013CD o="MTI co. LTD" 0013CF o="4Access Communications" 0013D0 o="t+ Medical Ltd" 0013D1 o="KIRK telecom A/S" 0013D2 o="PAGE IBERICA, S.A." 0013D5 o="RuggedCom" 0013D6 o="TII NETWORK TECHNOLOGIES, INC." 0013D7 o="SPIDCOM Technologies SA" 0013D8 o="Princeton Instruments" 0013D9 o="Matrix Product Development, Inc." 0013DA o="Diskware Co., Ltd" 0013DB o="SHOEI Electric Co.,Ltd" 0013DC o="IBTEK INC." 0013DD o="Abbott Diagnostics" 0013DE o="Adapt4, LLC" 0013DF o="Ryvor Corp." 0013E1 o="Iprobe AB" 0013E2 o="GeoVision Inc." 0013E3 o="CoVi Technologies, Inc." 0013E4 o="YANGJAE SYSTEMS CORP." 0013E5 o="TENOSYS, INC." 0013E6 o="Technolution" 0013E7 o="Halcro" 0013E9 o="VeriWave, Inc." 0013EA o="Kamstrup A/S" 0013EB o="Sysmaster Corporation" 0013EC o="Netsnapper Technologies SARL" 0013ED o="PSIA" 0013EE o="JBX Designs Inc." 0013EF o="Kingjon Digital Technology Co.,Ltd" 0013F0 o="Wavefront Semiconductor" 0013F1 o="AMOD Technology Co., Ltd." 0013F2 o="Klas Ltd" 0013F3 o="Giga-byte Communications Inc." 0013F4 o="Psitek (Pty) Ltd" 0013F5 o="Akimbi Systems" 0013F6 o="Cintech" 0013F8 o="Dex Security Solutions" 0013F9 o="Cavera Systems" 0013FA o="LifeSize Communications, Inc" 0013FB o="RKC INSTRUMENT INC." 0013FC o="SiCortex, Inc" 0013FE o="GRANDTEC ELECTRONIC CORP." 0013FF o="Dage-MTI of MC, Inc." 001400 o="MINERVA KOREA CO., LTD" 001401 o="Rivertree Networks Corp." 001402 o="kk-electronic a/s" 001403 o="Renasis, LLC" 001405 o="OpenIB, Inc." 001406 o="Go Networks" 001407 o="Sperian Protection Instrumentation" 001408 o="Eka Systems Inc." 001409 o="MAGNETI MARELLI S.E. S.p.A." 00140A o="WEPIO Co., Ltd." 00140B o="FIRST INTERNATIONAL COMPUTER, INC." 00140C o="GKB CCTV CO., LTD." 00140F o="Federal State Unitary Enterprise Leningrad R&D Institute of" 001410 o="Suzhou Keda Technology CO.,Ltd" 001411 o="Deutschmann Automation GmbH & Co. KG" 001412 o="S-TEC electronics AG" 001413 o="Trebing & Himstedt Prozeßautomation GmbH & Co. KG" 001414 o="Jumpnode Systems LLC." 001415 o="Intec Automation inc." 001416 o="Scosche Industries, Inc." 001417 o="RSE Informations Technologie GmbH" 001418 o="C4Line" 001419 o="SIDSA" 00141A o="DEICY CORPORATION" 00141D o="LTI-Motion GmbH" 00141E o="P.A. Semi, Inc." 00141F o="SunKwang Electronics Co., Ltd" 001420 o="G-Links networking company" 001421 o="Total Wireless Technologies Pte. Ltd." 001423 o="J-S Co. NEUROCOM" 001424 o="Merry Electrics CO., LTD." 001425 o="Galactic Computing Corp." 001426 o="NL Technology" 001427 o="JazzMutant" 001428,8C278A o="Vocollect Inc" 001429 o="V Center Technologies Co., Ltd." 00142B o="Edata Communication Inc." 00142C o="Koncept International, Inc." 00142D o="Toradex AG" 00142E o="77 Elektronika Kft." 00142F o="Savvius" 001430 o="ViPowER, Inc" 001431 o="PDL Electronics Ltd" 001432 o="Tarallax Wireless, Inc." 001433 o="Empower Technologies(Canada) Inc." 001434 o="Keri Systems, Inc" 001435 o="CityCom Corp." 001436 o="Qwerty Elektronik AB" 001437 o="GSTeletech Co.,Ltd." 001438,004E35,00FD45,040973,089734,08F1EA,1402EC,1C98EC,20677C,20A6CD,24F27F,34FCB9,3817C3,40B93C,4448C1,484AE9,48DF37,4CAEA3,548028,5CBA2C,70106F,8030E0,808DB7,88E9A4,904C81,941882,943FC2,9440C9,94F128,98F2B3,9C8CD8,9CDC71,A8BD27,B0B867,B47AF1,B88303,C8B5AD,D06726,D4F5EF,D89403,DC680C,E0071B,E8F724,EC9B8B,ECEBB8,F40343 o="Hewlett Packard Enterprise" 001439 o="Blonder Tongue Laboratories, Inc" 00143A o="RAYTALK INTERNATIONAL SRL" 00143B o="Sensovation AG" 00143C o="Rheinmetall Canada Inc." 00143D o="Aevoe Inc." 00143E o="AirLink Communications, Inc." 00143F o="Hotway Technology Corporation" 001440 o="ATOMIC Corporation" 001441 o="Innovation Sound Technology Co., LTD." 001442 o="ATTO CORPORATION" 001443 o="Consultronics Europe Ltd" 001444 o="Grundfos Holding" 001445 o="Telefon-Gradnja d.o.o." 001446 o="SuperVision Solutions LLC" 001447 o="BOAZ Inc." 001448 o="Inventec Multimedia & Telecom Corporation" 001449,006CFD,00E400,1899F5,6488FF,842C80,982F3C,B46077,C0132B,D84710 o="Sichuan Changhong Electric Ltd." 00144A o="Taiwan Thick-Film Ind. Corp." 00144B o="Hifn, Inc." 00144C o="General Meters Corp." 00144D o="Intelligent Systems" 00144E o="SRISA" 001450 o="Heim Systems GmbH" 001452 o="CALCULEX,INC." 001453 o="ADVANTECH TECHNOLOGIES CO.,LTD" 001454 o="Symwave" 001455 o="Coder Electronics Corporation" 001456 o="Edge Products" 001457 o="T-VIPS AS" 001458 o="HS Automatic ApS" 001459 o="Moram Co., Ltd." 00145A o="Neratec Solutions AG" 00145B o="SeekerNet Inc." 00145C o="Intronics B.V." 00145D o="WJ Communications, Inc." 00145F o="ADITEC CO. LTD" 001460,001FBD o="Kyocera Wireless Corp." 001461 o="CORONA CORPORATION" 001462 o="Digiwell Technology, inc" 001463 o="IDCS N.V." 001464 o="Cryptosoft" 001465 o="Novo Nordisk A/S" 001466 o="Kleinhenz Elektronik GmbH" 001467 o="ArrowSpan Inc." 001468 o="CelPlan International, Inc." 00146B o="Anagran, Inc." 00146D o="RF Technologies" 00146E o="H. Stoll GmbH & Co. KG" 00146F o="Kohler Co" 001470 o="Prokom Software SA" 001471,0025D1 o="Eastern Asia Technology Limited" 001472 o="China Broadband Wireless IP Standard group(ChinaBWIPS)" 001473 o="Bookham Inc" 001474 o="K40 Electronics" 001475 o="Wiline Networks, Inc." 001476 o="MultiCom Industries Limited" 001479,0060DC o="NEC Magnus Communications,Ltd." 00147A o="Eubus GmbH" 00147B o="Iteris, Inc." 00147D o="Aeon Digital International" 00147E o="InnerWireless" 001480 o="Hitachi-LG Data Storage Korea, Inc" 001481 o="Multilink Inc" 001483 o="eXS Inc." 001484,783607 o="Cermate Technologies Inc." 001485 o="Giga-Byte" 001486 o="Echo Digital Audio Corporation" 001487 o="American Technology Integrators" 001488 o="Akorri" 001489 o="B15402100 - JANDEI, S.L." 00148A o="Elin Ebg Traction Gmbh" 00148B o="Globo Electronic GmbH & Co. KG" 00148C,0025D4,00A021 o="General Dynamics Mission Systems" 00148D o="Cubic Defense Simulation Systems" 00148E o="Tele Power Inc." 00148F o="Protronic (Far East) Ltd." 001490 o="ASP Corporation" 001491 o="Daniels Electronics Ltd. dbo Codan Rado Communications" 001492 o="Liteon, Mobile Media Solution SBU" 001493 o="Systimax Solutions" 001494 o="ESU AG" 001496 o="Phonic Corp." 001497 o="ZHIYUAN Eletronics co.,ltd." 001498 o="Viking Design Technology" 001499 o="Helicomm Inc" 00149B o="Nokota Communications, LLC" 00149C o="HF Company" 00149D o="Sound ID Inc." 00149E o="UbONE Co., Ltd" 00149F o="System and Chips, Inc." 0014A0 o="Accsense, Inc." 0014A1 o="Synchronous Communication Corp" 0014A2 o="Core Micro Systems Inc." 0014A3 o="Vitelec BV" 0014A4,0016CE-0016CF,00197D-00197E,001C25-001C26,001DD9,001E4C,001F3A,001FE1-001FE2,002268-002269,00234D-00234E,00242B-00242C,002556,00265C,00265E,0071CC,083E8E,08EDB9,0C6076,0C84DC,0CEEE6,1008B1,142D27,184F32,18F46A,1C3E84,1C666D,28565A,2C337A,2C6FC9,2C8158,300ED5,30F772,342387,346895,3859F9,38B1DB,3C77E6,40490F,40B89A,441CA8,4437E6,485AB6,48E244,4C0F6E,506313,541379,543530,5C6D20,5CAC4C,5CEA1D,606DC7,60D819,60F494,642737,681401,689423,70188B,707781,7429AF,7440BB,785968,78DD08,78E400,7CE9D3,802BF9,8056F2,8096CA,844BF5,889FFA,8C7CB5,90004E,90324B,9034FC,90489A,904CE5,906EBB,90CDB6,90FBA6,9439E5,945330,9C2A70,9C305B,9CAD97,9CD21E,A41731,A8474A,A86BAD,A8A795,ACD1B8,B01041,B05216,B8763F,BC8556,C0143D,C01885,C03896,C0CB38,C0F8DA,C417FE,C44619,C48E8F,CCAF78,D02788,D46A6A,D80F99,D85DE2,D87988,D89C67,DCA266,E006E6,E4D53D,E89EB4,EC0EC4,EC55F9,F07BCB,F0F002,F4B7E2,F80D43,F82FA8,F866D1,F8DA0C,FC017C o="Hon Hai Precision Ind. Co.,Ltd." 0014A6 o="Teranetics, Inc." 0014AA o="Ashly Audio, Inc." 0014AB o="Senhai Electronic Technology Co., Ltd." 0014AC o="Bountiful WiFi" 0014AD o="Gassner Wiege- und Meßtechnik GmbH" 0014AE o="Wizlogics Co., Ltd." 0014AF o="Datasym POS Inc." 0014B0 o="Naeil Community" 0014B1 o="Axell Wireless Limited" 0014B2 o="mCubelogics Corporation" 0014B3 o="CoreStar International Corp" 0014B4 o="General Dynamics United Kingdom Ltd" 0014B5 o="PHYSIOMETRIX,INC" 0014B6 o="Enswer Technology Inc." 0014B7 o="AR Infotek Inc." 0014B8 o="Hill-Rom" 0014B9 o="MSTAR SEMICONDUCTOR" 0014BA o="Carvers SA de CV" 0014BB o="Open Interface North America" 0014BC o="SYNECTIC TELECOM EXPORTS PVT. LTD." 0014BD o="incNETWORKS, Inc" 0014BE o="Wink communication technology CO.LTD" 0014C0 o="Symstream Technology Group Ltd" 0014C1 o="U.S. Robotics Corporation" 0014C4 o="Vitelcom Mobile Technology" 0014C5 o="Alive Technologies Pty Ltd" 0014C6 o="Quixant Ltd" 0014C8 o="Contemporary Research Corp" 0014CA o="Key Radio Systems Limited" 0014CB o="LifeSync Corporation" 0014CC o="Zetec, Inc." 0014CD o="DigitalZone Co., Ltd." 0014CE o="NF CORPORATION" 0014CF o="INVISIO Communications" 0014D0 o="BTI Systems Inc." 0014D1,3C8CF8,782D7E,D8EB97 o="TRENDnet, Inc." 0014D2 o="Kyuden Technosystems Corporation" 0014D3 o="SEPSA" 0014D4 o="K Technology Corporation" 0014D5 o="Datang Telecom Technology CO. , LCD,Optical Communication Br" 0014D6 o="Jeongmin Electronics Co.,Ltd." 0014D7 o="Datastore Technology Corp" 0014D8 o="bio-logic SA" 0014D9 o="IP Fabrics, Inc." 0014DA o="Huntleigh Healthcare" 0014DB o="Elma Trenew Electronic GmbH" 0014DC o="Communication System Design & Manufacturing (CSDM)" 0014DD o="Covergence Inc." 0014DE o="Sage Instruments Inc." 0014DF o="HI-P Tech Corporation" 0014E0 o="LET'S Corporation" 0014E1 o="Data Display AG" 0014E2 o="datacom systems inc." 0014E3 o="mm-lab GmbH" 0014E4 o="infinias, LLC" 0014E5 o="Alticast" 0014E6 o="AIM Infrarotmodule GmbH" 0014E7 o="Stolinx,. Inc" 0014E9 o="Nortech International" 0014EA o="S Digm Inc. (Safe Paradigm Inc.)" 0014EB o="AwarePoint Corporation" 0014EC o="Acro Telecom" 0014ED o="Airak, Inc." 0014EE o="Western Digital Technologies, Inc." 0014EF o="TZero Technologies, Inc." 0014F0 o="Business Security OL AB" 0014F3 o="ViXS Systems Inc" 0014F4 o="DekTec Digital Video B.V." 0014F5 o="OSI Security Devices" 0014F7 o="CREVIS Co., LTD" 0014F9 o="Vantage Controls" 0014FA o="AsGa S.A." 0014FB o="Technical Solutions Inc." 0014FC o="Extandon, Inc." 0014FD o="Thecus Technology Corp." 0014FE o="Artech Electronics" 0014FF o="Precise Automation, Inc." 001501 o="LexBox" 001502 o="BETA tech" 001503 o="PROFIcomms s.r.o." 001504 o="GAME PLUS CO., LTD." 001506 o="Neo Photonics" 001507 o="Renaissance Learning Inc" 001508 o="Global Target Enterprise Inc" 001509 o="Plus Technology Co., Ltd" 00150A o="Sonoa Systems, Inc" 00150B o="SAGE INFOTECH LTD." 00150D o="Hoana Medical, Inc." 00150E o="OPENBRAIN TECHNOLOGIES CO., LTD." 00150F o="mingjong" 001510 o="Techsphere Co., Ltd" 001511 o="Data Center Systems" 001512 o="Zurich University of Applied Sciences" 001513 o="EFS sas" 001514 o="Hu Zhou NAVA Networks&Electronics Ltd." 001515 o="Leipold+Co.GmbH" 001516 o="URIEL SYSTEMS INC." 001518 o="Shenzhen 10MOONS Technology Development CO.,Ltd" 001519 o="StoreAge Networking Technologies" 00151A o="Hunter Engineering Company" 00151B o="Isilon Systems Inc." 00151C o="LENECO" 00151D o="M2I CORPORATION" 00151F o="Multivision Intelligent Surveillance (Hong Kong) Ltd" 001520 o="Radiocrafts AS" 001521 o="Horoquartz" 001522 o="Dea Security" 001523 o="Meteor Communications Corporation" 001524 o="Numatics, Inc." 001525 o="Chamberlain Access Solutions" 001526 o="Remote Technologies Inc" 001527 o="Balboa Instruments" 001528 o="Beacon Medical Products LLC d.b.a. BeaconMedaes" 001529 o="N3 Corporation" 00152A,00192D,00BD3A,045A95,04A82A,0CC66A,0CDDEF,10F9EE,143605,14C126,181456,20D607,2847AA,28D1AF,2C5A05,2CCC15,2CD2E7,303855,34C803,38192F,3C189F,3C25D7,3C363D,3CC243,3CF72A,407A80,48DCFB,4C2578,4C7F62,502D1D,544408,547975,5C57C8,6C9B02,6CA780,6CE907,708D09,782EEF,78923E,78CA04,80501B,8844F6,90CF15,940070,942053,943AF0,9C4A7B,9CCAD9,A04E04,A071A9,A0F419,A47760,A481EE,A4E731,A84481,A87B39,A8E018,AC81F3,AC932F,B0358D,B05CE5,BCC6DB,C064C6,C83D97,C8979F,C8D10B,C8DF7C,CC89FD,D0DB32,D45D42,D49398,D4C1FC,D4CBAF,D82A7E,D87533,DC3EF8,DC9FA4,DCC793,DCF110,E0A670,E4EC10,E8150E,E8CBA1,EC9B5B,ECF35B,F48E09,F4F5A5,F85F2A,FC923B,FCE557 o="Nokia Corporation" 00152D o="TenX Networks, LLC" 00152E o="PacketHop, Inc." 001531 o="KOCOM" 001532 o="Consumer Technologies Group, LLC" 001533 o="NADAM.CO.,LTD" 001534 o="A Beltrónica-Companhia de Comunicações, Lda" 001535 o="OTE Spa" 001536 o="Powertech co.,Ltd" 001537 o="Ventus Networks" 001538 o="RFID, Inc." 001539 o="Technodrive srl" 00153A o="Shenzhen Syscan Technology Co.,Ltd." 00153B o="EMH metering GmbH & Co. KG" 00153C o="Kprotech Co., Ltd." 00153D o="ELIM PRODUCT CO." 00153E o="Q-Matic Sweden AB" 00153F o="Alcatel Alenia Space Italia" 001541 o="StrataLight Communications, Inc." 001542 o="MICROHARD S.R.L." 001543 o="Aberdeen Test Center" 001544 o="coM.s.a.t. AG" 001545 o="SEECODE Co., Ltd." 001546 o="ITG Worldwide Sdn Bhd" 001547 o="AiZen Solutions Inc." 001548 o="CUBE TECHNOLOGIES" 001549 o="Dixtal Biomedica Ind. Com. Ltda" 00154A o="WANSHIH ELECTRONIC CO., LTD" 00154B o="Wonde Proud Technology Co., Ltd" 00154C o="Saunders Electronics" 00154D o="Netronome Systems, Inc." 00154E o="IEC" 00154F o="one RF Technology" 001550 o="Nits Technology Inc" 001551 o="RadioPulse Inc." 001552 o="Wi-Gear Inc." 001553 o="Cytyc Corporation" 001554 o="Atalum Wireless S.A." 001555 o="DFM GmbH" 001557 o="Olivetti" 001559 o="Securaplane Technologies, Inc." 00155A o="DAINIPPON PHARMACEUTICAL CO., LTD." 00155B o="Sampo Corporation" 00155C o="Dresser Wayne" 00155E o="Morgan Stanley" 00155F o="GreenPeak Technologies" 001561 o="JJPlus Corporation" 001564 o="BEHRINGER Spezielle Studiotechnik GmbH" 001565 o="XIAMEN YEALINK NETWORK TECHNOLOGY CO.,LTD" 001566 o="A-First Technology Co., Ltd." 001567 o="RADWIN Inc." 001568 o="Dilithium Networks" 001569 o="PECO II, Inc." 00156A o="DG2L Technologies Pvt. Ltd." 00156B o="Perfisans Networks Corp." 00156C o="SANE SYSTEM CO., LTD" 00156D,002722,0418D6,18E829,24A43C,44D9E7,687251,68D79A,7483C2,74ACB9,788A20,802AA8,B4FBE4,DC9FDB,E063DA,F09FC2,F492BF,FCECDA o="Ubiquiti Networks Inc." 00156E o="A. W. Communication Systems Ltd" 00156F o="Xiranet Communications GmbH" 001571 o="Nolan Systems" 001572 o="Red-Lemon" 001573 o="NewSoft Technology Corporation" 001574 o="Horizon Semiconductors Ltd." 001575 o="Nevis Networks Inc." 001576 o="LABiTec - Labor Biomedical Technologies GmbH" 001578 o="Audio / Video Innovations" 001579 o="Lunatone Industrielle Elektronik GmbH" 00157A o="Telefin S.p.A." 00157B o="Leuze electronic GmbH + Co. KG" 00157C o="Dave Networks, Inc." 00157D o="POSDATA" 00157E o="Weidmüller Interface GmbH & Co. KG" 00157F o="ChuanG International Holding CO.,LTD." 001580 o="U-WAY CORPORATION" 001581 o="MAKUS Inc." 001582 o="Pulse Eight Limited" 001583 o="IVT corporation" 001584 o="Schenck Process GmbH" 001585 o="Aonvision Technolopy Corp." 001586 o="Xiamen Overseas Chinese Electronic Co., Ltd." 001587 o="Takenaka Seisakusho Co.,Ltd" 001588 o="Salutica Allied Solutions Sdn Bhd" 001589 o="D-MAX Technology Co.,Ltd" 00158A o="SURECOM Technology Corp." 00158B o="Park Air Systems Ltd" 00158C o="Liab ApS" 00158D o="Jennic Ltd" 00158E o="Plustek.INC" 00158F o="NTT Advanced Technology Corporation" 001590 o="Hectronic GmbH" 001591 o="RLW Inc." 001592 o="Facom UK Ltd (Melksham)" 001593 o="U4EA Technologies Inc." 001594 o="BIXOLON CO.,LTD" 001595 o="Quester Tangent Corporation" 001597 o="AETA AUDIO SYSTEMS" 001598 o="Kolektor group" 00159C o="B-KYUNG SYSTEM Co.,Ltd." 00159E o="Mad Catz Interactive Inc" 00159F o="Terascala, Inc." 0015A1 o="ECA-SINTERS" 0015A5 o="DCI Co., Ltd." 0015A6 o="Digital Electronics Products Ltd." 0015A7 o="Robatech AG" 0015A9 o="KWANG WOO I&C CO.,LTD" 0015AA o="Rextechnik International Co.," 0015AB o="PRO CO SOUND INC" 0015AC o="Capelon AB" 0015AD o="Accedian Networks" 0015AE o="kyung il" 0015AF,002243,0025D3,08A95A,1C4BD6,240A64,2866E3,28C2DD,2CDCD7,384FF0,409922,409F38,40E230,44D832,485D60,54271E,5C9656,605BB4,6C71D9,6CADF8,706655,742F68,74C63B,74F06D,781881,809133,80A589,80C5F2,80D21D,94DBC9,A81D16,AC8995,B0EE45,C0E434,D0C5D3,D0E782,DC85DE,DCF505,E0B9A5,E8D819,F0038C o="AzureWave Technology Inc." 0015B0 o="AUTOTELENET CO.,LTD" 0015B1 o="Ambient Corporation" 0015B2 o="Advanced Industrial Computer, Inc." 0015B3 o="Caretech AB" 0015B4 o="Polymap Wireless LLC" 0015B5 o="CI Network Corp." 0015B6 o="ShinMaywa Industries, Ltd." 0015B8 o="Tahoe" 0015BA o="iba AG" 0015BB o="SMA Solar Technology AG" 0015BC o="Develco" 0015BD o="Group 4 Technology Ltd" 0015BE o="Iqua Ltd." 0015BF o="technicob" 0015C0 o="DIGITAL TELEMEDIA CO.,LTD." 0015C2 o="3M Germany" 0015C3 o="Ruf Telematik AG" 0015C4 o="FLOVEL CO., LTD." 0015C8 o="FlexiPanel Ltd" 0015C9 o="Gumstix, Inc" 0015CA o="TeraRecon, Inc." 0015CB o="Surf Communication Solutions Ltd." 0015CC o="UQUEST, LTD." 0015CD o="Exartech International Corp." 0015D2 o="Xantech Corporation" 0015D3 o="Pantech&Curitel Communications, Inc." 0015D4 o="Emitor AB" 0015D5 o="NICEVT" 0015D6 o="OSLiNK Sp. z o.o." 0015D7 o="Reti Corporation" 0015D8 o="Interlink Electronics" 0015D9 o="PKC Electronics Oy" 0015DA o="IRITEL A.D." 0015DB o="Canesta Inc." 0015DC o="KT&C Co., Ltd." 0015DD o="IP Control Systems Ltd." 0015DF o="Clivet S.p.A." 0015E1 o="Picochip Ltd" 0015E2 o="Dr.Ing. Herbert Knauer GmbH" 0015E3 o="Dream Technologies Corporation" 0015E4 o="Zimmer Elektromedizin" 0015E5 o="Cheertek Inc." 0015E6 o="MOBILE TECHNIKA Inc." 0015E7 o="Quantec Tontechnik" 0015EA o="Tellumat (Pty) Ltd" 0015EB,0019C6,001E73,002293,002512,0026ED,004A77,041DC7,049573,08181A,083FBC,086083,0C1262,0C3747,0C72D9,10D0AB,143EBF,146080,18132D,1844E6,18686A,1C2704,208986,20E882,24586E,247E51,24C44A,24D3F2,287B09,288CB8,28FF3E,2C26C5,2C957F,300C23,309935,30D386,30F31D,343759,344B50,344DEA,346987,347839,34DAB7,34DE34,34E0CF,384608,386E88,38D82F,38E1AA,38E2DD,3CDA2A,4413D0,44F436,44FB5A,44FFBA,48282F,4859A4,48A74E,4C09B4,4C16F1,4C494F,4CABFC,4CAC0A,4CCBF5,5078B3,50AF4D,540955,5422F8,54BE53,585FF6,5C3A3D,601466,601888,6073BC,64136C,681AB2,688AF0,689FF0,6C8B2F,6CA75F,6CD2BA,702E22,709F2D,744AA4,749781,74A78E,74B57E,781D4A,78312B,789682,78C1A7,78E8B6,7C3953,80B07B,84139F,841C70,84742A,847460,885DFB,88D274,8C14B4,8C68C8,8C7967,8CDC02,8CE081,8CE117,901D27,90869B,90C7D8,90D8F3,90FD73,94A7B7,94BF80,98006A,981333,986CF5,98F428,98F537,9C2F4E,9C63ED,9C6F52,9CA9E4,9CD24B,9CE91C,A091C8,A0EC80,A44027,A47E39,A8A668,AC00D0,AC6462,B00AD5,B075D5,B0ACD2,B0B194,B0C19E,B41C30,B49842,B4B362,B4DEDF,B805AB,BC1695,C09FE1,C0FD84,C4741E,C4A366,C85A9F,C864C7,C87B5B,C8EAF8,CC1AFA,CC7B35,D0154A,D058A8,D05BA8,D0608C,D071C4,D437D7,D47226,D476EA,D49E05,D4B709,D4C1C8,D855A3,D87495,D8A8C8,DC028E,DC7137,DCDFD6,DCF8B9,E01954,E0383F,E07C13,E0C3F3,E447B3,E47723,E47E9A,E4BD4B,E4CA12,E8ACAD,E8B541,EC1D7F,EC237B,EC8263,EC8A4C,ECF0FE,F084C9,F41F88,F46DE2,F4B5AA,F4B8A7,F4E4AD,F80DF0,F8A34F,F8DFA8,FC2D5E,FC94CE,FCC897 o="zte corporation" 0015EC o="Boca Devices LLC" 0015ED o="Fulcrum Microsystems, Inc." 0015EE o="Omnex Control Systems" 0015EF o="NEC TOKIN Corporation" 0015F0 o="EGO BV" 0015F1 o="KYLINK Communications Corp." 0015F3 o="PELTOR AB" 0015F4 o="Eventide" 0015F5 o="Sustainable Energy Systems" 0015F6 o="SCIENCE AND ENGINEERING SERVICES, INC." 0015F7,48365F o="Wintecronics Ltd." 0015F8 o="Kingtronics Industrial Co. Ltd." 0015FB o="setex schermuly textile computer gmbh" 0015FC o="Littelfuse Startco" 0015FD o="Complete Media Systems" 0015FE o="SCHILLING ROBOTICS LLC" 0015FF,2880A2 o="Novatel Wireless Solutions, Inc." 001600 o="CelleBrite Mobile Synchronization" 001602 o="CEYON TECHNOLOGY CO.,LTD." 001603 o="COOLKSKY Co., LTD" 001604 o="Sigpro" 001605 o="YORKVILLE SOUND INC." 001606 o="Ideal Industries" 001607 o="Curves International Inc." 001608 o="Sequans Communications" 001609 o="Unitech electronics co., ltd." 00160A o="SWEEX Europe BV" 00160B o="TVWorks LLC" 00160C o="LPL DEVELOPMENT S.A. DE C.V" 00160D o="Be Here Corporation" 00160E o="Optica Technologies Inc." 00160F o="BADGER METER INC" 001610 o="Carina Technology" 001611 o="Altecon Srl" 001612 o="Otsuka Electronics Co., Ltd." 001613 o="LibreStream Technologies Inc." 001614 o="Picosecond Pulse Labs" 001615 o="Nittan Company, Limited" 001616 o="BROWAN COMMUNICATION INC." 001617 o="MSI" 001618 o="HIVION Co., Ltd." 001619 o="Lancelan Technologies S.L." 00161A o="Dametric AB" 00161B o="Micronet Corporation" 00161C o="e:cue" 00161D o="Innovative Wireless Technologies, Inc." 00161E o="Woojinnet" 00161F o="SUNWAVETEC Co., Ltd." 001621 o="Colorado Vnet" 001622 o="BBH SYSTEMS GMBH" 001623 o="Interval Media" 001624 o="Teneros, Inc." 001625 o="Impinj, Inc." 001627 o="embedded-logic DESIGN AND MORE GmbH" 001628 o="Magicard Ltd" 001629 o="Nivus GmbH" 00162A o="Antik computers & communications s.r.o." 00162B o="Togami Electric Mfg.co.,Ltd." 00162C o="Xanboo" 00162D o="STNet Co., Ltd." 00162E o="Space Shuttle Hi-Tech Co., Ltd." 00162F o="Geutebrück GmbH" 001630 o="Vativ Technologies" 001631 o="Xteam" 001633 o="Oxford Diagnostics Ltd." 001634 o="Mathtech, Inc." 001636,001B24,001E68,00238B,00269E,00C09F,047D7B,089E01,2C600C,54AB3A,60EB69,A81E84,C45444,C80AA9,E89A8F o="QUANTA COMPUTER INC." 001637 o="CITEL SpA" 001639 o="Ubiquam Co., Ltd." 00163A o="YVES TECHNOLOGY CO., LTD." 00163B o="VertexRSI/General Dynamics" 00163C o="Rebox B.V." 00163D o="Tsinghua Tongfang Legend Silicon Tech. Co., Ltd." 00163E o="Xensource, Inc." 00163F o="CReTE SYSTEMS Inc." 001640 o="Asmobile Communication Inc." 001642 o="Pangolin" 001643 o="Sunhillo Corporation" 001644 o="LITE-ON Technology Corp." 001645 o="Power Distribution, Inc." 001648 o="SSD Company Limited" 001649 o="SetOne GmbH" 00164A o="Vibration Technology Limited" 00164B o="Quorion Data Systems GmbH" 00164C o="PLANET INT Co., Ltd" 00164D,001AF0,001C8E,002105,00233E,0025BA,0CA402,24AF4A,6CBEE9,7C2064,A0F3E4 o="Alcatel-Lucent IPD" 00164F o="World Ethnic Broadcastin Inc." 001650 o="Kratos EPD" 001651 o="Exeo Systems" 001652 o="Hoatech Technologies, Inc." 001653 o="LEGO System A/S IE Electronics Division" 001654 o="Flex-P Industries Sdn. Bhd." 001655 o="FUHO TECHNOLOGY Co., LTD" 001657 o="Aegate Ltd" 001658 o="Fusiontech Technologies Inc." 001659 o="Z.M.P. RADWAG" 00165A o="Harman Specialty Group" 00165B o="Grip Audio" 00165C o="Trackflow Ltd." 00165D o="AirDefense, Inc." 00165E o="Precision I/O" 00165F o="Fairmount Automation" 001661 o="Novatium Solutions (P) Ltd" 001662 o="Liyuh Technology Ltd." 001663 o="KBT Mobile" 001664 o="Prod-El SpA" 001665 o="Cellon France" 001666 o="Quantier Communication Inc." 001667 o="A-TEC Subsystem INC." 001668 o="Eishin Electronics" 001669 o="MRV Communication (Networks) LTD" 00166A o="TPS" 00166D,18DC56,3C9157,54DC1D,783690,D03742,EC5A86 o="Yulong Computer Telecommunication Scientific (Shenzhen) Co.,Ltd" 00166E o="Arbitron Inc." 001670 o="SKNET Corporation" 001671 o="Symphox Information Co." 001672 o="Zenway enterprise ltd" 001673 o="Bury GmbH & Co. KG" 001674 o="EuroCB (Phils.), Inc." 001677 o="Bihl + Wiedemann GmbH" 001678 o="SHENZHEN BAOAN GAOKE ELECTRONICS CO., LTD" 001679 o="eOn Communications" 00167A o="Skyworth Overseas Development Ltd." 00167B o="Haver&Boecker" 00167C o="iRex Technologies BV" 00167D o="Sky-Line Information Co., Ltd." 00167E o="DIBOSS.CO.,LTD" 00167F o="Bluebird Soft Inc." 001680 o="Bally Gaming + Systems" 001681 o="Vector Informatik GmbH" 001682 o="Pro Dex, Inc" 001683 o="WEBIO International Co.,.Ltd." 001684 o="Donjin Co.,Ltd." 001685 o="Elisa Oyj" 001686 o="Karl Storz Imaging" 001687 o="Chubb CSC-Vendor AP" 001688 o="ServerEngines LLC" 001689 o="Pilkor Electronics Co., Ltd" 00168A o="id-Confirm Inc" 00168B o="Paralan Corporation" 00168C o="DSL Partner AS" 00168D o="KORWIN CO., Ltd." 00168E o="Vimicro corporation" 001690 o="J-TEK INCORPORATION" 001691 o="Moser-Baer AG" 001692 o="Scientific-Atlanta, Inc." 001693 o="PowerLink Technology Inc." 001694 o="Sennheiser Communications A/S" 001695 o="AVC Technology (International) Limited" 001696 o="QDI Technology (H.K.) Limited" 001698 o="T&A Mobile Phones" 001699 o="Tonic DVB Marketing Ltd" 00169A o="Quadrics Ltd" 00169B o="Alstom Transport" 00169E o="TV One Ltd" 00169F o="Vimtron Electronics Co., Ltd." 0016A0 o="Auto-Maskin" 0016A1 o="3Leaf Networks" 0016A2 o="CentraLite Systems, Inc." 0016A3 o="Ingeteam Transmission&Distribution, S.A." 0016A4 o="Ezurio Ltd" 0016A5 o="Tandberg Storage ASA" 0016A6 o="Dovado FZ-LLC" 0016A7 o="AWETA G&P" 0016A8 o="CWT CO., LTD." 0016A9 o="2EI" 0016AA o="Kei Communication Technology Inc." 0016AB o="Dansensor A/S" 0016AC o="Toho Technology Corp." 0016AD o="BT-Links Company Limited" 0016AF o="Shenzhen Union Networks Equipment Co.,Ltd." 0016B0 o="VK Corporation" 0016B1 o="KBS" 0016B2 o="DriveCam Inc" 0016B3 o="Photonicbridges (China) Co., Ltd." 0016B7 o="Seoul Commtech" 0016B9,001B3F,002347,0024A8,002561,0026F1,B439D6,C09134,F06281 o="ProCurve Networking by HP" 0016BA o="WEATHERNEWS INC." 0016BB o="Law-Chain Computer Technology Co Ltd" 0016BD o="ATI Industrial Automation" 0016BE o="INFRANET, Inc." 0016BF o="PaloDEx Group Oy" 0016C0 o="Semtech Corporation" 0016C1 o="Eleksen Ltd" 0016C2 o="Avtec Systems Inc" 0016C3 o="BA Systems Inc" 0016C4 o="SiRF Technology, Inc." 0016C5 o="Shenzhen Xing Feng Industry Co.,Ltd" 0016C6 o="North Atlantic Industries" 0016C9 o="NAT Seattle, Inc." 0016CC o="Xcute Mobile Corp." 0016CD o="HIJI HIGH-TECH CO., LTD." 0016D0 o="ATech elektronika d.o.o." 0016D1 o="ZAT a.s." 0016D2 o="Caspian" 0016D4 o="Compal Communications, Inc." 0016D5 o="Synccom Co., Ltd" 0016D6 o="TDA Tech Pty Ltd" 0016D7 o="Sunways AG" 0016D8 o="Senea AB" 0016D9 o="NINGBO BIRD CO.,LTD." 0016DA o="Futronic Technology Co. Ltd." 0016DC o="ARCHOS" 0016DD o="Gigabeam Corporation" 0016DE o="FAST Inc" 0016DF o="Lundinova AB" 0016E1 o="SiliconStor, Inc." 0016E2 o="American Fibertek, Inc." 0016E4 o="VANGUARD SECURITY ENGINEERING CORP." 0016E5 o="FORDLEY DEVELOPMENT LIMITED" 0016E6,001A4D,001D7D,001FD0,00241D,18C04D,1C1B0D,1C6F65,408D5C,50E549,6CF049,74D435,902B34,94DE80,B42E99,E0D55E,FCAA14 o="GIGA-BYTE TECHNOLOGY CO.,LTD." 0016E7 o="Dynamix Promotions Limited" 0016E8 o="Sigma Designs, Inc." 0016E9 o="Tiba Medical Inc" 0016EE o="Royaldigital Inc." 0016EF o="Koko Fitness, Inc." 0016F0 o="Dell" 0016F1 o="OmniSense, LLC" 0016F2 o="Dmobile System Co., Ltd." 0016F3 o="CAST Information Co., Ltd" 0016F4 o="Eidicom Co., Ltd." 0016F5 o="Dalian Golden Hualu Digital Technology Co.,Ltd" 0016F6 o="Video Products Group" 0016F7 o="L-3 Communications, Aviation Recorders" 0016F8 o="AVIQTECH TECHNOLOGY CO., LTD." 0016F9 o="CETRTA POT, d.o.o., Kranj" 0016FB,8C6D50,D43A2E o="SHENZHEN MTC CO LTD" 0016FC o="TOHKEN CO.,LTD." 0016FD o="Jaty Electronics" 0016FF o="Wamin Optocomm Mfg Corp" 001701 o="KDE, Inc." 001702 o="Osung Midicom Co., Ltd" 001703 o="MOSDAN Internation Co.,Ltd" 001704 o="Shinco Electronics Group Co.,Ltd" 001705 o="Methode Electronics" 001706 o="Techfaithwireless Communication Technology Limited." 001707 o="InGrid, Inc" 001709 o="Exalt Communications" 00170A o="INEW DIGITAL COMPANY" 00170B o="Contela, Inc." 00170C o="Twig Com Ltd." 00170D o="Dust Networks Inc." 001710 o="Casa Systems Inc." 001711 o="GE Healthcare Bio-Sciences AB" 001712 o="ISCO International" 001713 o="Tiger NetCom" 001714 o="BR Controls Nederland bv" 001715 o="Qstik" 001716 o="Qno Technology Inc." 001717 o="Leica Geosystems AG" 001718 o="Vansco Electronics Oy" 001719 o="Audiocodes USA, Inc" 00171A o="Winegard Company" 00171B o="Innovation Lab Corp." 00171C o="NT MicroSystems, Inc." 00171D o="DIGIT" 00171E o="Theo Benning GmbH & Co. KG" 00171F o="IMV Corporation" 001720 o="Image Sensing Systems, Inc." 001721 o="FITRE S.p.A." 001722 o="Hanazeder Electronic GmbH" 001723 o="Summit Data Communications" 001724 o="Studer Professional Audio GmbH" 001725 o="Liquid Computing" 001726 o="m2c Electronic Technology Ltd." 001727 o="Thermo Ramsey Italia s.r.l." 001728 o="Selex Communications" 001729 o="Ubicod Co.LTD" 00172A o="Proware Technology Corp.(By Unifosa)" 00172B o="Global Technologies Inc." 00172C o="TAEJIN INFOTECH" 00172D o="Axcen Photonics Corporation" 00172E o="FXC Inc." 00172F o="NeuLion Incorporated" 001730 o="Automation Electronics" 001732 o="Science-Technical Center %RISSA%" 001733,001D16,002515,249504,307ECB,44CE7D,6035C0,CC2D1B,E0A1D7,E45D51 o="SFR" 001734 o="ADC Telecommunications" 001735 o="Intel Wireless Network Group" 001736 o="iiTron Inc." 001737 o="Industrie Dial Face S.p.A." 001738 o="International Business Machines" 001739 o="Bright Headphone Electronics Company" 00173A o="Cloudastructure Inc" 00173C o="Extreme Engineering Solutions" 00173D o="Neology" 00173E o="LeucotronEquipamentos Ltda." 00173F,001CDF,002275,08863B,149182,24F5A2,302303,58EF68,6038E0,94103E,944452,B4750E,C05627,C4411E,EC1A59 o="Belkin International Inc." 001740 o="Bluberi Gaming Technologies Inc" 001741 o="DEFIDEV" 001743 o="Deck Srl" 001744 o="Araneo Ltd." 001745 o="INNOTZ CO., Ltd" 001746 o="Freedom9 Inc." 001747 o="Trimble" 001748 o="Neokoros Brasil Ltda" 001749 o="HYUNDAE YONG-O-SA CO.,LTD" 00174A o="SOCOMEC" 00174C o="Millipore" 00174D o="DYNAMIC NETWORK FACTORY, INC." 00174E o="Parama-tech Co.,Ltd." 00174F o="iCatch Inc." 001750 o="GSI Group, MicroE Systems" 001751 o="Online Corporation" 001752 o="DAGS, Inc" 001753,A40450 o="nFore Technology Inc." 001754 o="Arkino HiTOP Corporation Limited" 001755 o="GE Security" 001756 o="Vinci Labs Oy" 001757 o="RIX TECHNOLOGY LIMITED" 001758 o="ThruVision Ltd" 00175B o="ACS Solutions Switzerland Ltd." 00175C,08001F,BCB181 o="SHARP CORPORATION" 00175D o="Dongseo system." 00175E o="Zed-3" 00175F o="XENOLINK Communications Co., Ltd." 001760 o="Naito Densei Machida MFG.CO.,LTD" 001762 o="Solar Technology, Inc." 001763 o="Essentia S.p.A." 001764 o="ATMedia GmbH" 001766 o="Accense Technology, Inc." 001767 o="Earforce AS" 001768 o="Zinwave Ltd" 001769 o="Cymphonix Corp" 00176A o="Avago Technologies" 00176B o="Kiyon, Inc." 00176C o="Pivot3, Inc." 00176D o="CORE CORPORATION" 00176E o="DUCATI SISTEMI" 00176F,54812D o="PAX Computer Technology(Shenzhen) Ltd." 001770 o="Arti Industrial Electronics Ltd." 001771 o="APD Communications Ltd" 001772 o="ASTRO Strobel Kommunikationssysteme GmbH" 001773 o="Laketune Technologies Co. Ltd" 001774 o="Elesta GmbH" 001775 o="TTE Germany GmbH" 001776 o="Meso Scale Diagnostics, LLC" 001777 o="Obsidian Research Corporation" 001778 o="Central Music Co." 001779 o="QuickTel" 00177A o="ASSA ABLOY AB" 00177B o="Azalea Networks inc" 00177C o="Smartlink Network Systems Limited" 00177D,98F8C1 o="IDT Technology Limited" 00177E o="Meshcom Technologies Inc." 00177F o="Worldsmart Retech" 001780 o="Applied Biosystems B.V." 001781 o="Greystone Data System, Inc." 001782 o="LoBenn Inc." 001785 o="Sparr Electronics Ltd" 001786 o="wisembed" 001787 o="Brother, Brother & Sons ApS" 001788,ECB5FA o="Philips Lighting BV" 001789 o="Zenitron Corporation" 00178A o="DARTS TECHNOLOGIES CORP." 00178B o="Teledyne Technologies Incorporated" 00178C o="Independent Witness, Inc" 00178D o="Checkpoint Systems, Inc." 00178E o="Gunnebo Cash Automation AB" 00178F o="NINGBO YIDONG ELECTRONIC CO.,LTD." 001790 o="HYUNDAI DIGITECH Co, Ltd." 001791 o="LinTech GmbH" 001792 o="Falcom Wireless Comunications Gmbh" 001793 o="Tigi Corporation" 001796 o="Rittmeyer AG" 001797 o="Telsy Elettronica S.p.A." 001798 o="Azonic Technology Co., LTD" 001799 o="SmarTire Systems Inc." 00179B,B816DB o="CHANT SINCERE CO.,LTD" 00179C o="DEPRAG SCHULZ GMBH u. CO." 00179D o="Kelman Limited" 00179E o="Sirit Inc" 00179F o="Apricorn" 0017A0 o="RoboTech srl" 0017A1 o="3soft inc." 0017A2 o="Camrivox Ltd." 0017A3 o="MIX s.r.l." 0017A5 o="Ralink Technology Corp" 0017A6 o="YOSIN ELECTRONICS CO., LTD." 0017A7 o="Mobile Computing Promotion Consortium" 0017A8 o="EDM Corporation" 0017A9 o="Sentivision" 0017AA o="elab-experience inc." 0017AC o="O'Neil Product Development Inc." 0017AD o="AceNet Corporation" 0017AE o="GAI-Tronics" 0017AF o="Enermet" 0017B1 o="ACIST Medical Systems, Inc." 0017B2 o="SK Telesys" 0017B3 o="Aftek Infosys Limited" 0017B4 o="Remote Security Systems, LLC" 0017B5 o="Peerless Systems Corporation" 0017B6,300EE3 o="Aquantia Corporation" 0017B7 o="Tonze Technology Co." 0017B8 o="NOVATRON CO., LTD." 0017B9 o="Gambro Lundia AB" 0017BA o="SEDO CO., LTD." 0017BB o="Syrinx Industrial Electronics" 0017BC o="Touchtunes Music Corporation" 0017BD o="Tibetsystem" 0017BE o="Tratec Telecom B.V." 0017BF o="Coherent Research Limited" 0017C0 o="PureTech Systems, Inc." 0017C1 o="CM Precision Technology LTD." 0017C3 o="KTF Technologies Inc." 0017C4 o="Quanta Microsystems, INC." 0017C5 o="SonicWALL" 0017C6 o="Cross Match Technologies Inc" 0017C7 o="MARA Systems Consulting AB" 0017C8,00C0EE,34A843 o="KYOCERA Display Corporation" 0017CC,001D4C,040A83,4C5FD2,54E3F6,6854ED,9067B5,D099D5 o="Alcatel-Lucent" 0017CD o="CEC Wireless R&D Ltd." 0017CE o="Screen Service Spa" 0017CF o="iMCA-GmbH" 0017D0 o="Opticom Communications, LLC" 0017D2 o="THINLINX PTY LTD" 0017D3 o="Etymotic Research, Inc." 0017D4 o="Monsoon Multimedia, Inc" 0017D6 o="Bluechips Microhouse Co.,Ltd." 0017D7 o="ION Geophysical Corporation Inc." 0017D8 o="Magnum Semiconductor, Inc." 0017D9 o="AAI Corporation" 0017DA o="Spans Logic" 0017DB o="CANKO TECHNOLOGIES INC." 0017DC o="DAEMYUNG ZERO1" 0017DD o="Clipsal Australia" 0017DE o="Advantage Six Ltd" 0017E1 o="DACOS Technologies Co., Ltd." 0017ED o="WooJooIT Ltd." 0017F0 o="SZCOM Broadband Network Technology Co.,Ltd" 0017F1 o="Renu Electronics Pvt Ltd" 0017F4 o="ZERON ALLIANCE" 0017F5 o="LIG NEOPTEK" 0017F6 o="Pyramid Meriden Inc." 0017F7 o="CEM Solutions Pvt Ltd" 0017F8 o="Motech Industries Inc." 0017F9 o="Forcom Sp. z o.o." 0017FB o="FA" 0017FC o="Suprema Inc." 0017FD o="Amulet Hotkey" 0017FE o="TALOS SYSTEM INC." 0017FF o="PLAYLINE Co.,Ltd." 001800 o="UNIGRAND LTD" 001803 o="ArcSoft Shanghai Co. LTD" 001804 o="E-TEK DIGITAL TECHNOLOGY LIMITED" 001805 o="Beijing InHand Networking Technology Co.,Ltd." 001806 o="Hokkei Industries Co., Ltd." 001807 o="Fanstel Corp." 001808 o="SightLogix, Inc." 001809,7445CE o="CRESYN" 00180A,0C8DDB,2C3F0B,3456FE,4CC8A1,683A1E,881544,981888,AC17C8,B80756,CC03D9,E0553D,E0CBBC,F89E28 o="Cisco Meraki" 00180B o="Brilliant Telecommunications" 00180C o="Optelian Access Networks" 00180D o="Terabytes Server Storage Tech Corp" 00180E o="Avega Systems" 001810 o="IPTrade S.A." 001811 o="Neuros Technology International, LLC." 001812 o="Beijing Xinwei Telecom Technology Co., Ltd." 001814 o="Mitutoyo Corporation" 001815 o="GZ Technologies, Inc." 001816 o="Ubixon Co., Ltd." 001817 o="D. E. Shaw Research, LLC" 00181A o="AVerMedia Information Inc." 00181B o="TaiJin Metal Co., Ltd." 00181C o="Exterity Limited" 00181D o="ASIA ELECTRONICS CO.,LTD" 00181E o="GDX Technologies Ltd." 00181F o="Palmmicro Communications" 001820 o="w5networks" 001821 o="SINDORICOH" 001822 o="CEC TELECOM CO.,LTD." 001824 o="Kimaldi Electronics, S.L." 001826 o="Cale Access AB" 001827 o="NEC UNIFIED SOLUTIONS NEDERLAND B.V." 001828 o="e2v technologies (UK) ltd." 001829 o="Gatsometer" 00182A o="Taiwan Video & Monitor" 00182B o="Softier" 00182C o="Ascend Networks, Inc." 00182D o="Artec Design" 00182E o="XStreamHD" 001835 o="Thoratec / ITC" 001836 o="REJ Co.,Ltd" 001837 o="Universal ABIT Co., Ltd." 001838 o="PanAccess Communications,Inc." 00183B o="CENITS Co., Ltd." 00183C o="Encore Software Limited" 00183D o="Vertex Link Corporation" 00183E o="Digilent, Inc" 001840 o="3 Phoenix, Inc." 001841 o="High Tech Computer Corp" 001843 o="Dawevision Ltd" 001844 o="Heads Up Technologies, Inc." 001845 o="Pulsar-Telecom LLC." 001846 o="Crypto S.A." 001847 o="AceNet Technology Inc." 001848 o="Vecima Networks Inc." 001849 o="nVent, Schroff GmbH" 00184A o="Catcher, Inc." 00184B o="Las Vegas Gaming, Inc." 00184C o="Bogen Communications" 00184E o="Lianhe Technologies, Inc." 00184F o="8 Ways Technology Corp." 001850 o="Secfone Kft" 001851 o="SWsoft" 001852 o="StorLink Semiconductors, Inc." 001853 o="Atera Networks LTD." 001854 o="Argard Co., Ltd" 001855 o="Aeromaritime Systembau GmbH" 001856 o="EyeFi, Inc" 001857 o="Unilever R&D" 001858 o="TagMaster AB" 001859 o="Strawberry Linux Co.,Ltd." 00185A o="uControl, Inc." 00185B o="Network Chemistry, Inc" 00185C o="EDSLAB Technologies" 00185D o="TAIGUEN TECHNOLOGY (SHEN-ZHEN) CO., LTD." 00185E o="Nexterm Inc." 00185F o="TAC Inc." 001860 o="SIM Technology Group Shanghai Simcom Ltd.," 001861 o="Ooma, Inc." 001863 o="Veritech Electronics Limited" 001865 o="Siemens Healthcare Diagnostics Manufacturing Ltd" 001866 o="Leutron Vision" 001867 o="Datalogic ADC" 001868,001947,001BD7,001E6B,0021BE,00223A,0022CE,0023BE,00252E,088039,105F49,10EA59,18550F,185933,24374C,24767D,2CABA4,34BDFA,385F66,38C85C,445829,44E08E,481D70,484487,4C83DE,503955,54D46F,602AD0,68EE96,74547D,7CB21B,848DC7,A4A24A,BCC810,BCD165,C0C687,C8FB26,CC0DEC,E448C7,F44B2A,F45FD4 o="Cisco SPVTG" 001869 o="KINGJIM" 00186A o="Global Link Digital Technology Co,.LTD" 00186B o="Sambu Communics CO., LTD." 00186C o="Neonode AB" 00186D o="Zhenjiang Sapphire Electronic Industry CO." 00186F o="Setha Industria Eletronica LTDA" 001870 o="E28 Shanghai Limited" 001872 o="Expertise Engineering" 001875 o="AnaCise Testnology Pte Ltd" 001876 o="WowWee Ltd." 001877 o="Amplex A/S" 001878 o="Mackware GmbH" 001879 o="dSys" 00187A o="Wiremold" 00187B o="4NSYS Co. Ltd." 00187C o="INTERCROSS, LLC" 00187D o="Armorlink Co .Ltd" 00187E o="RGB Spectrum" 00187F o="ZODIANET" 001880 o="Maxim Integrated Products" 001881 o="Buyang Electronics Industrial Co., Ltd" 001882,001E10,002568,00259E,002EC7,0034FE,00464B,005A13,00664B,009ACD,00BE3B,00E0FC,00F81C,04021F,0425C5,042758,043389,044A6C,044F4C,047503,047970,04885F,048C16,049FCA,04B0E7,04BD70,04C06F,04F938,04FE8D,0819A6,08318B,084F0A,086361,087A4C,08C021,08E84F,0C2C54,0C37DC,0C41E9,0C45BA,0C704A,0C8FFF,0C96BF,0CB527,0CC6CC,0CD6BD,100177,101B54,104400,104780,105172,10B1F8,10C172,10C3AB,10C61F,1409DC,143004,143CC3,14579F,145F94,149D09,14A0F8,14A51A,14B968,14D11F,14D169,18022D,183D5E,185644,18C58A,18CF24,18D276,18DED7,1C151F,1C1D67,1C20DB,1C4363,1C599B,1C6758,1C7F2C,1C8E5C,1CAECB,1CB796,2008ED,200BC7,20283E,202BC1,203DB2,2054FA,20658E,20A680,20DA22,20F17C,20F3A3,2400BA,240995,24166D,241FA0,242E02,243154,244427,244C07,2469A5,247F3C,249EAB,24A52C,24BCF8,24DA33,24DBAC,24DF6A,24FB65,2811EC,283152,283CE4,2841C6,285FDB,286ED4,289E97,28A6DB,28B448,28DEE5,28E34E,2C1A01,2C55D3,2C58E8,2C97B1,2C9D1E,2CAB00,2CCF58,304596,307496,308730,30A1FA,30D17E,30E98E,30F335,30FBB8,30FD65,3400A3,340A98,3412F9,341E6B,342912,342EB6,346AC2,346BD3,347916,34A2A2,34B354,34CDBE,38378B,3847BC,384C4F,38BC01,38EB47,38F889,38FB14,3C15FB,3C4711,3C678C,3C7843,3C9D56,3CCD5D,3CDFBD,3CE824,3CF808,3CFA43,404D8E,407D0F,40CBA8,40EEDD,44004D,4455B1,4459E3,446747,446A2E,446EE5,447654,4482E5,44A191,44C346,44D791,480031,483C0C,483FE9,48435A,4846FB,485702,486276,487B6B,488EEF,48AD08,48D539,48DB50,48DC2D,48F8DB,48FD8E,4C1FCC,4C5499,4C8BEF,4CB16C,4CD0CB,4CD1A1,4CF55B,4CF95D,4CFB45,50016B,5001D9,5004B8,501D93,505DAC,50680A,506F77,509F27,50A72B,541310,5425EA,5434EF,5439DF,54511B,548998,549209,54A51B,54B121,54BAD6,581F28,582575,582AF7,58605F,587F66,58BAD4,58D759,58F987,5C0339,5C0979,5C4CA9,5C546D,5C7D5E,5CA86A,5CB395,5CB43E,5CC307,5CE883,5CF96A,600810,60123C,602E20,608334,60D755,60DE44,60DEF3,60E701,60F18A,60FA9D,6416F0,642CAC,643E8C,646D6C,64A651,684AAE,6889C1,688F84,68A03E,68A0F6,68A828,68CC6E,6C1632,6CB749,6CEBB6,70192F,702F35,7054F5,70723C,707990,707BE8,708A09,70A8E3,70C7F2,70D313,70FD45,745909,745AAA,7460FA,74882A,749D8F,74A063,74A528,74C14F,74D21D,7817BE,781DBA,785860,786256,786A89,78B46A,78D752,78F557,78F5FD,7C11CB,7C1CF1,7C6097,7C7668,7C7D3D,7C942A,7CA177,7CA23E,7CB15D,7CC385,7CD9A0,801382,8038BC,804126,806933,80717A,807D14,80B575,80B686,80D09B,80D4A5,80FB06,8421F1,8446FE,844765,845B12,847637,849FB5,84A8E4,84A9C4,84AD58,84BE52,84DBAC,88108F,881196,8828B3,883FD3,88403B,884477,8853D4,886639,888603,88A2D7,88BCC1,88BFE4,88CEFA,88CF98,88E3AB,88F56E,88F872,8C0D76,8C15C7,8C2505,8C34FD,8C426D,8C683A,8C6D77,8CE5EF,8CEBC6,8CFD18,900325,9017AC,9017C8,902BD2,904E2B,90671C,909497,94049C,940B19,940E6B,94772B,94D00D,94DBDA,94E7EA,94FE22,9835ED,989C57,98E7F5,9C1D36,9C28EF,9C37F4,9C52F8,9C69D1,9C713A,9C741A,9C7DA3,9CB2B2,9CC172,9CE374,A0086F,A01C8D,A057E3,A08CF8,A08D16,A0A33B,A0DF15,A0F479,A400E2,A416E7,A47174,A4933F,A49947,A49B4F,A4BA76,A4BE2B,A4C64F,A4CAA0,A4DCBE,A80C63,A82BCD,A8494D,A87D12,A8C83A,A8CA7B,A8E544,A8F5AC,AC075F,AC4E91,AC6175,AC751D,AC853D,AC8D34,AC9232,ACB3B5,ACCF85,ACE215,ACE342,ACE87B,ACF970,B00875,B05508,B05B67,B08900,B0E17E,B0E5ED,B0EB57,B40931,B41513,B43052,B44326,B46E08,B48655,B4B055,B4CD27,B4F58E,B4FBF9,B808D7,B89436,B8BC1B,B8C385,B8E3B1,BC25E0,BC3D85,BC3F8F,BC620E,BC7574,BC7670,BC9C31,BCB0E7,BCE265,C07009,C0BFC0,C0F4E6,C40528,C40683,C4072F,C4447D,C4473F,C467D1,C486E9,C49F4C,C4B8B4,C4F081,C4FF1F,C80CC8,C81451,C81FBE,C850CE,C85195,C88D83,C894BB,C8A776,C8C2FA,C8C465,C8D15E,CC0577,CC53B5,CC64A6,CC96A0,CCA223,CCBBFE,CCCC81,D016B4,D02DB3,D03E5C,D065CA,D06F82,D07AB5,D0C65B,D0D04B,D0D783,D0EFC1,D0FF98,D440F0,D4612E,D462EA,D46AA8,D46BA6,D46E5C,D494E8,D4A148,D4B110,D4F9A1,D82918,D8490B,D89B3B,D8C771,DC094C,DC16B2,DC21E2,DC729B,DC9088,DC9914,DCC64B,DCD2FC,DCD916,DCEE06,E00084,E0191D,E0247F,E02481,E02861,E03676,E09796,E0A3AC,E0CC7A,E40EEE,E419C1,E43493,E435C8,E468A3,E472E2,E47E66,E48326,E4A7C5,E4A8B6,E4C2D1,E4FB5D,E4FDA1,E8088B,E84DD0,E86819,E884C6,E8ABF3,E8BDD1,E8CD2D,EC233D,EC388F,EC4D47,EC5623,EC8914,EC8C9A,ECCB30,F00FEC,F02FA7,F033E5,F03F95,F04347,F063F9,F09838,F0C850,F0E4A2,F41D6B,F44C7F,F4559C,F4631F,F47960,F48E92,F49FF3,F4A4D6,F4B78D,F4BF80,F4C714,F4CB52,F4DCF9,F4DEAF,F4E3FB,F4E5F2,F80113,F823B2,F83DFF,F84ABF,F86EEE,F87588,F898B9,F898EF,F89A78,F8BF09,F8C39E,F8E811,FC1BD1,FC3F7C,FC48EF,FC8743,FC9435,FCAB90,FCBCD1,FCE33C o="HUAWEI TECHNOLOGIES CO.,LTD" 001883 o="FORMOSA21 INC." 001884,C47130 o="Fon Technology S.L." 001885,001F92 o="Avigilon Corporation" 001886 o="EL-TECH, INC." 001887 o="Metasystem SpA" 001888 o="GOTIVE a.s." 001889 o="WinNet Solutions Limited" 00188A o="Infinova LLC" 00188C o="Mobile Action Technology Inc." 00188E o="Ekahau, Inc." 00188F o="Montgomery Technology, Inc." 001890 o="RadioCOM, s.r.o." 001891 o="Zhongshan General K-mate Electronics Co., Ltd" 001892 o="ads-tec GmbH" 001893 o="SHENZHEN PHOTON BROADBAND TECHNOLOGY CO.,LTD" 001894 o="NPCore, Inc." 001895 o="Hansun Technologies Inc." 001896 o="Great Well Electronic LTD" 001897 o="JESS-LINK PRODUCTS Co., LTD" 001898 o="KINGSTATE ELECTRONICS CORPORATION" 001899 o="ShenZhen jieshun Science&Technology Industry CO,LTD." 00189A o="HANA Micron Inc." 00189C o="Weldex Corporation" 00189D o="Navcast Inc." 00189E o="OMNIKEY GmbH." 00189F o="Lenntek Corporation" 0018A0 o="Cierma Ascenseurs" 0018A1 o="Tiqit Computers, Inc." 0018A2 o="XIP Technology AB" 0018A3 o="ZIPPY TECHNOLOGY CORP." 0018A5 o="ADigit Technologies Corp." 0018A6 o="Persistent Systems, LLC" 0018A7 o="Yoggie Security Systems LTD." 0018A8 o="AnNeal Technology Inc." 0018A9 o="Ethernet Direct Corporation" 0018AA o="Protec Fire Detection plc" 0018AB o="BEIJING LHWT MICROELECTRONICS INC." 0018AC o="Shanghai Jiao Da HISYS Technology Co. Ltd." 0018AD o="NIDEC SANKYO CORPORATION" 0018AE o="TVT CO.,LTD" 0018B2 o="ADEUNIS RF" 0018B3 o="TEC WizHome Co., Ltd." 0018B4 o="Dawon Media Inc." 0018B5 o="Magna Carta" 0018B6 o="S3C, Inc." 0018B7 o="D3 LED, LLC" 0018B8 o="New Voice International AG" 0018BB o="Eliwell Controls srl" 0018BC o="ZAO NVP Bolid" 0018BD o="SHENZHEN DVBWORLD TECHNOLOGY CO., LTD." 0018BE o="ANSA Corporation" 0018BF o="Essence Technology Solution, Inc." 0018C1 o="Almitec Informática e Comércio" 0018C2 o="Firetide, Inc" 0018C3 o="CS Corporation" 0018C4 o="Raba Technologies LLC" 0018C6 o="OPW Fuel Management Systems" 0018C7 o="Real Time Automation" 0018C8 o="ISONAS Inc." 0018C9 o="EOps Technology Limited" 0018CA o="Viprinet GmbH" 0018CB o="Tecobest Technology Limited" 0018CC o="AXIOHM SAS" 0018CD o="Erae Electronics Industry Co., Ltd" 0018CE o="Dreamtech Co., Ltd" 0018CF o="Baldor Electric Company" 0018D0 o="AtRoad, A Trimble Company" 0018D2 o="High-Gain Antennas LLC" 0018D3 o="TEAMCAST" 0018D4 o="Unified Display Interface SIG" 0018D5 o="REIGNCOM" 0018D6 o="Swirlnet A/S" 0018D7 o="JAVAD GNSS, Inc." 0018D8 o="ARCH METER Corporation" 0018D9 o="Santosha Internatonal, Inc" 0018DA o="Würth Elektronik eiSos GmbH & Co. KG" 0018DB o="EPL Technology Ltd" 0018DC o="Prostar Co., Ltd." 0018DD o="Silicondust Engineering Ltd" 0018DF o="The Morey Corporation" 0018E0 o="ANAVEO" 0018E1 o="Verkerk Service Systemen" 0018E2 o="Topdata Sistemas de Automacao Ltda" 0018E3 o="Visualgate Systems, Inc." 0018E4 o="YIGUANG" 0018E5 o="Adhoco AG" 0018E6 o="Computer Hardware Design SIA" 0018E7 o="Cameo Communications, INC." 0018E8 o="Hacetron Corporation" 0018E9 o="Numata Corporation" 0018EA o="Alltec GmbH" 0018EB o="Blue Zen Enterprises Private Limited" 0018EC o="Welding Technology Corporation" 0018ED o="Accutech Ultrasystems Co., Ltd." 0018EE o="Videology Imaging Solutions, Inc." 0018EF o="Escape Communications, Inc." 0018F0 o="JOYTOTO Co., Ltd." 0018F1 o="Chunichi Denshi Co.,LTD." 0018F2 o="Beijing Tianyu Communication Equipment Co., Ltd" 0018F4 o="EO TECHNICS Co., Ltd." 0018F5 o="Shenzhen Streaming Video Technology Company Limited" 0018F7 o="Kameleon Technologies" 0018F9 o="VVOND, Inc." 0018FA o="Yushin Precision Equipment Co.,Ltd." 0018FB o="Compro Technology" 0018FC o="Altec Electronic AG" 0018FD o="Optimal Technologies International Inc." 0018FF o="PowerQuattro Co." 001900 o="Intelliverese - DBA Voicecom" 001901 o="F1MEDIA" 001902 o="Cambridge Consultants Ltd" 001903 o="Bigfoot Networks Inc" 001904 o="WB Electronics Sp. z o.o." 001905 o="SCHRACK Seconet AG" 001908 o="Duaxes Corporation" 001909 o="DEVI - Danfoss A/S" 00190A o="HASWARE INC." 00190B o="Southern Vision Systems, Inc." 00190C o="Encore Electronics, Inc." 00190D o="IEEE 1394c" 00190E o="Atech Technology Co., Ltd." 00190F o="Advansus Corp." 001910 o="Knick Elektronische Messgeraete GmbH & Co. KG" 001911 o="Just In Mobile Information Technologies (Shanghai) Co., Ltd." 001912 o="Welcat Inc" 001913 o="Chuang-Yi Network Equipment Co.Ltd." 001914 o="Winix Co., Ltd" 001916 o="PayTec AG" 001917 o="Posiflex Inc." 001918 o="Interactive Wear AG" 001919 o="ASTEL Inc." 00191A o="IRLINK" 00191B o="Sputnik Engineering AG" 00191C o="Sensicast Systems" 00191E o="Beyondwiz Co., Ltd." 00191F o="Microlink communications Inc." 001920 o="KUME electric Co.,Ltd." 001922 o="CM Comandos Lineares" 001923 o="Phonex Korea Co., LTD." 001924 o="LBNL Engineering" 001925 o="Intelicis Corporation" 001926 o="BitsGen Co., Ltd." 001927 o="ImCoSys Ltd" 001928 o="Siemens AG, Transportation Systems" 001929 o="2M2B Montadora de Maquinas Bahia Brasil LTDA" 00192A o="Antiope Associates" 00192B o="Aclara RF Systems Inc." 00192E o="Spectral Instruments, Inc." 001931 o="Balluff GmbH" 001932 o="Gude Analog- und Digialsysteme GmbH" 001933 o="Strix Systems, Inc." 001934 o="TRENDON TOUCH TECHNOLOGY CORP." 001935 o="DUERR DENTAL AG" 001936 o="STERLITE OPTICAL TECHNOLOGIES LIMITED" 001937 o="CommerceGuard AB" 001938 o="UMB Communications Co., Ltd." 001939 o="Gigamips" 00193A o="OESOLUTIONS" 00193B o="LigoWave" 00193C o="HighPoint Technologies Incorporated" 00193D o="GMC Guardian Mobility Corp." 00193F o="RDI technology(Shenzhen) Co.,LTD" 001940 o="Rackable Systems" 001941 o="Pitney Bowes, Inc" 001942 o="ON SOFTWARE INTERNATIONAL LIMITED" 001943 o="Belden" 001944 o="Fossil Partners, L.P." 001945 o="RF COncepts, LLC" 001946 o="Cianet Industria e Comercio S/A" 001948 o="AireSpider Networks" 001949 o="TENTEL COMTECH CO., LTD." 00194A o="TESTO AG" 00194C o="Fujian Stelcom information & Technology CO.,Ltd" 00194D o="Avago Technologies Sdn Bhd" 00194E o="Ultra Electronics - TCS (Tactical Communication Systems)" 001950 o="Harman Multimedia" 001951 o="NETCONS, s.r.o." 001952 o="ACOGITO Co., Ltd" 001953 o="Chainleader Communications Corp." 001954 o="Leaf Corporation." 001957 o="Saafnet Canada Inc." 001958 o="Bluetooth SIG, Inc." 001959 o="Staccato Communications Inc." 00195A o="Jenaer Antriebstechnik GmbH" 00195C o="Innotech Corporation" 00195D o="ShenZhen XinHuaTong Opto Electronics Co.,Ltd" 00195F o="Valemount Networks Corporation" 001960 o="DoCoMo Systems, Inc." 001961 o="Blaupunkt Embedded Systems GmbH" 001962 o="Commerciant, LP" 001964 o="Doorking Inc." 001965 o="YuHua TelTech (ShangHai) Co., Ltd." 001967 o="TELDAT Sp.J." 001968 o="Digital Video Networks(Shanghai) CO. LTD." 00196A o="MikroM GmbH" 00196B o="Danpex Corporation" 00196C o="ETROVISION TECHNOLOGY" 00196D o="Raybit Systems Korea, Inc" 00196E o="Metacom (Pty) Ltd." 00196F o="SensoPart GmbH" 001970 o="Z-Com, Inc." 001971 o="Guangzhou Unicomp Technology Co.,Ltd" 001972 o="Plexus (Xiamen) Co.,ltd." 001973 o="Zeugma Systems" 001974 o="16063" 001975 o="Beijing Huisen networks technology Inc" 001976 o="Xipher Technologies, LLC" 001977,08EA44,206C8A,348584,4018B1,5859C2,787D53,7C95B1,885BDD,90B832,9C5D12,B87CF2,BCF310,C413E2,C8665D,C8675E,D854A2,E01C41,F09CE9,F4EAB5 o="Aerohive Networks Inc." 001978 o="Datum Systems, Inc." 00197A o="MAZeT GmbH" 00197B o="Picotest Corp." 00197C o="Riedel Communications GmbH" 001980 o="Gridpoint Systems" 001981 o="Vivox Inc" 001982,B01886 o="SmarDTV" 001983 o="CCT R&D Limited" 001984 o="ESTIC Corporation" 001985 o="IT Watchdogs, Inc" 001986 o="Cheng Hongjian" 001987,54CD10,D8B12A o="Panasonic Mobile Communications Co.,Ltd." 001988 o="Wi2Wi, Inc" 001989 o="Sonitrol Corporation" 00198A o="Northrop Grumman Systems Corp." 00198B o="Novera Optics Korea, Inc." 00198C o="iXSea" 00198D o="Ocean Optics, Inc." 00198E o="Oticon A/S" 00198F o="Nokia Bell N.V." 001990 o="ELM DATA Co., Ltd." 001991 o="avinfo" 001993 o="Changshu Switchgear MFG. Co.,Ltd. (Former Changshu Switchgea" 001994 o="Jorjin Technologies Inc." 001995 o="Jurong Hi-Tech (Suzhou)Co.ltd" 001996 o="TurboChef Technologies Inc." 001997 o="Soft Device Sdn Bhd" 001998 o="SATO CORPORATION" 001999,4C5262,901B0E o="Fujitsu Technology Solutions GmbH" 00199A o="EDO-EVI" 00199B o="Diversified Technical Systems, Inc." 00199C o="CTRING" 00199D,006B9E,2C641F,3C9BD6,A06A44,A48D3B,C41CFF,CC95D7 o="Vizio, Inc" 00199E o="Nifty" 00199F o="DKT A/S" 0019A0 o="NIHON DATA SYSTENS, INC." 0019A2 o="ORDYN TECHNOLOGIES" 0019A3 o="asteel electronique atlantique" 0019A4 o="Austar Technology (hang zhou) Co.,Ltd" 0019A5 o="RadarFind Corporation" 0019A7 o="ITU-T" 0019A8 o="WiQuest Communications" 0019AB o="Raycom CO ., LTD" 0019AC o="GSP SYSTEMS Inc." 0019AD o="BOBST SA" 0019AE o="Hopling Technologies b.v." 0019AF o="Rigol Technologies, Inc." 0019B0 o="HanYang System" 0019B1 o="Arrow7 Corporation" 0019B2 o="XYnetsoft Co.,Ltd" 0019B3 o="Stanford Research Systems" 0019B4 o="Intellio Ltd" 0019B5 o="Famar Fueguina S.A." 0019B6 o="Euro Emme s.r.l." 0019B8 o="Boundary Devices" 0019BA o="Paradox Security Systems Ltd" 0019BC o="ELECTRO CHANCE SRL" 0019BD o="New Media Life" 0019BE o="Altai Technologies Limited" 0019BF o="Citiway technology Co.,ltd" 0019C2 o="Equustek Solutions, Inc." 0019C3 o="Qualitrol" 0019C4 o="Infocrypt Inc." 0019C7,4CF2BF,4CFACA,5C1A6F,70D931,9C50EE,A4C7DE,A825EB,A85840,D0542D,E01D3B,FCB698 o="Cambridge Industries(Group) Co.,Ltd." 0019C8 o="AnyDATA Corporation" 0019C9 o="S&C ELECTRIC COMPANY" 0019CA o="Broadata Communications, Inc" 0019CC o="RCG (HK) Ltd" 0019CD o="Chengdu ethercom information technology Ltd." 0019CE o="Progressive Gaming International" 0019CF o="SALICRU, S.A." 0019D0 o="Cathexis" 0019D3 o="TRAK Microwave" 0019D4 o="ICX Technologies" 0019D5 o="IP Innovations, Inc." 0019D6 o="LS Cable and System Ltd." 0019D7 o="FORTUNETEK CO., LTD" 0019D8 o="MAXFOR" 0019D9 o="Zeutschel GmbH" 0019DA o="Welltrans O&E Technology Co. , Ltd." 0019DC o="ENENSYS Technologies" 0019DD o="FEI-Zyfer, Inc." 0019DE o="MOBITEK" 0019E5 o="Lynx Studio Technology, Inc." 0019E6 o="TOYO MEDIC CO.,LTD." 0019E9 o="S-Information Technolgy, Co., Ltd." 0019EA o="TeraMage Technologies Co., Ltd." 0019EB o="Pyronix Ltd" 0019EC o="Sagamore Systems, Inc." 0019ED o="Axesstel Inc." 0019EE o="CARLO GAVAZZI CONTROLS SPA-Controls Division" 0019EF o="SHENZHEN LINNKING ELECTRONICS CO.,LTD" 0019F0,3C0CDB,8CBA25,A8BD3A,F4D9C6 o="UNIONMAN TECHNOLOGY CO.,LTD" 0019F1 o="Star Communication Network Technology Co.,Ltd" 0019F2 o="Teradyne K.K." 0019F3 o="Cetis, Inc" 0019F4 o="Convergens Oy Ltd" 0019F5 o="Imagination Technologies Ltd" 0019F6 o="Acconet (PTE) Ltd" 0019F7 o="Onset Computer Corporation" 0019F8 o="Embedded Systems Design, Inc." 0019F9 o="TDK-Lambda" 0019FA o="Cable Vision Electronics CO., LTD." 0019FB,04819B,0CF9C0,2047ED,24A7DC,38A6CE,3C8994,7050AF,783E53,7C4CA5,807215,80751F,900218,902106,9C31C3,A0BDCD,B03E51,C03E0F,D058FC,D452EE,D4DACD o="BSkyB Ltd" 0019FC o="PT. Ufoakses Sukses Luarbiasa" 0019FE o="SHENZHEN SEECOMM TECHNOLOGY CO.,LTD." 0019FF o="Finnzymes" 001A00 o="MATRIX INC." 001A01 o="Smiths Medical" 001A02 o="SECURE CARE PRODUCTS, INC" 001A03 o="Angel Electronics Co., Ltd." 001A04 o="Interay Solutions BV" 001A05 o="OPTIBASE LTD" 001A06 o="OpVista, Inc." 001A07 o="Arecont Vision" 001A08 o="Simoco Ltd." 001A09 o="Wayfarer Transit Systems Ltd" 001A0A o="Adaptive Micro-Ware Inc." 001A0B o="BONA TECHNOLOGY INC." 001A0C o="Swe-Dish Satellite Systems AB" 001A0D o="HandHeld entertainment, Inc." 001A0E o="Cheng Uei Precision Industry Co.,Ltd" 001A0F o="Sistemas Avanzados de Control, S.A." 001A10 o="LUCENT TRANS ELECTRONICS CO.,LTD" 001A11,00F620,089E08,1CF29A,20DFB9,240588,28BD89,30FD38,388B59,3C286D,3C5AB4,3C8D20,44070B,48D6D5,546009,58CB52,703ACB,7C2EBD,7CD95C,883D24,88541F,900CC8,9495A0,94EB2C,98D293,A47733,B02A43,B0E4D5,CCA7C1,CCF411,D4F547,D86C63,E4F042,F05C77,F072EA,F0EF86,F40304,F4F5D8,F4F5E8,F80FF9,F88FCA o="Google, Inc." 001A12 o="Essilor" 001A13 o="Wanlida Group Co., LTD" 001A14 o="Xin Hua Control Engineering Co.,Ltd." 001A15 o="gemalto e-Payment" 001A17 o="Teak Technologies, Inc." 001A18 o="Advanced Simulation Technology inc." 001A19 o="Computer Engineering Limited" 001A1A o="Gentex Corporation/Electro-Acoustic Products" 001A1C o="GT&T Engineering Pte Ltd" 001A1D o="PChome Online Inc." 001A1F o="Coastal Environmental Systems" 001A20 o="CMOTECH Co. Ltd." 001A21 o="Brookhuis Applied Technologies BV" 001A22 o="eQ-3 Entwicklung GmbH" 001A23 o="Ice Qube, Inc" 001A24 o="Galaxy Telecom Technologies Ltd" 001A25 o="DELTA DORE" 001A26 o="Deltanode Solutions AB" 001A27 o="Ubistar" 001A28 o="ASWT Co., LTD. Taiwan Branch H.K." 001A29,90B97D o="Johnson Outdoors Marine Electronics d/b/a Minnkota" 001A2B o="Ayecom Technology Co., Ltd." 001A2C o="SATEC Co.,LTD" 001A2D o="The Navvo Group" 001A2E o="Ziova Coporation" 001A31 o="SCAN COIN AB" 001A32 o="ACTIVA MULTIMEDIA" 001A33 o="ASI Communications, Inc." 001A34,88795B,F845AD o="Konka Group Co., Ltd." 001A35 o="BARTEC GmbH" 001A36 o="Aipermon GmbH & Co. KG" 001A37 o="Lear Corporation" 001A38,002146 o="Sanmina-SCI" 001A39 o="Merten GmbH&CoKG" 001A3A o="Dongahelecomm" 001A3B o="Doah Elecom Inc." 001A3C o="Technowave Ltd." 001A3D o="Ajin Vision Co.,Ltd" 001A3E o="Faster Technology LLC" 001A3F,180D2C,58108C o="Intelbras" 001A40 o="A-FOUR TECH CO., LTD." 001A41 o="INOCOVA Co.,Ltd" 001A42 o="Techcity Technology co., Ltd." 001A43 o="Logical Link Communications" 001A44 o="JWTrading Co., Ltd" 001A46 o="Digital Multimedia Technology Co., Ltd" 001A47 o="Agami Systems, Inc." 001A48 o="Takacom Corporation" 001A49 o="Micro Vision Co.,LTD" 001A4A o="Qumranet Inc." 001A4C o="Crossbow Technology, Inc" 001A4E o="NTI AG / LinMot" 001A50 o="PheeNet Technology Corp." 001A51 o="Alfred Mann Foundation" 001A52 o="Meshlinx Wireless Inc." 001A53 o="Zylaya" 001A54 o="Hip Shing Electronics Ltd." 001A55 o="ACA-Digital Corporation" 001A56 o="ViewTel Co,. Ltd." 001A57 o="Matrix Design Group, LLC" 001A58 o="CCV Deutschland GmbH - Celectronic eHealth Div." 001A59 o="Ircona" 001A5A o="Korea Electric Power Data Network (KDN) Co., Ltd" 001A5B o="NetCare Service Co., Ltd." 001A5C o="Euchner GmbH+Co. KG" 001A5D o="Mobinnova Corp." 001A5E o="Thincom Technology Co.,Ltd" 001A5F o="KitWorks.fi Ltd." 001A60 o="Wave Electronics Co.,Ltd." 001A61 o="PacStar Corp." 001A62 o="Data Robotics, Incorporated" 001A63 o="Elster Solutions, LLC," 001A65 o="Seluxit" 001A67 o="Infinite QL Sdn Bhd" 001A68 o="Weltec Enterprise Co., Ltd." 001A69 o="Wuhan Yangtze Optical Technology CO.,Ltd." 001A6A o="Tranzas, Inc." 001A6E o="Impro Technologies" 001A6F o="MI.TEL s.r.l." 001A71 o="Diostech Co., Ltd." 001A72 o="Mosart Semiconductor Corp." 001A74 o="Procare International Co" 001A76 o="SDT information Technology Co.,LTD." 001A78 o="ubtos" 001A79 o="TELECOMUNICATION TECHNOLOGIES LTD." 001A7A o="Lismore Instruments Limited" 001A7B o="Teleco, Inc." 001A7C o="Hirschmann Multimedia B.V." 001A7D o="cyber-blue(HK)Ltd" 001A7E o="LN Srithai Comm Ltd." 001A7F,B40142 o="GCI Science & Technology Co.,LTD" 001A81 o="Zelax" 001A82 o="PROBA Building Automation Co.,LTD" 001A83 o="Pegasus Technologies Inc." 001A84 o="V One Multimedia Pte Ltd" 001A85 o="NV Michel Van de Wiele" 001A86 o="AdvancedIO Systems Inc" 001A87 o="Canhold International Limited" 001A88 o="Venergy,Co,Ltd" 001A8B o="CHUNIL ELECTRIC IND., CO." 001A8C,7C5A1C,C84F86 o="Sophos Ltd" 001A8D o="AVECS Bergen GmbH" 001A8E o="3Way Networks Ltd" 001A90 o="Trópico Sistemas e Telecomunicações da Amazônia LTDA." 001A91 o="FusionDynamic Ltd." 001A93 o="ERCO Leuchten GmbH" 001A94 o="Votronic GmbH" 001A95 o="Hisense Mobile Communications Technoligy Co.,Ltd." 001A96 o="ECLER S.A." 001A97 o="fitivision technology Inc." 001A98 o="Asotel Communication Limited Taiwan Branch" 001A99 o="Smarty (HZ) Information Electronics Co., Ltd" 001A9A,14115D,141346,208B37,2C1875,2CCCE6,3050FD,309176,38FACA,5CC6D0,6C2CDC,708540,74FF4C,88CC45,A089E4,C88F26,F44C70 o="Skyworth Digital Technology(Shenzhen) Co.,Ltd" 001A9B o="ADEC & Parter AG" 001A9C o="RightHand Technologies, Inc." 001A9D o="Skipper Wireless, Inc." 001A9E o="ICON Digital International Limited" 001A9F o="A-Link Ltd" 001AA3 o="DELORME" 001AA4 o="Future University-Hakodate" 001AA5 o="BRN Phoenix" 001AA6 o="Telefunken Radio Communication Systems GmbH &CO.KG" 001AA7 o="Torian Wireless" 001AA8 o="Mamiya Digital Imaging Co., Ltd." 001AA9,20934D,2875D8,54F6C5,5CCBCA,C40938 o="FUJIAN STAR-NET COMMUNICATION CO.,LTD" 001AAA o="Analogic Corp." 001AAB o="eWings s.r.l." 001AAC o="Corelatus AB" 001AAE o="Savant Systems LLC" 001AAF o="BLUSENS TECHNOLOGY" 001AB0 o="Signal Networks Pvt. Ltd.," 001AB1 o="Asia Pacific Satellite Industries Co., Ltd." 001AB2 o="Cyber Solutions Inc." 001AB3 o="VISIONITE INC." 001AB4 o="FFEI Ltd." 001AB5 o="Home Network System" 001AB7 o="Ethos Networks LTD." 001AB8 o="Anseri Corporation" 001AB9 o="PMC" 001ABA o="Caton Overseas Limited" 001ABB o="Fontal Technology Incorporation" 001ABC o="U4EA Technologies Ltd" 001ABD o="Impatica Inc." 001ABE o="COMPUTER HI-TECH INC." 001ABF o="TRUMPF Laser Marking Systems AG" 001AC0 o="JOYBIEN TECHNOLOGIES CO., LTD." 001AC2 o="YEC Co.,Ltd." 001AC3,001CEA o="Scientific-Atlanta, Inc" 001AC5,001B6E,800902 o="Keysight Technologies, Inc." 001AC6 o="Micro Control Designs" 001AC7 o="UNIPOINT" 001AC8 o="ISL (Instrumentation Scientifique de Laboratoire)" 001AC9 o="SUZUKEN CO.,LTD" 001ACA o="Tilera Corporation" 001ACB o="Autocom Products Ltd" 001ACC o="Celestial Semiconductor, Ltd" 001ACD o="Tidel Engineering LP" 001ACE o="YUPITERU CORPORATION" 001ACF o="C.T. ELETTRONICA" 001AD0 o="Albis Technologies AG" 001AD1 o="FARGO CO., LTD." 001AD2 o="Eletronica Nitron Ltda" 001AD3 o="Vamp Ltd." 001AD4 o="iPOX Technology Co., Ltd." 001AD5 o="KMC CHAIN INDUSTRIAL CO., LTD." 001AD6 o="JIAGNSU AETNA ELECTRIC CO.,LTD" 001AD7 o="Christie Digital Systems, Inc." 001AD8 o="AlsterAero GmbH" 001AD9 o="International Broadband Electric Communications, Inc." 001ADA o="Biz-2-Me Inc." 001ADD o="PePWave Ltd" 001ADF o="Interactivetv Pty Limited" 001AE0 o="Mythology Tech Express Inc." 001AE1 o="EDGE ACCESS INC" 001AE4 o="Medicis Technologies Corporation" 001AE5 o="Mvox Technologies Inc." 001AE6 o="Atlanta Advanced Communications Holdings Limited" 001AE7 o="Aztek Networks, Inc." 001AE8 o="Unify Software and Solutions GmbH & Co. KG" 001AEA o="Radio Terminal Systems Pty Ltd" 001AEC o="Keumbee Electronics Co.,Ltd." 001AED o="INCOTEC GmbH" 001AEE o="Shenztech Ltd" 001AEF o="Loopcomm Technology, Inc." 001AF1 o="Embedded Artists AB" 001AF2 o="Dynavisions Schweiz AG" 001AF3 o="Samyoung Electronics" 001AF4,B891C9,FC75E6 o="Handreamnet" 001AF5 o="PENTAONE. CO., LTD." 001AF6 o="Woven Systems, Inc." 001AF7 o="dataschalt e+a GmbH" 001AF8 o="Copley Controls Corporation" 001AF9 o="AeroVIronment (AV Inc)" 001AFA o="Welch Allyn, Inc." 001AFB o="Joby Inc." 001AFC o="ModusLink Corporation" 001AFD o="EVOLIS" 001AFE o="SOFACREAL" 001AFF o="Wizyoung Tech." 001B00 o="Neopost Technologies" 001B01 o="Applied Radio Technologies" 001B02 o="ED Co.Ltd" 001B03 o="Action Technology (SZ) Co., Ltd" 001B04 o="Affinity International S.p.a" 001B05 o="YMC AG" 001B06 o="Ateliers R. LAUMONIER" 001B07 o="Mendocino Software" 001B08 o="Danfoss Drives A/S" 001B09 o="Matrix Telecom Pvt. Ltd." 001B0A o="Intelligent Distributed Controls Ltd" 001B0B o="Phidgets Inc." 001B0E o="InoTec GmbH Organisationssysteme" 001B0F o="Petratec" 001B10 o="ShenZhen Kang Hui Technology Co.,ltd" 001B12 o="Apprion" 001B13 o="Icron Technologies Corporation" 001B14 o="Carex Lighting Equipment Factory" 001B15 o="Voxtel, Inc." 001B16 o="Celtro Ltd." 001B17,00869C,08306B,08661F,240B0A,34E5EC,58493B,786D94,7C89C1,84D412,B40C25,C42456,D41D71,D49CF4,D4F4BE,E4A749,E8986D,EC6881 o="Palo Alto Networks" 001B18 o="Tsuken Electric Ind. Co.,Ltd" 001B19 o="IEEE I&M Society TC9" 001B1A o="e-trees Japan, Inc." 001B1B o="Siemens AG," 001B1C o="Coherent" 001B1D o="Phoenix International Co., Ltd" 001B1E o="HART Communication Foundation" 001B1F o="DELTA - Danish Electronics, Light & Acoustics" 001B20 o="TPine Technology" 001B22 o="Palit Microsystems ( H.K.) Ltd." 001B23 o="SimpleComTools" 001B26 o="RON-Telecom ZAO" 001B27 o="Merlin CSI" 001B28 o="POLYGON, JSC" 001B29 o="Avantis.Co.,Ltd" 001B2C o="ATRON electronic GmbH" 001B2D o="Med-Eng Systems Inc." 001B2E o="Sinkyo Electron Inc" 001B30 o="Solitech Inc." 001B31 o="Neural Image. Co. Ltd." 001B34 o="Focus System Inc." 001B35 o="ChongQing JINOU Science & Technology Development CO.,Ltd" 001B36 o="Tsubata Engineering Co.,Ltd. (Head Office)" 001B37 o="Computec Oy" 001B38,001EEC,00235A,002622,089798,1C3947,1C7508,201A06,208984,705AB6,7C8AE1,88AE1D,9828A6,9829A6,9C5A44,B870F4,B888E3,DC0EA1,E4A8DF,F0761C,F8A963,FC4596 o="COMPAL INFORMATION (KUNSHAN) CO., LTD." 001B39 o="Proxicast" 001B3A o="SIMS Corp." 001B3B o="Yi-Qing CO., LTD" 001B3C o="Software Technologies Group,Inc." 001B3D o="EuroTel Spa" 001B3E o="Curtis, Inc." 001B40 o="Network Automation mxc AB" 001B41 o="General Infinity Co.,Ltd." 001B42 o="Wise & Blue" 001B43 o="Beijing DG Telecommunications equipment Co.,Ltd" 001B44,001E82 o="SanDisk Corporation" 001B45 o="ABB AS, Division Automation Products" 001B46 o="Blueone Technology Co.,Ltd" 001B47 o="Futarque A/S" 001B48 o="Shenzhen Lantech Electronics Co., Ltd." 001B49 o="Roberts Radio limited" 001B4A o="W&W Communications, Inc." 001B4B o="SANION Co., Ltd." 001B4C o="Signtech" 001B4D o="Areca Technology Corporation" 001B4E o="Navman New Zealand" 001B50 o="Nizhny Novgorod Factory named after M.Frunze, FSUE (NZiF)" 001B51 o="Vector Technology Corp." 001B55 o="Hurco Automation Ltd." 001B56 o="Tehuti Networks Ltd." 001B57 o="SEMINDIA SYSTEMS PRIVATE LIMITED" 001B58 o="ACE CAD Enterprise Co., Ltd." 001B5A o="Apollo Imaging Technologies, Inc." 001B5C o="Azuretec Co., Ltd." 001B5D o="Vololink Pty Ltd" 001B5E o="BPL Limited" 001B5F o="Alien Technology" 001B60 o="NAVIGON AG" 001B61 o="Digital Acoustics, LLC" 001B62 o="JHT Optoelectronics Co.,Ltd." 001B64 o="IsaacLandKorea Co., Ltd," 001B65 o="China Gridcom Co., Ltd" 001B66 o="Sennheiser electronic GmbH & Co. KG" 001B67 o="Cisco Systems Inc" 001B68 o="Modnnet Co., Ltd" 001B69 o="Equaline Corporation" 001B6A o="Powerwave Technologies Sweden AB" 001B6B o="Swyx Solutions AG" 001B6C o="LookX Digital Media BV" 001B6D o="Midtronics, Inc." 001B6F o="Teletrak Ltd" 001B70 o="IRI Ubiteq, INC." 001B71 o="Telular Corp." 001B72 o="Sicep s.p.a." 001B73 o="DTL Broadcast Ltd" 001B74 o="MiraLink Corporation" 001B75 o="Hypermedia Systems" 001B76 o="Ripcode, Inc." 001B79 o="FAIVELEY TRANSPORT" 001B7B o="The Tintometer Ltd" 001B7C o="A & R Cambridge" 001B7D o="CXR Anderson Jacobson" 001B7E o="Beckmann GmbH" 001B7F o="TMN Technologies Telecomunicacoes Ltda" 001B80 o="LORD Corporation" 001B81 o="DATAQ Instruments, Inc." 001B82 o="Taiwan Semiconductor Co., Ltd." 001B83 o="Finsoft Ltd" 001B84 o="Scan Engineering Telecom" 001B85 o="MAN Diesel SE" 001B87 o="Deepsound Tech. Co., Ltd" 001B88 o="Divinet Access Technologies Ltd" 001B89 o="EMZA Visual Sense Ltd." 001B8A o="2M Electronic A/S" 001B8C o="JMicron Technology Corp." 001B8D o="Electronic Computer Systems, Inc." 001B8E o="Hulu Sweden AB" 001B91 o="EFKON AG" 001B92 o="l-acoustics" 001B93 o="JC Decaux SA DNT" 001B94 o="T.E.M.A. S.p.A." 001B95 o="VIDEO SYSTEMS SRL" 001B96 o="General Sensing" 001B97 o="Violin Technologies" 001B99 o="KS System GmbH" 001B9A o="Apollo Fire Detectors Ltd" 001B9B o="Hose-McCann Communications" 001B9C o="SATEL sp. z o.o." 001B9D o="Novus Security Sp. z o.o." 001B9F o="Calyptech Pty Ltd" 001BA0 o="Awox" 001BA1 o="Åmic AB" 001BA2,5C6776 o="IDS Imaging Development Systems GmbH" 001BA3 o="Flexit Group GmbH" 001BA4 o="S.A.E Afikim" 001BA5 o="MyungMin Systems, Inc." 001BA6 o="intotech inc." 001BA7 o="Lorica Solutions" 001BA8 o="UBI&MOBI,.Inc" 001BA9,008077,30055C o="Brother industries, LTD." 001BAA o="XenICs nv" 001BAB o="Telchemy, Incorporated" 001BAC o="Curtiss Wright Controls Embedded Computing" 001BAD o="iControl Incorporated" 001BAE o="Micro Control Systems, Inc" 001BB0 o="Bharat Electronics Limited" 001BB2 o="Intellect International NV" 001BB3 o="Condalo GmbH" 001BB4 o="Airvod Limited" 001BB5 o="Cherry GmbH" 001BB6 o="Bird Electronic Corp." 001BB7 o="Alta Heights Technology Corp." 001BB8 o="BLUEWAY ELECTRONIC CO;LTD" 001BBB o="RFTech Co.,Ltd" 001BBC o="Silver Peak Systems, Inc." 001BBD o="FMC Kongsberg Subsea AS" 001BBE o="ICOP Digital" 001BC1 o="HOLUX Technology, Inc." 001BC2 o="Integrated Control Technology Limitied" 001BC3 o="Mobisolution Co.,Ltd" 001BC4 o="Ultratec, Inc." 001BC6 o="Strato Rechenzentrum AG" 001BC7 o="StarVedia Technology Inc." 001BC8 o="MIURA CO.,LTD" 001BC9 o="FSN DISPLAY INC" 001BCA o="Beijing Run Technology LTD. Company" 001BCB o="PEMPEK SYSTEMS PTY LTD" 001BCC o="KINGTEK CCTV ALLIANCE CO., LTD." 001BCD o="DAVISCOMMS (S) PTE LTD" 001BCE o="Measurement Devices Ltd" 001BCF o="Dataupia Corporation" 001BD0 o="IDENTEC SOLUTIONS" 001BD1 o="SOGESTMATIC" 001BD2 o="ULTRA-X ASIA PACIFIC Inc." 001BD3,04209A,20C6EB,705812,8CC121,A81374,CC7EE7 o="Panasonic Corporation AVC Networks Company" 001BD6 o="Kelvin Hughes Ltd" 001BD8 o="FLIR Systems Inc" 001BD9 o="Edgewater Wireless Systems Inc" 001BDB o="Valeo VECS" 001BDC o="Vencer Co., Ltd." 001BDE o="Renkus-Heinz, Inc." 001BDF o="Iskra Sistemi d.d." 001BE0 o="TELENOT ELECTRONIC GmbH" 001BE1 o="ViaLogy" 001BE2 o="AhnLab,Inc." 001BE3 o="Health Hero Network, Inc." 001BE4 o="TOWNET SRL" 001BE5 o="802automation Limited" 001BE6 o="VR AG" 001BE7 o="Postek Electronics Co., Ltd." 001BE8 o="Ultratronik GmbH" 001BEB o="DMP Electronics INC." 001BEC o="Netio Technologies Co., Ltd" 001BEF o="Blossoms Digital Technology Co.,Ltd." 001BF0 o="Value Platforms Limited" 001BF1 o="Nanjing SilverNet Software Co., Ltd." 001BF2 o="KWORLD COMPUTER CO., LTD" 001BF3 o="TRANSRADIO SenderSysteme Berlin AG" 001BF4 o="KENWIN INDUSTRIAL(HK) LTD." 001BF5 o="Tellink Sistemas de Telecomunicación S.L." 001BF6 o="CONWISE Technology Corporation Ltd." 001BF7 o="Lund IP Products AB" 001BF8 o="Digitrax Inc." 001BF9 o="Intellitect Water Ltd" 001BFA o="G.i.N. mbH" 001BFD o="Dignsys Inc." 001BFE o="Zavio Inc." 001BFF o="Millennia Media inc." 001C00 o="Entry Point, LLC" 001C01 o="ABB Oy Drives" 001C02 o="Pano Logic" 001C03 o="Betty TV Technology AG" 001C04 o="Airgain, Inc." 001C05 o="Nonin Medical Inc." 001C06 o="Siemens Numerical Control Ltd., Nanjing" 001C07 o="Cwlinux Limited" 001C08 o="Echo360, Inc." 001C09 o="SAE Electronic Co.,Ltd." 001C0A o="Shenzhen AEE Technology Co.,Ltd." 001C0B o="SmartAnt Telecom" 001C0C o="TANITA Corporation" 001C0D o="G-Technology, Inc." 001C13 o="OPTSYS TECHNOLOGY CO., LTD." 001C15 o="iPhotonix LLC" 001C16 o="ThyssenKrupp Elevator" 001C18 o="Sicert S.r.L." 001C19 o="secunet Security Networks AG" 001C1A o="Thomas Instrumentation, Inc" 001C1B o="Hyperstone GmbH" 001C1C o="Center Communication Systems GmbH" 001C1D o="CHENZHOU GOSPELL DIGITAL TECHNOLOGY CO.,LTD" 001C1E o="emtrion GmbH" 001C1F o="Quest Retail Technology Pty Ltd" 001C20 o="CLB Benelux" 001C21 o="Nucsafe Inc." 001C22 o="Aeris Elettronica s.r.l." 001C24 o="Formosa Wireless Systems Corp." 001C27 o="Sunell Electronics Co." 001C28 o="Sphairon Technologies GmbH" 001C29 o="CORE DIGITAL ELECTRONICS CO., LTD" 001C2A o="Envisacor Technologies Inc." 001C2B o="Alertme.com Limited" 001C2C o="Synapse" 001C2D o="FlexRadio Systems" 001C2E,001DB3,001F28,001FFE,0021F7 o="HPN Supply Chain" 001C2F o="Pfister GmbH" 001C30 o="Mode Lighting (UK ) Ltd." 001C31 o="Mobile XP Technology Co., LTD" 001C32 o="Telian Corporation" 001C33 o="Sutron" 001C34 o="HUEY CHIAO INTERNATIONAL CO., LTD." 001C36 o="iNEWiT NV" 001C37 o="Callpod, Inc." 001C38 o="Bio-Rad Laboratories, Inc." 001C39 o="S Netsystems Inc." 001C3A o="Element Labs, Inc." 001C3B o="AmRoad Technology Inc." 001C3C o="Seon Design Inc." 001C3D o="WaveStorm" 001C3E o="ECKey Corporation" 001C3F o="International Police Technologies, Inc." 001C40 o="VDG-Security bv" 001C41 o="scemtec Transponder Technology GmbH" 001C42 o="Parallels, Inc." 001C44 o="Bosch Security Systems BV" 001C45 o="Chenbro Micom Co., Ltd." 001C46 o="QTUM" 001C47 o="Hangzhou Hollysys Automation Co., Ltd" 001C48 o="WiDeFi, Inc." 001C49 o="Zoltan Technology Inc." 001C4B o="Gener8, Inc." 001C4C o="Petrotest Instruments" 001C4D o="Aplix IP Holdings Corporation" 001C4E o="TASA International Limited" 001C4F o="MACAB AB" 001C50,4C14A3,6C5AB5 o="TCL Technoly Electronics (Huizhou) Co., Ltd." 001C51 o="Celeno Communications" 001C52 o="VISIONEE SRL" 001C53 o="Synergy Lighting Controls" 001C54,302952 o="Hillstone Networks Inc" 001C55 o="Shenzhen Kaifa Technology Co." 001C56 o="Pado Systems, Inc." 001C59 o="DEVON IT" 001C5A o="Advanced Relay Corporation" 001C5B o="Chubb Electronic Security Systems Ltd" 001C5C o="Integrated Medical Systems, Inc." 001C5D o="Leica Microsystems" 001C5E o="ASTON France" 001C5F o="Winland Electronics, Inc." 001C60 o="CSP Frontier Technologies,Inc." 001C61 o="Galaxy Microsystems LImited" 001C62,001E75,001F6B,001FE3,0021FB,0022A9,002483,0025E5,0026E2,0034DA,003DE8,0057C1,00AA70,041B6D,08D46A,0C4885,10683F,10F1F2,10F96F,2021A5,2C54CF,2C598A,30766F,344DF7,34FCEF,3830F9,40B0FA,485929,48605F,505527,583F54,58A2B5,5C70A3,5CAF06,60E3AC,64899A,64BC0C,64C2DE,6CD68A,700514,74A722,78F882,7CF31B,805A04,88074B,88365F,88C9D0,8C3AE3,98B8BA,98D6F7,A039F7,A04F85,A09169,A816B2,A8922C,A8B86E,AC0D1B,ACF6F7,B4F1DA,B4F7A1,B81DAA,BCF5AC,C4438F,C49A02,C8F319,CCFA00,D013FD,DC0B34,E892A4,F01C13,F80CF3,F895C7,F8A9D0 o="LG Electronics (Mobile Communications)" 001C63 o="TRUEN" 001C64 o="Landis+Gyr" 001C65 o="JoeScan, Inc." 001C66 o="UCAMP CO.,LTD" 001C67 o="Pumpkin Networks, Inc." 001C68 o="Anhui Sun Create Electronics Co., Ltd" 001C69 o="Packet Vision Ltd" 001C6A o="Weiss Engineering Ltd." 001C6B o="COVAX Co. Ltd" 001C6C o="30805" 001C6D o="KYOHRITSU ELECTRONIC INDUSTRY CO., LTD." 001C6E o="Newbury Networks, Inc." 001C6F o="Emfit Ltd" 001C70 o="NOVACOMM LTDA" 001C71 o="Emergent Electronics" 001C72 o="Mayer & Cie GmbH & Co KG" 001C73,28993A,444CA8,7483EF,985D82,C0D682,FCBD67 o="Arista Networks" 001C74 o="Syswan Technologies Inc." 001C75 o="Segnet Ltd." 001C76 o="The Wandsworth Group Ltd" 001C77 o="Prodys" 001C78 o="WYPLAY SAS" 001C79 o="Cohesive Financial Technologies LLC" 001C7A o="Perfectone Netware Company Ltd" 001C7B,FC4AE9 o="Castlenet Technology Inc." 001C7C,021C7C o="PERQ SYSTEMS CORPORATION" 001C7D o="Excelpoint Manufacturing Pte Ltd" 001C80 o="New Business Division/Rhea-Information CO., LTD." 001C81 o="NextGen Venturi LTD" 001C82 o="Genew Technologies" 001C83 o="New Level Telecom Co., Ltd." 001C84 o="STL Solution Co.,Ltd." 001C85 o="Eunicorn" 001C86 o="Cranite Systems, Inc." 001C87 o="Uriver Inc." 001C88 o="TRANSYSTEM INC." 001C89 o="Force Communications, Inc." 001C8A o="Cirrascale Corporation" 001C8B o="MJ Innovations Ltd." 001C8C o="DIAL TECHNOLOGY LTD." 001C8D o="Mesa Imaging" 001C8F o="Advanced Electronic Design, Inc." 001C90 o="Empacket Corporation" 001C91 o="Gefen Inc." 001C92 o="Tervela" 001C93 o="ExaDigm Inc" 001C94 o="LI-COR Biosciences" 001C95 o="Opticomm Corporation" 001C96 o="Linkwise Technology Pte Ltd" 001C97 o="Enzytek Technology Inc.," 001C98 o="LUCKY TECHNOLOGY (HK) COMPANY LIMITED" 001C99 o="Shunra Software Ltd." 001C9B o="FEIG ELECTRONIC GmbH" 001C9D o="Liecthi AG" 001C9E o="Dualtech IT AB" 001C9F o="Razorstream, LLC" 001CA0 o="Production Resource Group, LLC" 001CA1 o="AKAMAI TECHNOLOGIES, INC." 001CA3 o="Terra" 001CA5 o="Zygo Corporation" 001CA6 o="Win4NET" 001CA7 o="International Quartz Limited" 001CA8,182861,8841FC,A02D13,F417B8 o="AirTies Wireless Networks" 001CA9 o="Audiomatica Srl" 001CAA o="Bellon Pty Ltd" 001CAB o="Meyer Sound Laboratories, Inc." 001CAC o="Qniq Technology Corp." 001CAD o="Wuhan Telecommunication Devices Co.,Ltd" 001CAE o="WiChorus, Inc." 001CAF o="Plato Networks Inc." 001CB2 o="BPT SPA" 001CB4 o="Iridium Satellite LLC" 001CB5 o="Neihua Network Technology Co.,LTD.(NHN)" 001CB6 o="Duzon CNT Co., Ltd." 001CB7 o="USC DigiArk Corporation" 001CB8 o="CBC Co., Ltd" 001CB9 o="KWANG SUNG ELECTRONICS CO., LTD." 001CBA o="VerScient, Inc." 001CBB o="MusicianLink" 001CBC o="CastGrabber, LLC" 001CBD o="Ezze Mobile Tech., Inc." 001CC2 o="Part II Research, Inc." 001CC6 o="ProStor Systems" 001CC7 o="Rembrandt Technologies, LLC d/b/a REMSTREAM" 001CC8 o="INDUSTRONIC Industrie-Electronic GmbH & Co. KG" 001CC9 o="Kaise Electronic Technology Co., Ltd." 001CCA o="Shanghai Gaozhi Science & Technology Development Co." 001CCB o="Forth Corporation Public Company Limited" 001CCD o="Alektrona Corporation" 001CCE o="By Techdesign" 001CCF o="LIMETEK" 001CD0 o="Circleone Co.,Ltd." 001CD1 o="Waves Audio LTD" 001CD2 o="King Champion (Hong Kong) Limited" 001CD3 o="ZP Engineering SEL" 001CD5 o="ZeeVee, Inc." 001CD7,9CDF03,A056B2 o="Harman/Becker Automotive Systems GmbH" 001CD8 o="BlueAnt Wireless" 001CD9 o="GlobalTop Technology Inc." 001CDA o="Exegin Technologies Limited" 001CDB o="CARPOINT CO.,LTD" 001CDC o="Custom Computer Services, Inc." 001CDD o="COWBELL ENGINEERING CO., LTD." 001CDE o="Interactive Multimedia eXchange Inc." 001CE0 o="DASAN TPS" 001CE1 o="INDRA SISTEMAS, S.A." 001CE2 o="Attero Tech, LLC." 001CE3 o="Optimedical Systems" 001CE4 o="EleSy JSC" 001CE5 o="MBS Electronic Systems GmbH" 001CE6 o="INNES" 001CE7 o="Rocon PLC Research Centre" 001CE8 o="Cummins Inc" 001CE9 o="Galaxy Technology Limited" 001CEC o="Mobilesoft (Aust.) Pty Ltd" 001CED o="ENVIRONNEMENT SA" 001CEE,0022F3,243184,2884FA,345A06,34F62D,6879ED,781C5A,803896,9CC7D1,A0DDE5,ACA88E,F09FFC o="SHARP Corporation" 001CF1 o="SUPoX Technology Co. , LTD." 001CF2 o="Tenlon Technology Co.,Ltd." 001CF3 o="EVS BROADCAST EQUIPMENT" 001CF4 o="Media Technology Systems Inc" 001CF5 o="Wiseblue Technology Limited" 001CF7 o="AudioScience" 001CF8 o="Parade Technologies, Ltd." 001CFA,B83A9D o="Alarm.com" 001CFD,00CC3F,1C549E,48D0CF,7091F3,8C3A7E,9CAC6D,ACEB51,E80FC8,F0B31E o="Universal Electronics, Inc." 001CFE o="Quartics Inc" 001CFF o="Napera Networks Inc" 001D00 o="Brivo Systems, LLC" 001D01 o="Neptune Digital" 001D02 o="Cybertech Telecom Development" 001D03 o="Design Solutions Inc." 001D04 o="Zipit Wireless, Inc." 001D06 o="HM Electronics, Inc." 001D07 o="Shenzhen Sang Fei Consumer Communications Co.,Ltd" 001D08,CCD3E2 o="Jiangsu Yinhe Electronics Co.,Ltd." 001D0A o="Davis Instruments, Inc." 001D0B o="Power Standards Lab" 001D0C o="MobileCompia" 001D0E o="Agapha Technology co., Ltd." 001D10 o="LightHaus Logic, Inc." 001D11 o="Analogue & Micro Ltd" 001D12 o="ROHM CO., LTD." 001D13 o="NextGTV" 001D14 o="SPERADTONE INFORMATION TECHNOLOGY LIMITED" 001D15 o="Shenzhen Dolphin Electronic Co., Ltd" 001D17 o="Digital Sky Corporation" 001D18 o="Power Innovation GmbH" 001D1A o="OvisLink S.A." 001D1B o="Sangean Electronics Inc." 001D1C o="Gennet s.a." 001D1D o="Inter-M Corporation" 001D1E o="KYUSHU TEN CO.,LTD" 001D1F o="Siauliu Tauro Televizoriai, JSC" 001D20,0030DA,1C6499,3872C0,64680C,C8D12A,D8B6B7,F88E85 o="Comtrend Corporation" 001D21 o="Alcad SL" 001D22 o="Foss Analytical A/S" 001D23 o="SENSUS" 001D24 o="Aclara Power-Line Systems Inc." 001D26 o="Rockridgesound Technology Co." 001D27 o="NAC-INTERCOM" 001D29,98BA39 o="Doro AB" 001D2A,20C8B3 o="SHENZHEN BUL-TECH CO.,LTD." 001D2B o="Wuhan Pont Technology CO. , LTD" 001D2C o="Wavetrend Technologies (Pty) Limited" 001D2D o="Pylone, Inc." 001D2F o="QuantumVision Corporation" 001D30 o="YX Wireless S.A." 001D31 o="HIGHPRO INTERNATIONAL R&D CO,.LTD." 001D32 o="Longkay Communication & Technology (Shanghai) Co. Ltd" 001D33 o="Maverick Systems Inc." 001D34 o="SYRIS Technology Corp" 001D35 o="Viconics Electronics Inc." 001D36 o="ELECTRONICS CORPORATION OF INDIA LIMITED" 001D37 o="Thales-Panda Transportation System" 001D39 o="MOOHADIGITAL CO., LTD" 001D3A o="mh acoustics LLC" 001D3C o="Muscle Corporation" 001D3D o="Avidyne Corporation" 001D3E o="SAKA TECHNO SCIENCE CO.,LTD" 001D3F o="Mitron Pty Ltd" 001D40 o="Intel – GE Care Innovations LLC" 001D41 o="Hardy Instruments" 001D43 o="Shenzhen G-link Digital Technology Co., Ltd." 001D44 o="Krohne" 001D47 o="Covote GmbH & Co KG" 001D48 o="Sensor-Technik Wiedemann GmbH" 001D49 o="Innovation Wireless Inc." 001D4A o="Carestream Health, Inc." 001D4B o="Grid Connect Inc." 001D4D o="Adaptive Recognition Hungary, Inc" 001D4E o="TCM Mobile LLC" 001D50 o="SPINETIX SA" 001D51 o="Babcock & Wilcox Power Generation Group, Inc" 001D52 o="Defzone B.V." 001D53 o="S&O Electronics (Malaysia) Sdn. Bhd." 001D54 o="Sunnic Technology & Merchandise INC." 001D55 o="ZANTAZ, Inc" 001D56 o="Kramer Electronics Ltd." 001D57 o="CAETEC Messtechnik" 001D58 o="CQ Inc" 001D59 o="Mitra Energy & Infrastructure" 001D5B o="Tecvan Informática Ltda" 001D5C o="Tom Communication Industrial Co.,Ltd." 001D5D o="Control Dynamics Pty. Ltd." 001D5E o="COMING MEDIA CORP." 001D5F o="OverSpeed SARL" 001D61 o="BIJ Corporation" 001D62 o="InPhase Technologies" 001D63 o="Miele & Cie. KG" 001D64 o="Adam Communications Systems Int Ltd" 001D65 o="Microwave Radio Communications" 001D66 o="Hyundai Telecom" 001D67 o="AMEC" 001D69 o="Knorr-Bremse IT-Services GmbH" 001D6C o="ClariPhy Communications, Inc." 001D6D o="Confidant International LLC" 001D6F o="Chainzone Technology Co., Ltd" 001D74 o="Tianjin China-Silicon Microelectronics Co., Ltd." 001D75 o="Radioscape PLC" 001D76 o="Eyeheight Ltd." 001D77 o="NSGate" 001D78 o="Invengo Information Technology Co.,Ltd" 001D79 o="SIGNAMAX LLC" 001D7A o="Wideband Semiconductor, Inc." 001D7B o="Ice Energy, Inc." 001D7C o="ABE Elettronica S.p.A." 001D7F o="Tekron International Ltd" 001D80 o="Beijing Huahuan Eletronics Co.,Ltd" 001D81 o="GUANGZHOU GATEWAY ELECTRONICS CO., LTD" 001D83 o="Emitech Corporation" 001D84 o="Gateway, Inc." 001D85 o="Call Direct Cellular Solutions" 001D86 o="Shinwa Industries(China) Ltd." 001D87 o="VigTech Labs Sdn Bhd" 001D88 o="Clearwire" 001D89 o="VaultStor Corporation" 001D8A o="TechTrex Inc" 001D8C o="La Crosse Technology LTD" 001D8D o="Fluke Process Instruments GmbH" 001D8E o="Alereon, Inc." 001D8F o="PureWave Networks" 001D90 o="EMCO Flow Systems" 001D91 o="Digitize, Inc" 001D92,002185 o="MICRO-STAR INT'L CO.,LTD." 001D93 o="Modacom" 001D94 o="Climax Technology Co., Ltd" 001D95 o="Flash, Inc." 001D96 o="WatchGuard Video" 001D97 o="Alertus Technologies LLC" 001D99 o="Cyan Optic, Inc." 001D9A o="GODEX INTERNATIONAL CO., LTD" 001D9B o="Hokuyo Automatic Co., Ltd." 001D9D o="ARTJOY INTERNATIONAL LIMITED" 001D9E o="AXION TECHNOLOGIES" 001D9F o="MATT R.P.Traczynscy Sp.J." 001DA0 o="Heng Yu Electronic Manufacturing Company Limited" 001DA3 o="SabiOso" 001DA4 o="Hangzhou System Technology CO., LTD" 001DA5 o="WB Electronics" 001DA6 o="Media Numerics Limited" 001DA7 o="Seamless Internet" 001DA8 o="Takahata Electronics Co.,Ltd" 001DA9 o="Castles Technology, Co., LTD" 001DAA,00507F,1449BC o="DrayTek Corp." 001DAB o="SwissQual License AG" 001DAC o="Gigamon Systems LLC" 001DAD o="Sinotech Engineering Consultants, Inc. Geotechnical Enginee" 001DAE o="CHANG TSENG TECHNOLOGY CO., LTD" 001DB0 o="FuJian HengTong Information Technology Co.,Ltd" 001DB1 o="Crescendo Networks" 001DB2 o="HOKKAIDO ELECTRIC ENGINEERING CO.,LTD." 001DB4 o="KUMHO ENG CO.,LTD" 001DB6 o="BestComm Networks, Inc." 001DB7 o="Tendril Networks, Inc." 001DB8 o="Intoto Inc." 001DB9 o="Wellspring Wireless" 001DBB o="Dynamic System Electronics Corp." 001DBD o="Versamed Inc." 001DBF o="Radiient Technologies, Inc." 001DC0 o="Enphase Energy" 001DC1 o="Audinate Pty L" 001DC2 o="XORTEC OY" 001DC3 o="RIKOR TV, Ltd" 001DC4 o="AIOI Systems Co., Ltd." 001DC5 o="Beijing Jiaxun Feihong Electricial Co., Ltd." 001DC6 o="SNR Inc." 001DC7 o="L-3 Communications Geneva Aerospace" 001DC8 o="Navionics Research Inc., dba SCADAmetrics" 001DC9 o="GainSpan Corp." 001DCA o="PAV Electronics Limited" 001DCB o="Exéns Development Oy" 001DCC o="Ayon Cyber Security, Inc" 001DD7 o="Algolith" 001DDA o="Mikroelektronika spol. s r. o." 001DDB o="C-BEL Corporation" 001DDC o="HangZhou DeChangLong Tech&Info Co.,Ltd" 001DDD o="DAT H.K. LIMITED" 001DDE o="Zhejiang Broadcast&Television Technology Co.,Ltd." 001DDF,004279,0CA694,98523D,B8D50B,F8DF15,FCA89A o="Sunitec Enterprise Co.,Ltd" 001DE2 o="Radionor Communications" 001DE3 o="Intuicom" 001DE4 o="Visioneered Image Systems" 001DE7 o="Marine Sonic Technology, Ltd." 001DE8 o="Nikko Denki Tsushin Corporation(NDTC)" 001DEA o="Commtest Instruments Ltd" 001DEB o="DINEC International" 001DEC o="Marusys" 001DED o="Grid Net, Inc." 001DEE o="NEXTVISION SISTEMAS DIGITAIS DE TELEVISÃO LTDA." 001DEF o="TRIMM, INC." 001DF0 o="Vidient Systems, Inc." 001DF1 o="Intego Systems, Inc." 001DF2 o="Netflix, Inc." 001DF3 o="SBS Science & Technology Co., Ltd" 001DF4 o="Magellan Technology Pty Limited" 001DF5 o="Sunshine Co,LTD" 001DF7 o="R. STAHL Schaltgeräte GmbH" 001DF8 o="Webpro Vision Technology Corporation" 001DF9 o="Cybiotronics (Far East) Limited" 001DFA,4C9157,E89AFF o="Fujian LANDI Commercial Equipment Co.,Ltd" 001DFB o="NETCLEUS Systems Corporation" 001DFC o="KSIC" 001DFE o="Palm, Inc" 001DFF o="Network Critical Solutions Ltd" 001E00 o="Shantou Institute of Ultrasonic Instruments" 001E01 o="Renesas Technology Sales Co., Ltd." 001E02 o="Sougou Keikaku Kougyou Co.,Ltd." 001E03 o="LiComm Co., Ltd." 001E04 o="Hanson Research Corporation" 001E05 o="Xseed Technologies & Computing" 001E06 o="WIBRAIN" 001E07 o="Winy Technology Co., Ltd." 001E08 o="Centec Networks Inc" 001E09 o="ZEFATEK Co.,LTD" 001E0A o="Syba Tech Limited" 001E0C o="Sherwood Information Partners, Inc." 001E0D o="Micran Ltd." 001E0E o="MAXI VIEW HOLDINGS LIMITED" 001E0F o="Briot International" 001E11 o="ELELUX INTERNATIONAL LTD" 001E12 o="Ecolab" 001E15 o="Beech Hill Electronics" 001E16 o="Keytronix" 001E17 o="STN BV" 001E18 o="Radio Activity srl" 001E19 o="GTRI" 001E1A o="Best Source Taiwan Inc." 001E1B o="Digital Stream Technology, Inc." 001E1C o="SWS Australia Pty Limited" 001E1D o="East Coast Datacom, Inc." 001E1E o="Honeywell Life Safety" 001E20 o="Intertain Inc." 001E22 o="ARVOO Imaging Products BV" 001E23 o="Electronic Educational Devices, Inc" 001E24 o="Zhejiang Bell Technology Co.,ltd" 001E25,30EB25 o="INTEK DIGITAL" 001E26 o="Digifriends Co. Ltd" 001E27 o="SBN TECH Co.,Ltd." 001E28 o="Lumexis Corporation" 001E29 o="Hypertherm Inc" 001E2B o="Radio Systems Design, Inc." 001E2C o="CyVerse Corporation" 001E2D o="STIM" 001E2E o="SIRTI S.p.A." 001E2F o="DiMoto Pty Ltd" 001E30 o="Shireen Inc" 001E31 o="INFOMARK CO.,LTD." 001E32 o="Zensys" 001E33,00266C,008CFA,00A0D1,3868DD,7CD30A o="INVENTEC CORPORATION" 001E34 o="CryptoMetrics" 001E36 o="IPTE" 001E38 o="Bluecard Software Technology Co., Ltd." 001E39 o="Comsys Communication Ltd." 001E3C o="Lyngbox Media AB" 001E3E o="KMW Inc." 001E3F o="TrellisWare Technologies, Inc." 001E40,741865,80A1D7,94D723,A89DD2,FCB0C4 o="Shanghai DareGlobal Technologies Co.,Ltd" 001E41 o="Microwave Communication & Component, Inc." 001E42 o="Teltonika" 001E43 o="AISIN AW CO.,LTD." 001E44 o="SANTEC" 001E47 o="PT. Hariff Daya Tunggal Engineering" 001E48 o="Wi-Links" 001E4B o="City Theatrical" 001E4D o="Welkin Sciences, LLC" 001E4E o="DAKO EDV-Ingenieur- und Systemhaus GmbH" 001E50 o="BATTISTONI RESEARCH" 001E51 o="Converter Industry Srl" 001E53 o="Further Tech Co., LTD" 001E54 o="TOYO ELECTRIC Corporation" 001E55 o="COWON SYSTEMS,Inc." 001E56 o="Bally Wulff Entertainment GmbH" 001E57 o="ALCOMA, spol. s r.o." 001E59 o="Silicon Turnkey Express, LLC" 001E5B o="Unitron Company, Inc." 001E5C o="RB GeneralEkonomik" 001E5D o="Holosys d.o.o." 001E5E o="COmputime Ltd." 001E5F o="KwikByte, LLC" 001E60 o="Digital Lighting Systems, Inc" 001E61 o="ITEC GmbH" 001E62 o="Siemon" 001E63 o="Vibro-Meter SA" 001E66 o="RESOL Elektronische Regelungen GmbH" 001E6A o="Beijing Bluexon Technology Co.,Ltd" 001E6C o="Opaque Systems" 001E6D o="IT R&D Center" 001E6E o="Shenzhen First Mile Communications Ltd" 001E6F o="Magna-Power Electronics, Inc." 001E70 o="Cobham Antenna Systems" 001E71 o="MIrcom Group of Companies" 001E72 o="PCS" 001E76 o="Thermo Fisher Scientific" 001E77 o="Air2App" 001E78 o="Owitek Technology Ltd.," 001E7B o="R.I.CO. S.r.l." 001E7C o="Taiwick Limited" 001E7F o="CBM of America" 001E81 o="CNB Technology Inc." 001E83 o="LAN/MAN Standards Association (LMSC)" 001E84 o="Pika Technologies Inc." 001E85 o="Lagotek Corporation" 001E86 o="MEL Co.,Ltd." 001E87 o="Realease Limited" 001E88 o="ANDOR SYSTEM SUPPORT CO., LTD." 001E89 o="CRFS Limited" 001E8A o="eCopy, Inc" 001E8B o="Infra Access Korea Co., Ltd." 001E8E o="Hunkeler AG" 001E91 o="KIMIN Electronic Co., Ltd." 001E92 o="JEULIN S.A." 001E93 o="CiriTech Systems Inc" 001E94 o="SUPERCOM TECHNOLOGY CORPORATION" 001E95 o="SIGMALINK" 001E96 o="Sepura Plc" 001E97 o="Medium Link System Technology CO., LTD," 001E98 o="GreenLine Communications" 001E99 o="Vantanol Industrial Corporation" 001E9A o="HAMILTON Bonaduz AG" 001E9B o="San-Eisha, Ltd." 001E9C o="Fidustron INC" 001E9D o="Recall Technologies, Inc." 001E9E o="ddm hopt + schuler Gmbh + Co. KG" 001E9F o="Visioneering Systems, Inc." 001EA0 o="XLN-t" 001EA1 o="Brunata a/s" 001EA2 o="Symx Systems, Inc." 001EA5 o="ROBOTOUS, Inc." 001EA6 o="Best IT World (India) Pvt. Ltd." 001EA8 o="Datang Mobile Communications Equipment CO.,LTD" 001EAA o="E-Senza Technologies GmbH" 001EAB o="TeleWell Oy" 001EAC o="Armadeus Systems" 001EAD o="Wingtech Group Limited" 001EAE,0054AF,20AD56 o="Continental Automotive Systems Inc." 001EAF o="Ophir Optronics Ltd" 001EB0 o="ImesD Electronica S.L." 001EB1 o="Cryptsoft Pty Ltd" 001EB2 o="LG innotek" 001EB3,4CBC72 o="Primex Wireless" 001EB4 o="UNIFAT TECHNOLOGY LTD." 001EB5 o="Ever Sparkle Technologies Ltd" 001EB6 o="TAG Heuer SA" 001EB7 o="TBTech, Co., Ltd." 001EB8 o="Aloys, Inc" 001EB9 o="Sing Fai Technology Limited" 001EBA o="High Density Devices AS" 001EBB o="BLUELIGHT TECHNOLOGY INC." 001EBC o="WINTECH AUTOMATION CO.,LTD." 001EBF o="Haas Automation Inc." 001EC3 o="Kozio, Inc." 001EC4 o="Celio Corp" 001EC5 o="Middle Atlantic Products Inc" 001EC6 o="Obvius Holdings LLC" 001EC8 o="Rapid Mobile (Pty) Ltd" 001ECB o="%RPC %Energoautomatika% Ltd" 001ECC o="CDVI" 001ECD o="KYLAND Technology Co. LTD" 001ECE o="BISA Technologies (Hong Kong) Limited" 001ECF o="PHILIPS ELECTRONICS UK LTD" 001ED0 o="Ingespace" 001ED1 o="Keyprocessor B.V." 001ED2 o="Ray Shine Video Technology Inc" 001ED3 o="Dot Technology Int'l Co., Ltd." 001ED4 o="Doble Engineering" 001ED5 o="Tekon-Automatics" 001ED6 o="Alentec & Orion AB" 001ED7 o="H-Stream Wireless, Inc." 001ED8 o="Digital United Inc." 001ED9,080070 o="Mitsubishi Precision Co.,LTd." 001EDA o="Wesemann Elektrotechniek B.V." 001EDB o="Giken Trastem Co., Ltd." 001EDD o="WASKO S.A." 001EDE o="BYD COMPANY LIMITED" 001EDF o="Master Industrialization Center Kista" 001EE0 o="Urmet Domus SpA" 001EE3 o="T&W Electronics (ShenZhen) Co.,Ltd" 001EE4 o="ACS Solutions France" 001EE6 o="Shenzhen Advanced Video Info-Tech Co., Ltd." 001EE7 o="Epic Systems Inc" 001EE8 o="Mytek" 001EE9 o="Stoneridge Electronics AB" 001EEA o="Sensor Switch, Inc." 001EEB,DC0914 o="Talk-A-Phone Co." 001EED o="Adventiq Ltd." 001EEE o="ETL Systems Ltd" 001EEF o="Cantronic International Limited" 001EF0 o="Gigafin Networks" 001EF1 o="Servimat" 001EF2 o="Micro Motion Inc" 001EF3 o="From2" 001EF4 o="L-3 Communications Display Systems" 001EF5 o="Hitek Automated Inc." 001EF8 o="Emfinity Inc." 001EF9 o="Pascom Kommunikations systeme GmbH." 001EFA o="PROTEI Ltd." 001EFB o="Trio Motion Technology Ltd" 001EFC o="JSC %MASSA-K%" 001EFD o="Microbit 2.0 AB" 001EFE o="LEVEL s.r.o." 001EFF o="Mueller-Elektronik GmbH & Co. KG" 001F02 o="Pixelmetrix Corporation Pte Ltd" 001F03 o="NUM AG" 001F04 o="Granch Ltd." 001F05 o="iTAS Technology Corp." 001F06 o="Integrated Dispatch Solutions" 001F07 o="AZTEQ Mobile" 001F08 o="RISCO LTD" 001F09,4C8FA5 o="Jastec" 001F0B o="Federal State Unitary Enterprise Industrial Union%Electropribor%" 001F0C o="Intelligent Digital Services GmbH" 001F0D o="L3 Communications - Telemetry West" 001F0E o="Japan Kyastem Co., Ltd" 001F0F o="Select Engineered Systems" 001F10 o="TOLEDO DO BRASIL INDUSTRIA DE BALANCAS LTDA" 001F11 o="OPENMOKO, INC." 001F13 o="S.& A.S. Ltd." 001F14 o="NexG" 001F15 o="Bioscrypt Inc" 001F17 o="IDX Company, Ltd." 001F18 o="Hakusan.Mfg.Co,.Ltd" 001F19 o="BEN-RI ELECTRONICA S.A." 001F1A o="Prominvest" 001F1B o="RoyalTek Company Ltd." 001F1C o="KOBISHI ELECTRIC Co.,Ltd." 001F1D o="Atlas Material Testing Technology LLC" 001F1E o="Astec Technology Co., Ltd" 001F20 o="Logitech Europe SA" 001F21 o="Inner Mongolia Yin An Science & Technology Development Co.,L" 001F23 o="Interacoustics" 001F24 o="DIGITVIEW TECHNOLOGY CO., LTD." 001F25 o="MBS GmbH" 001F2A o="ACCM" 001F2B o="Orange Logic" 001F2C o="Starbridge Networks" 001F2D o="Electro-Optical Imaging, Inc." 001F2E o="Triangle Research Int'l Pte Ltd" 001F2F o="Berker GmbH & Co. KG" 001F30 o="Travelping" 001F31 o="Radiocomp" 001F34 o="Lung Hwa Electronics Co., Ltd." 001F35 o="AIR802 LLC" 001F36 o="Bellwin Information Co. Ltd.," 001F37 o="Genesis I&C" 001F38 o="POSITRON" 001F39 o="Construcciones y Auxiliar de Ferrocarriles, S.A." 001F3D o="Qbit GmbH" 001F3E o="RP-Technik e.K." 001F40 o="Speakercraft Inc." 001F42 o="Etherstack plc" 001F43 o="ENTES ELEKTRONIK" 001F44 o="GE Transportation Systems" 001F47,08EF3B,541589,C43018 o="MCS Logic Inc." 001F48 o="Mojix Inc." 001F49 o="Manhattan TV Ltd" 001F4A o="Albentia Systems S.A." 001F4B o="Lineage Power" 001F4C o="Roseman Engineering Ltd" 001F4D o="Segnetics LLC" 001F4E o="ConMed Linvatec" 001F4F o="Thinkware Co. Ltd." 001F50 o="Swissdis AG" 001F51 o="HD Communications Corp" 001F52 o="UVT Unternehmensberatung fur Verkehr und Technik GmbH" 001F53 o="GEMAC Chemnitz GmbH" 001F54 o="Lorex Technology Inc." 001F55 o="Honeywell Security (China) Co., Ltd." 001F56 o="DIGITAL FORECAST" 001F57 o="Phonik Innovation Co.,LTD" 001F58 o="EMH Energiemesstechnik GmbH" 001F59 o="Kronback Tracers" 001F5A o="Beckwith Electric Co." 001F5E o="Dyna Technology Co.,Ltd." 001F5F o="Blatand GmbH" 001F60 o="COMPASS SYSTEMS CORP." 001F61 o="Talent Communication Networks Inc." 001F62 o="JSC %Stilsoft%" 001F63 o="JSC Goodwin-Europa" 001F64 o="Beijing Autelan Technology Inc." 001F65 o="KOREA ELECTRIC TERMINAL CO., LTD." 001F66 o="PLANAR LLC" 001F67 o="Hitachi,Ltd." 001F68 o="Martinsson Elektronik AB" 001F69 o="Pingood Technology Co., Ltd." 001F6A o="PacketFlux Technologies, Inc." 001F6E o="Vtech Engineering Corporation" 001F6F o="Fujian Sunnada Communication Co.,Ltd." 001F70 o="Botik Technologies LTD" 001F71 o="xG Technology, Inc." 001F72 o="QingDao Hiphone Technology Co,.Ltd" 001F73 o="Teraview Technology Co., Ltd." 001F74 o="Eigen Development" 001F75 o="GiBahn Media" 001F76 o="AirLogic Systems Inc." 001F77 o="HEOL DESIGN" 001F78 o="Blue Fox Porini Textile" 001F79 o="Lodam Electronics A/S" 001F7A o="WiWide Inc." 001F7B o="TechNexion Ltd." 001F7C o="Witelcom AS" 001F7D o="Embedded Wireless GmbH" 001F7F o="Phabrix Limited" 001F80 o="Lucas Holding bv" 001F81 o="Accel Semiconductor Corp" 001F83 o="Teleplan Technology Services Sdn Bhd" 001F84 o="Gigle Semiconductor" 001F85 o="Apriva ISS, LLC" 001F86 o="digEcor" 001F87 o="Skydigital Inc." 001F88 o="FMS Force Measuring Systems AG" 001F89 o="Signalion GmbH" 001F8A o="Ellion Digital Inc." 001F8B o="Cache IQ" 001F8C o="CCS Inc." 001F8D o="Ingenieurbuero Stark GmbH und Ko. KG" 001F8E o="Metris USA Inc." 001F8F o="Shanghai Bellmann Digital Source Co.,Ltd." 001F91 o="DBS Lodging Technologies, LLC" 001F93,00D0B2 o="Xiotech Corporation" 001F94 o="Lascar Electronics Ltd" 001F96 o="APROTECH CO.LTD" 001F97 o="BERTANA srl" 001F98 o="DAIICHI-DENTSU LTD." 001F99 o="SERONICS co.ltd" 001F9B o="POSBRO" 001F9C o="LEDCO" 001FA0 o="A10 Networks" 001FA1 o="Gtran Inc" 001FA2 o="Datron World Communications, Inc." 001FA3 o="T&W Electronics(Shenzhen)Co.,Ltd." 001FA5 o="Blue-White Industries" 001FA6 o="Stilo srl" 001FA8 o="Smart Energy Instruments Inc." 001FA9 o="Atlanta DTH, Inc." 001FAA o="Taseon, Inc." 001FAB o="I.S HIGH TECH.INC" 001FAC o="Goodmill Systems Ltd" 001FAD o="Brown Innovations, Inc" 001FAE o="Blick South Africa (Pty) Ltd" 001FAF o="NextIO, Inc." 001FB0 o="TimeIPS, Inc." 001FB1 o="Cybertech Inc." 001FB2 o="Sontheim Industrie Elektronik GmbH" 001FB4 o="SmartShare Systems" 001FB5 o="I/O Interconnect Inc." 001FB6 o="Chi Lin Technology Co., Ltd." 001FB7 o="WiMate Technologies Corp." 001FB8 o="Universal Remote Control, Inc." 001FB9 o="Paltronics" 001FBA o="Boyoung Tech" 001FBB o="Xenatech Co.,LTD" 001FBC o="EVGA Corporation" 001FBE o="Shenzhen Mopnet Industrial Co.,Ltd" 001FBF o="Fulhua Microelectronics Corp. Taiwan Branch" 001FC0 o="Control Express Finland Oy" 001FC1 o="Hanlong Technology Co.,LTD" 001FC2 o="Jow Tong Technology Co Ltd" 001FC3 o="SmartSynch, Inc" 001FC7 o="Casio Hitachi Mobile Communications Co., Ltd." 001FC8 o="Up-Today Industrial Co., Ltd." 001FCB o="NIW Solutions" 001FCE,08C6B3 o="QTECH LLC" 001FCF o="MSI Technology GmbH" 001FD1 o="OPTEX CO.,LTD." 001FD2 o="COMMTECH TECHNOLOGY MACAO COMMERCIAL OFFSHORE LTD." 001FD3 o="RIVA Networks Inc." 001FD4 o="4IPNET, INC." 001FD5 o="MICRORISC s.r.o." 001FD6 o="Shenzhen Allywll" 001FD7 o="TELERAD SA" 001FD8 o="A-TRUST COMPUTER CORPORATION" 001FD9 o="RSD Communications Ltd" 001FDB o="Network Supply Corp.," 001FDC o="Mobile Safe Track Ltd" 001FDD o="GDI LLC" 001FE0 o="EdgeVelocity Corp" 001FE5 o="In-Circuit GmbH" 001FE6 o="Alphion Corporation" 001FE7 o="Simet" 001FE8 o="KURUSUGAWA Electronics Industry Inc,." 001FE9 o="Printrex, Inc." 001FEA o="Applied Media Technologies Corporation" 001FEB o="Trio Datacom Pty Ltd" 001FEC o="Synapse Électronique" 001FED o="Tecan Systems Inc." 001FEE o="ubisys technologies GmbH" 001FEF o="SHINSEI INDUSTRIES CO.,LTD" 001FF0 o="Audio Partnership" 001FF1 o="Paradox Hellas S.A." 001FF2 o="VIA Technologies, Inc." 001FF4 o="Power Monitors, Inc." 001FF5 o="Kongsberg Defence & Aerospace" 001FF6 o="PS Audio International" 001FF7 o="Nakajima All Precision Co., Ltd." 001FF8 o="Siemens AG, Sector Industry, Drive Technologies, Motion Control Systems" 001FF9 o="Advanced Knowledge Associates" 001FFA o="Coretree, Co, Ltd" 001FFB o="Green Packet Bhd" 001FFC o="Riccius+Sohn GmbH" 001FFD o="Indigo Mobile Technologies Corp." 001FFF o="Respironics, Inc." 002001 o="DSP SOLUTIONS, INC." 002002 o="SERITECH ENTERPRISE CO., LTD." 002003 o="PIXEL POWER LTD." 002004 o="YAMATAKE-HONEYWELL CO., LTD." 002005 o="SIMPLE TECHNOLOGY" 002006 o="GARRETT COMMUNICATIONS, INC." 002007 o="SFA, INC." 002008 o="CABLE & COMPUTER TECHNOLOGY" 002009 o="PACKARD BELL ELEC., INC." 00200A o="SOURCE-COMM CORP." 00200B o="OCTAGON SYSTEMS CORP." 00200C o="ADASTRA SYSTEMS CORP." 00200D o="CARL ZEISS" 00200E o="NSSLGlobal Technologies AS" 00200F o="EBRAINS Inc" 002010 o="JEOL SYSTEM TECHNOLOGY CO. LTD" 002011 o="CANOPUS CO., LTD." 002012 o="CAMTRONICS MEDICAL SYSTEMS" 002013 o="DIVERSIFIED TECHNOLOGY, INC." 002014 o="GLOBAL VIEW CO., LTD." 002015 o="ACTIS COMPUTER SA" 002016 o="SHOWA ELECTRIC WIRE & CABLE CO" 002017 o="ORBOTECH" 002019 o="OHLER GMBH" 00201A o="MRV Communications, Inc." 00201B o="NORTHERN TELECOM/NETWORK" 00201C o="EXCEL, INC." 00201D o="KATANA PRODUCTS" 00201E o="NETQUEST CORPORATION" 00201F o="BEST POWER TECHNOLOGY, INC." 002020 o="MEGATRON COMPUTER INDUSTRIES PTY, LTD." 002021 o="ALGORITHMS SOFTWARE PVT. LTD." 002022 o="NMS Communications" 002023 o="T.C. TECHNOLOGIES PTY. LTD" 002024 o="PACIFIC COMMUNICATION SCIENCES" 002025 o="CONTROL TECHNOLOGY, INC." 002026 o="AMKLY SYSTEMS, INC." 002027 o="MING FORTUNE INDUSTRY CO., LTD" 002028 o="WEST EGG SYSTEMS, INC." 002029 o="TELEPROCESSING PRODUCTS, INC." 00202A o="N.V. DZINE" 00202B o="ADVANCED TELECOMMUNICATIONS MODULES, LTD." 00202C o="WELLTRONIX CO., LTD." 00202D o="TAIYO CORPORATION" 00202E o="DAYSTAR DIGITAL" 00202F o="ZETA COMMUNICATIONS, LTD." 002030 o="ANALOG & DIGITAL SYSTEMS" 002032 o="ALCATEL TAISEL" 002033 o="SYNAPSE TECHNOLOGIES, INC." 002034 o="ROTEC INDUSTRIEAUTOMATION GMBH" 002036 o="BMC SOFTWARE" 002038 o="VME MICROSYSTEMS INTERNATIONAL CORPORATION" 002039 o="SCINETS" 00203A o="DIGITAL BI0METRICS INC." 00203B o="WISDM LTD." 00203C o="EUROTIME AB" 00203D o="Honeywell Environmental & Combustion Controls" 00203E o="LogiCan Technologies, Inc." 00203F o="JUKI CORPORATION" 002041 o="DATA NET" 002042 o="DATAMETRICS CORP." 002043 o="NEURON COMPANY LIMITED" 002044 o="GENITECH PTY LTD" 002045,00E089 o="ION Networks, Inc." 002046 o="CIPRICO, INC." 002047 o="STEINBRECHER CORP." 002048,009045,00A078 o="Marconi Communications" 002049 o="COMTRON, INC." 00204A o="PRONET GMBH" 00204B o="AUTOCOMPUTER CO., LTD." 00204C o="MITRON COMPUTER PTE LTD." 00204D o="INOVIS GMBH" 00204E o="NETWORK SECURITY SYSTEMS, INC." 00204F o="DEUTSCHE AEROSPACE AG" 002050 o="KOREA COMPUTER INC." 002051,00A06A,00C0E6,00E075,A06A00 o="Verilink Corporation" 002052 o="RAGULA SYSTEMS" 002053 o="HUNTSVILLE MICROSYSTEMS, INC." 002054,009097,00D0D1 o="Sycamore Networks" 002055 o="ALTECH CO., LTD." 002056 o="NEOPRODUCTS" 002057 o="TITZE DATENTECHNIK GmbH" 002058 o="ALLIED SIGNAL INC." 002059 o="MIRO COMPUTER PRODUCTS AG" 00205A o="COMPUTER IDENTICS" 00205B o="Kentrox, LLC" 00205C o="InterNet Systems of Florida, Inc." 00205D o="NANOMATIC OY" 00205E o="CASTLE ROCK, INC." 00205F o="GAMMADATA COMPUTER GMBH" 002060 o="ALCATEL ITALIA S.p.A." 002061 o="GarrettCom, Inc." 002062 o="SCORPION LOGIC, LTD." 002063 o="WIPRO INFOTECH LTD." 002064 o="PROTEC MICROSYSTEMS, INC." 002065 o="SUPERNET NETWORKING INC." 002066 o="GENERAL MAGIC, INC." 002068 o="ISDYNE" 002069 o="ISDN SYSTEMS CORPORATION" 00206A o="OSAKA COMPUTER CORP." 00206B,0050AA,080086 o="KONICA MINOLTA HOLDINGS, INC." 00206C o="EVERGREEN TECHNOLOGY CORP." 00206D o="DATA RACE, INC." 00206E o="XACT, INC." 00206F o="FLOWPOINT CORPORATION" 002070 o="HYNET, LTD." 002071 o="IBR GMBH" 002072 o="WORKLINK INNOVATIONS" 002073 o="FUSION SYSTEMS CORPORATION" 002074 o="SUNGWOON SYSTEMS" 002075 o="MOTOROLA COMMUNICATION ISRAEL" 002076 o="REUDO CORPORATION" 002077 o="KARDIOS SYSTEMS CORP." 002078 o="RUNTOP, INC." 002079 o="MIKRON GMBH" 00207A o="WiSE Communications, Inc." 00207C o="AUTEC GMBH" 00207D o="ADVANCED COMPUTER APPLICATIONS" 00207E o="FINECOM CO., LTD." 00207F o="KYOEI SANGYO CO., LTD." 002080 o="SYNERGY (UK) LTD." 002081 o="TITAN ELECTRONICS" 002082 o="ONEAC CORPORATION" 002083 o="PRESTICOM INCORPORATED" 002084 o="OCE PRINTING SYSTEMS, GMBH" 002086 o="MICROTECH ELECTRONICS LIMITED" 002087,00400E o="MEMOTEC, INC." 002089 o="T3PLUS NETWORKING, INC." 00208A o="SONIX COMMUNICATIONS, LTD." 00208B o="LAPIS TECHNOLOGIES, INC." 00208C o="GALAXY NETWORKS, INC." 00208D o="CMD TECHNOLOGY" 00208E o="CHEVIN SOFTWARE ENG. LTD." 002090 o="ADVANCED COMPRESSION TECHNOLOGY, INC." 002091 o="J125, NATIONAL SECURITY AGENCY" 002092 o="CHESS ENGINEERING B.V." 002093 o="LANDINGS TECHNOLOGY CORP." 002094 o="CUBIX CORPORATION" 002095 o="RIVA ELECTRONICS" 002096 o="Invensys" 002097 o="APPLIED SIGNAL TECHNOLOGY" 002098 o="HECTRONIC AB" 002099 o="BON ELECTRIC CO., LTD." 00209A o="THE 3DO COMPANY" 00209B o="ERSAT ELECTRONIC GMBH" 00209C o="PRIMARY ACCESS CORP." 00209D o="LIPPERT AUTOMATIONSTECHNIK" 00209E o="BROWN'S OPERATING SYSTEM SERVICES, LTD." 00209F o="MERCURY COMPUTER SYSTEMS, INC." 0020A0 o="OA LABORATORY CO., LTD." 0020A1 o="DOVATRON" 0020A2 o="GALCOM NETWORKING LTD." 0020A4 o="MULTIPOINT NETWORKS" 0020A5 o="API ENGINEERING" 0020A6 o="Proxim Wireless" 0020A7 o="PAIRGAIN TECHNOLOGIES, INC." 0020A8 o="SAST TECHNOLOGY CORP." 0020A9 o="WHITE HORSE INDUSTRIAL" 0020AA o="Ericsson Television Limited" 0020AB o="MICRO INDUSTRIES CORP." 0020AC o="INTERFLEX DATENSYSTEME GMBH" 0020AD o="LINQ SYSTEMS" 0020AE o="ORNET DATA COMMUNICATION TECH." 0020B0 o="GATEWAY DEVICES, INC." 0020B1 o="COMTECH RESEARCH INC." 0020B2 o="GKD Gesellschaft Fur Kommunikation Und Datentechnik" 0020B4 o="TERMA ELEKTRONIK AS" 0020B5 o="YASKAWA ELECTRIC CORPORATION" 0020B6 o="AGILE NETWORKS, INC." 0020B7 o="NAMAQUA COMPUTERWARE" 0020B8 o="PRIME OPTION, INC." 0020B9 o="METRICOM, INC." 0020BA o="CENTER FOR HIGH PERFORMANCE" 0020BB o="ZAX CORPORATION" 0020BC o="Long Reach Networks Pty Ltd" 0020BD o="NIOBRARA R & D CORPORATION" 0020BE o="LAN ACCESS CORP." 0020BF o="AEHR TEST SYSTEMS" 0020C0 o="PULSE ELECTRONICS, INC." 0020C2 o="TEXAS MEMORY SYSTEMS, INC." 0020C3 o="COUNTER SOLUTIONS LTD." 0020C4 o="INET,INC." 0020C5 o="EAGLE TECHNOLOGY" 0020C6 o="NECTEC" 0020C7 o="AKAI Professional M.I. Corp." 0020C8,0060AB o="LARSCOM INCORPORATED" 0020C9 o="VICTRON BV" 0020CA o="DIGITAL OCEAN" 0020CB o="PRETEC ELECTRONICS CORP." 0020CC o="DIGITAL SERVICES, LTD." 0020CD o="HYBRID NETWORKS, INC." 0020CE o="LOGICAL DESIGN GROUP, INC." 0020CF o="TEST & MEASUREMENT SYSTEMS INC" 0020D0 o="VERSALYNX CORPORATION" 0020D1 o="MICROCOMPUTER SYSTEMS (M) SDN." 0020D2 o="RAD DATA COMMUNICATIONS, LTD." 0020D3 o="OST (OUEST STANDARD TELEMATIQU" 0020D5 o="VIPA GMBH" 0020D7 o="JAPAN MINICOMPUTER SYSTEMS CO., Ltd." 0020D9 o="PANASONIC TECHNOLOGIES, INC./MIECO-US" 0020DB o="XNET TECHNOLOGY, INC." 0020DC o="DENSITRON TAIWAN LTD." 0020DD o="Cybertec Pty Ltd" 0020DE o="JAPAN DIGITAL LABORAT'Y CO.LTD" 0020DF o="KYOSAN ELECTRIC MFG. CO., LTD." 0020E1 o="ALAMAR ELECTRONICS" 0020E2 o="INFORMATION RESOURCE ENGINEERING" 0020E3 o="MCD KENCOM CORPORATION" 0020E4 o="HSING TECH ENTERPRISE CO., LTD" 0020E5 o="APEX DATA, INC." 0020E6 o="LIDKOPING MACHINE TOOLS AB" 0020E7 o="B&W NUCLEAR SERVICE COMPANY" 0020E8 o="DATATREK CORPORATION" 0020E9 o="DANTEL" 0020EA o="EFFICIENT NETWORKS, INC." 0020EB o="CINCINNATI MICROWAVE, INC." 0020EC o="TECHWARE SYSTEMS CORP." 0020ED o="GIGA-BYTE TECHNOLOGY CO., LTD." 0020EE o="GTECH CORPORATION" 0020EF o="USC CORPORATION" 0020F0 o="UNIVERSAL MICROELECTRONICS CO." 0020F1 o="ALTOS INDIA LIMITED" 0020F3 o="RAYNET CORPORATION" 0020F4 o="SPECTRIX CORPORATION" 0020F5 o="PANDATEL AG" 0020F6 o="NET TEK AND KARLNET, INC." 0020F7 o="CYBERDATA CORPORATION" 0020F8 o="CARRERA COMPUTERS, INC." 0020F9 o="PARALINK NETWORKS, INC." 0020FA o="GDE SYSTEMS, INC." 0020FB o="OCTEL COMMUNICATIONS CORP." 0020FC o="MATROX" 0020FD o="ITV TECHNOLOGIES, INC." 0020FE o="TOPWARE INC. / GRAND COMPUTER" 0020FF o="SYMMETRICAL TECHNOLOGIES" 002101 o="Aplicaciones Electronicas Quasar (AEQ)" 002102 o="UpdateLogic Inc." 002103 o="GHI Electronics, LLC" 002104,589EC6,7C2F80 o="Gigaset Communications GmbH" 002106,00249F o="RIM Testing Services" 002107 o="Seowonintech Co Ltd." 00210A o="byd:sign Corporation" 00210B o="GEMINI TRAZE RFID PVT. LTD." 00210C o="Cymtec Systems, Inc." 00210D o="SAMSIN INNOTEC" 00210E o="Orpak Systems L.T.D." 00210F o="Cernium Corp" 002110 o="Clearbox Systems" 002111 o="Uniphone Inc." 002112 o="WISCOM SYSTEM CO.,LTD" 002113 o="Padtec S/A" 002114 o="Hylab Technology Inc." 002115 o="PHYWE Systeme GmbH & Co. KG" 002116 o="Transcon Electronic Systems, spol. s r. o." 002117 o="Tellord" 002118 o="Athena Tech, Inc." 00211A o="LInTech Corporation" 00211D o="Dataline AB" 00211F o="SHINSUNG DELTATECH CO.,LTD." 002120 o="Sequel Technologies" 002121 o="VRmagic GmbH" 002122 o="Chip-pro Ltd." 002123 o="Aerosat Avionics" 002124 o="Optos Plc" 002125 o="KUK JE TONG SHIN Co.,LTD" 002126 o="Shenzhen Torch Equipment Co., Ltd." 00212A o="Audiovox Corporation" 00212B o="MSA Auer" 00212C o="SemIndia System Private Limited" 00212D o="SCIMOLEX CORPORATION" 00212E o="dresden-elektronik" 00212F o="Phoebe Micro Inc." 002130 o="Keico Hightech Inc." 002131 o="Blynke Inc." 002132 o="Masterclock, Inc." 002133 o="Building B, Inc" 002134 o="Brandywine Communications" 002135 o="ALCATEL-LUCENT" 002137 o="Bay Controls, LLC" 002138 o="Cepheid" 002139 o="Escherlogic Inc." 00213A o="Winchester Systems Inc." 00213B o="Berkshire Products, Inc" 00213C o="AliphCom" 00213D o="Cermetek Microelectronics, Inc." 00213F o="A-Team Technology Ltd." 002140 o="EN Technologies Inc." 002141 o="RADLIVE" 002142 o="Advanced Control Systems doo" 002144 o="SS Telecoms" 002145 o="Semptian Technologies Ltd." 002148 o="Kaco Solar Korea" 002149 o="China Daheng Group ,Inc." 00214A o="Pixel Velocity, Inc" 00214B o="Shenzhen HAMP Science & Technology Co.,Ltd" 00214D o="Guangzhou Skytone Transmission Technology Com. Ltd." 00214E o="GS Yuasa Power Supply Ltd." 002150 o="EYEVIEW ELECTRONICS" 002151 o="Millinet Co., Ltd." 002152 o="General Satellite Research & Development Limited" 002153,002299 o="SeaMicro Inc." 002154 o="D-TACQ Solutions Ltd" 002157 o="National Datacast, Inc." 002158 o="Style Flying Technology Co." 00215B o="SenseAnywhere" 00215F o="IHSE GmbH" 002160 o="Hidea Solutions Co. Ltd." 002161 o="Yournet Inc." 002164 o="Special Design Bureau for Seismic Instrumentation" 002165 o="Presstek Inc." 002166,0060D6 o="NovAtel Inc." 002167 o="HWA JIN T&I Corp." 002168 o="iVeia, LLC" 002169 o="Prologix, LLC." 00216C o="ODVA" 00216D o="Soltech Co., Ltd." 00216E o="Function ATI (Huizhou) Telecommunications Co., Ltd." 00216F o="SymCom, Inc." 002171 o="Wesung TNC Co., Ltd." 002172 o="Seoultek Valley" 002173 o="Ion Torrent Systems, Inc." 002174 o="AvaLAN Wireless" 002175 o="Pacific Satellite International Ltd." 002176 o="YMax Telecom Ltd." 002177 o="W. L. Gore & Associates" 002178 o="Matuschek Messtechnik GmbH" 002179 o="IOGEAR, Inc." 00217A o="Sejin Electron, Inc." 00217B o="Bastec AB" 00217D o="PYXIS S.R.L." 00217E o="Telit Communication s.p.a" 00217F o="Intraco Technology Pte Ltd" 002181 o="Si2 Microsystems Limited" 002182 o="SandLinks Systems, Ltd." 002183 o="ANDRITZ HYDRO GmbH" 002184 o="POWERSOFT SRL" 002187 o="Imacs GmbH" 002188 o="EMC Corporation" 002189 o="AppTech, Inc." 00218A o="Electronic Design and Manufacturing Company" 00218B o="Wescon Technology, Inc." 00218C o="TopControl GMBH" 00218D o="AP Router Ind. Eletronica LTDA" 00218E o="MEKICS CO., LTD." 00218F o="Avantgarde Acoustic Lautsprechersysteme GmbH" 002190 o="Goliath Solutions" 002192 o="Baoding Galaxy Electronic Technology Co.,Ltd" 002193 o="Videofon MV" 002194,504EDC,788C54 o="Ping Communication" 002195 o="GWD Media Limited" 002196 o="Telsey S.p.A." 002198 o="Thai Radio Co, LTD" 002199 o="Vacon Plc" 00219A o="Cambridge Visual Networks Ltd" 00219C o="Honeywld Technology Corp." 00219D o="Adesys BV" 00219F o="SATEL OY" 0021A2 o="EKE-Electronics Ltd." 0021A3 o="Micromint" 0021A4 o="Dbii Networks" 0021A5 o="ERLPhase Power Technologies Ltd." 0021A6 o="Videotec Spa" 0021A7 o="Hantle System Co., Ltd." 0021A8 o="Telephonics Corporation" 0021A9 o="Mobilink Telecom Co.,Ltd" 0021AC o="Infrared Integrated Systems Ltd" 0021AD o="Nordic ID Oy" 0021AE o="ALCATEL-LUCENT FRANCE - WTD" 0021AF o="Radio Frequency Systems" 0021B0 o="Tyco Telecommunications" 0021B1 o="DIGITAL SOLUTIONS LTD" 0021B2 o="Fiberblaze A/S" 0021B3 o="Ross Controls" 0021B4 o="APRO MEDIA CO., LTD" 0021B5 o="Galvanic Ltd" 0021B6 o="Triacta Power Technologies Inc." 0021B8 o="Inphi Corporation" 0021B9 o="Universal Devices Inc." 0021BB o="Riken Keiki Co., Ltd." 0021BC o="ZALA COMPUTER" 0021BF o="Hitachi High-Tech Control Systems Corporation" 0021C0 o="Mobile Appliance, Inc." 0021C1 o="ABB Oy / Medium Voltage Products" 0021C2 o="GL Communications Inc" 0021C3 o="CORNELL Communications, Inc." 0021C4 o="Consilium AB" 0021C5 o="3DSP Corp" 0021C6 o="CSJ Global, Inc." 0021C7 o="Russound" 0021C8 o="LOHUIS Networks" 0021C9 o="Wavecom Asia Pacific Limited" 0021CA o="ART System Co., Ltd." 0021CB o="SMS TECNOLOGIA ELETRONICA LTDA" 0021CC,140D4F o="Flextronics International" 0021CD o="LiveTV" 0021CE o="NTC-Metrotek" 0021CF o="The Crypto Group" 0021D0 o="Global Display Solutions Spa" 0021D3 o="BOCOM SECURITY(ASIA PACIFIC) LIMITED" 0021D4 o="Vollmer Werke GmbH" 0021D5 o="X2E GmbH" 0021D6 o="LXI Consortium" 0021D9 o="SEKONIC CORPORATION" 0021DA o="Automation Products Group Inc." 0021DB o="Santachi Video Technology (Shenzhen) Co., Ltd." 0021DC o="TECNOALARM S.r.l." 0021DD o="Northstar Systems Corp" 0021DE o="Firepro Wireless" 0021DF o="Martin Christ GmbH" 0021E0 o="CommAgility Ltd" 0021E2 o="visago Systems & Controls GmbH & Co. KG" 0021E3 o="SerialTek LLC" 0021E4 o="I-WIN" 0021E5 o="Display Solution AG" 0021E6 o="Starlight Video Limited" 0021E7 o="Informatics Services Corporation" 0021EA o="Bystronic Laser AG" 0021EB o="ESP SYSTEMS, LLC" 0021EC o="Solutronic GmbH" 0021ED o="Telegesis" 0021EE o="Full Spectrum Inc." 0021EF o="Kapsys" 0021F0 o="EW3 Technologies LLC" 0021F1 o="Tutus Data AB" 0021F2 o="EASY3CALL Technology Limited" 0021F3 o="Si14 SpA" 0021F4 o="INRange Systems, Inc" 0021F5 o="Western Engravers Supply, Inc." 0021F8 o="Enseo, Inc." 0021F9 o="WIRECOM Technologies" 0021FA o="A4SP Technologies Ltd." 0021FD o="LACROIX TRAFFIC S.A.U" 0021FF o="Cyfrowy Polsat SA" 002201 o="Aksys Networks Inc" 002202 o="Excito Elektronik i Skåne AB" 002203 o="Glensound Electronics Ltd" 002204 o="KORATEK" 002205 o="WeLink Solutions, Inc." 002206 o="Cyberdyne Inc." 002207,201F31,44D437,6003A6 o="Inteno Broadband Technology AB" 002208 o="Certicom Corp" 002209 o="Omron Healthcare Co., Ltd" 00220A o="OnLive, Inc" 00220B o="National Source Coding Center" 00220E o="Indigo Security Co., Ltd." 00220F o="MoCA (Multimedia over Coax Alliance)" 002211 o="Rohati Systems" 002212 o="CAI Networks, Inc." 002213 o="PCI CORPORATION" 002214 o="RINNAI KOREA" 002216 o="SHIBAURA VENDING MACHINE CORPORATION" 002217 o="Neat Electronics" 002218 o="AKAMAI TECHNOLOGIES INC" 00221A o="Audio Precision" 00221B o="Morega Systems" 00221D o="Freegene Technology LTD" 00221E o="Media Devices Co., Ltd." 00221F o="eSang Technologies Co., Ltd." 002220 o="Mitac Technology Corp" 002221 o="ITOH DENKI CO,LTD." 002222 o="Schaffner Deutschland GmbH" 002223 o="TimeKeeping Systems, Inc." 002224 o="Good Will Instrument Co., Ltd." 002225 o="Thales Avionics Ltd" 002226 o="Avaak, Inc." 002227 o="uv-electronic GmbH" 002228 o="Breeze Innovations Ltd." 002229 o="Compumedics Ltd" 00222A o="SoundEar A/S" 00222B o="Nucomm, Inc." 00222C o="Ceton Corp" 00222D o="SMC Networks Inc." 00222E o="maintech GmbH" 00222F o="Open Grid Computing, Inc." 002230 o="FutureLogic Inc." 002231 o="SMT&C Co., Ltd." 002232 o="Design Design Technology Ltd" 002234 o="Corventis Inc." 002235 o="Strukton Systems bv" 002236 o="VECTOR SP. Z O.O." 002237 o="Shinhint Group" 002238 o="LOGIPLUS" 002239 o="Indiana Life Sciences Incorporated" 00223B o="Communication Networks, LLC" 00223C o="RATIO Entwicklungen GmbH" 00223D o="JumpGen Systems, LLC" 00223E o="IRTrans GmbH" 002240 o="Universal Telecom S/A" 002242 o="Alacron Inc." 002244 o="Chengdu Linkon Communications Device Co., Ltd" 002245 o="Leine & Linde AB" 002246 o="Evoc Intelligent Technology Co.,Ltd." 002247 o="DAC ENGINEERING CO., LTD." 002249 o="HOME MULTIENERGY SL" 00224A o="RAYLASE AG" 00224B o="AIRTECH TECHNOLOGIES, INC." 00224D,0040D0 o="MITAC INTERNATIONAL CORP." 00224E o="SEEnergy Corp." 00224F o="Byzoro Networks Ltd." 002250 o="Point Six Wireless, LLC" 002251 o="Lumasense Technologies" 002252 o="ZOLL Lifecor Corporation" 002253 o="Entorian Technologies" 002254 o="Bigelow Aerospace" 002259 o="Guangzhou New Postcom Equipment Co.,Ltd." 00225A o="Garde Security AB" 00225B o="Teradici Corporation" 00225C o="Multimedia & Communication Technology" 00225D o="Digicable Network India Pvt. Ltd." 00225E o="Uwin Technologies Co.,LTD" 00225F,00F48D,1063C8,18CF5E,1C659D,2016D8,20689D,24FD52,28E347,2CD05A,3010B3,3052CB,30D16B,3C9180,3C9509,3CA067,40F02F,446D57,48D224,505BC2,548CA0,5800E3,5C93A2,646E69,68A3C4,701A04,70C94E,70F1A1,74DE2B,74DFBF,74E543,803049,94E979,9822EF,9CB70D,A4DB30,ACB57D,ACE010,B00594,B88687,B8EE65,C8FF28,CCB0DA,D05349,D0DF9A,E4AAEA,E82A44,E8617E,E8C74F,E8D0FC,F82819,F8A2D6 o="Liteon Technology Corporation" 002260 o="AFREEY Inc." 002261,305890 o="Frontier Silicon Ltd" 002262 o="BEP Marine" 002263 o="Koos Technical Services, Inc." 00226A o="Honeywell" 00226C o="LinkSprite Technologies, Inc." 00226D o="Shenzhen GIEC Electronics Co., Ltd." 00226E o="Gowell Electronic Limited" 00226F o="3onedata Technology Co. Ltd." 002270 o="ABK North America, LLC" 002271 o="Jäger Computergesteuerte Meßtechnik GmbH." 002272 o="American Micro-Fuel Device Corp." 002273 o="Techway" 002274 o="FamilyPhone AB" 002276 o="Triple EYE B.V." 002277 o="NEC Australia Pty Ltd" 002278 o="Shenzhen Tongfang Multimedia Technology Co.,Ltd." 002279 o="Nippon Conlux Co., Ltd." 00227B o="Apogee Labs, Inc." 00227C o="Woori SMT Co.,ltd" 00227D o="YE DATA INC." 00227E o="Chengdu 30Kaitian Communication Industry Co.Ltd" 002280 o="A2B Electronics AB" 002281 o="Daintree Networks Pty" 002282 o="8086 Consultancy" 002284 o="DESAY A&V SCIENCE AND TECHNOLOGY CO.,LTD" 002285 o="NOMUS COMM SYSTEMS" 002286 o="ASTRON" 002287 o="Titan Wireless LLC" 002288 o="Sagrad, Inc." 002289 o="Vandelrande APC inc." 00228A o="Teratronik elektronische systeme gmbh" 00228B o="Kensington Computer Products Group" 00228C o="Photon Europe GmbH" 00228D o="GBS Laboratories LLC" 00228E o="TV-NUMERIC" 00228F o="CNRS" 002292 o="Cinetal" 002294,245FDF,6C7660,80739F,C421C8,CC82EB o="KYOCERA CORPORATION" 002295 o="SGM Technology for lighting spa" 002296 o="LinoWave Corporation" 002297 o="XMOS Semiconductor" 00229A o="Lastar, Inc." 00229B o="AverLogic Technologies, Inc." 00229C o="Verismo Networks Inc" 00229D o="PYUNG-HWA IND.CO.,LTD" 00229E o="Social Aid Research Co., Ltd." 00229F o="Sensys Traffic AB" 0022A0,2863BD o="APTIV SERVICES US, LLC" 0022A1 o="Huawei Symantec Technologies Co.,Ltd." 0022A2 o="Xtramus Technologies" 0022A3 o="California Eastern Laboratories" 0022A6 o="Sony Computer Entertainment America" 0022A7 o="Tyco Electronics AMP GmbH" 0022A8 o="Ouman Oy" 0022AB o="Shenzhen Turbosight Technology Ltd" 0022AC o="Hangzhou Siyuan Tech. Co., Ltd" 0022AD o="TELESIS TECHNOLOGIES, INC." 0022AE o="Mattel Inc." 0022AF o="Safety Vision, LLC" 0022B1 o="Elbit Systems Ltd." 0022B2 o="4RF Communications Ltd" 0022B3 o="Sei S.p.A." 0022B5 o="NOVITA" 0022B6 o="Superflow Technologies Group" 0022B7 o="GSS Grundig SAT-Systems GmbH" 0022B8 o="Norcott" 0022B9 o="Analogix Seminconductor, Inc" 0022BA o="HUTH Elektronik Systeme GmbH" 0022BB o="beyerdynamic GmbH & Co. KG" 0022BC o="JDSU France SAS" 0022BF o="SieAmp Group of Companies" 0022C0 o="Shenzhen Forcelink Electronic Co, Ltd" 0022C1 o="Active Storage Inc." 0022C2 o="Proview Eletrônica do Brasil LTDA" 0022C3 o="Zeeport Technology Inc." 0022C4 o="epro GmbH" 0022C5 o="INFORSON Co,Ltd." 0022C6 o="Sutus Inc" 0022C7 o="SEGGER Microcontroller GmbH & Co. KG" 0022C8 o="Applied Instruments B.V." 0022C9 o="Lenord, Bauer & Co GmbH" 0022CA o="Anviz Biometric Tech. Co., Ltd." 0022CB o="IONODES Inc." 0022CC o="SciLog, Inc." 0022CD o="Ared Technology Co., Ltd." 0022CF,0090CC,1CC035,44DC91,8C4CDC,E09DB8 o="PLANEX COMMUNICATIONS INC." 0022D0,A09E1A o="Polar Electro Oy" 0022D1 o="Albrecht Jung GmbH & Co. KG" 0022D2 o="All Earth Comércio de Eletrônicos LTDA." 0022D3 o="Hub-Tech" 0022D4 o="ComWorth Co., Ltd." 0022D5 o="Eaton Corp. Electrical Group Data Center Solutions - Pulizzi" 0022D6 o="Cypak AB" 0022D8 o="Shenzhen GST Security and Safety Technology Limited" 0022D9 o="Fortex Industrial Ltd." 0022DA o="ANATEK, LLC" 0022DB o="Translogic Corporation" 0022DC o="Vigil Health Solutions Inc." 0022DD o="Protecta Electronics Ltd" 0022DE o="OPPO Digital, Inc." 0022DF o="TAMUZ Monitors" 0022E0 o="Atlantic Software Technologies S.r.L." 0022E1 o="ZORT Labs, LLC." 0022E2 o="WABTEC Transit Division" 0022E3 o="Amerigon" 0022E4 o="APASS TECHNOLOGY CO., LTD." 0022E5 o="Fisher-Rosemount Systems Inc." 0022E6 o="Intelligent Data" 0022E7 o="WPS Parking Systems" 0022E8 o="Applition Co., Ltd." 0022E9 o="ProVision Communications" 0022EA o="Rustelcom Inc." 0022EB o="Data Respons A/S" 0022EC o="IDEALBT TECHNOLOGY CORPORATION" 0022ED o="TSI Power Corporation" 0022EE o="Algo Communication Products Ltd" 0022EF o="iWDL Technologies" 0022F0 o="3 Greens Aviation Limited" 0022F2 o="SunPower Corp" 0022F4,04E676,102C6B,10D07A,18937F,28EDE0,442C05,6C21A2,6CFAA7,8CF710,94A1A2,983B16,AC83F3,B00247,B0F1EC,C0847D,CC4B73,CCB8A8,D41243,E076D0 o="AMPAK Technology, Inc." 0022F5 o="Advanced Realtime Tracking GmbH" 0022F6 o="Syracuse Research Corporation" 0022F7 o="Conceptronic" 0022F8 o="PIMA Electronic Systems Ltd." 0022F9 o="Pollin Electronic GmbH" 0022FE o="Advanced Illumination" 0022FF o="NIVIS LLC" 002300 o="Cayee Computer Ltd." 002301 o="Witron Technology Limited" 002302 o="Cobalt Digital, Inc." 002303 o="LITE-ON IT Corporation" 002307 o="FUTURE INNOVATION TECH CO.,LTD" 002309 o="Janam Technologies LLC" 00230A o="ARBURG GmbH & Co KG" 00230C o="CLOVER ELECTRONICS CO.,LTD." 00230E o="Gorba AG" 00230F o="Hirsch Electronics Corporation" 002310 o="LNC Technology Co., Ltd." 002311 o="Gloscom Co., Ltd." 002313 o="Qool Technologies Ltd." 002316 o="KISAN ELECTRONICS CO" 002317 o="Lasercraft Inc" 002319 o="Sielox LLC" 00231A o="ITF Co., Ltd." 00231B o="Danaher Motion - Kollmorgen" 00231C o="Fourier Systems Ltd." 00231D o="Deltacom Electronics Ltd" 00231E o="Cezzer Multimedia Technologies" 00231F o="Guangda Electronic & Telecommunication Technology Development Co., Ltd." 002320 o="Nicira Networks" 002321 o="Avitech International Corp" 002322 o="KISS Teknical Solutions, Inc." 002323 o="Zylin AS" 002325 o="IOLAN Holding" 002327 o="Shouyo Electronics CO., LTD" 002328 o="ALCON TELECOMMUNICATIONS CO., LTD." 002329 o="DDRdrive LLC" 00232A o="eonas IT-Beratung und -Entwicklung GmbH" 00232B o="IRD A/S" 00232C o="Senticare" 00232D o="SandForce" 00232E o="Kedah Electronics Engineering, LLC" 00232F o="Advanced Card Systems Ltd." 002330 o="DIZIPIA, INC." 002335 o="Linkflex Co.,Ltd" 002336,ACB74F o="METEL s.r.o." 002337 o="Global Star Solutions ULC" 002338 o="OJ-Electronics A/S" 00233B o="C-Matic Systems Ltd" 00233C o="Alflex" 00233D,C0EE40 o="Laird Technologies" 00233F o="Purechoice Inc" 002340,402E28 o="MiXTelematics" 002342 o="Coffee Equipment Company" 002343 o="TEM AG" 002344 o="Objective Interface Systems, Inc." 002346 o="Vestac" 002349 o="Helmholtz Centre Berlin for Material and Energy" 00234B o="Inyuan Technology Inc." 00234C o="KTC AB" 00234F o="Luminous Power Technologies Pvt. Ltd." 002350 o="RDC, Inc. dba LynTec" 002352 o="DATASENSOR S.p.A." 002353 o="F E T Elettronica snc" 002355 o="Kinco Automation(Shanghai) Ltd." 002356 o="Packet Forensics LLC" 002357 o="Pitronot Technologies and Engineering P.T.E. Ltd." 002358 o="SYSTEL SA" 002359 o="Benchmark Electronics ( Thailand ) Public Company Limited" 00235B o="Gulfstream" 00235C o="Aprius, Inc." 00235F o="Silicon Micro Sensors GmbH" 002360 o="Lookit Technology Co., Ltd" 002361 o="Unigen Corporation" 002362 o="Goldline Controls" 002363 o="Zhuhai Raysharp Technology Co.,Ltd" 002364 o="Power Instruments Pte Ltd" 002366 o="Beijing Siasun Electronic System Co.,Ltd." 002367 o="UniControls a.s." 00236A o="SmartRG Inc" 00236B o="Xembedded, Inc." 00236D o="ResMed Ltd" 00236E o="Burster GmbH & Co KG" 00236F o="DAQ System" 002371 o="SOAM Systel" 002372 o="MORE STAR INDUSTRIAL GROUP LIMITED" 002373 o="GridIron Systems, Inc." 002377 o="Isotek Electronics Ltd" 002379 o="Union Business Machines Co. Ltd." 00237A,147411,2CA835,30694B,307C30,3C7437,405FBE,406AAB,70D4F2,806007,A06CEC,A86A6F,CC55AD,E83EB6 o="RIM" 00237B o="WHDI LLC" 00237C o="NEOTION" 00237E o="ELSTER GMBH" 002380 o="Nanoteq" 002381 o="Lengda Technology(Xiamen) Co.,Ltd." 002382,80912A o="Lih Rong electronic Enterprise Co., Ltd." 002383 o="InMage Systems Inc" 002384 o="GGH Engineering s.r.l." 002385 o="ANTIPODE" 002386 o="Tour & Andersson AB" 002387 o="ThinkFlood, Inc." 002388 o="V.T. Telematica S.p.a." 00238A,144E2A,1892A4,1C1161,208058,2C39C1,54C33E,7487BB,9C7A03,C4836F,D0196A,ECB0E1 o="Ciena Corporation" 00238D o="Techno Design Co., Ltd." 00238F o="NIDEC COPAL CORPORATION" 002390 o="Algolware Corporation" 002391 o="Maxian" 002392 o="Proteus Industries Inc." 002393 o="AJINEXTEK" 002394 o="Samjeon" 002396 o="ANDES TECHNOLOGY CORPORATION" 002398 o="Vutlan sro" 00239A o="EasyData Hardware GmbH" 00239B o="Elster Solutions, LLC" 00239D o="Mapower Electronics Co., Ltd" 00239E o="Jiangsu Lemote Technology Corporation Limited" 00239F o="Institut für Prüftechnik" 0023A0 o="Hana CNS Co., LTD." 0023A1 o="Trend Electronics Ltd" 0023A4 o="New Concepts Development Corp." 0023A5 o="SageTV, LLC" 0023A6 o="E-Mon" 0023A7,88DA1A o="Redpine Signals, Inc." 0023A8 o="Marshall Electronics" 0023A9 o="Beijing Detianquan Electromechanical Equipment Co., Ltd" 0023AA,0409A5 o="HFR, Inc." 0023AD o="Xmark Corporation" 0023B0 o="COMXION Technology Inc." 0023B1 o="Longcheer Technology (Singapore) Pte Ltd" 0023B2 o="Intelligent Mechatronic Systems Inc" 0023B3 o="Lyyn AB" 0023B5 o="ORTANA LTD" 0023B6 o="SECURITE COMMUNICATIONS / HONEYWELL" 0023B7 o="Q-Light Co., Ltd." 0023B8 o="Sichuan Jiuzhou Electronic Technology Co.,Ltd" 0023B9 o="Airbus Defence and Space Deutschland GmbH" 0023BA o="Chroma" 0023BB o="Schmitt Industries" 0023BC o="EQ-SYS GmbH" 0023BD o="Digital Ally, Inc." 0023BF o="Mainpine, Inc." 0023C0 o="Broadway Networks" 0023C1,24C3F9 o="Securitas Direct AB" 0023C2 o="SAMSUNG Electronics. Co. LTD" 0023C3 o="LogMeIn, Inc." 0023C4 o="Lux Lumen" 0023C5 o="Radiation Safety and Control Services Inc" 0023C6,849D64 o="SMC Corporation" 0023C7 o="AVSystem" 0023C8 o="TEAM-R" 0023C9 o="Sichuan Tianyi Information Science & Technology Stock CO.,LTD" 0023CA o="Behind The Set, LLC" 0023CB o="Shenzhen Full-join Technology Co.,Ltd" 0023CE o="KITA DENSHI CORPORATION" 0023CF o="CUMMINS-ALLISON CORP." 0023D0 o="Uniloc USA Inc." 0023D1 o="TRG" 0023D2 o="Inhand Electronics, Inc." 0023D3 o="AirLink WiFi Networking Corp." 0023D5 o="WAREMA electronic GmbH" 0023D8 o="Ball-It Oy" 0023D9 o="Banner Engineering" 0023DA o="Industrial Computer Source (Deutschland)GmbH" 0023DB o="saxnet gmbh" 0023DC o="Benein, Inc" 0023DD o="ELGIN S.A." 0023DE o="Ansync Inc." 0023E0 o="INO Therapeutics LLC" 0023E1 o="Cavena Image Products AB" 0023E2 o="SEA Signalisation" 0023E3 o="Microtronic AG" 0023E4 o="IPnect co. ltd." 0023E5 o="IPaXiom Networks" 0023E6 o="Innovation Farm, Inc." 0023E7 o="Hinke A/S" 0023E8 o="Demco Corp." 0023EC o="Algorithmix GmbH" 0023EF o="Zuend Systemtechnik AG" 0023F0 o="Shanghai Jinghan Weighing Apparatus Co. Ltd." 0023F2 o="TVLogic" 0023F3 o="Glocom, Inc." 0023F4 o="Masternaut" 0023F5 o="WILO SE" 0023F6 o="Softwell Technology Co., Ltd." 0023F9 o="Double-Take Software, INC." 0023FA o="RG Nets, Inc." 0023FB o="IP Datatel, LLC." 0023FC o="Ultra Stereo Labs, Inc" 0023FD o="AFT Atlas Fahrzeugtechnik GmbH" 0023FE o="Biodevices, SA" 0023FF o="Beijing HTTC Technology Ltd." 002402 o="Op-Tection GmbH" 002405 o="Dilog Nordic AB" 002406,64CBA3 o="Pointmobile" 002407 o="TELEM SAS" 002408 o="Pacific Biosciences" 002409 o="The Toro Company" 00240A o="US Beverage Net" 00240B o="Virtual Computer Inc." 00240C o="DELEC GmbH" 00240D o="OnePath Networks LTD." 00240E o="Inventec Besta Co., Ltd." 00240F o="Ishii Tool & Engineering Corporation" 002410 o="NUETEQ Technology,Inc." 002411 o="PharmaSmart LLC" 002412 o="Benign Technologies Co, Ltd." 002415 o="Magnetic Autocontrol GmbH" 002416 o="Any Use" 002418 o="Nextwave Semiconductor" 00241A o="Red Beetle Inc." 00241B o="iWOW Communications Pte Ltd" 00241C o="FuGang Electronic (DG) Co.,Ltd" 00241F o="DCT-Delta GmbH" 002420 o="NetUP Inc." 002421 o="MICRO-STAR INT'L CO., LTD." 002422 o="Knapp Logistik Automation GmbH" 002423,4CAA16 o="AzureWave Technologies (Shanghai) Inc." 002424 o="Ace Axis Limited" 002425 o="Shenzhenshi chuangzhicheng Technology Co.,Ltd" 002426 o="NOHMI BOSAI LTD." 002427 o="SSI COMPUTER CORP" 002428 o="EnergyICT" 002429 o="MK MASTER INC." 00242A o="Hittite Microwave Corporation" 00242E o="Datastrip Inc." 00242F o="Micron" 002430 o="Ruby Tech Corp." 002431 o="Uni-v co.,ltd" 002432 o="Neostar Technology Co.,LTD" 002434 o="Lectrosonics, Inc." 002435 o="WIDE CORPORATION" 002437 o="Motorola - BSG" 002439 o="Digital Barriers Advanced Technologies" 00243A o="Ludl Electronic Products" 00243B o="CSSI (S) Pte Ltd" 00243C o="S.A.A.A." 00243D o="Emerson Appliance Motors and Controls" 00243F o="Storwize, Inc." 002440 o="Halo Monitoring, Inc." 002441 o="Wanzl Metallwarenfabrik GmbH" 002442 o="Axona Limited" 002446 o="MMB Research Inc." 002447 o="Kaztek Systems" 002448 o="SpiderCloud Wireless, Inc" 002449 o="Shen Zhen Lite Star Electronics Technology Co., Ltd" 00244A o="Voyant International" 00244B o="PERCEPTRON INC" 00244C o="Solartron Metrology Ltd" 00244D o="Hokkaido Electronics Corporation" 00244E o="RadChips, Inc." 00244F o="Asantron Technologies Ltd." 002452 o="Silicon Software GmbH" 002453 o="Initra d.o.o." 002455 o="MuLogic BV" 002458 o="PA Bastion CC" 002459 o="ABB Automation products GmbH" 00245A o="Nanjing Panda Electronics Company Limited" 00245B o="RAIDON TECHNOLOGY, INC." 00245C o="Design-Com Technologies Pty. Ltd." 00245D o="Terberg besturingstechniek B.V." 00245E o="Hivision Co.,ltd" 00245F o="Vine Telecom CO.,Ltd." 002460 o="Giaval Science Development Co. Ltd." 002461 o="Shin Wang Tech." 002462 o="Rayzone Corporation" 002463 o="Phybridge Inc" 002464 o="Bridge Technologies Co AS" 002465,649968,D88D5C o="Elentec" 002466 o="Unitron nv" 002467 o="AOC International (Europe) GmbH" 002468,9C62AB,FC9BC6 o="Sumavision Technologies Co.,Ltd" 002469 o="Smart Doorphones" 00246A o="Solid Year Co., Ltd." 00246B o="Covia, Inc." 00246D o="Weinzierl Engineering GmbH" 00246E o="Phihong USA Corp." 00246F o="Onda Communication spa" 002470 o="AUROTECH ultrasound AS." 002471 o="Fusion MultiSystems dba Fusion-io" 002472 o="ReDriven Power Inc." 002474 o="Autronica Fire And Securirty" 002475 o="Compass System(Embedded Dept.)" 002476 o="TAP.tv" 002477 o="Tibbo Technology" 002478 o="Mag Tech Electronics Co Limited" 002479 o="Optec Displays, Inc." 00247A o="FU YI CHENG Technology Co., Ltd." 002480 o="Meteocontrol GmbH" 002484 o="Bang and Olufsen Medicom a/s" 002485 o="ConteXtream Ltd" 002486 o="DesignArt Networks" 002487 o="Transact Campus, Inc." 002488 o="Centre For Development Of Telematics" 002489,90356E o="Vodafone Omnitel N.V." 00248A o="Kaga Electronics Co., Ltd." 00248B o="HYBUS CO., LTD." 00248E o="Infoware ZRt." 00248F o="DO-MONIX" 002492 o="Motorola, Broadband Solutions Group" 002494 o="Shenzhen Baoxin Tech CO., Ltd." 002496 o="Ginzinger electronic systems" 002499 o="Aquila Technologies" 00249A o="Beijing Zhongchuang Telecommunication Test Co., Ltd." 00249B o="Action Star Enterprise Co., Ltd." 00249C o="Bimeng Comunication System Co. Ltd" 00249D o="NES Technology Inc." 00249E o="ADC-Elektronik GmbH" 0024A2 o="Hong Kong Middleware Technology Limited" 0024A3 o="Sonim Technologies Inc" 0024A4 o="Siklu Communication" 0024A6 o="TELESTAR DIGITAL GmbH" 0024A7 o="Advanced Video Communications Inc." 0024A9 o="Ag Leader Technology" 0024AA o="Dycor Technologies Ltd." 0024AB o="A7 Engineering, Inc." 0024AC o="Hangzhou DPtech Technologies Co., Ltd." 0024AD o="Adolf Thies Gmbh & Co. KG" 0024AE o="IDEMIA" 0024B0 o="ESAB AB" 0024B1 o="Coulomb Technologies" 0024B3 o="Graf-Syteco GmbH & Co. KG" 0024B4 o="ESCATRONIC GmbH" 0024B7 o="GridPoint, Inc." 0024B8 o="free alliance sdn bhd" 0024B9 o="Wuhan Higheasy Electronic Technology Development Co.Ltd" 0024BB o="CENTRAL Corporation" 0024BC o="HuRob Co.,Ltd" 0024BD o="Hainzl Industriesysteme GmbH" 0024BF o="CIAT" 0024C0 o="NTI COMODO INC" 0024C2 o="Asumo Co.,Ltd." 0024C5 o="Meridian Audio Limited" 0024C6 o="Hager Electro SAS" 0024C7 o="Mobilarm Ltd" 0024C8-0024C9 o="Broadband Solutions Group" 0024CA o="Tobii Technology AB" 0024CB o="Autonet Mobile" 0024CC o="Fascinations Toys and Gifts, Inc." 0024CD o="Willow Garage, Inc." 0024CE o="Exeltech Inc" 0024CF o="Inscape Data Corporation" 0024D0 o="Shenzhen SOGOOD Industry CO.,LTD." 0024D3 o="QUALICA Inc." 0024D5 o="Winward Industrial Limited" 0024D8 o="IlSung Precision" 0024D9 o="BICOM, Inc." 0024DA o="Innovar Systems Limited" 0024DB o="Alcohol Monitoring Systems" 0024DD o="Centrak, Inc." 0024DE o="GLOBAL Technology Inc." 0024DF o="Digitalbox Europe GmbH" 0024E0 o="DS Tech, LLC" 0024E1 o="Convey Computer Corp." 0024E2 o="HASEGAWA ELECTRIC CO.,LTD." 0024E3 o="CAO Group" 0024E4 o="Withings" 0024E5 o="Seer Technology, Inc" 0024E6 o="In Motion Technology Inc." 0024E7 o="Plaster Networks" 0024EA o="iris-GmbH infrared & intelligent sensors" 0024EB o="ClearPath Networks, Inc." 0024EC o="United Information Technology Co.,Ltd." 0024ED o="YT Elec. Co,.Ltd." 0024EE o="Wynmax Inc." 0024F0 o="Seanodes" 0024F1 o="Shenzhen Fanhai Sanjiang Electronics Co., Ltd." 0024F2 o="Uniphone Telecommunication Co., Ltd." 0024F4 o="Kaminario, Ltd." 0024F5 o="NDS Surgical Imaging" 0024F6 o="MIYOSHI ELECTRONICS CORPORATION" 0024F8 o="Technical Solutions Company Ltd." 0024FA o="Hilger u. Kern GMBH" 0024FC o="QuoPin Co., Ltd." 0024FD o="Accedian Networks Inc" 002501 o="JSC %Supertel%" 002502 o="NaturalPoint" 002504 o="Valiant Communications Limited" 002505 o="eks Engel GmbH & Co. KG" 002506 o="A.I. ANTITACCHEGGIO ITALIA SRL" 002507 o="ASTAK Inc." 002508 o="Maquet Cardiopulmonary AG" 002509 o="SHARETRONIC Group LTD" 00250A o="Security Expert Co. Ltd" 00250B o="CENTROFACTOR INC" 00250C o="Senet Inc" 00250D o="GZT Telkom-Telmor sp. z o.o." 00250E o="gt german telematics gmbh" 00250F o="On-Ramp Wireless, Inc." 002510 o="Pico-Tesla Magnetic Therapies" 002513 o="CXP DIGITAL BV" 002514 o="PC Worth Int'l Co., Ltd." 002516 o="Integrated Design Tools, Inc." 002517 o="Venntis, LLC" 002518 o="Power PLUS Communications AG" 002519 o="Viaas Inc" 00251A o="Psiber Data Systems Inc." 00251B o="Philips CareServant" 00251C o="EDT" 00251D o="DSA Encore, LLC" 00251E o="ROTEL TECHNOLOGIES" 00251F o="ZYNUS VISION INC." 002520 o="SMA Railway Technology GmbH" 002521 o="Logitek Electronic Systems, Inc." 002522,7085C2,A8A159,BC5FF4,D05099 o="ASRock Incorporation" 002523 o="OCP Inc." 002524 o="Lightcomm Technology Co., Ltd" 002525 o="CTERA Networks Ltd." 002526 o="Genuine Technologies Co., Ltd." 002527 o="Bitrode Corp." 002528 o="Daido Signal Co., Ltd." 002529 o="COMELIT GROUP S.P.A" 00252A o="Chengdu GeeYa Technology Co.,LTD" 00252B o="Stirling Energy Systems" 00252C o="Entourage Systems, Inc." 00252D o="Kiryung Electronics" 00252F o="Energy, Inc." 002530 o="Aetas Systems Inc." 002531 o="Cloud Engines, Inc." 002532 o="Digital Recorders" 002533 o="WITTENSTEIN AG" 002535 o="Minimax GmbH & Co KG" 002537 o="Runcom Technologies Ltd." 002538 o="Samsung Electronics Co., Ltd., Memory Division" 002539 o="IfTA GmbH" 00253A o="CEVA, Ltd." 00253B o="din Dietmar Nocker Facilitymanagement GmbH" 00253D o="DRS Consolidated Controls" 00253E o="Sensus Metering Systems" 002540 o="Quasar Technologies, Inc." 002541 o="Maquet Critical Care AB" 002542 o="Pittasoft" 002543 o="MONEYTECH" 002544 o="LoJack Corporation" 002549 o="Jeorich Tech. Co.,Ltd." 00254A o="RingCube Technologies, Inc." 00254C o="Videon Central, Inc." 00254D o="Singapore Technologies Electronics Limited" 00254E o="Vertex Wireless Co., Ltd." 00254F o="ELETTROLAB Srl" 002551 o="SE-Elektronic GmbH" 002552,3C6816 o="VXi Corporation" 002554 o="Pixel8 Networks" 002558 o="MPEDIA" 002559 o="Syphan Technologies Ltd" 00255A o="Tantalus Systems Corp." 00255B o="CoachComm, LLC" 00255D o="Morningstar Corporation" 00255E o="Shanghai Dare Technologies Co.,Ltd." 00255F o="SenTec AG" 002560 o="Ibridge Networks & Communications Ltd." 002562 o="interbro Co. Ltd." 002563 o="Luxtera Inc" 002565 o="Vizimax Inc." 00256A o="inIT - Institut Industrial IT" 00256B o="ATENIX E.E. s.r.l." 00256C o="%Azimut% Production Association JSC" 00256D o="Broadband Forum" 00256E o="Van Breda B.V." 00256F o="Dantherm Power" 002570 o="Eastern Communications Company Limited" 002571 o="Zhejiang Tianle Digital Electric Co.,Ltd" 002572 o="Nemo-Q International AB" 002573 o="ST Electronics (Info-Security) Pte Ltd" 002574 o="KUNIMI MEDIA DEVICE Co., Ltd." 002575 o="FiberPlex Technologies, LLC" 002576 o="NELI TECHNOLOGIES" 002577 o="D-BOX Technologies" 002578 o="JSC %Concern %Sozvezdie%" 002579 o="J & F Labs" 00257A o="CAMCO Produktions- und Vertriebs-GmbH für Beschallungs- und Beleuchtungsanlagen" 00257B o="STJ ELECTRONICS PVT LTD" 00257C o="Huachentel Technology Development Co., Ltd" 00257D o="PointRed Telecom Private Ltd." 00257E,18B6F7 o="NEW POS TECHNOLOGY LIMITED" 00257F o="CallTechSolution Co.,Ltd" 002580 o="Equipson S.A." 002581 o="x-star networks Inc." 002582 o="Maksat Technologies (P) Ltd" 002585 o="KOKUYO S&T Co., Ltd." 002587 o="Vitality, Inc." 002588 o="Genie Industries, Inc." 002589 o="Hills Industries Limited" 00258A o="Pole/Zero Corporation" 00258C o="ESUS ELEKTRONIK SAN. VE DIS. TIC. LTD. STI." 00258D o="Haier" 00258E o="The Weather Channel" 00258F o="Trident Microsystems, Inc." 002590,003048,0CC47A,3CECEF,AC1F6B o="Super Micro Computer, Inc." 002591 o="NEXTEK, Inc." 002592 o="Guangzhou Shirui Electronic Co., Ltd" 002593 o="DatNet Informatikai Kft." 002594 o="Eurodesign BG LTD" 002595 o="Northwest Signal Supply, Inc" 002596 o="GIGAVISION srl" 002597 o="Kalki Communication Technologies" 002598 o="Zhong Shan City Litai Electronic Industrial Co. Ltd" 002599 o="Hedon e.d. B.V." 00259A o="CEStronics GmbH" 00259B o="Beijing PKUNITY Microsystems Technology Co., Ltd" 00259F o="TechnoDigital Technologies GmbH" 0025A1 o="Enalasys" 0025A2 o="Alta Definicion LINCEO S.L." 0025A3 o="Trimax Wireless, Inc." 0025A4 o="EuroDesign embedded technologies GmbH" 0025A5 o="Walnut Media Network" 0025A6 o="Central Network Solution Co., Ltd." 0025A7 o="itron" 0025A8 o="Kontron (BeiJing) Technology Co.,Ltd" 0025A9 o="Shanghai Embedway Information Technologies Co.,Ltd" 0025AA o="Beijing Soul Technology Co.,Ltd." 0025AB o="AIO LCD PC BU / TPV" 0025AC o="I-Tech corporation" 0025AD o="Manufacturing Resources International" 0025AF o="COMFILE Technology" 0025B0 o="Schmartz Inc" 0025B1 o="Maya-Creation Corporation" 0025B2 o="MBDA Deutschland GmbH" 0025B6 o="Telecom FM" 0025B7 o="Costar electronics, inc.," 0025B8 o="Agile Communications, Inc." 0025B9 o="Cypress Solutions Inc" 0025BB o="INNERINT Co., Ltd." 0025BD o="Italdata Ingegneria dell'Idea S.p.A." 0025BE o="Tektrap Systems Inc." 0025BF o="Wireless Cables Inc." 0025C0 o="ZillionTV Corporation" 0025C1 o="Nawoo Korea Corp." 0025C2 o="RingBell Co.,Ltd." 0025C3 o="21168" 0025C5 o="Star Link Communication Pvt. Ltd." 0025C6 o="kasercorp, ltd" 0025C7 o="altek Corporation" 0025C8 o="S-Access GmbH" 0025C9 o="SHENZHEN HUAPU DIGITAL CO., LTD" 0025CA o="LS Research, LLC" 0025CB o="Reiner SCT" 0025CC o="Mobile Communications Korea Incorporated" 0025CD o="Skylane Optics" 0025CE o="InnerSpace" 0025D2 o="InpegVision Co., Ltd" 0025D5 o="Robonica (Pty) Ltd" 0025D6 o="The Kroger Co." 0025D7 o="CEDO" 0025D8 o="KOREA MAINTENANCE" 0025D9,0030FF o="DataFab Systems Inc." 0025DA o="Secura Key" 0025DB o="ATI Electronics(Shenzhen) Co., LTD" 0025DD o="SUNNYTEK INFORMATION CO., LTD." 0025DE o="Probits Co., LTD." 0025E0 o="CeedTec Sdn Bhd" 0025E1 o="SHANGHAI SEEYOO ELECTRONIC & TECHNOLOGY CO., LTD" 0025E2 o="Everspring Industry Co., Ltd." 0025E3 o="Hanshinit Inc." 0025E4 o="OMNI-WiFi, LLC" 0025E6 o="Belgian Monitoring Systems bvba" 0025E8 o="Idaho Technology" 0025E9 o="i-mate Development, Inc." 0025EA o="Iphion BV" 0025EB o="Reutech Radar Systems (PTY) Ltd" 0025EC o="Humanware" 0025ED o="NuVo Technologies LLC" 0025EE o="Avtex Ltd" 0025EF o="I-TEC Co., Ltd." 0025F0 o="Suga Electronics Limited" 0025F3 o="Nordwestdeutsche Zählerrevision" 0025F4 o="KoCo Connector AG" 0025F5 o="DVS Korea, Co., Ltd" 0025F6 o="netTALK.com, Inc." 0025F7 o="Ansaldo STS USA" 0025F9 o="GMK electronic design GmbH" 0025FA o="J&M Analytik AG" 0025FB o="Tunstall Healthcare A/S" 0025FC o="ENDA ENDUSTRIYEL ELEKTRONIK LTD. STI." 0025FD o="OBR Centrum Techniki Morskiej S.A." 0025FE o="Pilot Electronics Corporation" 0025FF o="CreNova Multimedia Co., Ltd" 002600 o="TEAC Australia Pty Ltd." 002601 o="Cutera Inc" 002602 o="SMART Temps LLC" 002603 o="Shenzhen Wistar Technology Co., Ltd" 002604 o="Audio Processing Technology Ltd" 002605 o="CC Systems AB" 002606 o="RAUMFELD GmbH" 002607 o="Enabling Technology Pty Ltd" 002609 o="Phyllis Co., Ltd." 00260C o="Dataram" 00260D o="Mercury Systems, Inc." 00260E o="Ablaze Systems, LLC" 00260F o="Linn Products Ltd" 002610 o="Apacewave Technologies" 002611 o="Licera AB" 002612 o="Space Exploration Technologies" 002613 o="Engel Axil S.L." 002614 o="KTNF" 002615,545FA9,9C8EDC o="Teracom Limited" 002616 o="Rosemount Inc." 002617 o="OEM Worldwide" 002619 o="FRC" 00261A o="Femtocomm System Technology Corp." 00261B o="LAUREL BANK MACHINES CO., LTD." 00261C o="NEOVIA INC." 00261D o="COP SECURITY SYSTEM CORP." 00261E o="QINGBANG ELEC(SZ) CO., LTD" 00261F o="SAE Magnetics (H.K.) Ltd." 002620 o="ISGUS GmbH" 002621 o="InteliCloud Technology Inc." 002623 o="JRD Communication Inc" 002625 o="MediaSputnik" 002626 o="Geophysical Survey Systems, Inc." 002627 o="Truesell" 002628 o="companytec automação e controle ltda." 002629 o="Juphoon System Software Inc." 00262A o="Proxense, LLC" 00262B o="Wongs Electronics Co. Ltd." 00262C o="IKT Advanced Technologies s.r.o." 00262E o="Chengdu Jiuzhou Electronic Technology Inc" 00262F o="HAMAMATSU TOA ELECTRONICS" 002630 o="ACOREL S.A.S" 002631 o="COMMTACT LTD" 002632 o="Instrumentation Technologies d.d." 002633 o="MIR - Medical International Research" 002634 o="Infineta Systems, Inc" 002635 o="Bluetechnix GmbH" 002638 o="Xia Men Joyatech Co., Ltd." 002639 o="T.M. Electronics, Inc." 00263A o="Digitec Systems" 00263B o="Onbnetech" 00263C o="Bachmann Technology GmbH & Co. KG" 00263D o="MIA Corporation" 00263F o="LIOS Technology GmbH" 002640 o="Baustem Broadband Technologies, Ltd." 002645 o="Circontrol S.A." 002646 o="SHENYANG TONGFANG MULTIMEDIA TECHNOLOGY COMPANY LIMITED" 002647 o="WFE TECHNOLOGY CORP." 002648 o="Emitech Corp." 00264E o="Rail & Road Protec GmbH" 00264F o="Krüger &Gothe GmbH" 002653 o="DaySequerra Corporation" 002656 o="Sansonic Electronics USA" 002657 o="OOO NPP EKRA" 002658 o="T-Platforms (Cyprus) Limited" 002660 o="Logiways" 002661 o="Irumtek Co., Ltd." 002663 o="Shenzhen Huitaiwei Tech. Ltd, co." 002664 o="Core System Japan" 002665 o="ProtectedLogic Corporation" 002667 o="CARECOM CO.,LTD." 00266A o="ESSENSIUM NV" 00266B o="SHINE UNION ENTERPRISE LIMITED" 00266D o="MobileAccess Networks" 00266E o="Nissho-denki Co.,LTD." 00266F o="Coordiwise Technology Corp." 002670 o="Cinch Connectors" 002671 o="AUTOVISION Co., Ltd" 002672 o="AAMP of America" 002673 o="RICOH COMPANY,LTD." 002674 o="Hunter Douglas" 002675,00300A,E08E3C o="Aztech Electronics Pte Ltd" 002676 o="COMMidt AS" 002677 o="DEIF A/S" 002678 o="Logic Instrument SA" 002679 o="Euphonic Technologies, Inc." 00267A o="wuhan hongxin telecommunication technologies co.,ltd" 00267B o="GSI Helmholtzzentrum für Schwerionenforschung GmbH" 00267C o="Metz-Werke GmbH & Co KG" 00267D o="A-Max Technology Macao Commercial Offshore Company Limited" 00267F o="Zenterio AB" 002680 o="SIL3 Pty.Ltd" 002681 o="Interspiro AB" 002683 o="Ajoho Enterprise Co., Ltd." 002684 o="KISAN SYSTEM" 002685 o="Digital Innovation" 002686 o="Quantenna Communcations, Inc." 002689 o="General Dynamics Robotic Systems" 00268A o="Terrier SC Ltd" 00268B o="Guangzhou Escene Computer Technology Limited" 00268C o="StarLeaf Ltd." 00268D o="CellTel S.p.A." 00268E o="Alta Solutions, Inc." 00268F o="MTA SpA" 002690 o="I DO IT" 002692,104B46,28E98E,38E08E,58528A o="Mitsubishi Electric Corporation" 002693 o="QVidium Technologies, Inc." 002694 o="Senscient Ltd" 002695 o="ZT Group Int'l Inc" 002696 o="NOOLIX Co., Ltd" 002697 o="Alpha Technologies Inc." 00269A o="Carina System Co., Ltd." 00269B o="SOKRAT Ltd." 00269C o="ITUS JAPAN CO. LTD" 00269D o="M2Mnet Co., Ltd." 0026A0 o="moblic" 0026A1 o="Megger" 0026A2 o="Instrumentation Technology Systems" 0026A3 o="FQ Ingenieria Electronica S.A." 0026A4 o="Novus Produtos Eletronicos Ltda" 0026A5 o="MICROROBOT.CO.,LTD" 0026A6 o="TRIXELL" 0026A7 o="CONNECT SRL" 0026A8,7846C4,78CB68 o="DAEHAP HYPER-TECH" 0026A9 o="Strong Technologies Pty Ltd" 0026AA o="Kenmec Mechanical Engineering Co., Ltd." 0026AC o="Shanghai LUSTER Teraband photonic Co., Ltd." 0026AD o="Arada Systems, Inc." 0026AE o="Wireless Measurement Ltd" 0026AF o="Duelco A/S" 0026B1 o="Navis Auto Motive Systems, Inc." 0026B2 o="Setrix GmbH" 0026B3 o="Thales Communications Inc" 0026B4 o="Ford Motor Company" 0026B5 o="ICOMM Tele Ltd" 0026B7,00C0F0 o="Kingston Technology Company, Inc." 0026BC o="General Jack Technology Ltd." 0026BD o="JTEC Card & Communication Co., Ltd" 0026BE o="Schoonderbeek Elektronica Systemen B.V." 0026BF o="ShenZhen Temobi Science&Tech Development Co.,Ltd" 0026C0 o="EnergyHub" 0026C1 o="ARTRAY CO., LTD." 0026C2 o="SCDI Co. LTD" 0026C3 o="Insightek Corp." 0026C4 o="Cadmos microsystems S.r.l." 0026C5 o="Guangdong Gosun Telecommunications Co.,Ltd" 0026C8 o="System Sensor" 0026C9 o="Proventix Systems, Inc." 0026CD o="PurpleComm, Inc." 0026CE o="Kozumi USA Corp." 0026CF o="DEKA R&D" 0026D0 o="Semihalf" 0026D1 o="S Squared Innovations Inc." 0026D2 o="Pcube Systems, Inc." 0026D3 o="Zeno Information System" 0026D4 o="IRCA SpA" 0026D5 o="Ory Solucoes em Comercio de Informatica Ltda." 0026D6 o="Ningbo Andy Optoelectronic Co., Ltd." 0026D7 o="KM Electornic Technology Co., Ltd." 0026D8 o="Magic Point Inc." 0026DA o="Universal Media Corporation /Slovakia/ s.r.o." 0026DB o="Ionics EMS Inc." 0026DC o="Optical Systems Design" 0026DD o="Fival Science & Technology Co.,Ltd." 0026DE o="FDI MATELEC" 0026DF o="TaiDoc Technology Corp." 0026E0 o="ASITEQ" 0026E1 o="Stanford University, OpenFlow Group" 0026E3 o="DTI" 0026E5 o="AEG Power Solutions" 0026E6 o="Visionhitech Co., Ltd." 0026E7 o="Shanghai ONLAN Communication Tech. Co., Ltd." 0026E9 o="SP Corp" 0026EA o="Cheerchip Electronic Technology (ShangHai) Co., Ltd." 0026EB o="Advanced Spectrum Technology Co., Ltd." 0026EC o="Legrand Home Systems, Inc" 0026EE o="TKM GmbH" 0026EF o="Technology Advancement Group, Inc." 0026F0 o="cTrixs International GmbH." 0026F3 o="SMC Networks" 0026F4 o="Nesslab" 0026F5 o="XRPLUS Inc." 0026F6 o="Military Communication Institute" 0026F7 o="Nivetti Systems Pvt. Ltd." 0026F8 o="Golden Highway Industry Development Co., Ltd." 0026F9 o="S.E.M. srl" 0026FA o="BandRich Inc." 0026FB o="AirDio Wireless, Inc." 0026FC,581243,5CE2F4,689C5E,8CB864,9C65F9 o="AcSiP Technology Corp." 0026FD o="Interactive Intelligence" 0026FE o="MKD Technology Inc." 002700 o="Shenzhen Siglent Technology Co., Ltd." 002701 o="INCOstartec GmbH" 002702 o="SolarEdge Technologies" 002703 o="Testech Electronics Pte Ltd" 002704 o="Accelerated Concepts, Inc" 002705 o="Sectronic" 002706 o="YOISYS" 002707 o="Lift Complex DS, JSC" 002708 o="Nordiag ASA" 00270A o="IEE S.A." 00270B o="Adura Technologies" 00270F o="Envisionnovation Inc" 002711 o="LanPro Inc" 002712 o="MaxVision LLC" 002714 o="Grainmustards, Co,ltd." 002715 o="Rebound Telecom. Co., Ltd" 002716 o="Adachi-Syokai Co., Ltd." 002717 o="CE Digital(Zhenjiang)Co.,Ltd" 002718 o="Suzhou NEW SEAUNION Video Technology Co.,Ltd" 00271A o="Geenovo Technology Ltd." 00271B o="Alec Sicherheitssysteme GmbH" 00271C,085DDD,883C1C,B4A94F o="MERCURY CORPORATION" 00271D o="Comba Telecom Systems (China) Ltd." 00271E o="Xagyl Communications" 00271F o="MIPRO Electronics Co., Ltd" 002720 o="NEW-SOL COM" 002721 o="Shenzhen Baoan Fenda Industrial Co., Ltd" 00289F o="Semptian Co., Ltd." 002926 o="Applied Optoelectronics, Inc Taiwan Branch" 002AAF o="LARsys-Automation GmbH" 002D76 o="TITECH GmbH" 002FD9,006762,00BE9E,04C1B9,04ECBB,0C2A86,0C35FE,0C6ABC,0C8447,105887,1077B0,1088CE,10DC4A,142233,14E9B2,185282,18A3E8,18D225,1C398A,1C60D2,1CDE57,20896F,24CACB,28BF89,341A35,344B3D,34BF90,38144E,3CFB5C,444B7E,48555F,48A0F8,48F97C,50C6AD,543E64,54DF24,583BD9,5CE3B6,60B617,68FEDA,6C3845,6C9E7C,6CA858,70B921,7412BB,741E93,74C9A3,74CC39,74E19A,74EC42,803AF4,809FAB,80C7C5,88947E,8C5FAD,9055DE,94D505,9C88AD,9CFEA1,A013CB,A41908,A8E705,ACC25D,B0E2E5,B8C716,BC9889,BCC00F,C03656,C464B7,C4F0EC,C84029,C8F6C8,CC0677,CC500A,D00492,D041C9,D05995,D092FA,D45800,D467E7,D4AD2D,D4F786,D4FC13,E02AE6,E42F26,E8018D,E85AD1,E8910F,E8C417,E8D099,EC8AC7,F0407B,F08CFB,F4573E,F84D33,F8AFDB,F8C96C,FC61E9,FCA6CD,FCF647 o="Fiberhome Telecommunication Technologies Co.,LTD" 003000 o="ALLWELL TECHNOLOGY CORP." 003001 o="SMP" 003002 o="Expand Networks" 003003 o="Phasys Ltd." 003004 o="LEADTEK RESEARCH INC." 003005 o="Fujitsu Siemens Computers" 003006 o="SUPERPOWER COMPUTER" 003007 o="OPTI, INC." 003008 o="AVIO DIGITAL, INC." 003009 o="Tachion Networks, Inc." 00300B o="mPHASE Technologies, Inc." 00300C o="CONGRUENCY, LTD." 00300D o="MMC Technology, Inc." 00300E o="Klotz Digital AG" 00300F o="IMT - Information Management T" 003010 o="VISIONETICS INTERNATIONAL" 003012 o="DIGITAL ENGINEERING LTD." 003014 o="DIVIO, INC." 003015 o="CP CLARE CORP." 003016 o="ISHIDA CO., LTD." 003017 o="BlueArc UK Ltd" 003018 o="Jetway Information Co., Ltd." 00301A o="SMARTBRIDGES PTE. LTD." 00301B o="SHUTTLE, INC." 00301C o="ALTVATER AIRDATA SYSTEMS" 00301D o="SKYSTREAM, INC." 00301F o="OPTICAL NETWORKS, INC." 003020 o="TSI, Inc.." 003021 o="HSING TECH. ENTERPRISE CO.,LTD" 003022 o="Fong Kai Industrial Co., Ltd." 003023 o="COGENT COMPUTER SYSTEMS, INC." 003025 o="CHECKOUT COMPUTER SYSTEMS, LTD" 003026 o="HeiTel Digital Video GmbH" 003027 o="KERBANGO, INC." 003028 o="FASE Saldatura srl" 003029 o="OPICOM" 00302A o="SOUTHERN INFORMATION" 00302B o="INALP NETWORKS, INC." 00302C o="SYLANTRO SYSTEMS CORPORATION" 00302D o="QUANTUM BRIDGE COMMUNICATIONS" 00302E o="Hoft & Wessel AG" 00302F o="GE Aviation System" 003030 o="HARMONIX CORPORATION" 003031 o="LIGHTWAVE COMMUNICATIONS, INC." 003032 o="MagicRam, Inc." 003033 o="ORIENT TELECOM CO., LTD." 003034 o="SET ENGINEERING" 003035 o="Corning Incorporated" 003036 o="RMP ELEKTRONIKSYSTEME GMBH" 003037 o="Packard Bell Nec Services" 003038 o="XCP, INC." 003039 o="SOFTBOOK PRESS" 00303A o="MAATEL" 00303B o="PowerCom Technology" 00303C o="ONNTO CORP." 00303D o="IVA CORPORATION" 00303E o="Radcom Ltd." 00303F o="TurboComm Tech Inc." 003041 o="SAEJIN T & M CO., LTD." 003042 o="DeTeWe-Deutsche Telephonwerke" 003043 o="IDREAM TECHNOLOGIES, PTE. LTD." 003044 o="CradlePoint, Inc" 003045 o="Village Networks, Inc. (VNI)" 003046 o="Controlled Electronic Manageme" 003047 o="NISSEI ELECTRIC CO., LTD." 003049 o="BRYANT TECHNOLOGY, LTD." 00304A o="Fraunhofer IPMS" 00304B o="ORBACOM SYSTEMS, INC." 00304C o="APPIAN COMMUNICATIONS, INC." 00304D o="ESI" 00304E o="BUSTEC PRODUCTION LTD." 00304F,A8F7E0 o="PLANET Technology Corporation" 003050 o="Versa Technology" 003051 o="ORBIT AVIONIC & COMMUNICATION" 003052 o="ELASTIC NETWORKS" 003053 o="Basler AG" 003054 o="CASTLENET TECHNOLOGY, INC." 003055 o="Renesas Technology America, Inc." 003057 o="QTelNet, Inc." 003058 o="API MOTION" 003059 o="KONTRON COMPACT COMPUTERS AG" 00305A o="TELGEN CORPORATION" 00305B o="Toko Inc." 00305C o="SMAR Laboratories Corp." 00305D o="DIGITRA SYSTEMS, INC." 00305E o="Abelko Innovation" 00305F o="Hasselblad" 003060 o="Powerfile, Inc." 003061 o="MobyTEL" 003062 o="IP Video Networks Inc" 003063 o="SANTERA SYSTEMS, INC." 003064 o="ADLINK TECHNOLOGY, INC." 003066 o="RFM" 003067,B8975A o="BIOSTAR Microtech Int'l Corp." 003068 o="CYBERNETICS TECH. CO., LTD." 003069 o="IMPACCT TECHNOLOGY CORP." 00306A o="PENTA MEDIA CO., LTD." 00306B o="CMOS SYSTEMS, INC." 00306C o="Hitex Holding GmbH" 00306D,00601D,00D077 o="LUCENT TECHNOLOGIES" 00306F o="SEYEON TECH. CO., LTD." 003070 o="1Net Corporation" 003072 o="Intellibyte Inc." 003073 o="International Microsystems, In" 003074 o="EQUIINET LTD." 003075 o="ADTECH" 003076 o="Akamba Corporation" 003077 o="ONPREM NETWORKS" 003079 o="CQOS, INC." 00307A o="Advanced Technology & Systems" 00307C o="ADID SA" 00307D o="GRE AMERICA, INC." 00307E o="Redflex Communication Systems" 00307F o="IRLAN LTD." 003081 o="ALTOS C&C" 003082 o="TAIHAN ELECTRIC WIRE CO., LTD." 003083 o="Ivron Systems" 003084 o="ALLIED TELESYN INTERNAIONAL" 003086 o="Transistor Devices, Inc." 003087 o="VEGA GRIESHABER KG" 003089 o="Spectrapoint Wireless, LLC" 00308A o="NICOTRA SISTEMI S.P.A" 00308B o="Brix Networks" 00308C,00E09E o="Quantum Corporation" 00308D o="Pinnacle Systems, Inc." 00308E o="CROSS MATCH TECHNOLOGIES, INC." 00308F o="MICRILOR, Inc." 003090 o="CYRA TECHNOLOGIES, INC." 003091 o="TAIWAN FIRST LINE ELEC. CORP." 003092 o="Kontron Electronics AG" 003093 o="Sonnet Technologies, Inc" 003095 o="Procomp Informatics, Ltd." 003097 o="AB Regin" 003098 o="Global Converging Technologies" 003099 o="BOENIG UND KALLENBACH OHG" 00309A o="ASTRO TERRA CORP." 00309B o="Smartware" 00309C o="Timing Applications, Inc." 00309D o="Nimble Microsystems, Inc." 00309E o="WORKBIT CORPORATION." 00309F o="AMBER NETWORKS" 0030A0 o="TYCO SUBMARINE SYSTEMS, LTD." 0030A1 o="WEBGATE Inc." 0030A2 o="Lightner Engineering" 0030A4 o="Woodwind Communications System" 0030A5 o="ACTIVE POWER" 0030A6 o="VIANET TECHNOLOGIES, LTD." 0030A7 o="SCHWEITZER ENGINEERING" 0030A8 o="OL'E COMMUNICATIONS, INC." 0030A9 o="Netiverse, Inc." 0030AA o="AXUS MICROSYSTEMS, INC." 0030AB o="DELTA NETWORKS, INC." 0030AC o="Systeme Lauer GmbH & Co., Ltd." 0030AD o="SHANGHAI COMMUNICATION" 0030AE o="Times N System, Inc." 0030AF o="Honeywell GmbH" 0030B0 o="Convergenet Technologies" 0030B1 o="TrunkNet" 0030B2 o="L-3 Sonoma EO" 0030B3 o="San Valley Systems, Inc." 0030B4 o="INTERSIL CORP." 0030B5 o="Tadiran Microwave Networks" 0030B7 o="Teletrol Systems, Inc." 0030B8 o="RiverDelta Networks" 0030B9 o="ECTEL" 0030BA o="AC&T SYSTEM CO., LTD." 0030BB o="CacheFlow, Inc." 0030BC o="Optronic AG" 0030BD o="BELKIN COMPONENTS" 0030BE o="City-Net Technology, Inc." 0030BF o="MULTIDATA GMBH" 0030C0 o="Lara Technology, Inc." 0030C2 o="COMONE" 0030C3 o="FLUECKIGER ELEKTRONIK AG" 0030C4 o="Canon Imaging Systems Inc." 0030C5 o="CADENCE DESIGN SYSTEMS, INC." 0030C6 o="CONTROL SOLUTIONS, INC." 0030C7 o="Macromate Corp." 0030C8 o="GAD LINE, LTD." 0030C9 o="LuxN, N" 0030CA o="Discovery Com" 0030CB o="OMNI FLOW COMPUTERS, INC." 0030CC o="Tenor Networks, Inc." 0030CD o="CONEXANT SYSTEMS, INC." 0030CE o="Zaffire" 0030CF o="TWO TECHNOLOGIES, INC." 0030D0,70DDA1 o="Tellabs" 0030D1 o="INOVA CORPORATION" 0030D2 o="WIN TECHNOLOGIES, CO., LTD." 0030D4 o="AAE Systems, Inc." 0030D5 o="DResearch GmbH" 0030D6 o="MSC VERTRIEBS GMBH" 0030D7 o="Innovative Systems, L.L.C." 0030D8 o="SITEK" 0030D9 o="DATACORE SOFTWARE CORP." 0030DB o="Mindready Solutions, Inc." 0030DC o="RIGHTECH CORPORATION" 0030DD o="INDIGITA CORPORATION" 0030DE o="WAGO Kontakttechnik GmbH" 0030DF o="KB/TEL TELECOMUNICACIONES" 0030E0 o="OXFORD SEMICONDUCTOR LTD." 0030E1 o="Network Equipment Technologies, Inc." 0030E2 o="GARNET SYSTEMS CO., LTD." 0030E3 o="SEDONA NETWORKS CORP." 0030E4 o="CHIYODA SYSTEM RIKEN" 0030E5 o="Amper Datos S.A." 0030E6 o="Draeger Medical Systems, Inc." 0030E7 o="CNF MOBILE SOLUTIONS, INC." 0030E8 o="ENSIM CORP." 0030E9 o="GMA COMMUNICATION MANUFACT'G" 0030EA o="TeraForce Technology Corporation" 0030EB o="TURBONET COMMUNICATIONS, INC." 0030EC o="BORGARDT" 0030ED o="Expert Magnetics Corp." 0030EE o="DSG Technology, Inc." 0030EF o="NEON TECHNOLOGY, INC." 0030F0 o="Uniform Industrial Corp." 0030F3 o="At Work Computers" 0030F4 o="STARDOT TECHNOLOGIES" 0030F5 o="Wild Lab. Ltd." 0030F6 o="SECURELOGIX CORPORATION" 0030F7 o="RAMIX INC." 0030F8 o="Dynapro Systems, Inc." 0030F9 o="Sollae Systems Co., Ltd." 0030FA o="TELICA, INC." 0030FB o="AZS Technology AG" 0030FC o="Terawave Communications, Inc." 0030FD o="INTEGRATED SYSTEMS DESIGN" 0030FE o="DSA GmbH" 00323A o="so-logic" 00336C o="SynapSense Corporation" 0034F1 o="Radicom Research, Inc." 003532 o="Electro-Metrics Corporation" 003560 o="Rosen Aviation" 0036F8 o="Conti Temic microelectronic GmbH" 0036FE o="SuperVision" 003AAF o="BlueBit Ltd." 003CC5 o="WONWOO Engineering Co., Ltd" 003D41 o="Hatteland Computer AS" 004000 o="PCI COMPONENTES DA AMZONIA LTD" 004001 o="Zero One Technology Co. Ltd." 004002 o="PERLE SYSTEMS LIMITED" 004003 o="Emerson Process Management Power & Water Solutions, Inc." 004004 o="ICM CO. LTD." 004005 o="ANI COMMUNICATIONS INC." 004006 o="SAMPO TECHNOLOGY CORPORATION" 004007 o="TELMAT INFORMATIQUE" 004008 o="A PLUS INFO CORPORATION" 004009 o="TACHIBANA TECTRON CO., LTD." 00400A o="PIVOTAL TECHNOLOGIES, INC." 00400C o="GENERAL MICRO SYSTEMS, INC." 00400D o="LANNET DATA COMMUNICATIONS,LTD" 00400F o="DATACOM TECHNOLOGIES" 004010 o="SONIC SYSTEMS, INC." 004011 o="ANDOVER CONTROLS CORPORATION" 004012 o="WINDATA, INC." 004013 o="NTT DATA COMM. SYSTEMS CORP." 004014 o="COMSOFT GMBH" 004015 o="ASCOM INFRASYS AG" 004016 o="ADC - Global Connectivity Solutions Division" 004017 o="Silex Technology America" 004018 o="ADOBE SYSTEMS, INC." 004019 o="AEON SYSTEMS, INC." 00401A o="FUJI ELECTRIC CO., LTD." 00401B,008058 o="PRINTER SYSTEMS CORP." 00401C o="AST RESEARCH, INC." 00401D o="INVISIBLE SOFTWARE, INC." 00401E o="ICC" 00401F o="COLORGRAPH LTD" 004020 o="CommScope Inc" 004021 o="RASTER GRAPHICS" 004022 o="KLEVER COMPUTERS, INC." 004023 o="LOGIC CORPORATION" 004024 o="COMPAC INC." 004025 o="MOLECULAR DYNAMICS" 004027 o="SMC MASSACHUSETTS, INC." 004028,006064 o="NETCOMM LIMITED" 004029 o="Compex" 00402A,10EED9 o="Canoga Perkins Corporation" 00402B o="TRIGEM COMPUTER, INC." 00402C o="ISIS DISTRIBUTED SYSTEMS, INC." 00402D o="HARRIS ADACOM CORPORATION" 00402E o="PRECISION SOFTWARE, INC." 00402F o="XLNT DESIGNS INC." 004030 o="GK COMPUTER" 004031 o="KOKUSAI ELECTRIC CO., LTD" 004032 o="DIGITAL COMMUNICATIONS" 004033 o="ADDTRON TECHNOLOGY CO., LTD." 004034 o="BUSTEK CORPORATION" 004035 o="OPCOM" 004036 o="Zoom Telephonics, Inc" 004037 o="SEA-ILAN, INC." 004038 o="TALENT ELECTRIC INCORPORATED" 004039 o="OPTEC DAIICHI DENKO CO., LTD." 00403A o="IMPACT TECHNOLOGIES" 00403B o="SYNERJET INTERNATIONAL CORP." 00403C o="FORKS, INC." 00403D o="Teradata Corporation" 00403E o="RASTER OPS CORPORATION" 00403F o="SSANGYONG COMPUTER SYSTEMS" 004040 o="RING ACCESS, INC." 004041 o="FUJIKURA LTD." 004042 o="N.A.T. GMBH" 004044 o="QNIX COMPUTER CO., LTD." 004045 o="TWINHEAD CORPORATION" 004046 o="UDC RESEARCH LIMITED" 004047 o="WIND RIVER SYSTEMS" 004048 o="SMD INFORMATICA S.A." 004049 o="Roche Diagnostics International Ltd." 00404A o="WEST AUSTRALIAN DEPARTMENT" 00404B o="MAPLE COMPUTER SYSTEMS" 00404C o="HYPERTEC PTY LTD." 00404D o="TELECOMMUNICATIONS TECHNIQUES" 00404E o="FLUENT, INC." 00404F o="SPACE & NAVAL WARFARE SYSTEMS" 004050 o="IRONICS, INCORPORATED" 004051 o="Garbee and Garbee" 004052 o="STAR TECHNOLOGIES, INC." 004053 o="AMPRO COMPUTERS" 004054 o="CONNECTION MACHINES SERVICES" 004055 o="METRONIX GMBH" 004056 o="MCM JAPAN LTD." 004057 o="LOCKHEED - SANDERS" 004058 o="KRONOS, INC." 004059 o="YOSHIDA KOGYO K. K." 00405A o="GOLDSTAR INFORMATION & COMM." 00405B o="FUNASSET LIMITED" 00405C o="FUTURE SYSTEMS, INC." 00405D o="STAR-TEK, INC." 00405E o="NORTH HILLS ISRAEL" 00405F o="AFE COMPUTERS LTD." 004060 o="COMENDEC LTD" 004061 o="DATATECH ENTERPRISES CO., LTD." 004062 o="E-SYSTEMS, INC./GARLAND DIV." 004063 o="VIA TECHNOLOGIES, INC." 004064 o="KLA INSTRUMENTS CORPORATION" 004065 o="GTE SPACENET" 004066 o="APRESIA Systems Ltd" 004067 o="OMNIBYTE CORPORATION" 004068 o="EXTENDED SYSTEMS" 004069 o="LEMCOM SYSTEMS, INC." 00406A o="KENTEK INFORMATION SYSTEMS,INC" 00406B o="SYSGEN" 00406C o="COPERNIQUE" 00406D o="LANCO, INC." 00406E o="COROLLARY, INC." 00406F o="SYNC RESEARCH INC." 004070 o="INTERWARE CO., LTD." 004071 o="ATM COMPUTER GMBH" 004072,009071 o="Applied Innovation Inc." 004073 o="BASS ASSOCIATES" 004074 o="CABLE AND WIRELESS" 004076 o="Sun Conversion Technologies" 004077 o="MAXTON TECHNOLOGY CORPORATION" 004078 o="WEARNES AUTOMATION PTE LTD" 004079 o="JUKO MANUFACTURE COMPANY, LTD." 00407A o="SOCIETE D'EXPLOITATION DU CNIT" 00407B o="SCIENTIFIC ATLANTA" 00407C o="QUME CORPORATION" 00407D o="EXTENSION TECHNOLOGY CORP." 00407E o="EVERGREEN SYSTEMS, INC." 00407F o="FLIR Systems" 004080 o="ATHENIX CORPORATION" 004081 o="MANNESMANN SCANGRAPHIC GMBH" 004082 o="LABORATORY EQUIPMENT CORP." 004083 o="TDA INDUSTRIA DE PRODUTOS" 004084 o="Honeywell International HPS" 004085 o="SAAB INSTRUMENTS AB" 004086 o="MICHELS & KLEBERHOFF COMPUTER" 004087 o="UBITREX CORPORATION" 004088 o="MOBIUS TECHNOLOGIES, INC." 004089 o="MEIDENSHA CORPORATION" 00408A o="TPS TELEPROCESSING SYS. GMBH" 00408B o="RAYLAN CORPORATION" 00408C o="AXIS COMMUNICATIONS AB" 00408D o="THE GOODYEAR TIRE & RUBBER CO." 00408F o="WM-DATA MINFO AB" 004090 o="ANSEL COMMUNICATIONS" 004091 o="PROCOMP INDUSTRIA ELETRONICA" 004092 o="ASP COMPUTER PRODUCTS, INC." 004093 o="PAXDATA NETWORKS LTD." 004094 o="SHOGRAPHICS, INC." 004095 o="R.P.T. INTERGROUPS INT'L LTD." 004097 o="DATEX DIVISION OF" 004098 o="DRESSLER GMBH & CO." 004099 o="NEWGEN SYSTEMS CORP." 00409A o="NETWORK EXPRESS, INC." 00409B o="HAL COMPUTER SYSTEMS INC." 00409C o="TRANSWARE" 00409D o="DigiBoard" 00409E o="CONCURRENT TECHNOLOGIES LTD." 0040A0 o="GOLDSTAR CO., LTD." 0040A1 o="ERGO COMPUTING" 0040A2 o="KINGSTAR TECHNOLOGY INC." 0040A3 o="MICROUNITY SYSTEMS ENGINEERING" 0040A4 o="ROSE ELECTRONICS" 0040A5 o="CLINICOMP INTL." 0040A6 o="Cray, Inc." 0040A7 o="ITAUTEC PHILCO S.A." 0040A8 o="IMF INTERNATIONAL LTD." 0040A9 o="DATACOM INC." 0040AA o="Valmet Automation" 0040AB o="ROLAND DG CORPORATION" 0040AC o="SUPER WORKSTATION, INC." 0040AD o="SMA REGELSYSTEME GMBH" 0040AE o="DELTA CONTROLS, INC." 0040AF o="DIGITAL PRODUCTS, INC." 0040B0 o="BYTEX CORPORATION, ENGINEERING" 0040B1 o="CODONICS INC." 0040B2 o="SYSTEMFORSCHUNG" 0040B3 o="ParTech Inc." 0040B4 o="NEXTCOM K.K." 0040B5 o="VIDEO TECHNOLOGY COMPUTERS LTD" 0040B6 o="COMPUTERM CORPORATION" 0040B7 o="STEALTH COMPUTER SYSTEMS" 0040B8 o="IDEA ASSOCIATES" 0040B9 o="MACQ ELECTRONIQUE SA" 0040BA o="ALLIANT COMPUTER SYSTEMS CORP." 0040BB o="GOLDSTAR CABLE CO., LTD." 0040BC o="ALGORITHMICS LTD." 0040BD o="STARLIGHT NETWORKS, INC." 0040BE o="BOEING DEFENSE & SPACE" 0040BF o="CHANNEL SYSTEMS INTERN'L INC." 0040C0 o="VISTA CONTROLS CORPORATION" 0040C1 o="BIZERBA-WERKE WILHEIM KRAUT" 0040C2 o="APPLIED COMPUTING DEVICES" 0040C3 o="FISCHER AND PORTER CO." 0040C4 o="KINKEI SYSTEM CORPORATION" 0040C5 o="MICOM COMMUNICATIONS INC." 0040C6 o="FIBERNET RESEARCH, INC." 0040C7 o="RUBY TECH CORPORATION" 0040C8 o="MILAN TECHNOLOGY CORPORATION" 0040C9 o="NCUBE" 0040CA o="FIRST INTERNAT'L COMPUTER, INC" 0040CB o="LANWAN TECHNOLOGIES" 0040CC o="SILCOM MANUF'G TECHNOLOGY INC." 0040CD o="TERA MICROSYSTEMS, INC." 0040CE o="NET-SOURCE, INC." 0040CF o="STRAWBERRY TREE, INC." 0040D1 o="FUKUDA DENSHI CO., LTD." 0040D2 o="PAGINE CORPORATION" 0040D3 o="KIMPSION INTERNATIONAL CORP." 0040D4 o="GAGE TALKER CORP." 0040D5 o="Sartorius Mechatronics T&H GmbH" 0040D6 o="LOCAMATION B.V." 0040D7 o="STUDIO GEN INC." 0040D8 o="OCEAN OFFICE AUTOMATION LTD." 0040D9 o="AMERICAN MEGATRENDS INC." 0040DA o="TELSPEC LTD" 0040DB o="ADVANCED TECHNICAL SOLUTIONS" 0040DC o="TRITEC ELECTRONIC GMBH" 0040DD o="HONG TECHNOLOGIES" 0040DE o="Elsag Datamat spa" 0040DF o="DIGALOG SYSTEMS, INC." 0040E0 o="ATOMWIDE LTD." 0040E1 o="MARNER INTERNATIONAL, INC." 0040E2 o="MESA RIDGE TECHNOLOGIES, INC." 0040E3 o="QUIN SYSTEMS LTD" 0040E4 o="E-M TECHNOLOGY, INC." 0040E5 o="SYBUS CORPORATION" 0040E6 o="C.A.E.N." 0040E7 o="ARNOS INSTRUMENTS & COMPUTER" 0040E8 o="CHARLES RIVER DATA SYSTEMS,INC" 0040E9 o="ACCORD SYSTEMS, INC." 0040EA o="PLAIN TREE SYSTEMS INC" 0040EB o="MARTIN MARIETTA CORPORATION" 0040EC o="MIKASA SYSTEM ENGINEERING" 0040ED o="NETWORK CONTROLS INT'NATL INC." 0040EE o="OPTIMEM" 0040EF o="HYPERCOM, INC." 0040F0 o="MicroBrain,Inc." 0040F1 o="CHUO ELECTRONICS CO., LTD." 0040F2 o="JANICH & KLASS COMPUTERTECHNIK" 0040F3 o="NETCOR" 0040F4 o="CAMEO COMMUNICATIONS, INC." 0040F5 o="OEM ENGINES" 0040F6 o="KATRON COMPUTERS INC." 0040F8 o="SYSTEMHAUS DISCOM" 0040F9 o="COMBINET" 0040FA o="MICROBOARDS, INC." 0040FB,0060D1 o="CASCADE COMMUNICATIONS" 0040FC o="IBR COMPUTER TECHNIK GMBH" 0040FD o="LXE" 0040FE o="SYMPLEX COMMUNICATIONS" 0040FF o="TELEBIT CORPORATION" 0041B4 o="Wuxi Zhongxing Optoelectronics Technology Co.,Ltd." 004252 o="RLX Technologies" 0043FF o="KETRON S.R.L." 004501 o="Midmark RTLS" 004BF3,386B1C,44F971,503AA0,508965,640DCE,BC54FC,C0A5DD,E4F3F5 o="SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD." 004D32 o="Andon Health Co.,Ltd." 005000 o="NEXO COMMUNICATIONS, INC." 005001 o="YAMASHITA SYSTEMS CORP." 005002 o="OMNISEC AG" 005003 o="Xrite Inc" 005006 o="TAC AB" 005007 o="SIEMENS TELECOMMUNICATION SYSTEMS LIMITED" 005008 o="TIVA MICROCOMPUTER CORP. (TMC)" 005009 o="PHILIPS BROADBAND NETWORKS" 00500A o="IRIS TECHNOLOGIES, INC." 00500C o="e-Tek Labs, Inc." 00500D o="SATORI ELECTORIC CO., LTD." 00500E o="CHROMATIS NETWORKS, INC." 005010 o="NovaNET Learning, Inc." 005012 o="CBL - GMBH" 005013,0050CC,0090F1,00C0FF o="Seagate Cloud Systems Inc" 005015 o="BRIGHT STAR ENGINEERING" 005016 o="Molex Canada Ltd" 005017 o="RSR S.R.L." 005018 o="AMIT, Inc." 005019 o="SPRING TIDE NETWORKS, INC." 00501A o="IQinVision" 00501B o="ABL CANADA, INC." 00501C o="JATOM SYSTEMS, INC." 00501E,00B009,00D08E o="Grass Valley, A Belden Brand" 00501F o="MRG SYSTEMS, LTD." 005020 o="MEDIASTAR CO., LTD." 005021 o="EIS INTERNATIONAL, INC." 005022 o="ZONET TECHNOLOGY, INC." 005023 o="PG DESIGN ELECTRONICS, INC." 005024 o="NAVIC SYSTEMS, INC." 005026 o="COSYSTEMS, INC." 005027 o="GENICOM CORPORATION" 005028 o="AVAL COMMUNICATIONS" 005029 o="1394 PRINTER WORKING GROUP" 00502B o="GENRAD LTD." 00502C o="SOYO COMPUTER, INC." 00502D o="ACCEL, INC." 00502E o="CAMBEX CORPORATION" 00502F o="TollBridge Technologies, Inc." 005030 o="FUTURE PLUS SYSTEMS" 005031 o="AEROFLEX LABORATORIES, INC." 005032 o="PICAZO COMMUNICATIONS, INC." 005033 o="MAYAN NETWORKS" 005036 o="NETCAM, LTD." 005037 o="KOGA ELECTRONICS CO." 005038 o="DAIN TELECOM CO., LTD." 005039 o="MARINER NETWORKS" 00503A o="DATONG ELECTRONICS LTD." 00503B o="MEDIAFIRE CORPORATION" 00503C o="TSINGHUA NOVEL ELECTRONICS" 00503F o="ANCHOR GAMES" 005040,00C08F o="Panasonic Electric Works Co., Ltd." 005041 o="Coretronic Corporation" 005042 o="SCI MANUFACTURING SINGAPORE PTE, LTD." 005043 o="MARVELL SEMICONDUCTOR, INC." 005044 o="ASACA CORPORATION" 005045 o="RIOWORKS SOLUTIONS, INC." 005046 o="MENICX INTERNATIONAL CO., LTD." 005048 o="INFOLIBRIA" 005049 o="Arbor Networks Inc" 00504A o="ELTECO A.S." 00504B o="BARCONET N.V." 00504C o="Galil Motion Control" 00504D o="Tokyo Electron Device Limited" 00504E o="SIERRA MONITOR CORP." 00504F o="OLENCOM ELECTRONICS" 005051 o="IWATSU ELECTRIC CO., LTD." 005052 o="TIARA NETWORKS, INC." 005055 o="DOMS A/S" 005057 o="BROADBAND ACCESS SYSTEMS" 005058 o="Sangoma Technologies" 005059 o="iBAHN" 00505A o="NETWORK ALCHEMY, INC." 00505B o="KAWASAKI LSI U.S.A., INC." 00505C o="TUNDO CORPORATION" 00505E o="DIGITEK MICROLOGIC S.A." 00505F o="BRAND INNOVATORS" 005060 o="TANDBERG TELECOM AS" 005062 o="KOUWELL ELECTRONICS CORP. **" 005063 o="OY COMSEL SYSTEM AB" 005064 o="CAE ELECTRONICS" 005065 o="TDK-Lambda Corporation" 005066 o="AtecoM GmbH advanced telecomunication modules" 005067 o="AEROCOMM, INC." 005068 o="ELECTRONIC INDUSTRIES ASSOCIATION" 005069 o="PixStream Incorporated" 00506A o="EDEVA, INC." 00506B o="SPX-ATEG" 00506C o="Beijer Electronics Products AB" 00506D o="VIDEOJET SYSTEMS" 00506E o="CORDER ENGINEERING CORPORATION" 00506F o="G-CONNECT" 005070 o="CHAINTECH COMPUTER CO., LTD." 005071 o="AIWA CO., LTD." 005072 o="CORVIS CORPORATION" 005074 o="ADVANCED HI-TECH CORP." 005075 o="KESTREL SOLUTIONS" 005077 o="PROLIFIC TECHNOLOGY, INC." 005078 o="MEGATON HOUSE, LTD." 00507A o="XPEED, INC." 00507B o="MERLOT COMMUNICATIONS" 00507C o="VIDEOCON AG" 00507D o="IFP" 00507E o="NEWER TECHNOLOGY" 005081 o="MURATA MACHINERY, LTD." 005082 o="FORESSON CORPORATION" 005083 o="GILBARCO, INC." 005086 o="TELKOM SA, LTD." 005087 o="TERASAKI ELECTRIC CO., LTD." 005088 o="AMANO CORPORATION" 005089 o="SAFETY MANAGEMENT SYSTEMS" 00508C o="RSI SYSTEMS" 00508D o="ABIT COMPUTER CORPORATION" 00508E o="OPTIMATION, INC." 00508F o="ASITA TECHNOLOGIES INT'L LTD." 005090 o="DCTRI" 005091 o="NETACCESS, INC." 005092 o="Rigaku Corporation Osaka Plant" 005093 o="BOEING" 005095 o="PERACOM NETWORKS" 005096 o="SALIX TECHNOLOGIES, INC." 005097 o="MMC-EMBEDDED COMPUTERTECHNIK GmbH" 005098 o="GLOBALOOP, LTD." 00509A o="TAG ELECTRONIC SYSTEMS" 00509B o="SWITCHCORE AB" 00509C o="BETA RESEARCH" 00509D o="THE INDUSTREE B.V." 00509E o="Les Technologies SoftAcoustik Inc." 00509F o="HORIZON COMPUTER" 0050A0 o="DELTA COMPUTER SYSTEMS, INC." 0050A1 o="CARLO GAVAZZI, INC." 0050A3 o="TransMedia Communications, Inc." 0050A4 o="IO TECH, INC." 0050A5 o="CAPITOL BUSINESS SYSTEMS, LTD." 0050A6 o="OPTRONICS" 0050A8 o="OpenCon Systems, Inc." 0050A9 o="MOLDAT WIRELESS TECHNOLGIES" 0050AB o="NALTEC, Inc." 0050AC o="MAPLE COMPUTER CORPORATION" 0050AD o="CommUnique Wireless Corp." 0050AE o="FDK Co., Ltd" 0050AF o="INTERGON, INC." 0050B0 o="TECHNOLOGY ATLANTA CORPORATION" 0050B1 o="GIDDINGS & LEWIS" 0050B2 o="BRODEL GmbH" 0050B3 o="VOICEBOARD CORPORATION" 0050B4 o="SATCHWELL CONTROL SYSTEMS, LTD" 0050B5 o="FICHET SECURITE ELECTRONIQUE" 0050B6 o="GOOD WAY IND. CO., LTD." 0050B7 o="BOSER TECHNOLOGY CO., LTD." 0050B8 o="INOVA COMPUTERS GMBH & CO. KG" 0050B9 o="XITRON TECHNOLOGIES, INC." 0050BB o="CMS TECHNOLOGIES" 0050BC o="HAMMER STORAGE SOLUTIONS" 0050BE o="FAST MULTIMEDIA AG" 0050C0 o="GATAN, INC." 0050C1 o="GEMFLEX NETWORKS, LTD." 0050C4 o="IMD" 0050C5 o="ADS Technologies, Inc" 0050C6 o="LOOP TELECOMMUNICATION INTERNATIONAL, INC." 0050C8 o="Addonics Technologies, Inc." 0050C9 o="MASPRO DENKOH CORP." 0050CA o="NET TO NET TECHNOLOGIES" 0050CB o="JETTER" 0050CD o="DIGIANSWER A/S" 0050CE o="LG INTERNATIONAL CORP." 0050CF o="VANLINK COMMUNICATION TECHNOLOGY RESEARCH INSTITUTE" 0050D0 o="MINERVA SYSTEMS" 0050D2 o="CMC Electronics Inc" 0050D3 o="DIGITAL AUDIO PROCESSING PTY. LTD." 0050D4 o="JOOHONG INFORMATION &" 0050D5 o="AD SYSTEMS CORP." 0050D6 o="ATLAS COPCO TOOLS AB" 0050D7 o="TELSTRAT" 0050D8 o="UNICORN COMPUTER CORP." 0050D9 o="ENGETRON-ENGENHARIA ELETRONICA IND. e COM. LTDA" 0050DB o="CONTEMPORARY CONTROL" 0050DC o="TAS TELEFONBAU A. SCHWABE GMBH & CO. KG" 0050DD o="SERRA SOLDADURA, S.A." 0050DE o="SIGNUM SYSTEMS CORP." 0050DF o="AirFiber, Inc." 0050E1 o="NS TECH ELECTRONICS SDN BHD" 0050E6 o="HAKUSAN CORPORATION" 0050E7 o="PARADISE INNOVATIONS (ASIA)" 0050E8 o="NOMADIX INC." 0050EA o="XEL COMMUNICATIONS, INC." 0050EB o="ALPHA-TOP CORPORATION" 0050EC o="OLICOM A/S" 0050ED o="ANDA NETWORKS" 0050EE o="TEK DIGITEL CORPORATION" 0050EF o="SPE Systemhaus GmbH" 0050F2 o="MICROSOFT CORP." 0050F3 o="GLOBAL NET INFORMATION CO., Ltd." 0050F4 o="SIGMATEK GMBH & CO. KG" 0050F6 o="PAN-INTERNATIONAL INDUSTRIAL CORP." 0050F7 o="VENTURE MANUFACTURING (SINGAPORE) LTD." 0050F8 o="ENTREGA TECHNOLOGIES, INC." 0050F9 o="Sensormatic Electronics LLC" 0050FA o="OXTEL, LTD." 0050FB o="VSK ELECTRONICS" 0050FD o="VISIONCOMM CO., LTD." 0050FE o="PCTVnet ASA" 0050FF o="HAKKO ELECTRONICS CO., LTD." 0051ED,044EAF,203DBD,2C2BF9,30A9DE,44CB8B,60AB14,7440BE,7C1C4E,944444,A06FAA,B4E62A,C4366C,C80210,CC8826,E8F2E2 o="LG Innotek" 005218 o="Wuxi Keboda Electron Co.Ltd" 0054BD o="Swelaser AB" 00583F o="PC Aquarius" 005907 o="LenovoEMC Products USA, LLC" 005979 o="Networked Energy Services" 0059AC o="KPN. B.V." 005A39,005C86,0CD86C,38019F,44975A,60EE5C,704E66,745427,74C330,78EB14,8C78D7,D455BE,D48304,F46A92 o="SHENZHEN FAST TECHNOLOGIES CO.,LTD" 005BA1 o="shanghai huayuan chuangxin software CO., LTD." 005CB1 o="Gospell DIGITAL TECHNOLOGY CO., LTD" 005D03 o="Xilinx, Inc" 005E0C,04F128,203956,4C6AF6,60D89C,6CA928,6CC4D5,748A28,88517A,90A365,94EE9F,A028ED,A83E0E,AC5775,BC024A,C010B1,F8ADCB o="HMD Global Oy" 006000 o="XYCOM INC." 006001 o="InnoSys, Inc." 006002 o="SCREEN SUBTITLING SYSTEMS, LTD" 006003 o="TERAOKA WEIGH SYSTEM PTE, LTD." 006004 o="COMPUTADORES MODULARES SA" 006005 o="FEEDBACK DATA LTD." 006006 o="SOTEC CO., LTD" 006007 o="ACRES GAMING, INC." 00600A o="SORD COMPUTER CORPORATION" 00600B o="LOGWARE GmbH" 00600C o="Eurotech Inc." 00600D o="Digital Logic GmbH" 00600E o="WAVENET INTERNATIONAL, INC." 006010 o="NETWORK MACHINES, INC." 006011 o="CRYSTAL SEMICONDUCTOR CORP." 006012 o="POWER COMPUTING CORPORATION" 006013 o="NETSTAL MASCHINEN AG" 006014 o="EDEC CO., LTD." 006015 o="NET2NET CORPORATION" 006016 o="CLARIION" 006017 o="TOKIMEC INC." 006018 o="STELLAR ONE CORPORATION" 006019 o="Roche Diagnostics" 00601A o="KEITHLEY INSTRUMENTS" 00601B o="MESA ELECTRONICS" 00601C o="TELXON CORPORATION" 00601E o="SOFTLAB, INC." 00601F o="STALLION TECHNOLOGIES" 006020 o="PIVOTAL NETWORKING, INC." 006021 o="DSC CORPORATION" 006022 o="VICOM SYSTEMS, INC." 006023 o="PERICOM SEMICONDUCTOR CORP." 006024 o="GRADIENT TECHNOLOGIES, INC." 006025 o="ACTIVE IMAGING PLC" 006026 o="VIKING Modular Solutions" 006027 o="Superior Modular Products" 006028 o="MACROVISION CORPORATION" 006029 o="CARY PERIPHERALS INC." 00602A o="SYMICRON COMPUTER COMMUNICATIONS, LTD." 00602B o="PEAK AUDIO" 00602C o="LINX Data Terminals, Inc." 00602D o="ALERTON TECHNOLOGIES, INC." 00602E o="CYCLADES CORPORATION" 006030 o="VILLAGE TRONIC ENTWICKLUNG" 006031 o="HRK SYSTEMS" 006032 o="I-CUBE, INC." 006033 o="ACUITY IMAGING, INC." 006034 o="ROBERT BOSCH GmbH" 006035 o="DALLAS SEMICONDUCTOR, INC." 006036 o="AIT Austrian Institute of Technology GmbH" 006037,AC9A22,E05124 o="NXP Semiconductors" 006039 o="SanCom Technology, Inc." 00603A o="QUICK CONTROLS LTD." 00603B o="AMTEC spa" 00603C o="HAGIWARA SYS-COM CO., LTD." 00603D o="3CX" 00603F o="PATAPSCO DESIGNS" 006040 o="NETRO CORP." 006042 o="TKS (USA), INC." 006043 o="iDirect, INC." 006044 o="LITTON/POLY-SCIENTIFIC" 006045 o="PATHLIGHT TECHNOLOGIES" 006046 o="VMETRO, INC." 006049 o="VINA TECHNOLOGIES" 00604A o="SAIC IDEAS GROUP" 00604B o="Safe-com GmbH & Co. KG" 00604D o="MMC NETWORKS, INC." 00604E o="CYCLE COMPUTER CORPORATION, INC." 006050 o="INTERNIX INC." 006051 o="QUALITY SEMICONDUCTOR" 006052 o="PERIPHERALS ENTERPRISE CO., Ltd." 006053 o="TOYODA MACHINE WORKS, LTD." 006054 o="CONTROLWARE GMBH" 006055 o="CORNELL UNIVERSITY" 006056 o="NETWORK TOOLS, INC." 006058 o="COPPER MOUNTAIN COMMUNICATIONS, INC." 006059 o="TECHNICAL COMMUNICATIONS CORP." 00605A o="CELCORE, INC." 00605B o="IntraServer Technology, Inc." 00605D o="SCANIVALVE CORP." 00605E o="LIBERTY TECHNOLOGY NETWORKING" 00605F o="NIPPON UNISOFT CORPORATION" 006060 o="Data Innovations North America" 006061 o="WHISTLE COMMUNICATIONS CORP." 006062 o="TELESYNC, INC." 006063 o="PSION DACOM PLC." 006065 o="BERNECKER & RAINER INDUSTRIE-ELEKTRONIC GmbH" 006066 o="LACROIX Trafic" 006067 o="ACER NETXUS INC." 006068 o="Dialogic Corporation" 00606A o="MITSUBISHI WIRELESS COMMUNICATIONS. INC." 00606B o="Synclayer Inc." 00606C o="ARESCOM" 00606D o="DIGITAL EQUIPMENT CORP." 00606E o="DAVICOM SEMICONDUCTOR, INC." 00606F o="CLARION CORPORATION OF AMERICA" 006071 o="MIDAS LAB, INC." 006072 o="VXL INSTRUMENTS, LIMITED" 006073 o="REDCREEK COMMUNICATIONS, INC." 006074 o="QSC LLC" 006075 o="PENTEK, INC." 006076 o="SCHLUMBERGER TECHNOLOGIES RETAIL PETROLEUM SYSTEMS" 006077 o="PRISA NETWORKS" 006078 o="POWER MEASUREMENT LTD." 006079 o="Mainstream Data, Inc." 00607A o="DVS GMBH" 00607B o="FORE SYSTEMS, INC." 00607C o="WaveAccess, Ltd." 00607D o="SENTIENT NETWORKS INC." 00607E o="GIGALABS, INC." 00607F o="AURORA TECHNOLOGIES, INC." 006080 o="MICROTRONIX DATACOM LTD." 006081 o="TV/COM INTERNATIONAL" 006082 o="NOVALINK TECHNOLOGIES, INC." 006084 o="DIGITAL VIDEO" 006085 o="Storage Concepts" 006086,026086 o="LOGIC REPLACEMENT TECH. LTD." 006087 o="KANSAI ELECTRIC CO., LTD." 006089 o="XATA" 00608A o="CITADEL COMPUTER" 00608B o="ConferTech International" 00608D o="UNIPULSE CORP." 00608E o="HE ELECTRONICS, TECHNOLOGIE & SYSTEMTECHNIK GmbH" 00608F o="TEKRAM TECHNOLOGY CO., LTD." 006090 o="Artiza Networks Inc" 006091 o="FIRST PACIFIC NETWORKS, INC." 006092 o="MICRO/SYS, INC." 006093 o="VARIAN" 006095 o="ACCU-TIME SYSTEMS, INC." 006096 o="T.S. MICROTECH INC." 006098 o="HT COMMUNICATIONS" 006099,00A0D6 o="SBE, Inc." 00609A o="NJK TECHNO CO." 00609B o="AstroNova, Inc" 00609C o="Perkin-Elmer Incorporated" 00609D o="PMI FOOD EQUIPMENT GROUP" 00609E o="ASC X3 - INFORMATION TECHNOLOGY STANDARDS SECRETARIATS" 00609F o="PHAST CORPORATION" 0060A0 o="SWITCHED NETWORK TECHNOLOGIES, INC." 0060A1 o="VPNet, Inc." 0060A2 o="NIHON UNISYS LIMITED CO." 0060A3 o="CONTINUUM TECHNOLOGY CORP." 0060A4 o="GEW Technologies (PTY)Ltd" 0060A5 o="PERFORMANCE TELECOM CORP." 0060A6 o="PARTICLE MEASURING SYSTEMS" 0060A7 o="MICROSENS GmbH & CO. KG" 0060A8 o="TIDOMAT AB" 0060A9 o="GESYTEC MBH" 0060AA o="INTELLIGENT DEVICES INC. (IDI)" 0060AC o="RESILIENCE CORPORATION" 0060AD o="MegaChips Corporation" 0060AE o="TRIO INFORMATION SYSTEMS AB" 0060AF o="PACIFIC MICRO DATA, INC." 0060B1 o="Input/Output, Inc." 0060B2 o="PROCESS CONTROL CORP." 0060B3 o="Z-COM, INC." 0060B4 o="GLENAYRE R&D INC." 0060B5 o="KEBA GmbH" 0060B6 o="LAND COMPUTER CO., LTD." 0060B7 o="CHANNELMATIC, INC." 0060B8 o="CORELIS Inc." 0060B9 o="NEC Platforms, Ltd" 0060BA o="SAHARA NETWORKS, INC." 0060BC o="KeunYoung Electronics & Communication Co., Ltd." 0060BD o="Enginuity Communications" 0060BE o="WEBTRONICS" 0060BF o="MACRAIGOR SYSTEMS, INC." 0060C0 o="Nera Networks AS" 0060C1 o="WaveSpan Corporation" 0060C2 o="MPL AG" 0060C3 o="NETVISION CORPORATION" 0060C4 o="SOLITON SYSTEMS K.K." 0060C5 o="ANCOT CORP." 0060C6 o="DCS AG" 0060C7 o="AMATI COMMUNICATIONS CORP." 0060C8 o="KUKA WELDING SYSTEMS & ROBOTS" 0060C9 o="ControlNet, Inc." 0060CA o="HARMONIC SYSTEMS INCORPORATED" 0060CB o="HITACHI ZOSEN CORPORATION" 0060CC o="EMTRAK, INCORPORATED" 0060CD o="VideoServer, Inc." 0060CE o="ACCLAIM COMMUNICATIONS" 0060CF o="ALTEON NETWORKS, INC." 0060D0 o="SNMP RESEARCH INCORPORATED" 0060D2 o="LUCENT TECHNOLOGIES TAIWAN TELECOMMUNICATIONS CO., LTD." 0060D4 o="ELDAT COMMUNICATION LTD." 0060D5 o="AMADA MIYACHI Co., Ltd" 0060D7 o="ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE (EPFL)" 0060D8 o="ELMIC SYSTEMS, INC." 0060D9 o="TRANSYS NETWORKS INC." 0060DB o="NTP ELEKTRONIK A/S" 0060DD o="MYRICOM, INC." 0060DE o="Kayser-Threde GmbH" 0060E0 o="AXIOM TECHNOLOGY CO., LTD." 0060E1 o="ORCKIT COMMUNICATIONS LTD." 0060E2 o="QUEST ENGINEERING & DEVELOPMENT" 0060E3 o="ARBIN INSTRUMENTS" 0060E4 o="COMPUSERVE, INC." 0060E5 o="FUJI AUTOMATION CO., LTD." 0060E6 o="SHOMITI SYSTEMS INCORPORATED" 0060E7 o="RANDATA" 0060E8 o="HITACHI COMPUTER PRODUCTS (AMERICA), INC." 0060E9 o="ATOP TECHNOLOGIES, INC." 0060EA o="StreamLogic" 0060EB o="FOURTHTRACK SYSTEMS" 0060EC o="HERMARY OPTO ELECTRONICS INC." 0060ED o="RICARDO TEST AUTOMATION LTD." 0060EE o="APOLLO" 0060EF o="FLYTECH TECHNOLOGY CO., LTD." 0060F0 o="JOHNSON & JOHNSON MEDICAL, INC" 0060F1 o="EXP COMPUTER, INC." 0060F2 o="LASERGRAPHICS, INC." 0060F4 o="ADVANCED COMPUTER SOLUTIONS, Inc." 0060F5 o="ICON WEST, INC." 0060F6 o="NEXTEST COMMUNICATIONS PRODUCTS, INC." 0060F7 o="DATAFUSION SYSTEMS" 0060F8 o="Loran International Technologies Inc." 0060F9 o="DIAMOND LANE COMMUNICATIONS" 0060FA o="EDUCATIONAL TECHNOLOGY RESOURCES, INC." 0060FB o="PACKETEER, INC." 0060FC o="CONSERVATION THROUGH INNOVATION LTD." 0060FD o="NetICs, Inc." 0060FE o="LYNX SYSTEM DEVELOPERS, INC." 0060FF o="QuVis, Inc." 0064A6 o="Maquet CardioVascular" 006619,00ADD5,00BB1C,048C9A,04D3B5,04F169,08F458,0C839A,0CE4A0,10327E,10E953,147740,14A32F,18703B,189E2C,18D98F,1C1386,246F8C,283334,2864B0,2C780E,2CC546,30A2C2,30AAE4,3446EC,347146,347E00,34B20A,4455C4,44C7FC,484C86,4C5077,5021EC,540DF9,54F294,5C78F8,6C06D6,740AE1,7422BB,7885F4,78C5F8,8C5AC1,94E4BA,94E9EE,980D51,A04147,A0D807,A4B61E,A85AE0,A8C252,ACBD70,B0735D,B0CCFE,B4A898,B4F18C,B827C5,BC1AE4,BC2EF6,C0B47D,C0B5CD,D005E4,D88ADC,D89E61,E04007,E0E0FC,E0F442,E83F67,EC3CBB,F0C42F,F4A59D o="Huawei Device Co., Ltd." 0068EB,040E3C,3822E2,E8D8D1 o="HP Inc." 00692D,08A5C8,54C57A,60313B,60D21C,886B44 o="Sunnovo International Limited" 006B8E,8CAB8E,D842AC,F0EBD0 o="Shanghai Feixun Communication Co.,Ltd." 006BA0 o="SHENZHEN UNIVERSAL INTELLISYS PTE LTD" 006D61,8014A8 o="Guangzhou V-SOLUTION Electronic Technology Co., Ltd." 006DFB o="Vutrix Technologies Ltd" 006FF2,00A096,78617C,BC825D,C449BB,F0AB54 o="MITSUMI ELECTRIC CO.,LTD." 0070B0,0270B0 o="M/A-COM INC. COMPANIES" 0070B3,0270B3 o="DATA RECALL LTD." 007147,00BB3A,00FC8B,0812A5,08849D,08A6BC,0C47C9,0CEE99,140AC5,149138,18742E,1C12B0,1C4D66,244CE3,34D270,38F73D,3C5CC4,40A2DB,40B4CD,440049,44650D,4C1744,4CEFC0,50DCE7,50F5DA,6837E9,6854FD,689A87,68DBF5,6C5697,747548,74C246,74D637,78E103,7C6166,7CD566,84D6D0,8871E5,A002DC,A40801,AC63BE,B0FC0D,B47C9C,C49500,CC9EA2,CCF735,DC54D7,F0272D,F08173,F0D2F1,F0F0A4,F4032A,F854B8,FC492D,FC65DE,FCA183,FCA667 o="Amazon Technologies Inc." 0071C2,0C54A5,100501,202564,386077,48210B,4C72B9,54B203,54BEF7,600292,7054D2,7071BC,74852A,78F29E,7C0507,84002D,88AD43,8C0F6F,C07CD1,D45DDF,D897BA,DCFE07,E06995,E840F2,ECAAA0 o="PEGATRON CORPORATION" 007204,08152F,448F17 o="Samsung Electronics Co., Ltd. ARTIK" 007263,048D38,E4BEED o="Netcore Technology Inc." 00738D,0CEC84,44D3AD,806AB0,A04C5B,A0F895,B0A2E7,B43939,B4C0F5,BC4101,BC4434,BCD1D3,C0C976,D0B33F,D83C69 o="Shenzhen TINNO Mobile Technology Corp." 00749C,14144B,300D9E,58696C,800588 o="Ruijie Networks Co.,LTD" 007532 o="INID BV" 0075E1 o="Ampt, LLC" 00763D o="Veea" 0076B1 o="Somfy-Protect By Myfox SAS" 0077E4,00D0F6,04C241,0C54B9,0C7C28,1005E1,10E878,140F42,143E60,147BAC,1CEA1B,207852,20E09C,242124,30FE31,34AA99,38521A,405582,407C7D,48EC5B,48F7F1,48F8E1,4CC94F,504061,50A0A4,50E0EF,54FA96,5CE7A0,60A8FE,68AB09,6C0D34,6CF712,702526,78F9B4,7C41A2,84262B,846991,84DBFC,8C0C87,8C83DF,8C90D3,8CF773,903AA0,94B819,94E98C,98B039,A47B2C,A492CB,A4E31B,A824B8,AC8FF8,B0700D,B0754D,BC52B4,BC6B4D,BC8D0E,C014B8,C04121,C4084A,CC66B2,D4E33F,D8EFCD,DCB082,E48184,E89363,F81308,F85C4D,FC1CA1,FC2FAA o="Nokia" 0078CD o="Ignition Design Labs" 007B18 o="SENTRY Co., LTD." 007DFA o="Volkswagen Group of America" 007E56,44EFBF,94E0D6,A09DC1 o="China Dragon Technology Limited" 008001 o="PERIPHONICS CORPORATION" 008002 o="SATELCOM (UK) LTD" 008003 o="HYTEC ELECTRONICS LTD." 008004 o="ANTLOW COMMUNICATIONS, LTD." 008005 o="CACTUS COMPUTER INC." 008006 o="COMPUADD CORPORATION" 008007 o="DLOG NC-SYSTEME" 008008 o="DYNATECH COMPUTER SYSTEMS" 008009 o="JUPITER SYSTEMS, INC." 00800A o="JAPAN COMPUTER CORP." 00800B o="CSK CORPORATION" 00800C o="VIDECOM LIMITED" 00800D o="VOSSWINKEL F.U." 00800E o="ATLANTIX CORPORATION" 00800F o="STANDARD MICROSYSTEMS" 008010 o="COMMODORE INTERNATIONAL" 008011 o="DIGITAL SYSTEMS INT'L. INC." 008012 o="INTEGRATED MEASUREMENT SYSTEMS" 008013 o="THOMAS-CONRAD CORPORATION" 008014 o="ESPRIT SYSTEMS" 008015 o="SEIKO SYSTEMS, INC." 008016 o="WANDEL AND GOLTERMANN" 008017,F0BCC9 o="PFU LIMITED" 008018 o="KOBE STEEL, LTD." 008019 o="DAYNA COMMUNICATIONS, INC." 00801A o="BELL ATLANTIC" 00801B o="KODIAK TECHNOLOGY" 00801C o="NEWPORT SYSTEMS SOLUTIONS" 00801D o="INTEGRATED INFERENCE MACHINES" 00801E o="XINETRON, INC." 00801F o="KRUPP ATLAS ELECTRONIK GMBH" 008020 o="NETWORK PRODUCTS" 008021 o="Alcatel Canada Inc." 008022 o="SCAN-OPTICS" 008023 o="INTEGRATED BUSINESS NETWORKS" 008024 o="KALPANA, INC." 008025 o="Telit Wireless Solutions GmbH" 008026 o="NETWORK PRODUCTS CORPORATION" 008027 o="ADAPTIVE SYSTEMS, INC." 008028 o="TRADPOST (HK) LTD" 008029,00A0B9 o="EAGLE TECHNOLOGY, INC." 00802A o="TEST SYSTEMS & SIMULATIONS INC" 00802B o="INTEGRATED MARKETING CO" 00802C o="THE SAGE GROUP PLC" 00802D o="XYLOGICS INC" 00802E o="CASTLE ROCK COMPUTING" 00802F o="NATIONAL INSTRUMENTS CORP." 008030 o="NEXUS ELECTRONICS" 008031 o="BASYS, CORP." 008032 o="ACCESS CO., LTD." 008033 o="EMS Aviation, Inc." 008034 o="SMT GOUPIL" 008035 o="TECHNOLOGY WORKS, INC." 008036 o="REFLEX MANUFACTURING SYSTEMS" 008038 o="DATA RESEARCH & APPLICATIONS" 008039 o="ALCATEL STC AUSTRALIA" 00803A o="VARITYPER, INC." 00803B o="APT COMMUNICATIONS, INC." 00803C o="TVS ELECTRONICS LTD" 00803D o="SURIGIKEN CO., LTD." 00803E o="SYNERNETICS" 00803F o="TATUNG COMPANY" 008040 o="JOHN FLUKE MANUFACTURING CO." 008041 o="VEB KOMBINAT ROBOTRON" 008043 o="NETWORLD, INC." 008044 o="SYSTECH COMPUTER CORP." 008045 o="MATSUSHITA ELECTRIC IND. CO" 008047 o="IN-NET CORP." 008048 o="COMPEX INCORPORATED" 008049 o="NISSIN ELECTRIC CO., LTD." 00804A o="PRO-LOG" 00804B o="EAGLE TECHNOLOGIES PTY.LTD." 00804C o="CONTEC CO., LTD." 00804D o="CYCLONE MICROSYSTEMS, INC." 00804E o="APEX COMPUTER COMPANY" 00804F o="DAIKIN INDUSTRIES, LTD." 008050 o="ZIATECH CORPORATION" 008051 o="FIBERMUX" 008052 o="TECHNICALLY ELITE CONCEPTS" 008053 o="INTELLICOM, INC." 008054 o="FRONTIER TECHNOLOGIES CORP." 008055 o="FERMILAB" 008056 o="SPHINX Electronics GmbH & Co KG" 008057 o="ADSOFT, LTD." 008059 o="STANLEY ELECTRIC CO., LTD" 00805A o="TULIP COMPUTERS INTERNAT'L B.V" 00805B o="CONDOR SYSTEMS, INC." 00805C o="AGILIS CORPORATION" 00805D o="CANSTAR" 00805E o="LSI LOGIC CORPORATION" 008060 o="NETWORK INTERFACE CORPORATION" 008061 o="LITTON SYSTEMS, INC." 008062 o="INTERFACE CO." 008063,646038,EC74BA o="Hirschmann Automation and Control GmbH" 008064 o="WYSE TECHNOLOGY LLC" 008065 o="CYBERGRAPHIC SYSTEMS PTY LTD." 008066 o="ARCOM CONTROL SYSTEMS, LTD." 008067 o="SQUARE D COMPANY" 008068 o="YAMATECH SCIENTIFIC LTD." 008069 o="COMPUTONE SYSTEMS" 00806A o="ERI (EMPAC RESEARCH INC.)" 00806B o="SCHMID TELECOMMUNICATION" 00806C o="Secure Systems & Services" 00806D o="CENTURY SYSTEMS CORP." 00806E o="NIPPON STEEL CORPORATION" 00806F o="ONELAN LTD." 008070 o="COMPUTADORAS MICRON" 008071 o="SAI TECHNOLOGY" 008072 o="MICROPLEX SYSTEMS LTD." 008073 o="DWB ASSOCIATES" 008074 o="FISHER CONTROLS" 008075 o="PARSYTEC GMBH" 008076 o="MCNC" 008078 o="PRACTICAL PERIPHERALS, INC." 008079 o="MICROBUS DESIGNS LTD." 00807A o="AITECH SYSTEMS LTD." 00807B o="ARTEL COMMUNICATIONS CORP." 00807C o="FIBERCOM, INC." 00807D o="EQUINOX SYSTEMS INC." 00807E o="SOUTHERN PACIFIC LTD." 00807F o="DY-4 INCORPORATED" 008080 o="DATAMEDIA CORPORATION" 008081 o="KENDALL SQUARE RESEARCH CORP." 008082 o="PEP MODULAR COMPUTERS GMBH" 008083 o="AMDAHL" 008084 o="THE CLOUD INC." 008085 o="H-THREE SYSTEMS CORPORATION" 008086 o="COMPUTER GENERATION INC." 008087 o="OKI ELECTRIC INDUSTRY CO., LTD" 008088 o="VICTOR COMPANY OF JAPAN, LTD." 008089 o="TECNETICS (PTY) LTD." 00808A o="SUMMIT MICROSYSTEMS CORP." 00808B o="DACOLL LIMITED" 00808C,00A00E,00C017,049F81,D8E72B o="NetAlly" 00808D o="WESTCOAST TECHNOLOGY B.V." 00808E o="RADSTONE TECHNOLOGY" 00808F o="C. ITOH ELECTRONICS, INC." 008090,00D0B9 o="MICROTEK INTERNATIONAL, INC." 008091 o="TOKYO ELECTRIC CO.,LTD" 008092 o="Silex Technology, Inc." 008093 o="XYRON CORPORATION" 008094 o="ALFA LAVAL AUTOMATION AB" 008095 o="BASIC MERTON HANDELSGES.M.B.H." 008096 o="HUMAN DESIGNED SYSTEMS, INC." 008097 o="CENTRALP AUTOMATISMES" 008098 o="TDK CORPORATION" 008099 o="Eaton Industries GmbH" 00809A o="NOVUS NETWORKS LTD" 00809B o="JUSTSYSTEM CORPORATION" 00809C o="LUXCOM, INC." 00809D o="Commscraft Ltd." 00809E o="DATUS GMBH" 00809F,487A55 o="ALE International" 0080A1 o="MICROTEST, INC." 0080A2 o="CREATIVE ELECTRONIC SYSTEMS" 0080A3 o="Lantronix" 0080A4 o="LIBERTY ELECTRONICS" 0080A5 o="SPEED INTERNATIONAL" 0080A6 o="REPUBLIC TECHNOLOGY, INC." 0080A7 o="Honeywell International Inc" 0080A8 o="VITACOM CORPORATION" 0080A9 o="CLEARPOINT RESEARCH" 0080AA o="MAXPEED" 0080AB o="DUKANE NETWORK INTEGRATION" 0080AC o="IMLOGIX, DIVISION OF GENESYS" 0080AD o="CNET TECHNOLOGY, INC." 0080AE o="HUGHES NETWORK SYSTEMS" 0080AF o="ALLUMER CO., LTD." 0080B0 o="ADVANCED INFORMATION" 0080B1 o="SOFTCOM A/S" 0080B2 o="NETWORK EQUIPMENT TECHNOLOGIES" 0080B3 o="AVAL DATA CORPORATION" 0080B4 o="SOPHIA SYSTEMS" 0080B5 o="UNITED NETWORKS INC." 0080B6,C8778B o="Mercury Systems – Trusted Mission Solutions, Inc." 0080B7 o="STELLAR COMPUTER" 0080B8 o="DMG MORI B.U.G. CO., LTD." 0080B9 o="ARCHE TECHNOLIGIES INC." 0080BA o="SPECIALIX (ASIA) PTE, LTD" 0080BB o="HUGHES LAN SYSTEMS" 0080BC o="HITACHI ENGINEERING CO., LTD" 0080BD,4064A4 o="THE FURUKAWA ELECTRIC CO., LTD" 0080BE o="ARIES RESEARCH" 0080BF o="TAKAOKA ELECTRIC MFG. CO. LTD." 0080C0 o="PENRIL DATACOMM" 0080C1 o="LANEX CORPORATION" 0080C2 o="IEEE 802.1 Working Group" 0080C3 o="BICC INFORMATION SYSTEMS & SVC" 0080C4 o="DOCUMENT TECHNOLOGIES, INC." 0080C5 o="NOVELLCO DE MEXICO" 0080C6 o="NATIONAL DATACOMM CORPORATION" 0080C9 o="ALBERTA MICROELECTRONIC CENTRE" 0080CA o="NETCOM RESEARCH INCORPORATED" 0080CB o="FALCO DATA PRODUCTS" 0080CC o="MICROWAVE BYPASS SYSTEMS" 0080CD o="MICRONICS COMPUTER, INC." 0080CE o="BROADCAST TELEVISION SYSTEMS" 0080CF o="EMBEDDED PERFORMANCE INC." 0080D0 o="COMPUTER PERIPHERALS, INC." 0080D1 o="KIMTRON CORPORATION" 0080D2 o="SHINNIHONDENKO CO., LTD." 0080D3 o="SHIVA CORP." 0080D4 o="CHASE RESEARCH LTD." 0080D5 o="CADRE TECHNOLOGIES" 0080D6 o="NUVOTECH, INC." 0080D7 o="Fantum Engineering" 0080D8 o="NETWORK PERIPHERALS INC." 0080D9 o="EMK Elektronik GmbH & Co. KG" 0080DA o="Bruel & Kjaer Sound & Vibration Measurement A/S" 0080DB o="GRAPHON CORPORATION" 0080DC o="PICKER INTERNATIONAL" 0080DD o="GMX INC/GIMIX" 0080DE o="GIPSI S.A." 0080E0 o="XTP SYSTEMS, INC." 0080E1 o="STMicroelectronics SRL" 0080E2 o="T.D.I. CO., LTD." 0080E3 o="CORAL NETWORK CORPORATION" 0080E4 o="NORTHWEST DIGITAL SYSTEMS, INC" 0080E5,00A098,00A0B8,D039EA o="NetApp" 0080E6 o="PEER NETWORKS, INC." 0080E7 o="Leonardo Tactical Systems." 0080E8 o="CUMULUS CORPORATIION" 0080EB o="COMPCONTROL B.V." 0080EC o="SUPERCOMPUTING SOLUTIONS, INC." 0080ED o="IQ TECHNOLOGIES, INC." 0080EE o="THOMSON CSF" 0080EF o="RATIONAL" 0080F0,080023,BCC342 o="Panasonic Communications Co., Ltd." 0080F1 o="OPUS SYSTEMS" 0080F2 o="RAYCOM SYSTEMS INC" 0080F3 o="SUN ELECTRONICS CORP." 0080F4 o="TELEMECANIQUE ELECTRIQUE" 0080F5 o="Quantel Ltd" 0080F6 o="SYNERGY MICROSYSTEMS" 0080F8 o="MIZAR, INC." 0080F9 o="HEURIKON CORPORATION" 0080FA o="RWT GMBH" 0080FB o="BVM LIMITED" 0080FC o="AVATAR CORPORATION" 0080FD o="EXSCEED CORPRATION" 0080FE o="AZURE TECHNOLOGIES, INC." 0080FF o="SOC. DE TELEINFORMATIQUE RTC" 0088BA o="NC&C" 008B43 o="RFTECH" 008BFC o="mixi,Inc." 008C10 o="Black Box Corp." 008D4E o="CJSC NII STT" 008DDA o="Link One Co., Ltd." 009000 o="DIAMOND MULTIMEDIA" 009001 o="NISHIMU ELECTRONICS INDUSTRIES CO., LTD." 009002 o="ALLGON AB" 009003 o="APLIO" 009005 o="PROTECH SYSTEMS CO., LTD." 009006 o="Hamamatsu Photonics K.K." 009007 o="DOMEX TECHNOLOGY CORP." 009008 o="HanA Systems Inc." 009009 o="I Controls, Inc." 00900A o="PROTON ELECTRONIC INDUSTRIAL CO., LTD." 00900B o="LANNER ELECTRONICS, INC." 00900D o="Overland Storage Inc." 00900E o="HANDLINK TECHNOLOGIES, INC." 00900F o="KAWASAKI HEAVY INDUSTRIES, LTD" 009010 o="SIMULATION LABORATORIES, INC." 009011 o="WAVTrace, Inc." 009012 o="GLOBESPAN SEMICONDUCTOR, INC." 009013 o="SAMSAN CORP." 009014 o="ROTORK INSTRUMENTS, LTD." 009015 o="CENTIGRAM COMMUNICATIONS CORP." 009016 o="ZAC" 009017 o="Zypcom, Inc" 009018 o="ITO ELECTRIC INDUSTRY CO, LTD." 009019 o="HERMES ELECTRONICS CO., LTD." 00901A o="UNISPHERE SOLUTIONS" 00901B o="DIGITAL CONTROLS" 00901C o="mps Software Gmbh" 00901D o="PEC (NZ) LTD." 00901E o="Selesta Ingegneria S.p.A." 00901F o="ADTEC PRODUCTIONS, INC." 009020 o="PHILIPS ANALYTICAL X-RAY B.V." 009022 o="IVEX" 009023 o="ZILOG INC." 009024 o="PIPELINKS, INC." 009025 o="BAE Systems Australia (Electronic Systems) Pty Ltd" 009026 o="ADVANCED SWITCHING COMMUNICATIONS, INC." 009028 o="NIPPON SIGNAL CO., LTD." 009029 o="CRYPTO AG" 00902A o="COMMUNICATION DEVICES, INC." 00902C o="DATA & CONTROL EQUIPMENT LTD." 00902D o="DATA ELECTRONICS (AUST.) PTY, LTD." 00902E o="NAMCO LIMITED" 00902F o="NETCORE SYSTEMS, INC." 009030 o="HONEYWELL-DATING" 009031 o="MYSTICOM, LTD." 009032 o="PELCOMBE GROUP LTD." 009033 o="INNOVAPHONE AG" 009034 o="IMAGIC, INC." 009035 o="ALPHA TELECOM, INC." 009036 o="ens, inc." 009037 o="ACUCOMM, INC." 009038 o="FOUNTAIN TECHNOLOGIES, INC." 009039 o="SHASTA NETWORKS" 00903A o="NIHON MEDIA TOOL INC." 00903B o="TriEMS Research Lab, Inc." 00903C o="ATLANTIC NETWORK SYSTEMS" 00903D o="BIOPAC SYSTEMS, INC." 00903E o="N.V. PHILIPS INDUSTRIAL ACTIVITIES" 00903F o="AZTEC RADIOMEDIA" 009040 o="Siemens Network Convergence LLC" 009041 o="APPLIED DIGITAL ACCESS" 009042 o="ECCS, Inc." 009044 o="ASSURED DIGITAL, INC." 009046 o="DEXDYNE, LTD." 009047 o="GIGA FAST E. LTD." 009048 o="ZEAL CORPORATION" 009049 o="ENTRIDIA CORPORATION" 00904A o="CONCUR SYSTEM TECHNOLOGIES" 00904C o="Epigram, Inc." 00904D o="SPEC S.A." 00904E o="DELEM BV" 00904F o="ABB POWER T&D COMPANY, INC." 009050 o="Teleste Corporation" 009051 o="ULTIMATE TECHNOLOGY CORP." 009052 o="SELCOM ELETTRONICA S.R.L." 009053 o="DAEWOO ELECTRONICS CO., LTD." 009054 o="INNOVATIVE SEMICONDUCTORS, INC" 009055 o="PARKER HANNIFIN CORPORATION COMPUMOTOR DIVISION" 009056 o="TELESTREAM, INC." 009057 o="AANetcom, Inc." 009058,00E06C o="Ultra Electronics Command & Control Systems" 009059 o="TELECOM DEVICE K.K." 00905A o="DEARBORN GROUP, INC." 00905B o="RAYMOND AND LAE ENGINEERING" 00905C o="EDMI" 00905D o="NETCOM SICHERHEITSTECHNIK GMBH" 00905E o="RAULAND-BORG CORPORATION" 009060 o="SYSTEM CREATE CORP." 009061 o="PACIFIC RESEARCH & ENGINEERING CORPORATION" 009062 o="ICP VORTEX COMPUTERSYSTEME GmbH" 009063 o="COHERENT COMMUNICATIONS SYSTEMS CORPORATION" 009065 o="FINISAR CORPORATION" 009066 o="Troika Networks, Inc." 009067 o="WalkAbout Computers, Inc." 009068 o="DVT CORP." 00906A o="TURNSTONE SYSTEMS, INC." 00906B o="APPLIED RESOURCES, INC." 00906C o="Sartorius Hamburg GmbH" 00906E o="PRAXON, INC." 009070 o="NEO NETWORKS, INC." 009072 o="SIMRAD AS" 009073 o="GAIO TECHNOLOGY" 009074 o="ARGON NETWORKS, INC." 009075 o="NEC DO BRASIL S.A." 009076 o="FMT AIRCRAFT GATE SUPPORT SYSTEMS AB" 009077 o="ADVANCED FIBRE COMMUNICATIONS" 009078 o="MER TELEMANAGEMENT SOLUTIONS, LTD." 009079 o="ClearOne, Inc." 00907A o="Spectralink, Inc" 00907B o="E-TECH, INC." 00907C o="DIGITALCAST, INC." 00907D o="Lake Communications" 00907E o="VETRONIX CORP." 009080 o="NOT LIMITED, INC." 009081 o="ALOHA NETWORKS, INC." 009082 o="FORCE INSTITUTE" 009083 o="TURBO COMMUNICATION, INC." 009084 o="ATECH SYSTEM" 009085 o="GOLDEN ENTERPRISES, INC." 009087 o="ITIS" 009088 o="BAXALL SECURITY LTD." 009089 o="SOFTCOM MICROSYSTEMS, INC." 00908A o="BAYLY COMMUNICATIONS, INC." 00908C o="ETREND ELECTRONICS, INC." 00908D o="VICKERS ELECTRONICS SYSTEMS" 00908E o="Nortel Networks Broadband Access" 00908F o="AUDIO CODES LTD." 009090 o="I-BUS" 009091 o="DigitalScape, Inc." 009093 o="EIZO Corporation" 009094 o="OSPREY TECHNOLOGIES, INC." 009095 o="UNIVERSAL AVIONICS" 009098 o="SBC DESIGNS, INC." 009099 o="ALLIED TELESIS, K.K." 00909A o="ONE WORLD SYSTEMS, INC." 00909B o="MARKEM-IMAJE" 00909D o="NovaTech Process Solutions, LLC" 00909E o="Critical IO, LLC" 00909F o="DIGI-DATA CORPORATION" 0090A0 o="8X8 INC." 0090A1 o="Flying Pig Systems/High End Systems Inc." 0090A3 o="Corecess Inc." 0090A4 o="ALTIGA NETWORKS" 0090A5 o="SPECTRA LOGIC" 0090A7 o="CLIENTEC CORPORATION" 0090A8 o="NineTiles Networks, Ltd." 0090A9 o="WESTERN DIGITAL" 0090AA o="INDIGO ACTIVE VISION SYSTEMS LIMITED" 0090AC o="OPTIVISION, INC." 0090AD o="ASPECT ELECTRONICS, INC." 0090AF o="J. MORITA MFG. CORP." 0090B0 o="VADEM" 0090B2 o="AVICI SYSTEMS INC." 0090B3 o="AGRANAT SYSTEMS" 0090B4 o="WILLOWBROOK TECHNOLOGIES" 0090B5,3CBEE1 o="NIKON CORPORATION" 0090B6 o="FIBEX SYSTEMS" 0090B7 o="DIGITAL LIGHTWAVE, INC." 0090B8 o="ROHDE & SCHWARZ GMBH & CO. KG" 0090B9 o="BERAN INSTRUMENTS LTD." 0090BA o="VALID NETWORKS, INC." 0090BB o="TAINET COMMUNICATION SYSTEM Corp." 0090BC o="TELEMANN CO., LTD." 0090BD o="OMNIA COMMUNICATIONS, INC." 0090BE o="IBC/INTEGRATED BUSINESS COMPUTERS" 0090C0 o="K.J. LAW ENGINEERS, INC." 0090C1 o="Peco II, Inc." 0090C2 o="JK microsystems, Inc." 0090C3 o="TOPIC SEMICONDUCTOR CORP." 0090C4 o="JAVELIN SYSTEMS, INC." 0090C5 o="INTERNET MAGIC, INC." 0090C6 o="OPTIM SYSTEMS, INC." 0090C7 o="ICOM INC." 0090C8 o="WAVERIDER COMMUNICATIONS (CANADA) INC." 0090C9 o="DPAC Technologies" 0090CA o="ACCORD VIDEO TELECOMMUNICATIONS, LTD." 0090CB o="Wireless OnLine, Inc." 0090CD o="ENT-EMPRESA NACIONAL DE TELECOMMUNICACOES, S.A." 0090CE o="avateramedical Mechatronics GmbH" 0090CF o="NORTEL" 0090D1 o="LEICHU ENTERPRISE CO., LTD." 0090D2 o="ARTEL VIDEO SYSTEMS" 0090D3 o="GIESECKE & DEVRIENT GmbH" 0090D4 o="BindView Development Corp." 0090D5 o="EUPHONIX, INC." 0090D6,0091D6 o="Crystal Group, Inc." 0090D7 o="NetBoost Corp." 0090D8 o="WHITECROSS SYSTEMS" 0090DA o="DYNARC, INC." 0090DB o="NEXT LEVEL COMMUNICATIONS" 0090DC o="TECO INFORMATION SYSTEMS" 0090DD o="MIHARU COMMUNICATIONS Inc" 0090DE o="CARDKEY SYSTEMS, INC." 0090DF o="MITSUBISHI CHEMICAL AMERICA, INC." 0090E0 o="SYSTRAN CORP." 0090E1 o="TELENA S.P.A." 0090E2 o="DISTRIBUTED PROCESSING TECHNOLOGY" 0090E3 o="AVEX ELECTRONICS INC." 0090E4 o="NEC AMERICA, INC." 0090E5 o="TEKNEMA, INC." 0090E6 o="ALi Corporation" 0090E7 o="HORSCH ELEKTRONIK AG" 0090E8 o="MOXA TECHNOLOGIES CORP., LTD." 0090E9 o="JANZ COMPUTER AG" 0090EA o="ALPHA TECHNOLOGIES, INC." 0090EB o="SENTRY TELECOM SYSTEMS" 0090EC o="PYRESCOM" 0090ED o="CENTRAL SYSTEM RESEARCH CO., LTD." 0090EE o="PERSONAL COMMUNICATIONS TECHNOLOGIES" 0090EF o="INTEGRIX, INC." 0090F0 o="Harmonic Video Systems Ltd." 0090F3 o="ASPECT COMMUNICATIONS" 0090F4 o="LIGHTNING INSTRUMENTATION" 0090F5,80FA5B o="CLEVO CO." 0090F6 o="ESCALATE NETWORKS, INC." 0090F7 o="NBASE COMMUNICATIONS LTD." 0090F8 o="MEDIATRIX TELECOM" 0090F9 o="Imagine Communications" 0090FB o="PORTWELL, INC." 0090FC o="NETWORK COMPUTING DEVICES" 0090FD o="CopperCom, Inc." 0090FE o="ELECOM CO., LTD. (LANEED DIV.)" 0090FF o="TELLUS TECHNOLOGY INC." 0091FA o="Synapse Product Development" 0092FA o="SHENZHEN WISKY TECHNOLOGY CO.,LTD" 009363 o="Uni-Link Technology Co., Ltd." 009569 o="LSD Science and Technology Co.,Ltd." 0097FF o="Heimann Sensor GmbH" 009D8E,029D8E o="CARDIAC RECORDERS, INC." 009EC8,00EC0A,04B167,04C807,04D13A,04E598,082525,0C1DAF,0C9838,0CF346,102AB3,14F65A,1801F1,185936,18F0E4,1CCCD6,2034FB,2047DA,2082C0,20A60C,20F478,28167F,28E31F,3480B3,38A4ED,38E60A,482CA0,48FDA3,4C49E3,4C6371,508F4C,50A009,582059,584498,60AB67,640980,64B473,64CC2E,68DFDD,703A51,70BBE9,742344,7451BA,7802F8,7C035E,7C03AB,7C1DD9,7CD661,8035C1,80AD16,8CBEBE,9078B2,9487E0,98FAE3,9C28F7,9C2EA1,9C99A0,A086C6,A44519,A44BD5,A45046,A89CED,ACC1EE,ACF7F3,B0E235,B4C4FC,BC7FA4,C40BCB,C46AB7,C83DDC,D09C7A,D4970B,D832E3,D86375,D8CE3A,E01F88,E06267,E0CCF8,E0DCFF,E446DA,E85A8B,ECD09F,F0B429,F460E2,F48B32,F4F5DB,F8A45F,FC64BA o="Xiaomi Communications Co Ltd" 00A000 o="CENTILLION NETWORKS, INC." 00A001 o="DRS Signal Solutions" 00A002 o="LEEDS & NORTHRUP AUSTRALIA PTY LTD" 00A003 o="Siemens Switzerland Ltd., I B T HVP" 00A004 o="NETPOWER, INC." 00A005 o="DANIEL INSTRUMENTS, LTD." 00A006 o="IMAGE DATA PROCESSING SYSTEM GROUP" 00A007 o="APEXX TECHNOLOGY, INC." 00A008 o="NETCORP" 00A009 o="WHITETREE NETWORK" 00A00A o="Airspan" 00A00B o="COMPUTEX CO., LTD." 00A00C o="KINGMAX TECHNOLOGY, INC." 00A00D o="THE PANDA PROJECT" 00A00F o="Broadband Technologies" 00A010 o="SYSLOGIC DATENTECHNIK AG" 00A011 o="MUTOH INDUSTRIES LTD." 00A013 o="TELTREND LTD." 00A014 o="CSIR" 00A015 o="WYLE" 00A016 o="MICROPOLIS CORP." 00A017 o="J B M CORPORATION" 00A018 o="CREATIVE CONTROLLERS, INC." 00A019 o="NEBULA CONSULTANTS, INC." 00A01A o="BINAR ELEKTRONIK AB" 00A01B o="PREMISYS COMMUNICATIONS, INC." 00A01C o="NASCENT NETWORKS CORPORATION" 00A01E o="EST CORPORATION" 00A01F o="TRICORD SYSTEMS, INC." 00A020 o="CITICORP/TTI" 00A022 o="CENTRE FOR DEVELOPMENT OF ADVANCED COMPUTING" 00A023 o="APPLIED CREATIVE TECHNOLOGY, INC." 00A025 o="REDCOM LABS INC." 00A026 o="TELDAT, S.A." 00A027 o="FIREPOWER SYSTEMS, INC." 00A028 o="CONNER PERIPHERALS" 00A029 o="COULTER CORPORATION" 00A02A o="TRANCELL SYSTEMS" 00A02B o="TRANSITIONS RESEARCH CORP." 00A02C o="interWAVE Communications" 00A02D o="1394 Trade Association" 00A02E o="BRAND COMMUNICATIONS, LTD." 00A030 o="CAPTOR NV/SA" 00A031 o="HAZELTINE CORPORATION, MS 1-17" 00A032 o="GES SINGAPORE PTE. LTD." 00A033 o="imc MeBsysteme GmbH" 00A034 o="AXEL" 00A035 o="CYLINK CORPORATION" 00A036 o="APPLIED NETWORK TECHNOLOGY" 00A037 o="Mindray DS USA, Inc." 00A038 o="EMAIL ELECTRONICS" 00A039 o="ROSS TECHNOLOGY, INC." 00A03A o="KUBOTEK CORPORATION" 00A03B o="TOSHIN ELECTRIC CO., LTD." 00A03C o="EG&G NUCLEAR INSTRUMENTS" 00A03D o="OPTO-22" 00A03E o="ATM FORUM" 00A03F o="COMPUTER SOCIETY MICROPROCESSOR & MICROPROCESSOR STANDARDS C" 00A041 o="INFICON" 00A042 o="SPUR PRODUCTS CORP." 00A043 o="AMERICAN TECHNOLOGY LABS, INC." 00A044 o="NTT IT CO., LTD." 00A045,A8741D o="PHOENIX CONTACT Electronics GmbH" 00A046 o="SCITEX CORP. LTD." 00A047 o="INTEGRATED FITNESS CORP." 00A048 o="QUESTECH, LTD." 00A049 o="DIGITECH INDUSTRIES, INC." 00A04A o="NISSHIN ELECTRIC CO., LTD." 00A04B o="TFL LAN INC." 00A04C o="INNOVATIVE SYSTEMS & TECHNOLOGIES, INC." 00A04D o="EDA INSTRUMENTS, INC." 00A04E o="VOELKER TECHNOLOGIES, INC." 00A04F o="AMERITEC CORP." 00A050 o="CYPRESS SEMICONDUCTOR" 00A051 o="ANGIA COMMUNICATIONS. INC." 00A052 o="STANILITE ELECTRONICS PTY. LTD" 00A053 o="COMPACT DEVICES, INC." 00A055 o="Data Device Corporation" 00A056 o="MICROPROSS" 00A057 o="LANCOM Systems GmbH" 00A058 o="GLORY, LTD." 00A059 o="HAMILTON HALLMARK" 00A05A o="KOFAX IMAGE PRODUCTS" 00A05B o="MARQUIP, INC." 00A05C o="INVENTORY CONVERSION, INC./" 00A05D o="CS COMPUTER SYSTEME GmbH" 00A05E o="MYRIAD LOGIC INC." 00A05F o="BTG Electronics Design BV" 00A060 o="ACER PERIPHERALS, INC." 00A061 o="PURITAN BENNETT" 00A062 o="AES PRODATA" 00A063 o="JRL SYSTEMS, INC." 00A064 o="KVB/ANALECT" 00A066 o="ISA CO., LTD." 00A067 o="NETWORK SERVICES GROUP" 00A068 o="BHP LIMITED" 00A069 o="Symmetricom, Inc." 00A06B o="DMS DORSCH MIKROSYSTEM GMBH" 00A06C o="SHINDENGEN ELECTRIC MFG. CO., LTD." 00A06D o="MANNESMANN TALLY CORPORATION" 00A06E o="AUSTRON, INC." 00A06F o="Color Sentinel Systems, LLC" 00A070 o="COASTCOM" 00A071 o="VIDEO LOTTERY TECHNOLOGIES,INC" 00A072 o="OVATION SYSTEMS LTD." 00A073 o="COM21, INC." 00A074 o="PERCEPTION TECHNOLOGY" 00A075 o="MICRON TECHNOLOGY, INC." 00A076 o="CARDWARE LAB, INC." 00A077 o="FUJITSU NEXION, INC." 00A079 o="ALPS ELECTRIC (USA), INC." 00A07A o="ADVANCED PERIPHERALS TECHNOLOGIES, INC." 00A07B o="DAWN COMPUTER INCORPORATION" 00A07C o="TONYANG NYLON CO., LTD." 00A07D o="SEEQ TECHNOLOGY, INC." 00A07E o="AVID TECHNOLOGY, INC." 00A07F o="GSM-SYNTEL, LTD." 00A081 o="ALCATEL DATA NETWORKS" 00A082 o="NKT ELEKTRONIK A/S" 00A083 o="ASIMMPHONY TURKEY" 00A084 o="Dataplex Pty Ltd" 00A086 o="AMBER WAVE SYSTEMS, INC." 00A087 o="Microsemi Corporation" 00A088 o="ESSENTIAL COMMUNICATIONS" 00A089 o="XPOINT TECHNOLOGIES, INC." 00A08A o="BROOKTROUT TECHNOLOGY, INC." 00A08B o="ASTON ELECTRONIC DESIGNS LTD." 00A08C o="MultiMedia LANs, Inc." 00A08D o="JACOMO CORPORATION" 00A08F o="DESKNET SYSTEMS, INC." 00A090 o="TimeStep Corporation" 00A091 o="APPLICOM INTERNATIONAL" 00A092 o="H. BOLLMANN MANUFACTURERS, LTD" 00A093 o="B/E AEROSPACE, Inc." 00A094 o="COMSAT CORPORATION" 00A095 o="ACACIA NETWORKS, INC." 00A097 o="JC INFORMATION SYSTEMS" 00A099 o="K-NET LTD." 00A09A o="NIHON KOHDEN AMERICA" 00A09C,080087 o="Xyplex, Inc." 00A09D o="JOHNATHON FREEMAN TECHNOLOGIES" 00A09E o="ICTV" 00A09F o="COMMVISION CORP." 00A0A0 o="COMPACT DATA, LTD." 00A0A1 o="EPIC DATA INC." 00A0A2 o="DIGICOM S.P.A." 00A0A3 o="RELIABLE POWER METERS" 00A0A5 o="TEKNOR MICROSYSTEME, INC." 00A0A6 o="M.I. SYSTEMS, K.K." 00A0A7 o="VORAX CORPORATION" 00A0A8 o="RENEX CORPORATION" 00A0A9 o="NAVTEL COMMUNICATIONS INC." 00A0AA o="SPACELABS MEDICAL" 00A0AB o="NETCS INFORMATIONSTECHNIK GMBH" 00A0AC o="GILAT SATELLITE NETWORKS, LTD." 00A0AD o="MARCONI SPA" 00A0AE o="NUCOM SYSTEMS, INC." 00A0AF o="WMS INDUSTRIES" 00A0B0,3476C5,5041B9 o="I-O DATA DEVICE,INC." 00A0B1 o="FIRST VIRTUAL CORPORATION" 00A0B2 o="SHIMA SEIKI" 00A0B3 o="ZYKRONIX" 00A0B4 o="TEXAS MICROSYSTEMS, INC." 00A0B5 o="3H TECHNOLOGY" 00A0B6 o="SANRITZ AUTOMATION CO., LTD." 00A0B7 o="CORDANT, INC." 00A0BA o="PATTON ELECTRONICS CO." 00A0BB o="HILAN GMBH" 00A0BC o="VIASAT, INCORPORATED" 00A0BD o="I-TECH CORP." 00A0BE o="INTEGRATED CIRCUIT SYSTEMS, INC. COMMUNICATIONS GROUP" 00A0BF o="WIRELESS DATA GROUP MOTOROLA" 00A0C0 o="DIGITAL LINK CORP." 00A0C1 o="ORTIVUS MEDICAL AB" 00A0C2 o="R.A. SYSTEMS CO., LTD." 00A0C3 o="UNICOMPUTER GMBH" 00A0C4 o="CRISTIE ELECTRONICS LTD." 00A0C6,649C81,88124E,8CFDF0 o="Qualcomm Inc." 00A0C7 o="TADIRAN TELECOMMUNICATIONS" 00A0CA o="FUJITSU DENSO LTD." 00A0CB o="ARK TELECOMMUNICATIONS, INC." 00A0CC o="LITE-ON COMMUNICATIONS, INC." 00A0CD o="DR. JOHANNES HEIDENHAIN GmbH" 00A0CE o="Ecessa" 00A0CF o="SOTAS, INC." 00A0D0 o="TEN X TECHNOLOGY, INC." 00A0D2 o="ALLIED TELESIS INTERNATIONAL CORPORATION" 00A0D3 o="INSTEM COMPUTER SYSTEMS, LTD." 00A0D4 o="RADIOLAN, INC." 00A0D5,64CE6E,84DB2F,CC934A o="Sierra Wireless" 00A0D7 o="KASTEN CHASE APPLIED RESEARCH" 00A0D8 o="SPECTRA - TEK" 00A0D9 o="CONVEX COMPUTER CORPORATION" 00A0DA o="INTEGRATED SYSTEMS Technology, Inc." 00A0DB o="FISHER & PAYKEL PRODUCTION" 00A0DC o="O.N. ELECTRONIC CO., LTD." 00A0DD o="AZONIX CORPORATION" 00A0DE,AC44F2 o="YAMAHA CORPORATION" 00A0DF o="STS TECHNOLOGIES, INC." 00A0E0 o="TENNYSON TECHNOLOGIES PTY LTD" 00A0E1 o="WESTPORT RESEARCH ASSOCIATES, INC." 00A0E2 o="Keisokugiken Corporation" 00A0E3 o="XKL SYSTEMS CORP." 00A0E4 o="OPTIQUEST" 00A0E5 o="NHC COMMUNICATIONS" 00A0E6 o="DIALOGIC CORPORATION" 00A0E7 o="CENTRAL DATA CORPORATION" 00A0E8 o="REUTERS HOLDINGS PLC" 00A0E9 o="ELECTRONIC RETAILING SYSTEMS INTERNATIONAL" 00A0EA o="ETHERCOM CORP." 00A0EB o="Encore Networks, Inc." 00A0EC o="TRANSMITTON LTD." 00A0ED o="Brooks Automation, Inc." 00A0EE o="NASHOBA NETWORKS" 00A0EF o="LUCIDATA LTD." 00A0F0 o="TORONTO MICROELECTRONICS INC." 00A0F1 o="MTI" 00A0F2 o="INFOTEK COMMUNICATIONS, INC." 00A0F3 o="STAUBLI" 00A0F4,DC3752 o="GE" 00A0F5 o="RADGUARD LTD." 00A0F6 o="AutoGas Systems Inc." 00A0F7 o="V.I COMPUTER CORP." 00A0F9 o="BINTEC COMMUNICATIONS GMBH" 00A0FA o="Marconi Communication GmbH" 00A0FB o="TORAY ENGINEERING CO., LTD." 00A0FC o="IMAGE SCIENCES, INC." 00A0FD o="SCITEX DIGITAL PRINTING, INC." 00A0FE o="BOSTON TECHNOLOGY, INC." 00A0FF o="TELLABS OPERATIONS, INC." 00A1DE o="ShenZhen ShiHua Technology CO.,LTD" 00A2DA o="INAT GmbH" 00A2F5 o="Guangzhou Yuanyun Network Technology Co.,Ltd" 00A2FF o="abatec group AG" 00A509 o="WigWag Inc." 00A784 o="ITX security" 00AA3C o="OLIVETTI TELECOM SPA (OLTECO)" 00AB48,1422DB,189088,3C5CF1,48DD0C,4C0143,605F8D,684A76,6CAEF6,74B6B6,80DA13,F8BBBF o="eero inc." 00AD24,0CB6D2,1062EB,10BEF5,14D64D,180F76,1C5F2B,1C7EE5,1CAFF7,1CBDB9,28107B,283B82,3C1E04,409BCD,48EE0C,54B80A,58D56E,60634C,6C198F,6C7220,7062B8,74DADA,78321B,78542E,802689,84C9B2,908D78,9094E4,9CD643,A0AB1B,ACF1DF,B0C554,B8A386,BCF685,C0A0BB,C412F5,C4A81D,C4E90A,C8BE19,C8D3A3,CCB255,D8FEE3,E46F13,E8CC18,EC2280,ECADE0,F0B4D2,F48CEB,F8E903,FC7516 o="D-Link International" 00AD63 o="Dedicated Micros Malta LTD" 00AECD o="Pensando Systems" 00B017 o="InfoGear Technology Corp." 00B01C o="Westport Technologies" 00B01E o="Rantic Labs, Inc." 00B02A o="ORSYS GmbH" 00B02D o="ViaGate Technologies, Inc." 00B033 o="OAO %Izhevskiy radiozavod%" 00B03B o="HiQ Networks" 00B048 o="Marconi Communications Inc." 00B052 o="Atheros Communications" 00B069 o="Honewell Oy" 00B06D o="Jones Futurex Inc." 00B080 o="Mannesmann Ipulsys B.V." 00B086 o="LocSoft Limited" 00B091 o="Transmeta Corp." 00B094 o="Alaris, Inc." 00B09A o="Morrow Technologies Corp." 00B09D,2CDDA3 o="Point Grey Research Inc." 00B0AC o="SIAE-Microelettronica S.p.A." 00B0AE o="Symmetricom" 00B0C7 o="Tellabs Operations, Inc." 00B0CE o="Viveris Technologies" 00B0DB o="Nextcell, Inc." 00B0DF o="Starboard Storage Systems" 00B0E7 o="British Federal Ltd." 00B0EC o="EACEM" 00B0EE o="Ajile Systems, Inc." 00B0F0 o="CALY NETWORKS" 00B0F5 o="NetWorth Technologies, Inc." 00B338 o="Kontron Asia Pacific Design Sdn. Bhd" 00B342 o="MacroSAN Technologies Co., Ltd." 00B4F5,28FE65 o="DongGuan Siyoto Electronics Co., Ltd" 00B56D o="David Electronics Co., LTD." 00B5D6 o="Omnibit Inc." 00B600 o="VOIM Co., Ltd." 00B69F o="Latch" 00B78D o="Nanjing Shining Electric Automation Co., Ltd" 00B7A8 o="Heinzinger electronic GmbH" 00B810,1CC1BC,9C8275 o="Yichip Microelectronics (Hangzhou) Co.,Ltd" 00B8C2 o="Heights Telecom T ltd" 00B9F6 o="Shenzhen Super Rich Electronics Co.,Ltd" 00BAC0 o="Biometric Access Company" 00BB01,02BB01 o="OCTOTHORPE CORP." 00BB8E o="HME Co., Ltd." 00BBF0,00DD00-00DD0F o="UNGERMANN-BASS INC." 00BD27 o="Exar Corp." 00BD82,04E0B0,14B837,1CD5E2,28D1B7,2C431A,2C557C,34E71C,447BBB,4CB8B5,54666C,68A682,68D1BA,70ACD7,7C03C9,7C7630,901234,A42940,A8E2C3,B41D2B,C4047B,C4518D,C821DA,CC90E8,D45F25,D8325A,DC9C9F,DCA333 o="Shenzhen YOUHUA Technology Co., Ltd" 00BF15,0CBF15 o="Genetec Inc." 00C000 o="LANOPTICS, LTD." 00C001 o="DIATEK PATIENT MANAGMENT" 00C003 o="GLOBALNET COMMUNICATIONS" 00C004 o="JAPAN BUSINESS COMPUTER CO.LTD" 00C005 o="LIVINGSTON ENTERPRISES, INC." 00C006 o="NIPPON AVIONICS CO., LTD." 00C007 o="PINNACLE DATA SYSTEMS, INC." 00C008 o="SECO SRL" 00C009 o="KT TECHNOLOGY (S) PTE LTD" 00C00A o="MICRO CRAFT" 00C00B o="NORCONTROL A.S." 00C00C o="RELIA TECHNOLGIES" 00C00D o="ADVANCED LOGIC RESEARCH, INC." 00C00E o="PSITECH, INC." 00C00F o="QUANTUM SOFTWARE SYSTEMS LTD." 00C010 o="HIRAKAWA HEWTECH CORP." 00C011 o="INTERACTIVE COMPUTING DEVICES" 00C012 o="NETSPAN CORPORATION" 00C013 o="NETRIX" 00C014 o="TELEMATICS CALABASAS INT'L,INC" 00C015 o="NEW MEDIA CORPORATION" 00C016 o="ELECTRONIC THEATRE CONTROLS" 00C018 o="LANART CORPORATION" 00C019 o="LEAP TECHNOLOGY, INC." 00C01A o="COROMETRICS MEDICAL SYSTEMS" 00C01B o="SOCKET COMMUNICATIONS, INC." 00C01C o="INTERLINK COMMUNICATIONS LTD." 00C01D o="GRAND JUNCTION NETWORKS, INC." 00C01E o="LA FRANCAISE DES JEUX" 00C01F o="S.E.R.C.E.L." 00C020 o="ARCO ELECTRONIC, CONTROL LTD." 00C021 o="NETEXPRESS" 00C022 o="LASERMASTER TECHNOLOGIES, INC." 00C023 o="TUTANKHAMON ELECTRONICS" 00C024 o="EDEN SISTEMAS DE COMPUTACAO SA" 00C025 o="DATAPRODUCTS CORPORATION" 00C026 o="LANS TECHNOLOGY CO., LTD." 00C027 o="CIPHER SYSTEMS, INC." 00C028 o="JASCO CORPORATION" 00C029 o="Nexans Deutschland GmbH - ANS" 00C02A o="OHKURA ELECTRIC CO., LTD." 00C02B o="GERLOFF GESELLSCHAFT FUR" 00C02C o="CENTRUM COMMUNICATIONS, INC." 00C02D o="FUJI PHOTO FILM CO., LTD." 00C02E o="NETWIZ" 00C02F o="OKUMA CORPORATION" 00C030 o="INTEGRATED ENGINEERING B. V." 00C031 o="DESIGN RESEARCH SYSTEMS, INC." 00C032 o="I-CUBED LIMITED" 00C033 o="TELEBIT COMMUNICATIONS APS" 00C034 o="TRANSACTION NETWORK" 00C035 o="QUINTAR COMPANY" 00C036 o="RAYTECH ELECTRONIC CORP." 00C037 o="DYNATEM" 00C038 o="RASTER IMAGE PROCESSING SYSTEM" 00C039 o="Teridian Semiconductor Corporation" 00C03A o="MEN-MIKRO ELEKTRONIK GMBH" 00C03B o="MULTIACCESS COMPUTING CORP." 00C03C o="TOWER TECH S.R.L." 00C03D o="WIESEMANN & THEIS GMBH" 00C03E o="FA. GEBR. HELLER GMBH" 00C03F o="STORES AUTOMATED SYSTEMS, INC." 00C040 o="ECCI" 00C041 o="DIGITAL TRANSMISSION SYSTEMS" 00C042 o="DATALUX CORP." 00C043 o="STRATACOM" 00C044 o="EMCOM CORPORATION" 00C045 o="ISOLATION SYSTEMS, LTD." 00C046 o="Blue Chip Technology Ltd" 00C047 o="UNIMICRO SYSTEMS, INC." 00C048 o="BAY TECHNICAL ASSOCIATES" 00C049 o="U.S. ROBOTICS, INC." 00C04A o="GROUP 2000 AG" 00C04B o="CREATIVE MICROSYSTEMS" 00C04C o="DEPARTMENT OF FOREIGN AFFAIRS" 00C04D o="MITEC, INC." 00C04E o="COMTROL CORPORATION" 00C050 o="TOYO DENKI SEIZO K.K." 00C051 o="ADVANCED INTEGRATION RESEARCH" 00C052 o="BURR-BROWN" 00C053 o="Aspect Software Inc." 00C054 o="NETWORK PERIPHERALS, LTD." 00C055 o="MODULAR COMPUTING TECHNOLOGIES" 00C056 o="SOMELEC" 00C057 o="MYCO ELECTRONICS" 00C058 o="DATAEXPERT CORP." 00C059 o="DENSO CORPORATION" 00C05A o="SEMAPHORE COMMUNICATIONS CORP." 00C05B o="NETWORKS NORTHWEST, INC." 00C05C o="ELONEX PLC" 00C05D o="L&N TECHNOLOGIES" 00C05E o="VARI-LITE, INC." 00C05F o="FINE-PAL COMPANY LIMITED" 00C060 o="ID SCANDINAVIA AS" 00C061 o="SOLECTEK CORPORATION" 00C062 o="IMPULSE TECHNOLOGY" 00C063 o="MORNING STAR TECHNOLOGIES, INC" 00C065 o="SCOPE COMMUNICATIONS, INC." 00C066 o="DOCUPOINT, INC." 00C067 o="UNITED BARCODE INDUSTRIES" 00C06A o="ZAHNER-ELEKTRIK GMBH & CO. KG" 00C06B o="OSI PLUS CORPORATION" 00C06C o="SVEC COMPUTER CORP." 00C06D o="BOCA RESEARCH, INC." 00C06E o="HAFT TECHNOLOGY, INC." 00C06F o="KOMATSU LTD." 00C070 o="SECTRA SECURE-TRANSMISSION AB" 00C071 o="AREANEX COMMUNICATIONS, INC." 00C072 o="KNX LTD." 00C073 o="XEDIA CORPORATION" 00C074 o="TOYODA AUTOMATIC LOOM" 00C075 o="XANTE CORPORATION" 00C076 o="I-DATA INTERNATIONAL A-S" 00C077 o="DAEWOO TELECOM LTD." 00C078 o="COMPUTER SYSTEMS ENGINEERING" 00C079 o="FONSYS CO.,LTD." 00C07A o="PRIVA B.V." 00C07B,00D052 o="ASCEND COMMUNICATIONS, INC." 00C07C o="HIGHTECH INFORMATION" 00C07D o="RISC DEVELOPMENTS LTD." 00C07E o="KUBOTA CORPORATION ELECTRONIC" 00C07F o="NUPON COMPUTING CORP." 00C080 o="NETSTAR, INC." 00C081 o="METRODATA LTD." 00C082 o="MOORE PRODUCTS CO." 00C083 o="TRACE MOUNTAIN PRODUCTS, INC." 00C084 o="DATA LINK CORP. LTD." 00C085 o="ELECTRONICS FOR IMAGING, INC." 00C086 o="THE LYNK CORPORATION" 00C087 o="UUNET TECHNOLOGIES, INC." 00C088 o="EKF ELEKTRONIK GMBH" 00C089 o="TELINDUS DISTRIBUTION" 00C08A o="Lauterbach GmbH" 00C08B o="RISQ MODULAR SYSTEMS, INC." 00C08C o="PERFORMANCE TECHNOLOGIES, INC." 00C08D o="TRONIX PRODUCT DEVELOPMENT" 00C08E o="NETWORK INFORMATION TECHNOLOGY" 00C090 o="PRAIM S.R.L." 00C091 o="JABIL CIRCUIT, INC." 00C092 o="MENNEN MEDICAL INC." 00C093 o="ALTA RESEARCH CORP." 00C094 o="VMX INC." 00C096 o="TAMURA CORPORATION" 00C097 o="ARCHIPEL SA" 00C098 o="CHUNTEX ELECTRONIC CO., LTD." 00C099 o="YOSHIKI INDUSTRIAL CO.,LTD." 00C09A o="PHOTONICS CORPORATION" 00C09B o="RELIANCE COMM/TEC, R-TEC" 00C09D o="DISTRIBUTED SYSTEMS INT'L, INC" 00C09E o="CACHE COMPUTERS, INC." 00C0A0 o="ADVANCE MICRO RESEARCH, INC." 00C0A1 o="TOKYO DENSHI SEKEI CO." 00C0A2 o="INTERMEDIUM A/S" 00C0A3 o="DUAL ENTERPRISES CORPORATION" 00C0A4 o="UNIGRAF OY" 00C0A5 o="DICKENS DATA SYSTEMS" 00C0A6 o="EXICOM AUSTRALIA PTY. LTD" 00C0A7 o="SEEL LTD." 00C0A8 o="GVC CORPORATION" 00C0A9 o="BARRON MCCANN LTD." 00C0AA o="SILICON VALLEY COMPUTER" 00C0AC o="GAMBIT COMPUTER COMMUNICATIONS" 00C0AD o="MARBEN COMMUNICATION SYSTEMS" 00C0AE o="TOWERCOM CO. INC. DBA PC HOUSE" 00C0AF o="TEKLOGIX INC." 00C0B0 o="GCC TECHNOLOGIES,INC." 00C0B1 o="GENIUS NET CO." 00C0B2 o="NORAND CORPORATION" 00C0B3 o="COMSTAT DATACOMM CORPORATION" 00C0B4 o="MYSON TECHNOLOGY, INC." 00C0B5 o="CORPORATE NETWORK SYSTEMS,INC." 00C0B6 o="HVE, Inc." 00C0B7 o="AMERICAN POWER CONVERSION CORP" 00C0B8 o="FRASER'S HILL LTD." 00C0B9 o="FUNK SOFTWARE, INC." 00C0BA o="NETVANTAGE" 00C0BB o="FORVAL CREATIVE, INC." 00C0BC o="TELECOM AUSTRALIA/CSSC" 00C0BD o="INEX TECHNOLOGIES, INC." 00C0BE o="ALCATEL - SEL" 00C0BF o="TECHNOLOGY CONCEPTS, LTD." 00C0C0 o="SHORE MICROSYSTEMS, INC." 00C0C1 o="QUAD/GRAPHICS, INC." 00C0C2 o="INFINITE NETWORKS LTD." 00C0C3 o="ACUSON COMPUTED SONOGRAPHY" 00C0C4 o="COMPUTER OPERATIONAL" 00C0C5 o="SID INFORMATICA" 00C0C6 o="PERSONAL MEDIA CORP." 00C0C7 o="SPARKTRUM MICROSYSTEMS, INC." 00C0C8 o="MICRO BYTE PTY. LTD." 00C0C9 o="ELSAG BAILEY PROCESS" 00C0CA o="ALFA, INC." 00C0CB o="CONTROL TECHNOLOGY CORPORATION" 00C0CC o="TELESCIENCES CO SYSTEMS, INC." 00C0CD o="COMELTA, S.A." 00C0CE o="CEI SYSTEMS & ENGINEERING PTE" 00C0CF o="IMATRAN VOIMA OY" 00C0D0 o="RATOC SYSTEM INC." 00C0D1 o="COMTREE TECHNOLOGY CORPORATION" 00C0D2 o="SYNTELLECT, INC." 00C0D3 o="OLYMPUS IMAGE SYSTEMS, INC." 00C0D4 o="AXON NETWORKS, INC." 00C0D5 o="Werbeagentur Jürgen Siebert" 00C0D6 o="J1 SYSTEMS, INC." 00C0D7 o="TAIWAN TRADING CENTER DBA" 00C0D8 o="UNIVERSAL DATA SYSTEMS" 00C0D9 o="QUINTE NETWORK CONFIDENTIALITY" 00C0DA o="NICE SYSTEMS LTD." 00C0DB o="IPC CORPORATION (PTE) LTD." 00C0DC o="EOS TECHNOLOGIES, INC." 00C0DE o="ZCOMM, INC." 00C0DF o="KYE Systems Corp." 00C0E0 o="DSC COMMUNICATION CORP." 00C0E1 o="SONIC SOLUTIONS" 00C0E2 o="CALCOMP, INC." 00C0E3 o="OSITECH COMMUNICATIONS, INC." 00C0E4 o="SIEMENS BUILDING" 00C0E5 o="GESPAC, S.A." 00C0E7 o="FIBERDATA AB" 00C0E8 o="PLEXCOM, INC." 00C0E9 o="OAK SOLUTIONS, LTD." 00C0EA o="ARRAY TECHNOLOGY LTD." 00C0EB o="SEH COMPUTERTECHNIK GMBH" 00C0EC o="DAUPHIN TECHNOLOGY" 00C0ED o="US ARMY ELECTRONIC" 00C0EF o="ABIT CORPORATION" 00C0F1 o="SHINKO ELECTRIC CO., LTD." 00C0F2 o="TRANSITION NETWORKS" 00C0F3 o="NETWORK COMMUNICATIONS CORP." 00C0F4 o="INTERLINK SYSTEM CO., LTD." 00C0F5 o="METACOMP, INC." 00C0F6 o="CELAN TECHNOLOGY INC." 00C0F7 o="ENGAGE COMMUNICATION, INC." 00C0F8 o="ABOUT COMPUTING INC." 00C0FA o="CANARY COMMUNICATIONS, INC." 00C0FB o="ADVANCED TECHNOLOGY LABS" 00C0FC o="ELASTIC REALITY, INC." 00C0FD o="PROSUM" 00C0FE o="APTEC COMPUTER SYSTEMS, INC." 00C14F o="DDL Co,.ltd." 00C5DB o="Datatech Sistemas Digitales Avanzados SL" 00CBB4 o="SHENZHEN ATEKO PHOTOELECTRICITY CO.,LTD" 00CBBD o="Cambridge Broadband Networks Ltd." 00CD90 o="MAS Elektronik AG" 00CFC0,103D3E,1479F3,1869DA,1C4176,24615A,3C574F,4062EA,44C874,508CF5,7089CC,74ADB7,78C313,8C53D2,90473C,AC5AEE,AC710C,B4D0A9,C01692,C43306,CC5CDE,E0456D,E4C0CC,F848FD o="China Mobile Group Device Co.,Ltd." 00D000 o="FERRAN SCIENTIFIC, INC." 00D001 o="VST TECHNOLOGIES, INC." 00D002 o="DITECH CORPORATION" 00D003 o="COMDA ENTERPRISES CORP." 00D004 o="PENTACOM LTD." 00D005 o="ZHS ZEITMANAGEMENTSYSTEME" 00D007 o="MIC ASSOCIATES, INC." 00D008 o="MACTELL CORPORATION" 00D009 o="HSING TECH. ENTERPRISE CO. LTD" 00D00A o="LANACCESS TELECOM S.A." 00D00B o="RHK TECHNOLOGY, INC." 00D00C o="SNIJDER MICRO SYSTEMS" 00D00D o="MICROMERITICS INSTRUMENT" 00D00E o="PLURIS, INC." 00D00F o="SPEECH DESIGN GMBH" 00D010 o="CONVERGENT NETWORKS, INC." 00D011 o="PRISM VIDEO, INC." 00D012 o="GATEWORKS CORP." 00D013 o="PRIMEX AEROSPACE COMPANY" 00D014 o="ROOT, INC." 00D015 o="UNIVEX MICROTECHNOLOGY CORP." 00D016 o="SCM MICROSYSTEMS, INC." 00D017 o="SYNTECH INFORMATION CO., LTD." 00D018 o="QWES. COM, INC." 00D019 o="DAINIPPON SCREEN CORPORATE" 00D01A o="URMET TLC S.P.A." 00D01B o="MIMAKI ENGINEERING CO., LTD." 00D01C o="SBS TECHNOLOGIES," 00D01D o="FURUNO ELECTRIC CO., LTD." 00D01E o="PINGTEL CORP." 00D01F o="Senetas Corporation Ltd" 00D020 o="AIM SYSTEM, INC." 00D021 o="REGENT ELECTRONICS CORP." 00D022 o="INCREDIBLE TECHNOLOGIES, INC." 00D023 o="INFORTREND TECHNOLOGY, INC." 00D024 o="Cognex Corporation" 00D025 o="XROSSTECH, INC." 00D026 o="HIRSCHMANN AUSTRIA GMBH" 00D027 o="APPLIED AUTOMATION, INC." 00D029 o="WAKEFERN FOOD CORPORATION" 00D02A o="Voxent Systems Ltd." 00D02B o="JETCELL, INC." 00D02C o="CAMPBELL SCIENTIFIC, INC." 00D02D,48A2E6,B82CA0 o="Resideo" 00D02E o="COMMUNICATION AUTOMATION CORP." 00D02F o="VLSI TECHNOLOGY INC." 00D030 o="Safetran Systems Corp" 00D031 o="INDUSTRIAL LOGIC CORPORATION" 00D032 o="YANO ELECTRIC CO., LTD." 00D033 o="DALIAN DAXIAN NETWORK" 00D034 o="ORMEC SYSTEMS CORP." 00D035 o="BEHAVIOR TECH. COMPUTER CORP." 00D036 o="TECHNOLOGY ATLANTA CORP." 00D038 o="FIVEMERE, LTD." 00D039 o="UTILICOM, INC." 00D03A o="ZONEWORX, INC." 00D03B o="VISION PRODUCTS PTY. LTD." 00D03C o="Vieo, Inc." 00D03D o="GALILEO TECHNOLOGY, LTD." 00D03E o="ROCKETCHIPS, INC." 00D03F o="AMERICAN COMMUNICATION" 00D040 o="SYSMATE CO., LTD." 00D041 o="AMIGO TECHNOLOGY CO., LTD." 00D042 o="MAHLO GMBH & CO. UG" 00D043 o="ZONAL RETAIL DATA SYSTEMS" 00D044 o="ALIDIAN NETWORKS, INC." 00D045 o="KVASER AB" 00D046 o="DOLBY LABORATORIES, INC." 00D047 o="XN TECHNOLOGIES" 00D048 o="ECTON, INC." 00D049 o="IMPRESSTEK CO., LTD." 00D04A o="PRESENCE TECHNOLOGY GMBH" 00D04B o="LA CIE GROUP S.A." 00D04C o="EUROTEL TELECOM LTD." 00D04D o="DIV OF RESEARCH & STATISTICS" 00D04E o="LOGIBAG" 00D04F o="BITRONICS, INC." 00D050,10A3B8,646EEA o="Iskratel d.o.o." 00D051 o="O2 MICRO, INC." 00D053 o="CONNECTED SYSTEMS" 00D054 o="SAS INSTITUTE INC." 00D055 o="KATHREIN-WERKE KG" 00D056 o="SOMAT CORPORATION" 00D057 o="ULTRAK, INC." 00D059 o="AMBIT MICROSYSTEMS CORP." 00D05A o="SYMBIONICS, LTD." 00D05B o="ACROLOOP MOTION CONTROL" 00D05C o="KATHREIN TechnoTrend GmbH" 00D05D o="INTELLIWORXX, INC." 00D05E o="STRATABEAM TECHNOLOGY, INC." 00D05F o="VALCOM, INC." 00D061 o="TREMON ENTERPRISES CO., LTD." 00D062 o="DIGIGRAM" 00D064 o="MULTITEL" 00D065 o="TOKO ELECTRIC" 00D066 o="WINTRISS ENGINEERING CORP." 00D067 o="CAMPIO COMMUNICATIONS" 00D068 o="IWILL CORPORATION" 00D069,E81A58 o="TECHNOLOGIC SYSTEMS" 00D06A o="LINKUP SYSTEMS CORPORATION" 00D06B o="SR TELECOM INC." 00D06C o="SHAREWAVE, INC." 00D06D o="ACRISON, INC." 00D06E o="TRENDVIEW RECORDERS LTD." 00D06F o="KMC CONTROLS" 00D070 o="LONG WELL ELECTRONICS CORP." 00D071 o="ECHELON CORP." 00D072 o="BROADLOGIC" 00D073 o="ACN ADVANCED COMMUNICATIONS" 00D074 o="TAQUA SYSTEMS, INC." 00D075 o="ALARIS MEDICAL SYSTEMS, INC." 00D076 o="Bank of America" 00D078 o="Eltex of Sweden AB" 00D07A o="AMAQUEST COMPUTER CORP." 00D07B o="COMCAM INTERNATIONAL INC" 00D07C o="KOYO ELECTRONICS INC. CO.,LTD." 00D07D o="COSINE COMMUNICATIONS" 00D07E o="KEYCORP LTD." 00D07F o="STRATEGY & TECHNOLOGY, LIMITED" 00D080 o="EXABYTE CORPORATION" 00D081 o="RTD Embedded Technologies, Inc." 00D082 o="IOWAVE INC." 00D083 o="INVERTEX, INC." 00D084 o="NEXCOMM SYSTEMS, INC." 00D085 o="OTIS ELEVATOR COMPANY" 00D086 o="FOVEON, INC." 00D087 o="MICROFIRST INC." 00D089 o="DYNACOLOR, INC." 00D08A o="PHOTRON USA" 00D08C o="GENOA TECHNOLOGY, INC." 00D08D o="PHOENIX GROUP, INC." 00D08F o="ARDENT TECHNOLOGIES, INC." 00D091 o="SMARTSAN SYSTEMS, INC." 00D092 o="GLENAYRE WESTERN MULTIPLEX" 00D093 o="TQ - COMPONENTS GMBH" 00D094 o="Seeion Control LLC" 00D098 o="Photon Dynamics Canada Inc." 00D099 o="Elcard Wireless Systems Oy" 00D09A o="FILANET CORPORATION" 00D09B o="SPECTEL LTD." 00D09C o="KAPADIA COMMUNICATIONS" 00D09D o="VERIS INDUSTRIES" 00D09F o="NOVTEK TEST SYSTEMS" 00D0A0 o="MIPS DENMARK" 00D0A1 o="OSKAR VIERLING GMBH + CO. KG" 00D0A2,00E0CF o="INTEGRATED DEVICE" 00D0A3 o="VOCAL DATA, INC." 00D0A4 o="ALANTRO COMMUNICATIONS" 00D0A5 o="AMERICAN ARIUM" 00D0A6 o="LANBIRD TECHNOLOGY CO., LTD." 00D0A7 o="TOKYO SOKKI KENKYUJO CO., LTD." 00D0A8 o="NETWORK ENGINES, INC." 00D0A9 o="SHINANO KENSHI CO., LTD." 00D0AA o="CHASE COMMUNICATIONS" 00D0AB o="DELTAKABEL TELECOM CV" 00D0AC o="Commscope, Inc" 00D0AD o="TL INDUSTRIES" 00D0AE o="ORESIS COMMUNICATIONS, INC." 00D0AF o="CUTLER-HAMMER, INC." 00D0B0 o="BITSWITCH LTD." 00D0B1 o="OMEGA ELECTRONICS SA" 00D0B3 o="DRS Technologies Canada Ltd" 00D0B4 o="KATSUJIMA CO., LTD." 00D0B5 o="IPricot formerly DotCom" 00D0B6 o="CRESCENT NETWORKS, INC." 00D0B8 o="Iomega Corporation" 00D0BD o="Lattice Semiconductor Corp. (LPA)" 00D0BE o="EMUTEC INC." 00D0BF o="PIVOTAL TECHNOLOGIES" 00D0C1 o="HARMONIC DATA SYSTEMS, LTD." 00D0C2 o="BALTHAZAR TECHNOLOGY AB" 00D0C3 o="VIVID TECHNOLOGY PTE, LTD." 00D0C4 o="TERATECH CORPORATION" 00D0C5 o="COMPUTATIONAL SYSTEMS, INC." 00D0C6 o="THOMAS & BETTS CORP." 00D0C7 o="PATHWAY, INC." 00D0C8 o="Prevas A/S" 00D0C9,74FE48 o="ADVANTECH CO., LTD." 00D0CB,18D071 o="DASAN CO., LTD." 00D0CC o="TECHNOLOGIES LYRE INC." 00D0CD o="ATAN TECHNOLOGY INC." 00D0CE o="iSystem Labs" 00D0CF o="MORETON BAY" 00D0D0 o="ZHONGXING TELECOM LTD." 00D0D2 o="EPILOG CORPORATION" 00D0D4 o="V-BITS, INC." 00D0D5 o="GRUNDIG AG" 00D0D6 o="AETHRA TELECOMUNICAZIONI" 00D0D7 o="B2C2, INC." 00D0D9 o="DEDICATED MICROCOMPUTERS" 00D0DA o="TAICOM DATA SYSTEMS CO., LTD." 00D0DB o="MCQUAY INTERNATIONAL" 00D0DC o="MODULAR MINING SYSTEMS, INC." 00D0DD o="SUNRISE TELECOM, INC." 00D0DE o="PHILIPS MULTIMEDIA NETWORK" 00D0DF o="KUZUMI ELECTRONICS, INC." 00D0E0 o="DOOIN ELECTRONICS CO." 00D0E1 o="AVIONITEK ISRAEL INC." 00D0E2 o="MRT MICRO, INC." 00D0E3 o="ELE-CHEM ENGINEERING CO., LTD." 00D0E5 o="SOLIDUM SYSTEMS CORP." 00D0E6 o="IBOND INC." 00D0E7 o="VCON TELECOMMUNICATION LTD." 00D0E8 o="MAC SYSTEM CO., LTD." 00D0E9 o="Advantage Century Telecommunication Corp." 00D0EA o="NEXTONE COMMUNICATIONS, INC." 00D0EB o="LIGHTERA NETWORKS, INC." 00D0EC,480C49,8C3C4A,F49651 o="NAKAYO Inc" 00D0ED o="XIOX" 00D0EE o="DICTAPHONE CORPORATION" 00D0EF o="IGT" 00D0F0 o="CONVISION TECHNOLOGY GMBH" 00D0F1 o="SEGA ENTERPRISES, LTD." 00D0F2 o="MONTEREY NETWORKS" 00D0F3 o="SOLARI DI UDINE SPA" 00D0F4 o="CARINTHIAN TECH INSTITUTE" 00D0F5 o="ORANGE MICRO, INC." 00D0F7 o="NEXT NETS CORPORATION" 00D0F8 o="FUJIAN STAR TERMINAL" 00D0F9 o="ACUTE COMMUNICATIONS CORP." 00D0FA o="Thales e-Security Ltd." 00D0FB o="TEK MICROSYSTEMS, INCORPORATED" 00D0FC o="GRANITE MICROSYSTEMS" 00D0FD o="OPTIMA TELE.COM, INC." 00D0FE o="ASTRAL POINT" 00D11C o="ACETEL" 00D279 o="VINGROUP JOINT STOCK COMPANY" 00D2B1 o="TPV Display Technology (Xiamen) Co.,Ltd." 00D318 o="SPG Controls" 00D38D o="Hotel Technology Next Generation" 00D861,2CF05D,309C23,4CCC6A,D8CB8A o="Micro-Star INTL CO., LTD." 00DB1E o="Albedo Telecom SL" 00DB45 o="THAMWAY CO.,LTD." 00DD25 o="Shenzhen hechengdong Technology Co., Ltd" 00E001 o="STRAND LIGHTING LIMITED" 00E002 o="CROSSROADS SYSTEMS, INC." 00E003 o="NOKIA WIRELESS BUSINESS COMMUN" 00E004 o="PMC-SIERRA, INC." 00E005 o="TECHNICAL CORP." 00E006 o="SILICON INTEGRATED SYS. CORP." 00E007 o="Avaya ECS Ltd" 00E008 o="AMAZING CONTROLS! INC." 00E00A o="DIBA, INC." 00E00B o="ROOFTOP COMMUNICATIONS CORP." 00E00C o="MOTOROLA" 00E00D o="RADIANT SYSTEMS" 00E00E o="AVALON IMAGING SYSTEMS, INC." 00E00F,847973,984562,FCFAF7 o="Shanghai Baud Data Communication Co.,Ltd." 00E010 o="HESS SB-AUTOMATENBAU GmbH" 00E011 o="UNIDEN CORPORATION" 00E012 o="PLUTO TECHNOLOGIES INTERNATIONAL INC." 00E013 o="EASTERN ELECTRONIC CO., LTD." 00E015 o="HEIWA CORPORATION" 00E016 o="RAPID CITY COMMUNICATIONS" 00E017 o="EXXACT GmbH" 00E019 o="ING. GIORDANO ELETTRONICA" 00E01A o="COMTEC SYSTEMS. CO., LTD." 00E01B o="SPHERE COMMUNICATIONS, INC." 00E01C o="Cradlepoint, Inc" 00E01D o="WebTV NETWORKS, INC." 00E01F o="AVIDIA Systems, Inc." 00E020 o="TECNOMEN OY" 00E021 o="FREEGATE CORP." 00E023 o="TELRAD" 00E024 o="GADZOOX NETWORKS" 00E025 o="dit Co., Ltd." 00E026 o="Redlake MASD LLC" 00E027 o="DUX, INC." 00E028 o="APTIX CORPORATION" 00E029 o="STANDARD MICROSYSTEMS CORP." 00E02A o="TANDBERG TELEVISION AS" 00E02C o="AST COMPUTER" 00E02D o="InnoMediaLogic, Inc." 00E02E o="SPC ELECTRONICS CORPORATION" 00E02F o="MCNS HOLDINGS, L.P." 00E030 o="MELITA INTERNATIONAL CORP." 00E031 o="HAGIWARA ELECTRIC CO., LTD." 00E032 o="MISYS FINANCIAL SYSTEMS, LTD." 00E033 o="E.E.P.D. GmbH" 00E036,745E1C,94B2CC o="PIONEER CORPORATION" 00E037 o="CENTURY CORPORATION" 00E038 o="PROXIMA CORPORATION" 00E039 o="PARADYNE CORP." 00E03B o="PROMINET CORPORATION" 00E03C o="AdvanSys" 00E03D o="FOCON ELECTRONIC SYSTEMS A/S" 00E03E o="ALFATECH, INC." 00E03F o="JATON CORPORATION" 00E040 o="DeskStation Technology, Inc." 00E041 o="CSPI" 00E042 o="Pacom Systems Ltd." 00E043 o="VitalCom" 00E044 o="LSICS CORPORATION" 00E045 o="TOUCHWAVE, INC." 00E046 o="BENTLY NEVADA CORP." 00E047 o="InFocus Corporation" 00E048 o="SDL COMMUNICATIONS, INC." 00E049 o="MICROWI ELECTRONIC GmbH" 00E04A o="ZX Technologies, Inc" 00E04B o="JUMP INDUSTRIELLE COMPUTERTECHNIK GmbH" 00E04C o="REALTEK SEMICONDUCTOR CORP." 00E04D o="INTERNET INITIATIVE JAPAN, INC" 00E04E o="SANYO DENKI CO., LTD." 00E050 o="EXECUTONE INFORMATION SYSTEMS, INC." 00E051 o="TALX CORPORATION" 00E053 o="CELLPORT LABS, INC." 00E054 o="KODAI HITEC CO., LTD." 00E055 o="INGENIERIA ELECTRONICA COMERCIAL INELCOM S.A." 00E056 o="HOLONTECH CORPORATION" 00E057 o="HAN MICROTELECOM. CO., LTD." 00E058 o="PHASE ONE DENMARK A/S" 00E059 o="CONTROLLED ENVIRONMENTS, LTD." 00E05A o="GALEA NETWORK SECURITY" 00E05B o="WEST END SYSTEMS CORP." 00E05C o="PHC Corporation" 00E05D o="UNITEC CO., LTD." 00E05E o="JAPAN AVIATION ELECTRONICS INDUSTRY, LTD." 00E05F o="e-Net, Inc." 00E060 o="SHERWOOD" 00E061 o="EdgePoint Networks, Inc." 00E062 o="HOST ENGINEERING" 00E064 o="SAMSUNG ELECTRONICS" 00E065 o="OPTICAL ACCESS INTERNATIONAL" 00E066 o="ProMax Systems, Inc." 00E067 o="eac AUTOMATION-CONSULTING GmbH" 00E068 o="MERRIMAC SYSTEMS INC." 00E069 o="JAYCOR" 00E06A o="KAPSCH AG" 00E06B o="W&G SPECIAL PRODUCTS" 00E06D o="COMPUWARE CORPORATION" 00E06E o="FAR SYSTEMS S.p.A." 00E070 o="DH TECHNOLOGY" 00E071 o="EPIS MICROCOMPUTER" 00E072 o="LYNK" 00E073 o="NATIONAL AMUSEMENT NETWORK, INC." 00E074 o="TIERNAN COMMUNICATIONS, INC." 00E076 o="DEVELOPMENT CONCEPTS, INC." 00E077 o="WEBGEAR, INC." 00E078 o="BERKELEY NETWORKS" 00E079 o="A.T.N.R." 00E07A o="MIKRODIDAKT AB" 00E07B o="BAY NETWORKS" 00E07C o="METTLER-TOLEDO, INC." 00E07D o="NETRONIX, INC." 00E07E o="WALT DISNEY IMAGINEERING" 00E07F o="LOGISTISTEM s.r.l." 00E080 o="CONTROL RESOURCES CORPORATION" 00E081 o="TYAN COMPUTER CORP." 00E082 o="ANERMA" 00E083 o="JATO TECHNOLOGIES, INC." 00E084 o="COMPULITE R&D" 00E085 o="GLOBAL MAINTECH, INC." 00E086 o="Emerson Network Power, Avocent Division" 00E087 o="LeCroy - Networking Productions Division" 00E088 o="LTX-Credence CORPORATION" 00E08A o="GEC AVERY, LTD." 00E08C o="NEOPARADIGM LABS, INC." 00E08D o="PRESSURE SYSTEMS, INC." 00E08E o="UTSTARCOM" 00E090 o="BECKMAN LAB. AUTOMATION DIV." 00E091,14C913,201742,30B4B8,388C50,64956C,6CD032,785DC8,A823FE,C808E9 o="LG Electronics" 00E092 o="ADMTEK INCORPORATED" 00E093 o="ACKFIN NETWORKS" 00E094 o="OSAI SRL" 00E095 o="ADVANCED-VISION TECHNOLGIES CORP." 00E096 o="SHIMADZU CORPORATION" 00E097 o="CARRIER ACCESS CORPORATION" 00E099 o="SAMSON AG" 00E09A o="Positron Inc." 00E09B o="ENGAGE NETWORKS, INC." 00E09C o="MII" 00E09D o="SARNOFF CORPORATION" 00E09F o="PIXEL VISION" 00E0A0 o="WILTRON CO." 00E0A1 o="HIMA PAUL HILDEBRANDT GmbH Co. KG" 00E0A2 o="MICROSLATE INC." 00E0A4 o="ESAOTE S.p.A." 00E0A5 o="ComCore Semiconductor, Inc." 00E0A6 o="TELOGY NETWORKS, INC." 00E0A7 o="IPC INFORMATION SYSTEMS, INC." 00E0A8 o="SAT GmbH & Co." 00E0A9,788038 o="FUNAI ELECTRIC CO., LTD." 00E0AA o="ELECTROSONIC LTD." 00E0AB o="DIMAT S.A." 00E0AC o="MIDSCO, INC." 00E0AD o="EES TECHNOLOGY, LTD." 00E0AE o="XAQTI CORPORATION" 00E0AF o="GENERAL DYNAMICS INFORMATION SYSTEMS" 00E0B2 o="TELMAX COMMUNICATIONS CORP." 00E0B3 o="EtherWAN Systems, Inc." 00E0B4 o="TECHNO SCOPE CO., LTD." 00E0B5 o="ARDENT COMMUNICATIONS CORP." 00E0B6 o="Entrada Networks" 00E0B7 o="PI GROUP, LTD." 00E0B8 o="GATEWAY 2000" 00E0B9 o="BYAS SYSTEMS" 00E0BA o="BERGHOF AUTOMATIONSTECHNIK GmbH" 00E0BB o="NBX CORPORATION" 00E0BC o="SYMON COMMUNICATIONS, INC." 00E0BD o="INTERFACE SYSTEMS, INC." 00E0BE o="GENROCO INTERNATIONAL, INC." 00E0BF o="TORRENT NETWORKING TECHNOLOGIES CORP." 00E0C0 o="SEIWA ELECTRIC MFG. CO., LTD." 00E0C1 o="MEMOREX TELEX JAPAN, LTD." 00E0C2 o="NECSY S.p.A." 00E0C3 o="SAKAI SYSTEM DEVELOPMENT CORP." 00E0C4 o="HORNER ELECTRIC, INC." 00E0C5 o="BCOM ELECTRONICS INC." 00E0C6 o="LINK2IT, L.L.C." 00E0C7 o="EUROTECH SRL" 00E0C8 o="VIRTUAL ACCESS, LTD." 00E0C9 o="AutomatedLogic Corporation" 00E0CA o="BEST DATA PRODUCTS" 00E0CB o="RESON, INC." 00E0CC o="HERO SYSTEMS, LTD." 00E0CD o="SAAB SENSIS CORPORATION" 00E0CE o="ARN" 00E0D0 o="NETSPEED, INC." 00E0D1 o="TELSIS LIMITED" 00E0D2 o="VERSANET COMMUNICATIONS, INC." 00E0D3 o="DATENTECHNIK GmbH" 00E0D4 o="EXCELLENT COMPUTER" 00E0D6 o="COMPUTER & COMMUNICATION RESEARCH LAB." 00E0D7 o="SUNSHINE ELECTRONICS, INC." 00E0D8 o="LANBit Computer, Inc." 00E0D9 o="TAZMO CO., LTD." 00E0DB o="ViaVideo Communications, Inc." 00E0DC o="NEXWARE CORP." 00E0DE o="DATAX NV" 00E0DF o="KEYMILE GmbH" 00E0E0 o="SI ELECTRONICS, LTD." 00E0E1 o="G2 NETWORKS, INC." 00E0E2 o="INNOVA CORP." 00E0E3 o="SK-ELEKTRONIK GMBH" 00E0E4 o="FANUC ROBOTICS NORTH AMERICA, Inc." 00E0E5 o="CINCO NETWORKS, INC." 00E0E6 o="INCAA Computers" 00E0E7 o="RAYTHEON E-SYSTEMS, INC." 00E0E8 o="GRETACODER Data Systems AG" 00E0E9 o="DATA LABS, INC." 00E0EA o="INNOVAT COMMUNICATIONS, INC." 00E0EB o="DIGICOM SYSTEMS, INCORPORATED" 00E0EC,0C48C6 o="CELESTICA INC." 00E0ED o="SILICOM, LTD." 00E0EE o="MAREL HF" 00E0EF o="DIONEX" 00E0F0 o="ABLER TECHNOLOGY, INC." 00E0F1 o="THAT CORPORATION" 00E0F2 o="ARLOTTO COMNET, INC." 00E0F3 o="WebSprint Communications, Inc." 00E0F4 o="INSIDE Technology A/S" 00E0F5 o="TELES AG" 00E0F6 o="DECISION EUROPE" 00E0F8 o="DICNA CONTROL AB" 00E0FA o="TRL TECHNOLOGY, LTD." 00E0FB o="LEIGHTRONIX, INC." 00E0FD o="A-TREND TECHNOLOGY CO., LTD." 00E0FF o="SECURITY DYNAMICS TECHNOLOGIES, Inc." 00E175 o="AK-Systems Ltd" 00E6D3,02E6D3 o="NIXDORF COMPUTER CORP." 00E6E8 o="Netzin Technology Corporation,.Ltd." 00E8AB o="Meggitt Training Systems, Inc." 00EDB8,2429FE o="KYOCERA Corporation" 00F051 o="KWB Gmbh" 00F22C o="Shanghai B-star Technology Co.,Ltd." 00F3DB o="WOO Sports" 00F403 o="Orbis Systems Oy" 00F860 o="PT. Panggung Electric Citrabuana" 00F871 o="DGS Denmark A/S" 00FA3B o="CLOOS ELECTRONIC GMBH" 00FC58 o="WebSilicon Ltd." 00FC70 o="Intrepid Control Systems, Inc." 00FD4C o="NEVATEC" 02AA3C o="OLIVETTI TELECOMM SPA (OLTECO)" 0402CA o="Shenzhen Vtsonic Co.,ltd" 0403D6,342FBD,48A5E7,582F40,5C521E,606BFF,64B5C6,7048F7,9458CB,98415C,98B6E9,98E8FA,A438CC,B87826,B88AEC,D4F057,DC68EB,ECC40D o="Nintendo Co.,Ltd" 0404EA o="Valens Semiconductor Ltd." 04072E o="VTech Electronics Ltd." 040AE0 o="XMIT AG COMPUTER NETWORKS" 040EC2 o="ViewSonic Mobile China Limited" 0415D9 o="Viwone" 04197F o="Grasphere Japan" 041A04 o="WaveIP" 041B94 o="Host Mobility AB" 041D10 o="Dream Ware Inc." 041E7A o="DSPWorks" 041EFA o="BISSELL Homecare, Inc." 04214C o="Insight Energy Ventures LLC" 042234 o="Wireless Standard Extensions" 042605 o="GFR Gesellschaft für Regelungstechnik und Energieeinsparung mbH" 042BBB o="PicoCELA, Inc." 042DB4 o="First Property (Beijing) Co., Ltd Modern MOMA Branch" 042F56 o="ATOCS (Shenzhen) LTD" 043110 o="Inspur Group Co., Ltd." 0432F4 o="Partron" 043385 o="Nanchang BlackShark Co.,Ltd." 043604 o="Gyeyoung I&T" 043A0D o="SM Optics S.r.l." 043D98 o="ChongQing QingJia Electronics CO.,LTD" 0440A9,04D7A5,08688D,1CAB34,307BAC,30809B,346B5B,38AD8E,38ADBE,3CF5CC,4077A9,441AFA,48BD3D,4CE9E4,5098B8,542BDE,5CC999,7057BF,7485C4,74EAC8,74EACB,782C29,7C1E06,80E455,88DF9E,905D7C,90E710,94282E,94292F,943BB0,9CE895,A4FA76,DCDA80,F01090,F47488 o="New H3C Technologies Co., Ltd" 044169,2474F7,D43260,D4D919,D89685,F4DD9E o="GoPro" 0444A1 o="TELECON GALICIA,S.A." 0445A1 o="NIRIT- Xinwei Telecom Technology Co., Ltd." 044A50 o="Ramaxel Technology (Shenzhen) limited company" 044BFF o="GuangZhou Hedy Digital Technology Co., Ltd" 044CEF o="Fujian Sanao Technology Co.,Ltd" 044E06,3407FB,346E9D,348446,3C197D,549B72,74C99A,74D0DC,78D347,903809,987A10,98A404,98C5DB,A4A1C2,AC60B6,F0B107 o="Ericsson AB" 044F8B o="Adapteva, Inc." 0450DA o="Qiku Internet Network Scientific (Shenzhen) Co., Ltd" 0453D5 o="Sysorex Global Holdings" 0455CA o="BriView (Xiamen) Corp." 045604,3478D7,48A380 o="Gionee Communication Equipment Co.,Ltd." 04572F o="Sertel Electronics UK Ltd" 04586F o="Sichuan Whayer information industry Co.,LTD" 045C06 o="Zmodo Technology Corporation" 045C8E o="gosund GROUP CO.,LTD" 045D56 o="camtron industrial inc." 045EA4 o="SHENZHEN NETIS TECHNOLOGY CO.,LTD" 045FA7 o="Shenzhen Yichen Technology Development Co.,LTD" 0462D7 o="ALSTOM HYDRO FRANCE" 0463E0 o="Nome Oy" 046565 o="Testop" 046785 o="scemtec Hard- und Software fuer Mess- und Steuerungstechnik GmbH" 046B1B o="SYSDINE Co., Ltd." 046B25,1012B4,1469A2,7847E3,C01B23 o="SICHUAN TIANYI COMHEART TELECOM CO.,LTD" 046D42 o="Bryston Ltd." 046E02 o="OpenRTLS Group" 046E49 o="TaiYear Electronic Technology (Suzhou) Co., Ltd" 0470BC o="Globalstar Inc." 0474A1 o="Aligera Equipamentos Digitais Ltda" 0475F5 o="CSST" 047863,80A036,B0F893,D0BAE4 o="Shanghai MXCHIP Information Technology Co., Ltd." 047D50 o="Shenzhen Kang Ying Technology Co.Ltd." 047E4A o="moobox CO., Ltd." 047F0E o="Barrot Technology Limited" 0481AE o="Clack Corporation" 04848A o="7INOVA TECHNOLOGY LIMITED" 04888C o="Eifelwerk Butler Systeme GmbH" 0488E2 o="Beats Electronics LLC" 048AE1,44CD0E,4CC7D6,C07878,C8C2F5,DCB4AC o="FLEXTRONICS MANUFACTURING(ZHUHAI)CO.,LTD." 048B42 o="Skspruce Technologies" 048C03 o="ThinPAD Technology (Shenzhen)CO.,LTD" 0492EE o="iway AG" 04946B,088620,141114,202681,4CE19E,58DB15,64CB9F,709FA9,74E60F,783A6C,78FFCA,AC2DA9,C4C563,D01C3C,D47DFC,F03D03 o="TECNO MOBILE LIMITED" 0494A1 o="CATCH THE WIND INC" 0495E6,0840F3,500FF5,502B73,58D9D5,B0DFC1,B40F3B,B83A08,CC2D21,D83214,E865D4 o="Tenda Technology Co.,Ltd.Dongguan branch" 049645 o="WUXI SKY CHIP INTERCONNECTION TECHNOLOGY CO.,LTD." 049790 o="Lartech telecom LLC" 0499E6 o="Shenzhen Yoostar Technology Co., Ltd" 049B9C o="Eadingcore Intelligent Technology Co., Ltd." 049C62 o="BMT Medical Technology s.r.o." 049DFE o="Hivesystem" 049F06 o="Smobile Co., Ltd." 04A222,0C8E29,18828C,44FE3B,488D36,4C1B86,64CC22,78DD12,946AB0,A0B549,B8F853,BC30D9,CCD42E,D0052A,D463FE,E05163,E43ED7,ECF451,F08620 o="Arcadyan Corporation" 04A3F3 o="Emicon" 04AAE1 o="BEIJING MICROVISION TECHNOLOGY CO.,LTD" 04AB18,BC5C4C o="ELECOM CO.,LTD." 04AB6A o="Chun-il Co.,Ltd." 04AC44,B8CA04 o="Holtek Semiconductor Inc." 04B3B6 o="Seamap (UK) Ltd" 04B466 o="BSP Co., Ltd." 04B648 o="ZENNER" 04BA36 o="Li Seng Technology Ltd" 04BBF9 o="Pavilion Data Systems Inc" 04BC87 o="Shenzhen JustLink Technology Co., LTD" 04BFA8 o="ISB Corporation" 04C05B o="Tigo Energy" 04C09C o="Tellabs Inc." 04C103,D49524 o="Clover Network, Inc." 04C880 o="Samtec Inc" 04C991 o="Phistek INC." 04CB1D o="Traka plc" 04CE14 o="Wilocity LTD." 04CE7E o="NXP France Semiconductors France" 04CF25 o="MANYCOLORS, INC." 04CF8C,286C07,34CE00,40313C,50642B,7811DC,7C49EB,EC4118 o="XIAOMI Electronics,CO.,LTD" 04D395,08CC27,0CCB85,141AA3,1430C6,1C56FE,2446C8,24DA9B,304B07,34BB26,3880DF,40786A,408805,4480EB,58D9C3,5C5188,601D91,60BEB5,68C44D,8058F8,806C1B,84100D,88797E,88B4A6,8CF112,9068C3,90735A,9CD917,A470D6,A89675,B07994,BC98DF,BCFFEB,C08C71,C8C750,CC61E5,CCC3EA,D00401,D07714,D463C6,D4C94B,DCBFE9,E0757D,E09861,E4907E,E89120,EC8892,F0D7AA,F4F1E1,F4F524,F81F32,F8CFC5,F8E079,F8F1B6 o="Motorola Mobility LLC, a Lenovo Company" 04D437 o="ZNV" 04D590,085B0E,704CA5,906CAC,E023FF,E81CBA o="Fortinet, Inc." 04D6AA,08C5E1,1449E0,24181D,2C0E3D,30074D,30AB6A,3423BA,400E85,4C6641,54880E,6CC7EC,843838,88329B,8CB84A,8CF5A3,A8DB03,AC5F3E,B479A7,BC8CCD,C09727,C0BDD1,C8BA94,D022BE,D02544,E8508B,EC1F72,EC9BF3,F025B7,F409D8,F8042E o="SAMSUNG ELECTRO-MECHANICS(THAILAND)" 04D783 o="Y&H E&C Co.,LTD." 04DB8A o="Suntech International Ltd." 04DD4C o="Velocytech" 04DEDB o="Rockport Networks Inc" 04DEF2 o="Shenzhen ECOM Technology Co. Ltd" 04DF69 o="Car Connectivity Consortium" 04E0C4 o="TRIUMPH-ADLER AG" 04E1C8 o="IMS Soluções em Energia Ltda." 04E229,04FA83,18A7F1 o="Qingdao Haier Technology Co.,Ltd" 04E2F8 o="AEP Ticketing solutions srl" 04E548 o="Cohda Wireless Pty Ltd" 04E56E o="THUB Co., ltd." 04E662 o="Acroname Inc." 04E9E5 o="PJRC.COM, LLC" 04EE91 o="x-fabric GmbH" 04F021 o="Compex Systems Pte Ltd" 04F17D o="Tarana Wireless" 04F4BC o="Xena Networks" 04F8C2 o="Flaircomm Microelectronics, Inc." 04F9D9 o="Speaker Electronic(Jiashan) Co.,Ltd" 04FA3F o="Opticore Inc." 04FEA1,40EF4C,7C96D2 o="Fihonest communication co.,Ltd" 04FF51 o="NOVAMEDIA INNOVISION SP. Z O.O." 080001 o="COMPUTERVISION CORPORATION" 080002 o="BRIDGE COMMUNICATIONS INC." 080003 o="ADVANCED COMPUTER COMM." 080004 o="CROMEMCO INCORPORATED" 080005 o="SYMBOLICS INC." 080006,208756,20A8B9,D4F527 o="SIEMENS AG" 080008 o="BOLT BERANEK AND NEWMAN INC." 08000A o="NESTAR SYSTEMS INCORPORATED" 08000B o="UNISYS CORPORATION" 08000C o="MIKLYN DEVELOPMENT CO." 08000E o="NCR CORPORATION" 08000F o="MITEL CORPORATION" 080011 o="TEKTRONIX INC." 080012 o="BELL ATLANTIC INTEGRATED SYST." 080013 o="Exxon" 080014 o="EXCELAN" 080015 o="STC BUSINESS SYSTEMS" 080016 o="BARRISTER INFO SYS CORP" 080017,1000E8 o="NATIONAL SEMICONDUCTOR" 080018 o="PIRELLI FOCOM NETWORKS" 080019 o="GENERAL ELECTRIC CORPORATION" 08001A o="TIARA/ 10NET" 08001C o="KDD-KOKUSAI DEBNSIN DENWA CO." 08001D o="ABLE COMMUNICATIONS INC." 08001E o="APOLLO COMPUTER INC." 080021 o="3M COMPANY" 080022 o="NBI INC." 080024 o="10NET COMMUNICATIONS/DCA" 080025 o="CONTROL DATA" 080026 o="NORSK DATA A.S." 080029 o="Megatek Corporation" 08002A o="MOSAIC TECHNOLOGIES INC." 08002C o="BRITTON LEE INC." 08002D o="LAN-TEC INC." 08002E o="METAPHOR COMPUTER SYSTEMS" 08002F o="PRIME COMPUTER INC." 080030 o="ROYAL MELBOURNE INST OF TECH" 080030,08008C o="NETWORK RESEARCH CORPORATION" 080030,80D336 o="CERN" 080031 o="LITTLE MACHINES INC." 080032 o="TIGAN INCORPORATED" 080033 o="BAUSCH & LOMB" 080034 o="FILENET CORPORATION" 080035 o="MICROFIVE CORPORATION" 080036 o="INTERGRAPH CORPORATION" 080037 o="FUJI-XEROX CO. LTD." 080038 o="BULL S.A.S." 080039 o="SPIDER SYSTEMS LIMITED" 08003A o="ORCATECH INC." 08003B o="TORUS SYSTEMS LIMITED" 08003C o="SCHLUMBERGER WELL SERVICES" 08003D o="CADNETIX CORPORATIONS" 08003E o="CODEX CORPORATION" 08003F o="FRED KOSCHARA ENTERPRISES" 080040 o="FERRANTI COMPUTER SYS. LIMITED" 080041 o="RACAL-MILGO INFORMATION SYS.." 080042 o="JAPAN MACNICS CORP." 080043 o="PIXEL COMPUTER INC." 080044 o="DAVID SYSTEMS INC." 080045 o="CONCURRENT COMPUTER CORP." 080047 o="SEQUENT COMPUTER SYSTEMS INC." 080048 o="EUROTHERM GAUGING SYSTEMS" 080049 o="UNIVATION" 08004A o="BANYAN SYSTEMS INC." 08004B o="Planning Research Corp." 08004C o="HYDRA COMPUTER SYSTEMS INC." 08004D o="CORVUS SYSTEMS INC." 08004F o="CYGNET SYSTEMS" 080050 o="DAISY SYSTEMS CORP." 080051 o="ExperData" 080052 o="INSYSTEC" 080053 o="MIDDLE EAST TECH. UNIVERSITY" 080055 o="STANFORD TELECOMM. INC." 080056 o="STANFORD LINEAR ACCEL. CENTER" 080057 o="Evans & Sutherland" 080058 o="SYSTEMS CONCEPTS" 080059 o="A/S MYCRON" 08005B o="VTA TECHNOLOGIES INC." 08005C o="FOUR PHASE SYSTEMS" 08005D o="GOULD INC." 08005E o="COUNTERPOINT COMPUTER INC." 08005F o="SABER TECHNOLOGY CORP." 080060 o="INDUSTRIAL NETWORKING INC." 080061 o="JAROGATE LTD." 080062 o="General Dynamics" 080063 o="PLESSEY" 080064 o="Sitasys AG" 080065 o="GENRAD INC." 080066 o="AGFA CORPORATION" 080067 o="ComDesign" 080068 o="RIDGE COMPUTERS" 08006B o="ACCEL TECHNOLOGIES INC." 08006C o="SUNTEK TECHNOLOGY INT'L" 08006D o="WHITECHAPEL COMPUTER WORKS" 08006E o="MASSCOMP" 08006F o="PHILIPS APELDOORN B.V." 080071 o="MATRA (DSIE)" 080072 o="XEROX CORP UNIV GRANT PROGRAM" 080073 o="TECMAR INC." 080074 o="CASIO COMPUTER CO. LTD." 080075 o="DANSK DATA ELECTRONIK" 080076 o="PC LAN TECHNOLOGIES" 080077 o="TSL COMMUNICATIONS LTD." 080078 o="ACCELL CORPORATION" 080079 o="THE DROID WORKS" 08007A o="INDATA" 08007B o="SANYO ELECTRIC CO. LTD." 08007C o="VITALINK COMMUNICATIONS CORP." 08007E o="AMALGAMATED WIRELESS(AUS) LTD" 08007F o="CARNEGIE-MELLON UNIVERSITY" 080080 o="AES DATA INC." 080081 o="ASTECH INC." 080082 o="VERITAS SOFTWARE" 080083 o="Seiko Instruments Inc." 080084 o="TOMEN ELECTRONICS CORP." 080085 o="ELXSI" 080089 o="Kinetics" 08008A o="PerfTech, Inc." 08008B o="PYRAMID TECHNOLOGY CORP." 08008D o="XYVISION INC." 08008E o="Tandem Computers" 08008F o="CHIPCOM CORPORATION" 080090 o="SONOMA SYSTEMS" 08010F,40F420,44BA46,643AB1,645D92,78B84B,7CCC1F,8048A5,9C6121,ACE77B,CCA260,D44165,E04FBD,FC372B o="SICHUAN TIANYI COMHEART TELECOMCO.,LTD" 080371 o="KRG CORPORATE" 0805CD o="DongGuang EnMai Electronic Product Co.Ltd." 0808EA o="AMSC" 0809B6 o="Masimo Corp" 0809C7 o="Zhuhai Unitech Power Technology Co., Ltd." 080A4E o="Planet Bingo® — 3rd Rock Gaming®" 080C0B o="SysMik GmbH Dresden" 080CC9 o="Mission Technology Group, dba Magma" 080D84 o="GECO, Inc." 080EA8 o="Velex s.r.l." 080FFA o="KSP INC." 08115E o="Bitel Co., Ltd." 081443 o="UNIBRAIN S.A." 081651 o="SHENZHEN SEA STAR TECHNOLOGY CO.,LTD" 08184C o="A. S. Thomas, Inc." 081DC4 o="Thermo Fisher Scientific Messtechnik GmbH" 081DFB o="Shanghai Mexon Communication Technology Co.,Ltd" 081F3F o="WondaLink Inc." 081FEB o="BinCube" 0823B2,087F98,08B3AF,0C20D3,10F681,1802AE,18E29F,18E777,1CDA27,20311C,205D47,207454,20F77C,283166,28FAA0,2CFFEE,309435,34E911,386EA2,3C86D1,3CA348,3CA581,3CA616,3CB6B7,449EF9,488764,4CC00A,5419C8,5C1CB9,6091F3,6C24A6,6CD94C,7047E9,70788B,70B7AA,70D923,808A8B,886AB1,88F7BF,90ADF7,90C54A,94147A,946372,98C8B8,9CA5C0,9CE82B,9CFBD5,B40FB3,B80716,BC2F3D,C46699,C4ABB2,D4BBC8,D8A315,DC1AC5,DC31D1,E013B5,E0DDC0,E45AA2,EC7D11,ECDF3A,F01B6C,F42981,F470AB,F4B7B3,F8E7A0,FC1A11,FCBE7B o="vivo Mobile Communication Co., Ltd." 082522 o="ADVANSEE" 082719 o="APS systems/electronic AG" 0827CE o="NAGANO KEIKI CO., LTD." 082AD0 o="SRD Innovations Inc." 082CB0 o="Network Instruments" 08351B o="Shenzhen Jialihua Electronic Technology Co., Ltd" 083571 o="CASwell INC." 0835B2 o="CoreEdge Networks Co., Ltd" 08379C o="Topaz Co. LTD." 0838A5 o="Funkwerk plettac electronic GmbH" 083A2F o="Guangzhou Juan Intelligent Tech Joint Stock Co.,Ltd" 083A5C o="Junilab, Inc." 083AB8 o="Shinoda Plasma Co., Ltd." 083F3E o="WSH GmbH" 083F76 o="Intellian Technologies, Inc." 084027 o="Gridstore Inc." 084656 o="VEO-LABS" 0847D0,089C86,781735,88B362,98865D,B81904 o="Nokia Shanghai Bell Co., Ltd." 08482C o="Raycore Taiwan Co., LTD." 084ACF,14472D,14C697,18D0C5,18D717,1C427D,1C48CE,1C77F6,1CC3EB,1CDDEA,20826A,2479F3,2C5BB8,2C5D34,2CA9F0,308454,38295A,3CF591,440444,4466FC,44AEAB,4883B4,489507,4C189A,4C1A3D,4C6F9C,5029F5,503CEA,587A6A,58C6F0,5C666C,602101,6C5C14,6CD71F,70DDA8,7836CC,7C6B9C,846FCE,885A06,88D50C,8C0EE3,94D029,986F60,9C0CDF,9C5F5A,9CF531,A09347,A41232,A43D78,A4C939,A4F05E,A81B5A,B0AA36,B4A5AC,B4CB57,B83765,B8C74A,B8C9B5,BC3AEA,C02E25,C09F05,C4E1A1,C4E39F,C4FE5B,C8F230,CC2D83,D41A3F,D4503F,D467D3,D81EDD,DC5583,DC6DCD,E44790,E4C483,E8BBA8,EC01EE,EC51BC,ECF342,F06728,F06D78,F079E8,F4D620 o="GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD" 084E1C o="H2A Systems, LLC" 084EBF o="Broad Net Mux Corporation" 085114 o="QINGDAO TOPSCOMM COMMUNICATION CO., LTD" 08512E o="Orion Diagnostica Oy" 085240 o="EbV Elektronikbau- und Vertriebs GmbH" 085AE0 o="Recovision Technology Co., Ltd." 085BDA o="CliniCare LTD" 08674E,B84DEE o="Hisense broadband multimedia technology Co.,Ltd" 0868D0 o="Japan System Design" 0868EA o="EITO ELECTRONICS CO., LTD." 086BD1,DC4BDD,E4F3E8 o="Shenzhen SuperElectron Technology Co.,Ltd." 086DF2 o="Shenzhen MIMOWAVE Technology Co.,Ltd" 0874F6 o="Winterhalter Gastronom GmbH" 087572 o="Obelux Oy" 087618 o="ViE Technologies Sdn. Bhd." 087695 o="Auto Industrial Co., Ltd." 087999 o="AIM GmbH" 087BAA o="SVYAZKOMPLEKTSERVICE, LLC" 087CBE o="Quintic Corp." 087D21 o="Altasec technology corporation" 087E64,08952A,0C0227,1033BF,1062D0,10C25A,14987D,14B7F8,28BE9B,3817E1,383FB3,3C9A77,3CB74B,441C12,4432C8,480033,48F7C0,500959,54A65C,58238C,589630,5C7695,603D26,641236,6C55E8,70037E,705A9E,7C9A54,802994,80B234,80C6AB,80D04A,8417EF,889E68,88F7C7,8C04FF,905851,946A77,98524A,A456CC,B0C287,B42A0E,BC9B68,C42795,CC03FA,CC3540,D05A00,D08A91,D0B2C4,D4B92F,DCEB69,E03717,E0885D,FC528D,FC9114,FC94E3 o="Technicolor CH USA Inc." 0881BC o="HongKong Ipro Technology Co., Limited" 088466 o="Novartis Pharma AG" 088DC8 o="Ryowa Electronics Co.,Ltd" 088E4F o="SF Software Solutions" 088F2C o="Hills Sound Vision & Lighting" 0890BA o="Danlaw Inc" 0894EF,206A8A,38B725,70E284,98EECB,F0DEF1,F80F41 o="Wistron Infocomm (Zhongshan) Corporation" 089758 o="Shenzhen Strong Rising Electronics Co.,Ltd DongGuan Subsidiary" 089B4B o="iKuai Networks" 089F97 o="LEROY AUTOMATION" 08A12B o="ShenZhen EZL Technology Co., Ltd" 08A8A1 o="Cyclotronics Power Concepts, Inc" 08ACA5 o="Benu Video, Inc." 08AF78 o="Totus Solutions, Inc." 08B2A3 o="Cynny Italia S.r.L." 08B4CF o="Abicom International" 08B738 o="Lite-On Technogy Corp." 08B7EC o="Wireless Seismic" 08BA22 o="Swaive Corporation" 08BA5F,64AEF1 o="Qingdao Hisense Electronics Co.,Ltd." 08BBCC o="AK-NORD EDV VERTRIEBSGES. mbH" 08BC20 o="Hangzhou Royal Cloud Technology Co., Ltd" 08BE09 o="Astrol Electronic AG" 08BE77 o="Green Electronics" 08CA45 o="Toyou Feiji Electronics Co., Ltd." 08CD9B o="samtec automotive electronics & software GmbH" 08D0B7,1C7B23,24E271,340AFF,40CD7A,587E61,8C9F3B,90CF7D,A8A648,BC6010,C816BD o="Qingdao Hisense Communications Co.,Ltd." 08D29A o="Proformatique" 08D34B o="Techman Electronics (Changshu) Co., Ltd." 08D5C0 o="Seers Technology Co., Ltd" 08D833,8C18D9 o="Shenzhen RF Technology Co., Ltd" 08DFCB o="Systrome Networks" 08E5DA o="NANJING FUJITSU COMPUTER PRODUCTS CO.,LTD." 08E672 o="JEBSEE ELECTRONICS CO.,LTD." 08EA40,0C8C24,10A4BE,146B9C,203233,380146,74EE2A,7CA7B0,E0B94D,EC3DFD o="SHENZHEN BILIAN ELECTRONIC CO.,LTD" 08EB29,18BF1C o="Jiangsu Huitong Group Co.,Ltd." 08EBED o="World Elite Technology Co.,LTD" 08EDED,14A78B,24526A,38AF29,3CEF8C,4C11BF,6C1C71,74C929,9002A9,9C1463,A0BD1D,B44C3B,BC325F,E0508B o="Zhejiang Dahua Technology Co., Ltd." 08EFAB o="SAYME WIRELESS SENSOR NETWORK" 08F1B7 o="Towerstream Corpration" 08F2F4 o="Net One Partners Co.,Ltd." 08F6F8 o="GET Engineering" 08F728 o="GLOBO Multimedia Sp. z o.o. Sp.k." 08F7E9 o="HRCP Research and Development Partnership" 08FAE0 o="Fohhn Audio AG" 08FC52 o="OpenXS BV" 0C01DB,74C17D,80795D,9874DA,98DDEA,AC512C,BC91B5,DC6AEA o="Infinix mobility limited" 0C0400 o="Jantar d.o.o." 0C0535 o="Juniper Systems" 0C1105 o="AKUVOX (XIAMEN) NETWORKS CO., LTD" 0C130B o="Uniqoteq Ltd." 0C15C5 o="SDTEC Co., Ltd." 0C17F1 o="TELECSYS" 0C191F o="Inform Electronik" 0C1A10 o="Acoustic Stream" 0C1C19 o="LONGCONN ELECTRONICS(SHENZHEN) CO.,LTD" 0C1C20 o="Kakao Corp" 0C1DC2 o="SeAH Networks" 0C2026 o="noax Technologies AG" 0C2138 o="Hengstler GmbH" 0C2369 o="Honeywell SPS" 0C2576,8C7716,B8DE5E,FC3D93 o="LONGCHEER TELECOMMUNICATION LIMITED" 0C2755 o="Valuable Techologies Limited" 0C2A69 o="electric imp, incorporated" 0C2AE7 o="Beijing General Research Institute of Mining and Metallurgy" 0C2D89 o="QiiQ Communications Inc." 0C3796 o="BIZLINK TECHNOLOGY, INC." 0C383E o="Fanvil Technology Co., Ltd." 0C3956 o="Observator instruments" 0C3C65 o="Dome Imaging Inc" 0C4101 o="Ruichi Auto Technology (Guangzhou) Co., Ltd." 0C469D o="MS Sedco" 0C4933,7C5259 o="Sichuan Jiuzhou Electronic Technology Co., Ltd." 0C4C39,345760,84AA9C,9897D1,A433D7,ACC662,B046FC,B8FFB3,C03DD9,CCD4A1,CCEDDC,E04136,E4AB89 o="MitraStar Technology Corp." 0C4F5A o="ASA-RT s.r.l." 0C51F7 o="CHAUVIN ARNOUX" 0C5203 o="AGM GROUP LIMITED" 0C5331 o="ETH Zurich" 0C5521 o="Axiros GmbH" 0C565C o="HyBroad Vision (Hong Kong) Technology Co Ltd" 0C57EB o="Mueller Systems" 0C5842 o="DME Micro" 0C5A19 o="Axtion Sdn Bhd" 0C5A9E o="Wi-SUN Alliance" 0C5CD8 o="DOLI Elektronik GmbH" 0C5F35 o="Niagara Video Corporation" 0C6111 o="Anda Technologies SAC" 0C62A6,0C9160,103D0A,1C1EE3,20F543,2CD974,34F150,44D878,7CB232,C0D2F3,C4985C,D81399,F84FAD o="Hui Zhou Gaoshengda Technology Co.,LTD" 0C63FC o="Nanjing Signway Technology Co., Ltd" 0C6AE6 o="Stanley Security Solutions" 0C6E4F o="PrimeVOLT Co., Ltd." 0C6F9C o="Shaw Communications Inc." 0C73BE o="Dongguan Haimai Electronie Technology Co.,Ltd" 0C7512 o="Shenzhen Kunlun TongTai Technology Co.,Ltd." 0C7523 o="BEIJING GEHUA CATV NETWORK CO.,LTD" 0C756C o="Anaren Microwave, Inc." 0C7D7C o="Kexiang Information Technology Co, Ltd." 0C8230 o="SHENZHEN MAGNUS TECHNOLOGIES CO.,LTD" 0C826A o="Wuhan Huagong Genuine Optics Technology Co., Ltd" 0C8411 o="A.O. Smith Water Products" 0C8484 o="Zenovia Electronics Inc." 0C8A87 o="AgLogica Holdings, Inc" 0C8BD3,18AC9E,44DC4E,48DD9D,58C583,741C27,787D48,7CE97C,8050F6,88D5A8,8CD48E,988ED4,9CAF6F,A4F465,ACFE05,B8C8EB,D87E76,DC543D,F0B968,F82F6A,FC3964 o="ITEL MOBILE LIMITED" 0C8C8F o="Kamo Technology Limited" 0C8CDC o="Suunto Oy" 0C8D98 o="TOP EIGHT IND CORP" 0C924E o="Rice Lake Weighing Systems" 0C9301 o="PT. Prasimax Inovasi Teknologi" 0C93FB o="BNS Solutions" 0C9541,5CCAD3,C8B21E o="CHIPSEA TECHNOLOGIES (SHENZHEN) CORP." 0C96E6,283A4D,485F99 o="Cloud Network Technology (Samoa) Limited" 0C9A42,18BB26,34C3D2,381DD9,4846C1,54C9DF,54E4BD,586356,805E4F,88835D,A02C36,A0F459,AC35EE,AC5D5C,AC64CF,C43A35,E0B2F1 o="FN-LINK TECHNOLOGY LIMITED" 0C9B13 o="Shanghai Magic Mobile Telecommunication Co.Ltd." 0C9D56 o="Consort Controls Ltd" 0C9E91 o="Sankosha Corporation" 0CA06C o="Industrial Cyber Sensing Inc." 0CA138 o="Blinq Wireless Inc." 0CA2F4 o="Chameleon Technology (UK) Limited" 0CA42A o="OB Telecom Electronic Technology Co., Ltd" 0CAC05 o="Unitend Technologies Inc." 0CAF5A o="GENUS POWER INFRASTRUCTURES LIMITED" 0CB34F o="Shenzhen Xiaoqi Intelligent Technology Co., Ltd." 0CB459 o="Marketech International Corp." 0CB4A4 o="Xintai Automobile Intelligent Network Technology" 0CB4EF o="Digience Co.,Ltd." 0CB5DE,18422F,4CA74B,54055F,68597F,84A783,885C47,9067F3,94AE61,D4224E o="Alcatel Lucent" 0CB912 o="JM-DATA GmbH" 0CB937,647C34,6C38A1,A4CFD2 o="Ubee Interactive Co., Limited" 0CBD51,18E3BC,1CCB99,20A90E,240A11,240DC2,289AFA,28BE03,3CCB7C,44A42D,4C0B3A,4C4E03,5C7776,60512C,6409AC,745C9F,84D15A,889E33,8C99E6,905F2E,942790,9471AC,94D859,9C4FCF,A8A198,B04519,B0E03C,CCFD17,D09DAB,D428D5,D8E56D,E0E62E,E42D02,E4E130,F03404,F05136 o="TCT mobile ltd" 0CBF3F o="Shenzhen Lencotion Technology Co.,Ltd" 0CBF74 o="Morse Micro" 0CC0C0 o="MAGNETI MARELLI SISTEMAS ELECTRONICOS MEXICO" 0CC3A7 o="Meritec" 0CC47E o="EUCAST Co., Ltd." 0CC655 o="Wuxi YSTen Technology Co.,Ltd." 0CC6AC o="DAGS" 0CC731 o="Currant, Inc." 0CC81F o="Summer Infant, Inc." 0CC9C6 o="Samwin Hong Kong Limited" 0CCB8D o="ASCO Numatics GmbH" 0CCC26 o="Airenetworks" 0CCDD3 o="EASTRIVER TECHNOLOGY CO., LTD." 0CCDFB o="EDIC Systems Inc." 0CCEF6 o="Guizhou Fortuneship Technology Co., Ltd" 0CCFD1 o="SPRINGWAVE Co., Ltd" 0CD2B5 o="Binatone Telecommunication Pvt. Ltd" 0CD696 o="Amimon Ltd" 0CD7C2 o="Axium Technologies, Inc." 0CDCCC o="Inala Technologies" 0CE041 o="iDruide" 0CE5D3 o="DH electronics GmbH" 0CE709 o="Fox Crypto B.V." 0CE82F o="Bonfiglioli Vectron GmbH" 0CE936 o="ELIMOS srl" 0CE99A o="ATLS ALTEC" 0CEF7C o="AnaCom Inc" 0CF019 o="Malgn Technology Co., Ltd." 0CF0B4 o="Globalsat International Technology Ltd" 0CF361 o="Java Information" 0CF3EE,901A4F,E0189F o="EM Microelectronic" 0CF405 o="Beijing Signalway Technologies Co.,Ltd" 0CF475 o="Zliide Technologies ApS" 0CFC83 o="Airoha Technology Corp.," 0CFD37 o="SUSE Linux GmbH" 1000FD o="LaonPeople" 1001CA o="Ashley Butterworth" 10090C o="Janome Sewing Machine Co., Ltd." 100C24 o="pomdevices, LLC" 100D2F o="Online Security Pty. Ltd." 100D32 o="Embedian, Inc." 100E2B,38BF33 o="NEC CASIO Mobile Communications" 100F18 o="Fu Gang Electronic(KunShan)CO.,LTD" 1010B6 o="McCain Inc" 101212 o="Vivo International Corporation Pty Ltd" 101218 o="Korins Inc." 101248 o="ITG, Inc." 101250,14E7C8,18C19D,1C9D3E,20163D,2405F5,2CB115,40B30E,40F04E,509744,58ECED,649829,689361,701BFB,782A79,7C6AF3,803A0A,80D160,847F3D,8817A3,907910,9C497F,A42618,A4B52E,A4F3E7,B8DB1C,C84F0E,CC51B4,CC9916,D055B2,D8452B,D8D6F3,DC3757,DCCC8D,E4CC9D,E80945,E8DE8E,F89910,FCEA50 o="Integrated Device Technology (Malaysia) Sdn. Bhd." 101331,20B001,30918F,589835,9C9726,A491B1,A4B1E9,C4EA1D,D4351D,E0B9E5 o="Technicolor" 1013EE o="Justec International Technology INC." 10189E o="Elmo Motion Control" 101D51 o="8Mesh Networks Limited" 102279 o="ZeroDesktop, Inc." 1027BE o="TVIP" 102831 o="Morion Inc." 102C83 o="XIMEA" 102D96 o="Looxcie Inc." 102FA3 o="Shenzhen Uvision-tech Technology Co.Ltd" 103034 o="Cara Systems" 103378 o="FLECTRON Co., LTD" 10364A o="Boston Dynamics" 103711 o="Simlink AS" 103DEA o="HFC Technology (Beijing) Ltd. Co." 104369 o="Soundmax Electronic Limited" 10445A o="Shaanxi Hitech Electronic Co., LTD" 1045BE o="Norphonic AS" 1045F8 o="LNT-Automation GmbH" 1046B4 o="FormericaOE" 1048B1 o="Beijing Duokan Technology Limited" 104963 o="HARTING K.K." 104D77 o="Innovative Computer Engineering" 104E07 o="Shanghai Genvision Industries Co.,Ltd" 10521C,18FE34,240AC4,2462AB,246F28,24B2DE,2C3AE8,2CF432,30AEA4,3C71BF,483FDA,4C11AE,500291,545AA6,5CCF7F,600194,68C63A,7CDFA1,807D3A,840D8E,84F3EB,8CAAB5,9097D5,98F4AB,A020A6,A47B9D,A4CF12,ACD074,B4E62D,BCDDC2,C44F33,C82B96,CC50E3,D8A01D,D8BFC0,D8F15B,DC4F22,E09806,ECFABC,F008D1,F4CFA2,FCF5C4 o="Espressif Inc." 105917 o="Tonal" 105932,8C4962,ACAE19,B0EE7B,C83A6B,D83134 o="Roku, Inc" 105AF7,8C59C3 o="ADB Italia" 105BAD,A4FC77 o="Mega Well Limited" 105C3B o="Perma-Pipe, Inc." 105CBF o="DuroByte Inc" 105FD4 o="Tendyron Corporation" 1062C9 o="Adatis GmbH & Co. KG" 1064E2 o="ADFweb.com s.r.l." 1065A3 o="Core Brands LLC" 1065CF o="IQSIM" 106FEF o="Ad-Sol Nissin Corp" 1071F9 o="Cloud Telecomputers, LLC" 107223,542F8A,94EAEA o="TELLESCOM INDUSTRIA E COMERCIO EM TELECOMUNICACAO" 10768A o="EoCell" 107717,1CA770,283545,60427F,949034,A4E615,B48107,BC83A7,BCEC23,FCA386 o="SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD" 107873 o="Shenzhen Jinkeyi Communication Co., Ltd." 1078CE o="Hanvit SI, Inc." 107A86 o="U&U ENGINEERING INC." 107BA4 o="Olive & Dove Co.,Ltd." 1081B4 o="Hunan Greatwall Galaxy Science and Technology Co.,Ltd." 108286 o="Luxshare Precision Industry Co.,Ltd" 1083D2 o="Microseven Systems, LLC" 10880F o="Daruma Telecomunicações e Informática S.A." 108A1B o="RAONIX Inc." 108EBA o="Molekule" 10954B o="Megabyte Ltd." 109AB9 o="Tosibox Oy" 109C70 o="Prusa Research s.r.o." 109E3A,18BC5A,28FA7A,38D2CA,486E70,78DA07,D44BB6,D82FE6,F8A763 o="Zhejiang Tmall Technology Co., Ltd." 10A13B o="FUJIKURA RUBBER LTD." 10A24E o="GOLD3LINK ELECTRONICS CO., LTD" 10A4B9,D46075 o="Baidu Online Network Technology (Beijing) Co., Ltd" 10A659 o="Mobile Create Co.,Ltd." 10A743 o="SK Mtek Limited" 10A932 o="Beijing Cyber Cloud Technology Co. ,Ltd." 10AF78 o="Shenzhen ATUE Technology Co., Ltd" 10B26B o="base Co.,Ltd." 10B36F o="Bowei Technology Company Limited" 10B7F6 o="Plastoform Industries Ltd." 10B9F7 o="Niko-Servodan" 10B9FE o="Lika srl" 10BAA5 o="GANA I&C CO., LTD" 10BD55 o="Q-Lab Corporation" 10C07C o="Blu-ray Disc Association" 10C22F o="China Entropy Co., Ltd." 10C2BA o="UTT Co., Ltd." 10C586 o="BIO SOUND LAB CO., LTD." 10C595,809621,A41194,A48CDB o="Lenovo" 10C60C o="Domino UK Ltd" 10C65E o="Adapt-IP" 10C67E o="SHENZHEN JUCHIN TECHNOLOGY CO., LTD" 10C73F o="Midas Klark Teknik Ltd" 10C753,7CB37B o="Qingdao Intelligent&Precise Electronics Co.,Ltd." 10CA81 o="PRECIA" 10CC1B o="Liverock technologies,INC" 10CCDB o="AXIMUM PRODUITS ELECTRONIQUES" 10CD6E o="FISYS" 10CDB6 o="Essential Products, Inc." 10D1DC o="INSTAR Deutschland GmbH" 10DDF4 o="Maxway Electronics CO.,LTD" 10DEE4 o="automationNEXT GmbH" 10DF8B o="Shenzhen CareDear Communication Technology Co.,Ltd" 10E2D5 o="Qi Hardware Inc." 10E3C7 o="Seohwa Telecom" 10E4AF o="APR, LLC" 10E68F o="KWANGSUNG ELECTRONICS KOREA CO.,LTD." 10E6AE o="Source Technologies, LLC" 10E8EE o="PhaseSpace" 10F163 o="TNK CO.,LTD" 10F3DB o="Gridco Systems, Inc." 10F49A o="T3 Innovation" 10F9EB o="Industria Fueguina de Relojería Electrónica s.a." 10FACE o="Reacheng Communication Technology Co.,Ltd" 10FBF0 o="KangSheng LTD." 10FC54 o="Shany Electronic Co., Ltd." 10FCB6 o="mirusystems CO.,LTD" 140467 o="SNK Technologies Co.,Ltd." 1407E0 o="Abrantix AG" 140C5B o="PLNetworks" 141330 o="Anakreon UK LLP" 141357 o="ATP Electronics, Inc." 141459,74366D,BC15AC,E48F34 o="Vodafone Italia S.p.A." 1414E6 o="Ningbo Sanhe Digital Co.,Ltd" 14157C o="TOKYO COSMOS ELECTRIC CO.,LTD." 14169E,2C5731,541473,A444D1,B02A1F o="Wingtech Group (HongKong)Limited" 141A51 o="Treetech Sistemas Digitais" 141BBD o="Volex Inc." 141BF0 o="Intellimedia Systems Ltd" 1423D7 o="EUTRONIX CO., LTD." 142475 o="4DReplay, Inc" 142882 o="MIDICOM ELECTRONICS CO.LTD" 142971 o="NEMOA ELECTRONICS (HK) CO. LTD" 142A14 o="ShenZhen Selenview Digital Technology Co.,Ltd" 142BD2 o="Armtel Ltd." 142BD6 o="Guangdong Appscomm Co.,Ltd" 142D8B o="Incipio Technologies, Inc" 142DF5 o="Amphitech" 142FFD o="LT SECURITY INC" 14307A o="Avermetrics" 143365 o="TEM Mobile Limited" 14358B o="Mediabridge Products, LLC." 1435B3 o="Future Designs, Inc." 143719 o="PT Prakarsa Visi Valutama" 14373B o="PROCOM Systems" 143AEA o="Dynapower Company LLC" 143DF2 o="Beijing Shidai Hongyuan Network Communication Co.,Ltd" 143F27 o="Noccela Oy" 144146 o="Honeywell (China) Co., LTD" 1441E2 o="Monaco Enterprises, Inc." 144319 o="Creative&Link Technology Limited" 14444A o="Apollo Seiko Ltd." 1446E4 o="AVISTEL" 144802 o="THE YEOLRIM Co.,Ltd." 14488B o="Shenzhen Doov Technology Co.,Ltd" 144978 o="Digital Control Incorporated" 144C1A o="Max Communication GmbH" 144E34,8C088B o="Remote Solution" 145290 o="KNS Group LLC (YADRO Company)" 145412 o="Entis Co., Ltd." 145645 o="Savitech Corp." 1459C3 o="Creative Chips GmbH" 145A83 o="Logi-D inc" 145BE1 o="nyantec GmbH" 145E45 o="Kaleao Limited" 146308,4C0DEE o="JABIL CIRCUIT (SHANGHAI) LTD." 146A0B o="Cypress Electronics Limited" 146B72 o="Shenzhen Fortune Ship Technology Co., Ltd." 147373 o="TUBITAK UEKAE" 14780B o="Varex Imaging Deutschland AG" 147DB3 o="JOA TELECOM.CO.,LTD" 14825B,304487,C8AFE3,F4951B o="Hefei Radio Communication Technology Co., Ltd" 148430,4C38D5 o="MITAC COMPUTING TECHNOLOGY CORPORATION" 14893E o="VIXTEL TECHNOLOGIES LIMTED" 148A70 o="ADS GmbH" 149090 o="KongTop industrial(shen zhen)CO.,LTD" 149346 o="PNI sensor corporation" 14942F o="USYS CO.,LTD." 149448 o="BLU CASTLE S.A." 149B2F o="JiangSu ZhongXie Intelligent Technology co., LTD" 149FB6,7CFD82,ECA9FA o="GUANGDONG GENIUS TECHNOLOGY CO., LTD." 14A1BF o="ASSA ABLOY Korea Co., Ltd Unilock" 14A62C o="S.M. Dezac S.A." 14A72B o="currentoptronics Pvt.Ltd" 14A86B o="ShenZhen Telacom Science&Technology Co., Ltd" 14A9E3 o="MST CORPORATION" 14AB56 o="WUXI FUNIDE DIGITAL CO.,LTD" 14ADCA,1C784E,442295,7881CE,FC8E5B,FCF29F o="China Mobile Iot Limited company" 14B126,FCE66A o="Industrial Software Co" 14B1C8 o="InfiniWing, Inc." 14B370 o="Gigaset Digital Technology (Shenzhen) Co., Ltd." 14B73D o="ARCHEAN Technologies" 14C089 o="DUNE HD LTD" 14C1FF o="ShenZhen QianHai Comlan communication Co.,LTD" 14C21D o="Sabtech Industries" 14C3C2 o="K.A. Schmersal GmbH & Co. KG" 14CAA0 o="Hu&Co" 14CF8D,749EA5,98EF9B,98F5A9 o="OHSUNG" 14D76E o="CONCH ELECTRONIC Co.,Ltd" 14DB85 o="S NET MEDIA" 14DDE5 o="MPMKVVCL" 14E4EC o="mLogic LLC" 14EB33 o="BSMediasoft Co., Ltd." 14EDA5 o="Wächter GmbH Sicherheitssysteme" 14EDE4 o="Kaiam Corporation" 14EE9D o="AirNav Systems LLC" 14EFCF o="SCHREDER" 14F0C5 o="Xtremio Ltd." 14F28E o="ShenYang ZhongKe-Allwin Technology Co.LTD" 14FEAF o="SAGITTAR LIMITED" 1800DB o="Fitbit Inc." 18017D o="Harbin Arteor technology co., LTD" 1801E3 o="Bittium Wireless Ltd" 1803FA o="IBT Interfaces" 180675 o="Dilax Intelcom GmbH" 1806F5 o="RAD Data Communications, Ltd." 1806FF o="Acer Computer(Shanghai) Limited." 180B52 o="Nanotron Technologies GmbH" 180C14 o="iSonea Limited" 180C77 o="Westinghouse Electric Company, LLC" 18104E o="CEDINT-UPM" 181212 o="Cepton Technologies" 181420 o="TEB SAS" 181714 o="DAEWOOIS" 181725 o="Cameo Communications, Inc." 18193F o="Tamtron Oy" 181E95 o="AuVerte" 182012 o="Aztech Associates Inc." 18204C o="Kummler+Matter AG" 1820A6 o="Sage Co., Ltd." 182A44 o="HIROSE ELECTRONIC SYSTEM" 182B05 o="8D Technologies" 182C91 o="Concept Development, Inc." 182CB4 o="Nectarsoft Co., Ltd." 182D98 o="Jinwoo Industrial system" 183009 o="Woojin Industrial Systems Co., Ltd." 18300C,A88200 o="Hisense Electric Co.,Ltd" 1832A2 o="LAON TECHNOLOGY CO., LTD." 1836FC o="Elecsys International Corporation" 183825 o="Wuhan Lingjiu High-tech Co.,Ltd." 183864 o="CAP-TECH INTERNATIONAL CO., LTD." 1838AE o="CONSPIN SOLUTION" 183919 o="Unicoi Systems" 18396E o="SUNSEA TELECOMMUNICATIONS CO.,LTD." 18399C o="Skorpios Technologies" 183A48 o="VostroNet" 183BD2,98BB1E,BC2392 o="BYD Precision Manufacture Company Ltd." 1840A4 o="Shenzhen Trylong Smart Science and Technology Co., Ltd." 184462 o="Riava Networks, Inc." 184644,D4B8FF o="Home Control Singapore Pte Ltd" 1848D8 o="Fastback Networks" 184BDF o="Caavo Inc" 184E94 o="MESSOA TECHNOLOGIES INC." 18502A o="SOARNEX" 185207,187532,248BE0,2C6373,54E061,5C4A1F,5CA176,68262A,908674,9C32A9,9C9C40,B8224F,E0C63C,ECF8EB,F092B4 o="SICHUAN TIANYI COMHEART TELECOMCO., LTD" 185869 o="Sailer Electronic Co., Ltd" 185AE8 o="Zenotech.Co.,Ltd" 185D9A o="BobjGear LLC" 1861C7 o="lemonbeat GmbH" 186571 o="Top Victory Electronics (Taiwan) Co., Ltd." 1866C7 o="Shenzhen Libre Technology Co., Ltd" 1866E3 o="Veros Systems, Inc." 18673F o="Hanover Displays Limited" 186751 o="KOMEG Industrielle Messtechnik GmbH" 186882 o="Beward R&D Co., Ltd." 1868CB,2857BE,4419B6,4447CC,4CBD8F,54C415,5803FB,64DB8B,686DBC,849A40,94E1AC,988B0A,98DF82,A41437,ACCB51,B4A382,BCAD28,BCBAC2,C056E3,C42F90,F84DFC o="Hangzhou Hikvision Digital Technology Co.,Ltd." 1869D8,68572D o="HANGZHOU AIXIANGJI TECHNOLOGY CO., LTD" 186D99 o="Adanis Inc." 186F2D,703A73,9C3A9A,A80CCA,D468BA o="Shenzhen Sundray Technologies Company Limited" 187117 o="eta plus electronic gmbh" 1871D5 o="Hazens Automotive Electronics(SZ)Co.,Ltd." 1878D4,20C047,485D36 o="Verizon" 1879A2 o="GMJ ELECTRIC LIMITED" 187A93,C4FEE2 o="AMICCOM Electronics Corporation" 187C81 o="Valeo Vision Systems" 187ED5 o="shenzhen kaism technology Co. Ltd" 1880CE o="Barberry Solutions Ltd" 188219,D896E0 o="Alibaba Cloud Computing Ltd." 188410 o="CoreTrust Inc." 18863A o="DIGITAL ART SYSTEM" 188857 o="Beijing Jinhong Xi-Dian Information Technology Corp." 1889A0,40BC68 o="Wuhan Funshion Online Technologies Co.,Ltd" 1889DF o="CerebrEX Inc." 188A6A o="AVPro Global Hldgs" 188B15 o="ShenZhen ZhongRuiJing Technology co.,LTD" 188ED5 o="TP Vision Belgium N.V. - innovation site Brugge" 188EF9 o="G2C Co. Ltd." 18922C o="Virtual Instruments" 1894C6 o="ShenZhen Chenyee Technology Co., Ltd." 1897FF o="TechFaith Wireless Technology Limited" 189A67 o="CSE-Servelec Limited" 18A28A o="Essel-T Co., Ltd" 18A4A9 o="Vanu Inc." 18A958 o="PROVISION THAI CO., LTD." 18AA45 o="Fon Technology" 18AACA,48A73C,B0AAD2,B4CFE0,F4323D o="Sichuan tianyi kanghe communications co., LTD" 18ABF5 o="Ultra Electronics Electrics" 18AD4D o="Polostar Technology Corporation" 18AEBB o="Siemens Convergence Creators GmbH&Co.KG" 18AF9F o="DIGITRONIC Automationsanlagen GmbH" 18B209 o="Torrey Pines Logic, Inc" 18B3BA o="Netlogic AB" 18B430,641666 o="Nest Labs Inc." 18B591 o="I-Storm" 18B79E o="Invoxia" 18B905,B4E842 o="Hong Kong Bouffalo Lab Limited" 18BDAD o="L-TECH CORPORATION" 18BE92,6CB9C5 o="Delta Networks, Inc." 18C451 o="Tucson Embedded Systems" 18C8E7 o="Shenzhen Hualistone Technology Co.,Ltd" 18CC23 o="Philio Technology Corporation" 18CC88 o="Hitachi Johnson Controls Air" 18D5B6 o="SMG Holdings LLC" 18D66A o="Inmarsat" 18D6CF o="Kurth Electronic GmbH" 18D949 o="Qvis Labs, LLC" 18D9EF,80EE73 o="Shuttle Inc." 18DFB4 o="BOSUNG POWERTEC CO.,LTD." 18E1CA o="wanze" 18E288 o="STT Condigi" 18E80F o="Viking Electronics Inc." 18E8DD o="MODULETEK" 18F145 o="NetComm Wireless Limited" 18F18E o="ChipER Technology co. ltd" 18F292 o="Shannon Systems" 18F650 o="Multimedia Pacific Limited" 18F76B o="Zhejiang Winsight Technology CO.,LTD" 18F87A o="i3 International Inc." 18F9C4 o="BAE Systems" 18FA6F o="ISC applied systems corp" 18FC9F o="Changhe Electronics Co., Ltd." 18FF2E o="Shenzhen Rui Ying Da Technology Co., Ltd" 1C0042 o="NARI Technology Co., Ltd." 1C05B7 o="Chongqing Trantor Technology Co., Ltd." 1C0656 o="IDY Corporation" 1C08C1 o="Lg Innotek" 1C0B52 o="EPICOM S.A" 1C0FAF o="Lucid Vision Labs" 1C0FCF o="Sypro Optics GmbH" 1C11E1 o="Wartsila Finland Oy" 1C129D o="IEEE PES PSRC/SUB" 1C14B3 o="Airwire Technologies" 1C184A o="ShenZhen RicherLink Technologies Co.,LTD" 1C19DE o="eyevis GmbH" 1C1CFD o="Dalian Hi-Think Computer Technology, Corp" 1C1E38 o="PCCW Global, Inc." 1C1FD4 o="LifeBEAM Technologies LTD" 1C234F,441102 o="EDMI Europe Ltd" 1C24CD,505FB5,88DE7C o="Askey Computer Corp." 1C24EB o="Burlywood" 1C25E1,48216C,6458AD,64F88A,688B0F,A0950C,AC5474,B03055,B05365,C098DA,C0D0FF,E42D7B o="China Mobile IOT Company Limited" 1C27DD o="Datang Gohighsec(zhejiang)Information Technology Co.,Ltd." 1C2AA3 o="Shenzhen HongRui Optical Technology Co., Ltd." 1C2E1B o="Suzhou Tremenet Communication Technology Co., Ltd." 1C330E o="PernixData" 1C334D o="ITS Telecom" 1C3477 o="Innovation Wireless" 1C35F1 o="NEW Lift Neue Elektronische Wege Steuerungsbau GmbH" 1C37BF o="Cloudium Systems Ltd." 1C3A4F o="AccuSpec Electronics, LLC" 1C3B8F o="Selve GmbH & Co. KG" 1C3DE7 o="Sigma Koki Co.,Ltd." 1C40E8 o="SHENZHEN PROGRESS&WIN TECHNOLOGY CO.,LTD" 1C4158 o="Gemalto M2M GmbH" 1C43EC o="JAPAN CIRCUIT CO.,LTD" 1C4455 o="Sieb & Meyer AG" 1C4840 o="IMS Messsysteme GmbH" 1C4AF7 o="AMON INC" 1C4BB9 o="SMG ENTERPRISE, LLC" 1C51B5 o="Techaya LTD" 1C5216 o="DONGGUAN HELE ELECTRONICS CO., LTD" 1C52D6 o="FLAT DISPLAY TECHNOLOGY CORPORATION" 1C553A o="QianGua Corp." 1C57D8 o="Kraftway Corporation PLC" 1C5A0B o="Tegile Systems" 1C5A6B o="Philips Electronics Nederland BV" 1C5C55 o="PRIMA Cinema, Inc" 1C5C60 o="Shenzhen Belzon Technology Co.,LTD." 1C5FFF o="Beijing Ereneben Information Technology Co.,Ltd Shenzhen Branch" 1C60DE,488AD2,6C5940,8CF228,BC5FF6,C8E7D8,D02516,F4EE14 o="MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD." 1C63B7 o="OpenProducts 237 AB" 1C63BF o="SHENZHEN BROADTEL TELECOM CO.,LTD" 1C687E,5C27D4,B05947 o="Shenzhen Qihu Intelligent Technology Company Limited" 1C697A,94C691 o="EliteGroup Computer Systems Co., LTD" 1C6BCA o="Mitsunami Co., Ltd." 1C6E4C o="Logistic Service & Engineering Co.,Ltd" 1C6E76 o="Quarion Technology Inc" 1C7328,447F77 o="Connected Home" 1C7370 o="Neotech" 1C76CA o="Terasic Technologies Inc." 1C7839,20906F o="Shenzhen Tencent Computer System Co., Ltd." 1C7C11 o="EID" 1C7C45 o="Vitek Industrial Video Products, Inc." 1C7CC7 o="Coriant GmbH" 1C7D22 o="Fuji Xerox Co., Ltd." 1C7E51 o="3bumen.com" 1C8341 o="Hefei Bitland Information Technology Co.Ltd" 1C83B0 o="Linked IP GmbH" 1C8464 o="FORMOSA WIRELESS COMMUNICATION CORP." 1C86AD o="MCT CO., LTD." 1C8E8E o="DB Communication & Systems Co., ltd." 1C8F8A o="Phase Motion Control SpA" 1C9179 o="Integrated System Technologies Ltd" 1C919D o="Dongguan Liesheng Electronic Co., Ltd." 1C9492 o="RUAG Schweiz AG" 1C955D o="I-LAX ELECTRONICS INC." 1C959F o="Veethree Electronics And Marine LLC" 1C965A,2C4D79,401B5F,841766,90895F,A0AB51,A41566,A45385,A830AD,ACFD93,DC0C2D,DCAF68 o="WEIFANG GOERTEK ELECTRONICS CO.,LTD" 1C973D o="PRICOM Design" 1C97C5 o="Ynomia Pty Ltd" 1C9C26 o="Zoovel Technologies" 1C9ECB o="Beijing Nari Smartchip Microelectronics Company Limited" 1CA0B8,28C13C,702084,A4AE11,F4939F o="Hon Hai Precision Ind. Co., Ltd." 1CA2B1 o="ruwido austria gmbh" 1CAB01 o="Innovolt" 1CADD1 o="Bosung Electronics Co., Ltd." 1CB243 o="TDC A/S" 1CB3E9 o="Shenzhen Zhongke United Communication Technology" 1CB857 o="Becon Technologies Co,.Ltd." 1CBBA8 o="OJSC %Ufimskiy Zavod %Promsvyaz%" 1CBD0E o="Amplified Engineering Pty Ltd" 1CBFC0,28CDC4,402343,405BD8,4CEBBD,5C3A45,5CBAEF,8CC84B,ACD564,B068E6,C0B5D7,D81265,E86F38,EC5C68 o="CHONGQING FUGUI ELECTRONICS CO.,LTD." 1CBFCE o="Shenzhen Century Xinyang Technology Co., Ltd" 1CC11A o="Wavetronix" 1CC316 o="MileSight Technology Co., Ltd." 1CC586 o="Absolute Acoustics" 1CC72D o="Shenzhen Huapu Digital CO.,Ltd" 1CCDE5,FC539E o="Shanghai Wind Technologies Co.,Ltd" 1CD40C o="Kriwan Industrie-Elektronik GmbH" 1CD6BD o="LEEDARSON LIGHTING CO., LTD." 1CE165 o="Marshal Corporation" 1CEA0B,3C2C99,68215F,80A235,8CEA1B,A82BB5,B86A97,CC37AB o="Edgecore Networks Corporation" 1CEEC9,78B3CE o="Elo touch solutions" 1CEEE8 o="Ilshin Elecom" 1CEFCE o="bebro electronic GmbH" 1CF03E o="Wearhaus Inc." 1CF061 o="SCAPS GmbH" 1CF5E7 o="Turtle Industry Co., Ltd." 1CFCBB o="Realfiction ApS" 1CFEA7 o="IDentytech Solutins Ltd." 20014F o="Linea Research Ltd" 200505 o="RADMAX COMMUNICATION PRIVATE LIMITED" 2005E8 o="OOO InProMedia" 200A5E o="Xiangshan Giant Eagle Technology Developing Co., Ltd." 200DB0,40A5EF o="Shenzhen Four Seas Global Link Network Technology Co., Ltd." 200E95 o="IEC – TC9 WG43" 200F70 o="FOXTECH" 20114E o="MeteRSit S.R.L." 201257 o="Most Lucky Trading Ltd" 2012D5 o="Scientech Materials Corporation" 20180E o="Shenzhen Sunchip Technology Co., Ltd" 201D03 o="Elatec GmbH" 202598 o="Teleview" 2028BC o="Visionscape Co,. Ltd." 202AC5 o="Petite-En" 202CB7 o="Kong Yue Electronics & Information Industry (Xinhui) Ltd." 202D23 o="Collinear Networks Inc." 202DF8 o="Digital Media Cartridge Ltd." 2031EB o="HDSN" 20365B,80DABC,F00E1D o="Megafone Limited" 2036D7 o="Shanghai Reacheng Communication Technology Co.,Ltd" 2037BC o="Kuipers Electronic Engineering BV" 203AEF o="Sivantos GmbH" 204005 o="feno GmbH" 20415A o="Smarteh d.o.o." 20443A o="Schneider Electric Asia Pacific Ltd" 2046A1 o="VECOW Co., Ltd" 2046F9 o="Advanced Network Devices (dba:AND)" 204AAA o="Hanscan Spain S.A." 204C6D o="Hugo Brennenstuhl Gmbh & Co. KG." 204E6B o="Axxana(israel) ltd" 2050E7,70F754,D49CDD o="AMPAK Technology,Inc." 2053CA o="Risk Technology Ltd" 205532 o="Gotech International Technology Limited" 205721 o="Salix Technology CO., Ltd." 2057AF o="Shenzhen FH-NET OPTOELECTRONICS CO.,LTD" 2059A0 o="Paragon Technologies Inc." 205A00 o="Coval" 205B5E o="Shenzhen Wonhe Technology Co., Ltd" 205CFA o="Yangzhou ChangLian Network Technology Co,ltd." 205F3D,28D0CB,AC51EE o="Cambridge Communication Systems Ltd" 20635F o="Abeeway" 2067B1 o="Pluto inc." 206AFF o="Atlas Elektronik UK Limited" 206D31 o="FIREWALLA INC" 206FEC o="Braemac CA LLC" 20719E o="SF Technology Co.,Ltd" 2074CF o="Shenzhen Voxtech Co.,Ltd" 207693 o="Lenovo (Beijing) Limited." 207759 o="OPTICAL NETWORK VIDEO TECHNOLOGIES (SHENZHEN) CO., LTD." 20780B o="Delta Faucet Company" 207C8F o="Quanta Microsystems,Inc." 2083F8,686359,C477AF o="Advanced Digital Broadcast SA" 20858C o="Assa" 2087AC o="AES motomation" 20918A o="PROFALUX" 2091D9 o="I'M SPA" 20968A,2823F5,58C876,8C1850,B45459,CCF0FD,F010AB o="China Mobile (Hangzhou) Information Technology Co., Ltd." 209AE9 o="Volacomm Co., Ltd" 209BA5 o="JIAXING GLEAD Electronics Co.,Ltd" 20A2E7 o="Lee-Dickens Ltd" 20A783 o="miControl GmbH" 20A787 o="Bointec Taiwan Corporation Limited" 20AA25 o="IP-NET LLC" 20B0F7 o="Enclustra GmbH" 20B5C6 o="Mimosa Networks" 20B780 o="Toshiba Visual Solutions Corporation Co.,Ltd" 20B7C0 o="OMICRON electronics GmbH" 20BB76 o="COL GIOVANNI PAOLO SpA" 20BBC6 o="Jabil Circuit Hungary Ltd." 20BFDB o="DVL" 20C06D o="SHENZHEN SPACETEK TECHNOLOGY CO.,LTD" 20C1AF o="i Wit Digital Co., Limited" 20C3A4 o="RetailNext" 20C60D o="Shanghai annijie Information technology Co.,LTD" 20CEC4 o="Peraso Technologies" 20D21F o="Wincal Technology Corp." 20D25F o="SmartCap Technologies" 20D5AB o="Korea Infocom Co.,Ltd." 20D75A o="Posh Mobile Limited" 20D906 o="Iota, Inc." 20DBAB o="Samsung Electronics Co., Ltd." 20DC93 o="Cheetah Hi-Tech, Inc." 20DE88 o="IC Realtime LLC" 20DF3F,6C8366 o="Nanjing SAC Power Grid Automation Co., Ltd." 20E407 o="Spark srl" 20E791 o="Siemens Healthcare Diagnostics, Inc" 20EAC7 o="SHENZHEN RIOPINE ELECTRONICS CO., LTD" 20ED74 o="Ability enterprise co.,Ltd." 20EEC6 o="Elefirst Science & Tech Co ., ltd" 20F002 o="MTData Developments Pty. Ltd." 20F41B,28F366,3C3300,44334C,ACA213 o="Shenzhen Bilian electronic CO.,LTD" 20F452 o="Shanghai IUV Software Development Co. Ltd" 20F510 o="Codex Digital Limited" 20F85E o="Delta Electronics" 20FABB o="Cambridge Executive Limited" 20FECD o="System In Frontier Inc." 20FEDB o="M2M Solution S.A.S." 24050F o="MTN Electronic Co. Ltd" 240917 o="Devlin Electronics Limited" 240B2A o="Viettel Group" 240BB1 o="KOSTAL Industrie Elektrik GmbH" 240D65 o="Shenzhen Vsun Communication Technology Co., Ltd." 240D6C o="SMND" 241064 o="Shenzhen Ecsino Tecnical Co. Ltd" 241125 o="Hutek Co., Ltd." 241148 o="Entropix, LLC" 2411D0 o="Chongqing Ehs Science and Technology Development Co.,Ltd." 241A8C o="Squarehead Technology AS" 241B13 o="Shanghai Nutshell Electronic Co., Ltd." 241B44 o="Hangzhou Tuners Electronics Co., Ltd" 241C04 o="SHENZHEN JEHE TECHNOLOGY DEVELOPMENT CO., LTD." 241F2C o="Calsys, Inc." 242642 o="SHARP Corporation." 242E90 o="PALIT MICROSYSTEMS, LTD" 242FFA o="Toshiba Global Commerce Solutions" 2435CC o="Zhongshan Scinan Internet of Things Co.,Ltd." 2437EF o="EMC Electronic Media Communication SA" 243A82 o="IRTS" 243C20 o="Dynamode Group" 243F30 o="Oxygen Broadband s.a." 2440AE o="NIIC Technology Co., Ltd." 2442BC o="Alinco,incorporated" 244597 o="GEMUE Gebr. Mueller Apparatebau" 24470E o="PentronicAB" 24497B o="Innovative Converged Devices Inc" 244F1D o="iRule LLC" 2453BF o="Enernet" 245880 o="VIZEO" 24590B o="White Sky Inc. Limited" 245BF0 o="Liteon, Inc." 245CBF o="NCSE" 245CCB o="AXIe Consortium, Inc." 245EBE,E843B6 o="QNAP Systems, Inc." 246081 o="razberi technologies" 246278 o="sysmocom - systems for mobile communications GmbH" 2464EF o="CYG SUNRI CO.,LTD." 246880 o="Braveridge.co.,ltd." 24693E o="innodisk Corporation" 24694A o="Jasmine Systems Inc." 246AAB o="IT-IS International" 246C8A o="YUKAI Engineering" 247260 o="IOTTECH Corp" 247656 o="Shanghai Net Miles Fiber Optics Technology Co., LTD." 2479F8 o="KUPSON spol. s r.o." 247C4C o="Herman Miller" 248000 o="Westcontrol AS" 2481AA o="KSH International Co., Ltd." 24828A o="Prowave Technologies Ltd." 248498 o="Beijing Jiaoda Microunion Tech.Co.,Ltd." 2486F4 o="Ctek, Inc." 248707 o="SEnergy Corporation" 248894 o="shenzhen lensun Communication Technology LTD" 2493CA o="Voxtronic Austria" 249442 o="OPEN ROAD SOLUTIONS , INC." 2497ED o="Techvision Intelligent Technology Limited" 24A42C o="KOUKAAM a.s." 24A495 o="Thales Canada Inc." 24A534 o="SynTrust Tech International Ltd." 24A87D o="Panasonic Automotive Systems Asia Pacific(Thailand)Co.,Ltd." 24A937 o="PURE Storage" 24AF54 o="NEXGEN Mediatech Inc." 24B0A9 o="Shanghai Mobiletek Communication Ltd." 24B6B8 o="FRIEM SPA" 24B88C o="Crenus Co.,Ltd." 24B8D2 o="Opzoon Technology Co.,Ltd." 24BA13 o="RISO KAGAKU CORPORATION" 24BA30 o="Technical Consumer Products, Inc." 24BBC1 o="Absolute Analysis" 24BC82 o="Dali Wireless, Inc." 24BE18 o="DADOUTEK COMPANY LIMITED" 24C0B3 o="RSF" 24C17A o="BEIJING IACTIVE NETWORK CO.,LTD" 24C1BD o="CRRC DALIAN R&D CO.,LTD." 24C42F o="Philips Lifeline" 24C848 o="mywerk Portal GmbH" 24C86E o="Chaney Instrument Co." 24C9DE o="Genoray" 24CBE7 o="MYK, Inc." 24CF21 o="Shenzhen State Micro Technology Co., Ltd" 24D13F o="MEXUS CO.,LTD" 24D2CC o="SmartDrive Systems Inc." 24D51C o="Zhongtian broadband technology co., LTD" 24D76B o="Syntronic AB" 24DA11 o="NO NDA Inc" 24DAB6 o="Sistemas de Gestión Energética S.A. de C.V" 24DBAD o="ShopperTrak RCT Corporation" 24DFA7,A043B0 o="Hangzhou BroadLink Technology Co.,Ltd" 24E124 o="Xiamen Ursaconn Technology Co. , Ltd." 24E43F o="Wenzhou Kunmei Communication Technology Co.,Ltd." 24E5AA o="Philips Oral Healthcare, Inc." 24E6BA o="JSC Zavod im. Kozitsky" 24EA40 o="Helmholz GmbH & Co. KG" 24EB65 o="SAET I.S. S.r.l." 24EC51 o="ADF Technologies Sdn Bhd" 24ECD6 o="CSG Science & Technology Co.,Ltd.Hefei" 24EE3A o="Chengdu Yingji Electronic Hi-tech Co Ltd" 24F0FF o="GHT Co., Ltd." 24F128 o="Telstra" 24F2DD o="Radiant Zemax LLC" 24F57E o="HWH CO., LTD." 24FAF3 o="Shanghai Flexem Technology Co.,Ltd." 24FD0D o="INDÚSTRIA DE TELECOMUNICAÇÃO ELETRÔNICA" 24FD5B o="SmartThings, Inc." 280245 o="Konze System Technology Co.,Ltd." 2804E0 o="FERMAX ELECTRONICA S.A.U." 28061E o="NINGBO GLOBAL USEFUL ELECTRIC CO.,LTD" 28068D o="ITL, LLC" 28070D o="GUANGZHOU WINSOUND INFORMATION TECHNOLOGY CO.,LTD." 280C28 o="Unigen DataStorage Corporation" 280CB8 o="Mikrosay Yazilim ve Elektronik A.S." 280E8B o="Beijing Spirit Technology Development Co., Ltd." 28101B o="MagnaCom" 281471 o="Lantis co., LTD." 2817CE o="Omnisense Ltd" 2818FD o="Aditya Infotech Ltd." 282246 o="Beijing Sinoix Communication Co., LTD" 282373 o="Digita" 282536 o="SHENZHEN HOLATEK CO.,LTD" 2826A6 o="PBR electronics GmbH" 282986 o="APC by Schneider Electric" 2829CC o="Corsa Technology Incorporated" 2829D9 o="GlobalBeiMing technology (Beijing)Co. Ltd" 282FC2 o="Automotive Data Solutions" 2830AC o="Frontiir Co. Ltd." 28317E,540384 o="Hongkong Nano IC Technologies Co., Ltd" 283410 o="Enigma Diagnostics Limited" 283713 o="Shenzhen 3Nod Digital Technology Co., Ltd." 28385C,70E1FD o="FLEXTRONICS" 2838CF o="Gen2wave" 2839E7 o="Preceno Technology Pte.Ltd." 283B96 o="Cool Control LTD" 283E76 o="Common Networks" 28401A o="C8 MediSensors, Inc." 284121 o="OptiSense Network, LLC" 284430 o="GenesisTechnical Systems (UK) Ltd" 284846 o="GridCentric Inc." 284C53 o="Intune Networks" 284D92 o="Luminator" 284ED7 o="OutSmart Power Systems, Inc." 284FCE o="Liaoning Wontel Science and Technology Development Co.,Ltd." 285132 o="Shenzhen Prayfly Technology Co.,Ltd" 2852E0 o="Layon international Electronic & Telecom Co.,Ltd" 2852F9 o="Zhongxin Intelligent Times (Shenzhen) Co., Ltd." 2856C1 o="Harman International" 285F2F o="RNware Co.,Ltd." 286046 o="Lantech Communications Global, Inc." 286094 o="CAPELEC" 28656B o="Keystone Microtech Corporation" 286D97 o="SAMJIN Co., Ltd." 286DCD o="Beijing Winner Microelectronics Co.,Ltd." 287184 o="Spire Payments" 2872C5 o="Smartmatic Corp" 2872F0 o="ATHENA" 287610 o="IgniteNet" 2876CD o="Funshion Online Technologies Co.,Ltd" 287994 o="Realplay Digital Technology(Shenzhen) Co.,Ltd" 287CDB o="Hefei Toycloud Technology Co.,ltd" 28840E o="silicon valley immigration service" 28852D o="Touch Networks" 288915 o="CashGuard Sverige AB" 2891D0 o="Stage Tec Entwicklungsgesellschaft für professionelle Audiotechnik mbH" 2894AF o="Samhwa Telecom" 2899C7 o="LINDSAY BROADBAND INC" 289A4B o="SteelSeries ApS" 289EDF o="Danfoss Turbocor Compressors, Inc" 28A186 o="enblink" 28A192 o="GERP Solution" 28A1EB o="ETEK TECHNOLOGY (SHENZHEN) CO.,LTD" 28A241 o="exlar corp" 28A574 o="Miller Electric Mfg. Co." 28A5EE o="Shenzhen SDGI CATV Co., Ltd" 28A6AC o="seca gmbh & co. kg" 28AC67 o="Mach Power, Rappresentanze Internazionali s.r.l." 28AD3E o="Shenzhen TONG BO WEI Technology CO.,LTD" 28AF0A o="Sirius XM Radio Inc" 28B0CC o="Xenya d.o.o." 28B3AB o="Genmark Automation" 28B4FB o="Sprocomm Technologies CO.,LTD." 28B9D9 o="Radisys Corporation" 28BA18 o="NextNav, LLC" 28BB59 o="RNET Technologies, Inc." 28BC18 o="SourcingOverseas Co. Ltd" 28BC56 o="EMAC, Inc." 28C671 o="Yota Devices OY" 28C718 o="Altierre" 28C825 o="DellKing Industrial Co., Ltd" 28C914 o="Taimag Corporation" 28CA09 o="ThyssenKrupp Elevators (Shanghai) Co.,Ltd" 28CBEB o="One" 28CCFF o="Corporacion Empresarial Altra SL" 28CD1C o="Espotel Oy" 28CD4C o="Individual Computers GmbH" 28CD9C o="Shenzhen Dynamax Software Development Co.,Ltd." 28CF08,A8B9B3 o="ESSYS" 28D244 o="LCFC(HeFei) Electronics Technology Co., Ltd." 28D436 o="Jiangsu dewosi electric co., LTD" 28D576 o="Premier Wireless, Inc." 28D93E o="Telecor Inc." 28D98A o="Hangzhou Konke Technology Co.,Ltd." 28D997 o="Yuduan Mobile Co., Ltd." 28DB81 o="Shanghai Guao Electronic Technology Co., Ltd" 28DEF6 o="bioMerieux Inc." 28E297 o="Shanghai InfoTM Microelectronics Co.,Ltd." 28E476 o="Pi-Coral" 28E608 o="Tokheim" 28E6E9 o="SIS Sat Internet Services GmbH" 28E794 o="Microtime Computer Inc." 28ED58 o="JAG Jakob AG" 28EE2C o="Frontline Test Equipment" 28EED3 o="Shenzhen Super D Technology Co., Ltd" 28F358 o="2C - Trifonov & Co" 28F532 o="ADD-Engineering BV" 28F606 o="Syes srl" 28FBD3,88A73C,C0854C o="Ragentek Technology Group" 28FC51 o="The Electric Controller and Manufacturing Co., LLC" 28FCF6 o="Shenzhen Xin KingBrand enterprises Co.,Ltd" 28FECD,B4EFFA o="Lemobile Information Technology (Beijing) Co., Ltd." 28FEDE o="COMESTA, Inc." 28FFB2 o="Toshiba Corp." 2C002C o="UNOWHY" 2C0033 o="EControls, LLC" 2C00F7 o="XOS" 2C010B o="NASCENT Technology, LLC - RemKon" 2C029F o="3ALogics" 2C0623 o="Win Leader Inc." 2C073C o="DEVLINE LIMITED" 2C081C o="OVH" 2C094D o="Raptor Engineering, LLC" 2C09CB o="COBS AB" 2C15E1,2CB21A,68DB54,747D24,CC81DA,D8C8E9,FC7C02 o="Phicomm (Shanghai) Co., Ltd." 2C18AE o="Trend Electronics Co., Ltd." 2C1984 o="IDN Telecom, Inc." 2C1A31 o="Electronics Company Limited" 2C1BC8 o="Hunan Topview Network System CO.,LTD" 2C1CF6 o="Alien Green LLC" 2C1E4F o="Chengdu Qianli Network Technology Co., Ltd." 2C1EEA o="AERODEV" 2C21D7 o="IMAX Corporation" 2C228B o="CTR SRL" 2C245F o="Babolat VS" 2C2617 o="Oculus VR, LLC" 2C282D,309BAD,4813F3,486B2C,6C25B9,80414E,98CF53 o="BBK EDUCATIONAL ELECTRONICS CORP.,LTD." 2C28B7 o="Hangzhou Ruiying technology co., LTD" 2C2D48 o="bct electronic GesmbH" 2C3427 o="ERCO & GENER" 2C3557 o="ELLIY Power CO..Ltd" 2C36A0 o="Capisco Limited" 2C3731 o="SHENZHEN YIFANG DIGITAL TECHNOLOGY CO.,LTD." 2C3796 o="CYBO CO.,LTD." 2C37C5 o="Qingdao Haier Intelligent Home Appliance Technology Co.,Ltd" 2C3A28 o="Fagor Electrónica" 2C3AFD,2C91AB,3810D5,444E6D,5C4979,7CFF4D,989BCB,C80E14,CCCE1E,DC396F,E0286D,E8DF70,F0B014 o="AVM Audiovisuelles Marketing und Computersysteme GmbH" 2C3BFD o="Netstor Technology Co., Ltd." 2C3F3E o="Alge-Timing GmbH" 2C402B o="Smart iBlue Technology Limited" 2C4205,50DF95 o="Lytx" 2C441B o="Spectrum Medical Limited" 2C4759 o="Beijing MEGA preponderance Science & Technology Co. Ltd" 2C4E7D o="Chunghua Intelligent Network Equipment Inc." 2C5089 o="Shenzhen Kaixuan Visual Technology Co.,Limited" 2C534A o="Shenzhen Winyao Electronic Limited" 2C553C o="Gainspeed, Inc." 2C5A8D o="SYSTRONIK Elektronik u. Systemtechnik GmbH" 2C5AA3 o="PROMATE ELECTRONIC CO.LTD" 2C5BE1 o="Centripetal Networks, Inc" 2C5FF3 o="Pertronic Industries" 2C6104,70AF6A,A86B7C o="SHENZHEN FENGLIAN TECHNOLOGY CO., LTD." 2C625A o="Finest Security Systems Co., Ltd" 2C6289 o="Regenersis (Glenrothes) Ltd" 2C6798 o="InTalTech Ltd." 2C67FB o="ShenZhen Zhengjili Electronics Co., LTD" 2C69BA o="RF Controls, LLC" 2C7155 o="HiveMotion" 2C72C3 o="Soundmatters" 2C7360,4C0FC7,6CE8C6,B447F5,B8C6AA o="Earda Technologies co Ltd" 2C750F o="Shanghai Dongzhou-Lawton Communication Technology Co. Ltd." 2C7B5A o="Milper Ltd" 2C7B84 o="OOO Petr Telegin" 2C7CE4,4C80BA,AC203E,B83241 o="Wuhan Tianyu Information Industry Co., Ltd." 2C7ECF o="Onzo Ltd" 2C8065 o="HARTING Inc. of North America" 2C8BF2 o="Hitachi Metals America Ltd" 2C9127 o="Eintechno Corporation" 2C922C o="Kishu Giken Kogyou Company Ltd,." 2C9464 o="Cincoze Co., Ltd." 2C9662 o="Invenit BV" 2C9717 o="I.C.Y. B.V." 2C97ED o="Sony Imaging Products & Solutions Inc." 2C9AA4 o="Eolo SpA" 2C9EEC o="Jabil Circuit Penang" 2CA02F o="Veroguard Systems Pty Ltd" 2CA157 o="acromate, Inc." 2CA2B4 o="Fortify Technologies, LLC" 2CA30E o="POWER DRAGON DEVELOPMENT LIMITED" 2CA539 o="Parallel Wireless, Inc" 2CA780 o="True Technologies Inc." 2CA89C o="Creatz inc." 2CAA8E o="Wyze Labs Inc" 2CAC44 o="CONEXTOP" 2CAD13 o="SHENZHEN ZHILU TECHNOLOGY CO.,LTD" 2CB0DF o="Soliton Technologies Pvt Ltd" 2CB69D o="RED Digital Cinema" 2CB8ED o="SonicWall" 2CBE97 o="Ingenieurbuero Bickele und Buehler GmbH" 2CC407 o="machineQ" 2CC548 o="IAdea Corporation" 2CCA0C o="WITHUS PLANET" 2CCD27 o="Precor Inc" 2CCD43 o="Summit Technology Group" 2CCD69 o="Aqavi.com" 2CD1DA o="Sanjole, Inc." 2CD2E3 o="Guangzhou Aoshi Electronic Co.,Ltd" 2CDD0C o="Discovergy GmbH" 2CDD95,38E3C5,4C8120,501B32,64D954,6CC63B,743C18,900A1A,B4265D,D00ED9,E8D0B9,F06865,F49EEF,F844E3,F86CE1,FC10C6 o="Taicang T&W Electronics" 2CE2A8 o="DeviceDesign" 2CE310 o="Stratacache" 2CE871 o="Alert Metalguard ApS" 2CEDEB o="Alpheus Digital Company Limited" 2CEE26 o="Petroleum Geo-Services" 2CF203 o="EMKO ELEKTRONIK SAN VE TIC AS" 2CF7F1 o="Seeed Technology Inc." 2CFCE4 o="CTEK Sweden AB" 2CFD37 o="Blue Calypso, Inc." 2CFDAB,40A108,4888CA,542758,64DB43,7C4685,84B8B8,94BE46,980CA5,D0F88C o="Motorola (Wuhan) Mobility Technologies Communication Co., Ltd." 30053F o="JTI Co.,Ltd." 300AC5 o="Ruio telecommunication technologies Co., Limited" 300B9C o="Delta Mobile Systems, Inc." 300D2A o="Zhejiang Wellcom Technology Co.,Ltd." 300D43,38256B,38F23E,5CCA1A,607EDD,6C2483,6C2779,6C8FB5,A4516F,B4E1C4,E498D1 o="Microsoft Mobile Oy" 301389 o="Siemens AG, Automations & Drives," 30142D o="Piciorgros GmbH" 301518 o="Ubiquitous Communication Co. ltd." 30168D o="ProLon" 3018CF o="DEOS control systems GmbH" 301A28 o="Mako Networks Ltd" 301B97 o="Lierda Science & Technology Group Co.,Ltd" 30215B o="Shenzhen Ostar Display Electronic Co.,Ltd" 3029BE o="Shanghai MRDcom Co.,Ltd" 302DE8 o="JDA, LLC (JDA Systems)" 303294 o="W-IE-NE-R Plein & Baus GmbH" 3032D4 o="Hanilstm Co., Ltd." 303335 o="Boosty" 3034D2,9023EC o="Availink, Inc." 303955 o="Shenzhen Jinhengjia Electronic Co., Ltd." 303ABA o="Guangzhou BaoLun Electronics Co., Ltd" 303D08 o="GLINTT TES S.A." 303EAD o="Sonavox Canada Inc" 304174 o="ALTEC LANSING LLC" 304225 o="BURG-WÄCHTER KG" 3042A1 o="ilumisys Inc. DBA Toggled" 304449 o="PLATH GmbH" 3044A1 o="Shanghai Nanchao Information Technology" 30493B o="Nanjing Z-Com Wireless Co.,Ltd" 304A26 o="Shenzhen Trolink Technology CO, LTD" 304C7E o="Panasonic Electric Works Automation Controls Techno Co.,Ltd." 304EC3 o="Tianjin Techua Technology Co., Ltd." 304F75,9C65EE,D096FB o="DASAN Network Solutions" 305075,70BF92,745C4B o="GN Audio A/S" 3051F8 o="BYK-Gardner GmbH" 30525A o="NST Co., LTD" 3055ED o="Trex Network LLC" 3057AC o="IRLAB LTD." 30595B o="streamnow AG" 3059B7,4C0BBE,501AC5,5882A8,6045BD,7C1E52,7CED8D,B4AE2B,C0335E o="Microsoft" 305D38 o="Beissbarth" 305DA6 o="ADVALY SYSTEM Inc." 306112 o="PAV GmbH" 306118 o="Paradom Inc." 3065EC o="Wistron (ChongQing)" 30688C o="Reach Technology Inc." 306CBE o="Skymotion Technology (HK) Limited" 306E5C o="Validus Technologies" 306F07 o="Nations Technologies Inc." 3071B2 o="Hangzhou Prevail Optoelectronic Equipment Co.,LTD." 307350 o="Inpeco SA" 3077CB o="Maike Industry(Shenzhen)CO.,LTD" 30785C o="Partow Tamas Novin (Parman)" 30786B o="TIANJIN Golden Pentagon Electronics Co., Ltd." 3078C2 o="Innowireless / QUCELL Networks" 307CB2,A43E51 o="ANOV FRANCE" 30862D o="Arista Network, Inc." 308841,44B295,4898CA,501395,6023A4,809F9B,80AC7C,889746,D4B761,EC9C32 o="Sichuan AI-Link Technology Co., Ltd." 308944 o="DEVA Broadcast Ltd." 308976 o="DALIAN LAMBA TECHNOLOGY CO.,LTD" 308999 o="Guangdong East Power Co.," 3089D3 o="HONGKONG UCLOUDLINK NETWORK TECHNOLOGY LIMITED" 308CFB o="Dropcam" 3092F6,98473C o="SHANGHAI SUNMON COMMUNICATION TECHNOGY CO.,LTD" 3095E3 o="SHANGHAI SIMCOM LIMITED" 309FFB o="Ardomus Networks Corporation" 30A220 o="ARG Telecom" 30A243 o="Shenzhen Prifox Innovation Technology Co., Ltd." 30A889 o="DECIMATOR DESIGN" 30AABD o="Shanghai Reallytek Information Technology Co.,Ltd" 30AE7B o="Deqing Dusun Electron CO., LTD" 30AEF6 o="Radio Mobile Access" 30B164 o="Power Electronics International Inc." 30B216 o="ABB AG - Power Grids - Grid Automation" 30B3A2 o="Shenzhen Heguang Measurement & Control Technology Co.,Ltd" 30B5F1 o="Aitexin Technology Co., Ltd" 30B9B0 o="Intracom Asia Co., Ltd" 30C01B,5CFB7C,8850F6,B8F653,E8D03C,F4BCDA o="Shenzhen Jingxun Software Telecommunication Technology Co.,Ltd" 30C750 o="MIC Technology Group" 30C82A o="WI-BIZ srl" 30D357 o="Logosol, Inc." 30D46A o="Autosales Incorporated" 30D659 o="Merging Technologies SA" 30DE86 o="Cedac Software S.r.l." 30E090 o="Linctronix Ltd," 30E3D6 o="Spotify USA Inc." 30E48E o="Vodafone UK" 30EA26 o="Sycada BV" 30EB1F o="Skylab M&C Technology Co.,Ltd" 30EB5A o="LANDIS + GYR" 30EFD1 o="Alstom Strongwish (Shenzhen) Co., Ltd." 30F33A o="+plugg srl" 30F42F o="ESP" 30F6B9 o="Ecocentric Energy" 30F77F,50A83A o="S Mobile Devices Limited" 30F7D7 o="Thread Technology Co., Ltd" 30FAB7 o="Tunai Creative" 30FB94 o="Shanghai Fangzhiwei Information Technology CO.,Ltd." 30FD11 o="MACROTECH (USA) INC." 30FFF6 o="HangZhou KuoHeng Technology Co.,ltd" 34029B o="Plexonics Technologies LImited" 34074F o="AccelStor, Inc." 340A22 o="TOP-ACCESS ELECTRONICS CO LTD" 340B40 o="MIOS ELETTRONICA SRL" 340CED o="Moduel AB" 340F66 o="MicroArx Corporation" 341290 o="Treeview Co.,Ltd." 3413A8 o="Mediplan Limited" 341A4C o="SHENZHEN WEIBU ELECTRONICS CO.,LTD." 341B22 o="Grandbeing Technology Co., Ltd" 342003 o="Shenzhen Feitengyun Technology Co.,LTD" 342109 o="Jensen Scandinavia AS" 34255D o="Shenzhen Loadcom Technology Co.,Ltd" 342606 o="CarePredict, Inc." 3428F0 o="ATN International Limited" 3429EA o="MCD ELECTRONICS SP. Z O.O." 342CC4,38437D,546751,5C353B,6802B8,905C44,AC2205,DC537C o="Compal Broadband Networks, Inc." 342F6E o="Anywire corporation" 3432E6 o="Panasonic Industrial Devices Europe GmbH" 343794 o="Hamee Corp." 3438AF o="Inlab Software GmbH" 343D98,74B9EB o="JinQianMao Technology Co.,Ltd." 3440B5,40F2E9,98BE94,A897DC o="IBM" 3441A8 o="ER-Telecom" 34466F o="HiTEM Engineering" 344CA4 o="amazipoint technology Ltd." 344CC8 o="Echodyne Corp" 344F3F o="IO-Power Technology Co., Ltd." 344F5C o="R&M AG" 344F69 o="EKINOPS SAS" 345180,3C591E,5C36B8,CCA12B o="TCL King Electrical Appliances (Huizhou) Co., Ltd" 3451AA o="JID GLOBAL" 34543C o="TAKAOKA TOKO CO.,LTD." 345ABA o="tcloud intelligence" 345B11 o="EVI HEAT AB" 345BBB,502DBB,847C9B,F0C9D1 o="GD Midea Air-Conditioning Equipment Co.,Ltd." 345C40 o="Cargt Holdings LLC" 345D10 o="Wytek" 3463D4 o="BIONIX SUPPLYCHAIN TECHNOLOGIES SLU" 3466EA o="VERTU INTERNATIONAL CORPORATION LIMITED" 34684A o="Teraworks Co., Ltd." 346C0F o="Pramod Telecom Pvt. Ltd" 346E8A o="Ecosense" 346F92 o="White Rodgers Division" 346FED o="Enovation Controls" 347563,38839A,38A28C,58B3FC,7CC709,842096,C0210D,C46E7B,CC79CF,E0859A,F085C1 o="SHENZHEN RF-LINK TECHNOLOGY CO.,LTD." 347877 o="O-Net Communications (Shenzhen) Limited" 347ECA o="NEXTWILL" 34800D o="Cavium Inc" 348137 o="UNICARD SA" 3481F4 o="SST Taiwan Ltd." 3482DE o="Kiio Inc" 348302 o="iFORCOM Co., Ltd" 34862A o="Heinz Lackmann GmbH & Co KG" 34873D o="Quectel Wireless Solution Co.,Ltd." 34885D,F47335 o="Logitech Far East" 348B75,48FCB6,AC562C o="LAVA INTERNATIONAL(H.K) LIMITED" 349342 o="TTE Corporation" 3497FB o="ADVANCED RF TECHNOLOGIES INC" 34996F o="VPI Engineering" 349971,48BD0E o="Quanta Storage Inc." 3499D7 o="Universal Flow Monitors, Inc." 349A0D o="ZBD Displays Ltd" 349B5B o="Maquet GmbH" 349D90 o="Heinzmann GmbH & CO. KG" 349E34 o="Evervictory Electronic Co.Ltd" 34A183 o="AWare, Inc" 34A3BF o="Terewave. Inc." 34A55D o="TECHNOSOFT INTERNATIONAL SRL" 34A5E1 o="Sensorist ApS" 34A68C o="Shine Profit Development Limited" 34A709 o="Trevil srl" 34A7BA o="Fischer International Systems Corporation" 34AAEE o="Mikrovisatos Servisas UAB" 34ADE4 o="Shanghai Chint Power Systems Co., Ltd." 34B571 o="PLDS" 34B5A3,A4817A,EC84B4 o="CIG SHANGHAI CO LTD" 34B7FD o="Guangzhou Younghead Electronic Technology Co.,Ltd" 34BA38 o="PAL MOHAN ELECTRONICS PVT LTD" 34BA51 o="Se-Kure Controls, Inc." 34BA75 o="Everest Networks, Inc" 34BA9A o="Asiatelco Technologies Co." 34BCA6 o="Beijing Ding Qing Technology, Ltd." 34BDF9 o="Shanghai WDK Industrial Co.,Ltd." 34C5D0 o="Hagleitner Hygiene International GmbH" 34C69A o="Enecsys Ltd" 34C99D o="EIDOLON COMMUNICATIONS TECHNOLOGY CO. LTD." 34C9F0 o="LM Technologies Ltd" 34CB1A,ACDCE5 o="Procter & Gamble Company" 34CC28 o="Nexpring Co. LTD.," 34CD6D o="CommSky Technologies" 34CE94 o="Parsec (Pty) Ltd" 34D09B o="MobilMAX Technology Inc." 34D262,60601F o="SZ DJI TECHNOLOGY CO.,LTD" 34D2C4 o="RENA GmbH Print Systeme" 34D712 o="Smartisan Digital Co., Ltd" 34D772 o="Xiamen Yudian Automation Technology Co., Ltd" 34D7B4 o="Tributary Systems, Inc." 34D954 o="WiBotic Inc." 34DAC1 o="SAE Technologies Development(Dongguan) Co., Ltd." 34DD7E o="Umeox Innovations Co.,Ltd" 34DF2A o="Fujikon Industrial Co.,Limited" 34E0D7 o="DONGGUAN QISHENG ELECTRONICS INDUSTRIAL CO., LTD" 34E380 o="Genexis B.V." 34E3DA o="Hoval Aktiengesellschaft" 34E42A o="Automatic Bar Controls Inc." 34E70B o="HAN Networks Co., Ltd" 34EA34,780F77,C8F742 o="HangZhou Gubei Electronics Technology Co.,Ltd" 34ED0B o="Shanghai XZ-COM.CO.,Ltd." 34EF8B o="NTT Communications Corporation" 34F0CA o="Shenzhen Linghangyuan Digital Technology Co.,Ltd." 34F39B o="WizLAN Ltd." 34F6D2 o="Panasonic Taiwan Co.,Ltd." 34F968,74BE08 o="ATEK Products, LLC" 34FA40 o="Guangzhou Robustel Technologies Co., Limited" 34FC6F o="ALCEA" 380118 o="ULVAC,Inc." 380197 o="TSST Global,Inc" 380546 o="Foctek Photonics, Inc." 3805AC o="Piller Group GmbH" 3806B4 o="A.D.C. GmbH" 3807D4 o="Zeppelin Systems GmbH" 3808FD o="Silca Spa" 3809A4 o="Firefly Integrations" 380A0A o="Sky-City Communication and Electronics Limited Company" 380AAB o="Formlabs" 380E7B o="V.P.S. Thai Co., Ltd" 380FE4 o="Dedicated Network Partners Oy" 381730 o="Ulrich Lippert GmbH & Co KG" 381766 o="PROMZAKAZ LTD." 38184C,94DB56 o="Sony Home Entertainment&Sound Products Inc" 381C23 o="Hilan Technology CO.,LTD" 381C4A,48E6C0 o="SIMCom Wireless Solutions Co.,Ltd." 381D14 o="Skydio Inc." 3820A8,6854C1 o="ColorTokens, Inc." 382187 o="Midea Group Co., Ltd." 38262B o="UTran Technology" 3826CD o="ANDTEK" 3828EA o="Fujian Netcom Technology Co., LTD" 3829DD o="ONvocal Inc" 382A19 o="Technica Engineering GmbH" 382B78 o="ECO PLUGS ENTERPRISE CO., LTD" 3831AC o="WEG" 383B26,84C2E4 o="Jiangsu Qinheng Co., Ltd." 383C9C o="Fujian Newland Payment Technology Co.,Ltd." 383F10 o="DBL Technology Ltd." 384233 o="Wildeboer Bauteile GmbH" 3842A6 o="Ingenieurbuero Stahlkopf" 384369 o="Patrol Products Consortium LLC" 3843E5 o="Grotech Inc" 38454C o="Light Labs, Inc." 38458C o="MyCloud Technology corporation" 384B5B o="ZTRON TECHNOLOGY LIMITED" 384B76 o="AIRTAME ApS" 385610 o="CANDY HOUSE, Inc." 3856B5 o="Peerbridge Health Inc" 38580C o="Panaccess Systems GmbH" 3859F8 o="MindMade Sp. z o.o." 385AA8 o="Beijing Zhongdun Security Technology Development Co." 385FC3 o="Yu Jeong System, Co.Ltd" 3863F6 o="3NOD MULTIMEDIA(SHENZHEN)CO.,LTD" 386645 o="OOSIC Technology CO.,Ltd" 386793 o="Asia Optical Co., Inc." 3868A4,AC1E92,D0D003 o="Samsung Electronics Co.,LTD" 386C9B o="Ivy Biomedical" 386E21 o="Wasion Group Ltd." 3876CA o="Shenzhen Smart Intelligent Technology Co.Ltd" 3876D1 o="Euronda SpA" 387B47 o="AKELA, Inc." 388602 o="Flexoptix GmbH" 3889DC o="Opticon Sensors Europe B.V." 388AB7 o="ITC Networks" 388E7A o="AUTOIT" 388EE7 o="Fanhattan LLC" 3891FB o="Xenox Holding BV" 3894E0 o="Syrotech Networks. Ltd." 389592 o="Beijing Tendyron Corporation" 3898D8 o="MERITECH CO.,LTD" 389F5A o="C-Kur TV Inc." 389F83 o="OTN Systems N.V." 38A53C o="COMECER Netherlands" 38A5B6 o="SHENZHEN MEGMEET ELECTRICAL CO.,LTD" 38A851 o="Moog, Ing" 38A86B o="Orga BV" 38A95F o="Actifio Inc" 38AC3D o="Nephos Inc" 38B12D o="Sonotronic Nagel GmbH" 38B4D3,C8D778 o="BSH Hausgeraete GmbH" 38B5BD o="E.G.O. Elektro-Ger" 38B74D o="Fijowave Limited" 38BB23 o="OzVision America LLC" 38BC1A,683E34,90F052 o="MEIZU Technology Co., Ltd." 38BF2F o="Espec Corp." 38C2BA o="CCTV NEOTECH" 38C4E8 o="NSS Sp. z o.o." 38C70A o="WiFiSong" 38C7BA o="CS Services Co.,Ltd." 38C9A9 o="SMART High Reliability Solutions, Inc." 38CA97 o="Contour Design LLC" 38CD07 o="Beijing FaceCam Technology Co., Ltd." 38D135 o="EasyIO Corporation Sdn. Bhd." 38D620 o="Limidea Concept Pte. Ltd." 38D7CA o="7HUGS LABS" 38D9A5 o="Mikotek Information Inc." 38DBBB o="Sunbow Telecom Co., Ltd." 38DE60 o="Mohlenhoff GmbH" 38E26E o="ShenZhen Sweet Rain Electronics Co.,Ltd." 38E8DF o="b gmbh medien + datenbanken" 38E8EE o="Nanjing Youkuo Electric Technology Co., Ltd" 38E98C o="Reco S.p.A." 38EC11 o="Novatek Microelectronics Corp." 38EE9D o="Anedo Ltd." 38EFE3,B40016 o="INGENICO TERMINALS SAS" 38F098 o="Vapor Stone Rail Systems" 38F0C8 o="Livestream" 38F135 o="SensorTec-Canada" 38F32E,D08A55 o="Skullcandy" 38F33F o="TATSUNO CORPORATION" 38F554 o="HISENSE ELECTRIC CO.,LTD" 38F557 o="JOLATA, INC." 38F597 o="home2net GmbH" 38F601 o="SOLID STATE STORAGE TECHNOLOGY CORPORATION" 38F708 o="National Resource Management, Inc." 38F7B2 o="SEOJUN ELECTRIC" 38F8B7 o="V2COM PARTICIPACOES S.A." 38F8CA o="OWIN Inc." 38FEC5 o="Ellips B.V." 3C02B1 o="Creation Technologies LP" 3C04BF o="PRAVIS SYSTEMS Co.Ltd.," 3C05AB o="Product Creation Studio" 3C081E o="Beijing Yupont Electric Power Technology Co.,Ltd" 3C096D o="Powerhouse Dynamics" 3C0C48 o="Servergy, Inc." 3C0C7D o="Tiny Mesh AS" 3C0FC1 o="KBC Networks" 3C1040 o="daesung network" 3C106F o="ALBAHITH TECHNOLOGIES" 3C10E6 o="PHAZR Inc." 3C11B2 o="Fraunhofer FIT" 3C15EA o="TESCOM CO., LTD." 3C18A0,606D3C o="Luxshare Precision Industry Company Limited" 3C1915 o="GFI Chrono Time" 3C1A0F o="ClearSky Data" 3C1A57 o="Cardiopulmonary Corp" 3C1A79 o="Huayuan Technology CO.,LTD" 3C1CBE o="JADAK LLC" 3C1E13 o="HANGZHOU SUNRISE TECHNOLOGY CO., LTD" 3C26D5 o="Sotera Wireless" 3C2763 o="SLE quality engineering GmbH & Co. KG" 3C28A6 o="Alcatel-Lucent Enterprise (China)" 3C2AF4 o="Brother Industries, LTD." 3C2C94 o="杭州德澜科技有限公司(HangZhou Delan Technology Co.,Ltd)" 3C2F3A o="SFORZATO Corp." 3C300C o="Dewar Electronics Pty Ltd" 3C3178 o="Qolsys Inc." 3C3556 o="Cognitec Systems GmbH" 3C3888 o="ConnectQuest, llc" 3C39C3 o="JW Electronics Co., Ltd." 3C3F51 o="2CRSI" 3C404F o="GUANGDONG PISEN ELECTRONICS CO.,LTD" 3C479B o="Theissen Training Systems, Inc." 3C4937 o="ASSMANN Electronic GmbH" 3C4C69 o="Infinity System S.L." 3C4E47 o="Etronic A/S" 3C57BD o="Kessler Crane Inc." 3C57D5 o="FiveCo" 3C5CC3 o="Shenzhen First Blue Chip Technology Ltd" 3C5F01 o="Synerchip Co., Ltd." 3C6278 o="SHENZHEN JETNET TECHNOLOGY CO.,LTD." 3C6716 o="Lily Robotics" 3C672C o="Sciovid Inc." 3C6A7D o="Niigata Power Systems Co., Ltd." 3C6A9D o="Dexatek Technology LTD." 3C6E63 o="Mitron OY" 3C6F45 o="Fiberpro Inc." 3C6FEA o="Panasonic India Pvt. Ltd." 3C6FF7 o="EnTek Systems, Inc." 3C7059 o="MakerBot Industries" 3C7873 o="Airsonics" 3C7F6F,7C240C,90ADFC o="Telechips, Inc." 3C806B o="Hunan Voc Acoustics Technology Co., Ltd." 3C80AA o="Ransnet Singapore Pte Ltd" 3C831E o="CKD Corporation" 3C83B5 o="Advance Vision Electronics Co. Ltd." 3C86A8 o="Sangshin elecom .co,, LTD" 3C894D o="Dr. Ing. h.c. F. Porsche AG" 3C8970 o="Neosfar" 3C89A6 o="KAPELSE" 3C8AE5 o="Tensun Information Technology(Hangzhou) Co.,LTD" 3C8F06 o="Shenzhen Libtor Technology Co.,Ltd" 3C9066,E82C6D o="SmartRG, Inc." 3C912B o="Vexata Inc" 3C9174 o="ALONG COMMUNICATION TECHNOLOGY" 3C92DC o="Octopod Technology Co. Ltd." 3C970E,482AE3,54EE75,94DF4E o="Wistron InfoComm(Kunshan)Co.,Ltd." 3C977E o="IPS Technology Limited" 3C98BF o="Quest Controls, Inc." 3C99F7 o="Lansentechnology AB" 3C9F81 o="Shenzhen CATIC Bit Communications Technology Co.,Ltd" 3CA315 o="Bless Information & Communications Co., Ltd" 3CA31A o="Oilfind International LLC" 3CAA3F o="iKey, Ltd." 3CAE69 o="ESA Elektroschaltanlagen Grimma GmbH" 3CB17F o="Wattwatchers Pty Ld" 3CB53D o="HUNAN GOKE MICROELECTRONICS CO.,LTD" 3CB72B o="PLUMgrid Inc" 3CB792 o="Hitachi Maxell, Ltd., Optronics Division" 3CB9A6 o="Belden Deutschland GmbH" 3CBB73,40C81F o="Shenzhen Xinguodu Technology Co., Ltd." 3CBD3E,8C5AF8,C82832,D45EEC,E0B655,E4DB6D,ECFA5C o="Beijing Xiaomi Electronics Co., Ltd." 3CBDD8,3CCD93,9893CC,C041F6,CC2D8C,E85B5B o="LG ELECTRONICS INC" 3CC079 o="Shenzhen One-Nine Intelligent Electronic Science and Technology Co., Ltd" 3CC0C6 o="d&b audiotechnik GmbH" 3CC12C o="AES Corporation" 3CC1F6 o="Melange Systems Pvt. Ltd." 3CC2E1 o="XINHUA CONTROL ENGINEERING CO.,LTD" 3CC99E o="Huiyang Technology Co., Ltd" 3CCA87 o="Iders Incorporated" 3CCD5A o="Technische Alternative GmbH" 3CCE15 o="Mercedes-Benz USA, LLC" 3CCF5B,580454 o="ICOMM HK LIMITED" 3CD16E o="Telepower Communication Co., Ltd" 3CD4D6 o="WirelessWERX, Inc" 3CD7DA o="SK Mtek microelectronics(shenzhen)limited" 3CD9CE o="Eclipse WiFi" 3CDA6D o="Tiandy Technologies CO.,LTD" 3CDD89 o="SOMO HOLDINGS & TECH. CO.,LTD." 3CE5B4 o="KIDASEN INDUSTRIA E COMERCIO DE ANTENAS LTDA" 3CE624 o="LG Display" 3CEAF9 o="JUBIXCOLTD" 3CEAFB o="NSE AG" 3CF392 o="Virtualtek. Co. Ltd" 3CF4F9 o="Moda-InnoChips" 3CF52C o="DSPECIALISTS GmbH" 3CF748 o="Shenzhen Linsn Technology Development Co.,Ltd" 3CFB96 o="Emcraft Systems LLC" 4000E0 o="Derek(Shaoguan)Limited" 400107 o="Arista Corp" 40040C o="A&T" 4007C0 o="Railtec Systems GmbH" 400E67 o="Tremol Ltd." 4011DC o="Sonance" 4012E4 o="Compass-EOS" 4013D9 o="Global ES" 401597 o="Protect America, Inc." 4016FA o="EKM Metering" 4017E2 o="INTAI TECHNOLOGY CORP." 401D59 o="Biometric Associates, LP" 4022ED o="Digital Projection Ltd" 40270B o="Mobileeco Co., Ltd" 402814 o="RFI Engineering" 402B69 o="Kumho Electric Inc." 403067 o="Conlog (Pty) Ltd" 40336C o="Godrej & Boyce Mfg. co. ltd" 4037AD o="Macro Image Technology, Inc." 404022,A43111 o="ZIV" 40406B o="Icomera" 404229 o="Layer3TV, Inc" 4045DA o="Spreadtrum Communications (Shanghai) Co., Ltd." 40476A o="AG Acquisition Corp. d.b.a. ASTRO Gaming" 40498A o="Synapticon GmbH" 404A18 o="Addrek Smart Solutions" 404AD4,84D4C8 o="Widex A/S" 404EEB o="Higher Way Electronic Co., Ltd." 4050B5 o="Shenzhen New Species Technology Co., Ltd." 4050E0 o="Milton Security Group LLC" 40516C o="Grandex International Corporation" 40520D o="Pico Technology" 4054E4 o="Wearsafe Labs Inc" 40560C o="In Home Displays Ltd" 40562D o="Smartron India Pvt ltd" 405662 o="GuoTengShengHua Electronics LTD." 405A9B o="ANOVO" 405EE1 o="Shenzhen H&T Intelligent Control Co.,Ltd." 40605A o="Hawkeye Tech Co. Ltd" 406186 o="MICRO-STAR INT'L CO.,LTD" 40618E o="Stella-Green Co" 406231 o="GIFA" 4062B6 o="Tele system communication" 40667A o="mediola - connected living AG" 406826 o="Thales UK Limited" 406A8E o="Hangzhou Puwell OE Tech Ltd." 40704A o="Power Idea Technology Limited" 407074 o="Life Technology (China) Co., Ltd" 407496 o="aFUN TECHNOLOGY INC." 407875 o="IMBEL - Industria de Material Belico do Brasil" 407B1B o="Mettle Networks Inc." 407FE0 o="Glory Star Technics (ShenZhen) Limited" 408256 o="Continental Automotive GmbH" 408493 o="Clavister AB" 40862E o="JDM MOBILE INTERNET SOLUTION CO., LTD." 4088E0 o="Beijing Ereneben Information Technology Limited Shenzhen Branch" 408A9A o="TITENG CO., Ltd." 408BF6,5CAD76 o="Shenzhen TCL New Technology Co., Ltd" 409558,40987B o="Aisino Corporation" 4095BD o="NTmore.Co.,Ltd" 4097D1 o="BK Electronics cc" 40984C o="Casacom Solutions AG" 409B0D o="Shenzhen Yourf Kwan Industrial Co., Ltd" 409F87 o="Jide Technology (Hong Kong) Limited" 409FC7 o="BAEKCHUN I&C Co., Ltd." 40A6A4 o="PassivSystems Ltd" 40A93F o="Pivotal Commware, Inc." 40AC8D o="Data Management, Inc." 40B3CD o="Chiyoda Electronics Co.,Ltd." 40B3FC o="Logital Co. Limited" 40B688 o="LEGIC Identsystems AG" 40B6B1 o="SUNGSAM CO,.Ltd" 40BC73 o="Cronoplast S.L." 40BC8B o="itelio GmbH" 40BD9E o="Physio-Control, Inc" 40BF17 o="Digistar Telecom. SA" 40C245 o="Shenzhen Hexicom Technology Co., Ltd." 40C3C6 o="SnapRoute" 40C4D6 o="ChongQing Camyu Technology Development Co.,Ltd." 40C62A o="Shanghai Jing Ren Electronic Technology Co., Ltd." 40C7C9 o="Naviit Inc." 40C8CB o="AM Telecom co., Ltd." 40CD3A o="Z3 Technology" 40D357 o="Ison Technology Co., Ltd." 40D40E o="Biodata Ltd" 40D559 o="MICRO S.E.R.I." 40D63C o="Equitech Industrial(DongGuan)Co.,Ltd" 40DC9D o="HAJEN" 40DF02 o="LINE BIZ Plus" 40E730 o="DEY Storage Systems, Inc." 40E793 o="Shenzhen Siviton Technology Co.,Ltd" 40EACE o="FOUNDER BROADBAND NETWORK SERVICE CO.,LTD" 40F14C o="ISE Europe SPRL" 40F21C o="DASAN Zhone Solutions" 40F413 o="Rubezh" 40F52E o="Leica Microsystems (Schweiz) AG" 40F9D5 o="Tecore Networks" 40FA7F o="Preh Car Connect GmbH" 40FE0D o="MAXIO" 4409B8 o="Salcomp (Shenzhen) CO., LTD." 440CFD o="NetMan Co., Ltd." 4410FE o="Huizhou Foryou General Electronics Co., Ltd." 4411C2 o="Telegartner Karl Gartner GmbH" 441319 o="WKK TECHNOLOGY LTD." 441441 o="AudioControl Inc." 441847 o="HUNAN SCROWN ELECTRONIC INFORMATION TECH.CO.,LTD" 44184F o="Fitview" 441E91 o="ARVIDA Intelligent Electronics Technology Co.,Ltd." 4422F1 o="S.FAC, INC" 44237C,50D2F5,50EC50,5CE50C,6490C1,88C397,8C53C3 o="Beijing Xiaomi Mobile Software Co., Ltd" 4423AA o="Farmage Co., Ltd." 4425BB o="Bamboo Entertainment Corporation" 4428A3 o="Jiangsu fulian Communication Technology Co., Ltd." 442938 o="NietZsche enterprise Co.Ltd." 442AFF o="E3 Technology, Inc." 44348F o="MXT INDUSTRIAL LTDA" 44356F o="Neterix" 443708,DC4D23 o="MRV Comunications" 443719 o="2 Save Energy Ltd" 44376F o="Young Electric Sign Co" 443839 o="Cumulus Networks, inc" 443C88 o="FICOSA MAROC INTERNATIONAL" 443C9C o="Pintsch Tiefenbach GmbH" 443D21 o="Nuvolt" 443E07 o="Electrolux" 443EB2 o="DEOTRON Co., LTD." 44422F o="TESTOP CO.,LTD." 444450 o="OttoQ" 444687,5885A2,5885E9,705E55,9C6B72,D028BA o="Realme Chongqing MobileTelecommunications Corp Ltd" 444A65 o="Silverflare Ltd." 444AB0 o="Zhejiang Moorgen Intelligence Technology Co., Ltd" 444B5D o="GE Healthcare" 444F5E o="Pan Studios Co.,Ltd." 4451DB o="Raytheon BBN Technologies" 4454C0 o="Thompson Aerospace" 44568D o="PNC Technologies Co., Ltd." 4456B7 o="Spawn Labs, Inc" 44599F o="Criticare Systems, Inc" 445D5E o="SHENZHEN Coolkit Technology CO.,LTD" 445ECD o="Razer Inc" 445EF3 o="Tonalite Holding B.V." 445F7A o="Shihlin Electric & Engineering Corp." 445F8C o="Intercel Group Limited" 446132 o="ecobee inc" 44619C o="FONsystem co. ltd." 446246 o="Comat AG" 44656A o="Mega Video Electronic(HK) Industry Co., Ltd" 44666E o="IP-LINE" 446755 o="Orbit Irrigation" 4468AB o="JUIN COMPANY, LIMITED" 446C24 o="Reallin Electronic Co.,Ltd" 44700B o="IFFU" 447098 o="MING HONG TECHNOLOGY (SHEN ZHEN) LIMITED" 4473D6,C8DB26 o="Logitech" 447BC4 o="DualShine Technology(SZ)Co.,Ltd" 447C7F o="Innolight Technology Corporation" 447DA5 o="VTION INFORMATION TECHNOLOGY (FUJIAN) CO.,LTD" 447E76 o="Trek Technology (S) Pte Ltd" 447E95 o="Alpha and Omega, Inc" 448312 o="Star-Net" 4486C1 o="Siemens Low Voltage & Products" 448723 o="HOYA SERVICE CORPORATION" 4488CB o="Camco Technologies NV" 448A5B o="Micro-Star INT'L CO., LTD." 448C52 o="KTIS CO., Ltd" 448E12 o="DT Research, Inc." 448E81 o="VIG" 4491DB,902181 o="Shanghai Huaqin Telecom Technology Co.,Ltd" 4495FA o="Qingdao Santong Digital Technology Co.Ltd" 44962B o="Aidon Oy" 449B78 o="The Now Factory" 449CB5 o="Alcomp, Inc" 449F7F o="DataCore Software Corporation" 44A466 o="GROUPE LDLC" 44A61E o="INGRAM MICRO SERVICES" 44A689 o="PROMAX ELECTRONICA SA" 44A6E5 o="THINKING TECHNOLOGY CO.,LTD" 44A8C2 o="SEWOO TECH CO., LTD" 44AA27 o="udworks Co., Ltd." 44AAE8 o="Nanotec Electronic GmbH & Co. KG" 44AD19 o="XINGFEI (H.K)LIMITED" 44B382 o="Kuang-chi Institute of Advanced Technology" 44B412 o="SIUS AG" 44B433 o="tide.co.,ltd" 44B462,C8C64A,F8D478 o="Flextronics Tech.(Ind) Pvt Ltd" 44B994 o="Douglas Lighting Controls" 44BFE3 o="Shenzhen Longtech Electronics Co.,Ltd" 44C233 o="Guangzhou Comet Technology Development Co.Ltd" 44C306 o="SIFROM Inc." 44C39B o="OOO RUBEZH NPO" 44C4A9 o="Opticom Communication, LLC" 44C56F o="NGN Easy Satfinder (Tianjin) Electronic Co., Ltd" 44C69B o="Wuhan Feng Tian Information Network CO.,LTD" 44C9A2 o="Greenwald Industries" 44D15E o="Shanghai Kingto Information Technology Ltd" 44D1FA o="Shenzhen Yunlink Technology Co., Ltd" 44D2CA o="Anvia TV Oy" 44D5A5 o="AddOn Computer" 44D63D o="Talari Networks" 44D6E1 o="Snuza International Pty. Ltd." 44DCCB o="SEMINDIA SYSTEMS PVT LTD" 44E49A o="OMNITRONICS PTY LTD" 44E8A5 o="Myreka Technologies Sdn. Bhd." 44EA4B o="Actlas Inc." 44ED57 o="Longicorn, inc." 44EE02 o="MTI Ltd." 44EE30 o="Budelmann Elektronik GmbH" 44EFCF o="UGENE SOLUTION inc." 44F849 o="Union Pacific Railroad" 44FDA3 o="Everysight LTD." 4801C5,4C4FEE,5C17CF,64A2F9,94652D,9809CF o="OnePlus Technology (Shenzhen) Co., Ltd" 48022A o="B-Link Electronic Limited" 480362 o="DESAY ELECTRONICS(HUIZHOU)CO.,LTD" 48049F o="ELECOM CO., LTD" 48066A o="Tempered Networks, Inc." 481063 o="NTT Innovation Institute, Inc." 481249 o="Luxcom Technologies Inc." 48174C o="MicroPower technologies" 481842 o="Shanghai Winaas Co. Equipment Co. Ltd." 4818FA o="Nocsys" 481A84 o="Pointer Telocation Ltd" 481BD2 o="Intron Scientific co., ltd." 4826E8 o="Tek-Air Systems, Inc." 482759 o="Levven Electronics Ltd." 482CEA o="Motorola Inc Business Light Radios" 4833DD o="ZENNIO AVANCE Y TECNOLOGIA, S.L." 48343D o="IEP GmbH" 48352E o="Shenzhen Wolck Network Product Co.,LTD" 483974 o="Proware Technologies Co., Ltd." 483D32 o="Syscor Controls & Automation" 4846F1 o="Uros Oy" 484A30 o="George Robotics Limited" 485261 o="SOREEL" 485415 o="NET RULES TECNOLOGIA EIRELI" 48555C,D84DB9 o="Wu Qi Technologies,Inc." 4857DD,A40E2B o="Facebook Inc" 485A3F o="WISOL" 485DEB o="Just Add Power" 4861A3 o="Concern %Axion% JSC" 486834 o="Silicon Motion, Inc." 486B91 o="Fleetwood Group Inc." 486E73 o="Pica8, Inc." 486EFB o="Davit System Technology Co., Ltd." 486FD2 o="StorSimple Inc" 487119 o="SGB GROUP LTD." 487583 o="Intellion AG" 487AF6 o="NCS ELECTRICAL SDN BHD" 487B5E o="SMT TELECOMM HK" 488244 o="Life Fitness / Div. of Brunswick" 4882F2 o="Appel Elektronik GmbH" 48872D o="SHEN ZHEN DA XIA LONG QUE TECHNOLOGY CO.,LTD" 488803 o="ManTechnology Inc." 48881E o="EthoSwitch LLC" 488E42 o="DIGALOG GmbH" 489153 o="Weinmann Geräte für Medizin GmbH + Co. KG" 4891F6 o="Shenzhen Reach software technology CO.,LTD" 489A42 o="Technomate Ltd" 489BE2 o="SCI Innovations Ltd" 489D18 o="Flashbay Limited" 48A22D o="Shenzhen Huaxuchang Telecom Technology Co.,Ltd" 48A2B7 o="Kodofon JSC" 48A493,AC3FA4 o="TAIYO YUDEN CO.,LTD" 48A6D2 o="GJsun Optical Science and Tech Co.,Ltd." 48AA5D o="Store Electronic Systems" 48B02D o="NVIDIA Corporation" 48B253 o="Marketaxess Corporation" 48B5A7 o="Glory Horse Industries Ltd." 48B620 o="ROLI Ltd." 48B8DE o="HOMEWINS TECHNOLOGY CO.,LTD." 48B977 o="PulseOn Oy" 48B9C2 o="Teletics Inc." 48BCA6 o="​ASUNG TECHNO CO.,Ltd" 48BE2D o="Symanitron" 48BF74 o="Baicells Technologies Co.,LTD" 48C049 o="Broad Telecom SA" 48C093 o="Xirrus, Inc." 48C3B0 o="Pharos Co.Ltd" 48C58D o="Lear Corporation GmbH" 48C663 o="GTO Access Systems LLC" 48C862 o="Simo Wireless,Inc." 48C8B6 o="SysTec GmbH" 48CB6E o="Cello Electronics (UK) Ltd" 48D18E o="Metis Communication Co.,Ltd" 48D54C o="Jeda Networks" 48D7FF o="BLANKOM Antennentechnik GmbH" 48D845 o="Shenzhen Mainuoke Electronics Co., Ltd" 48D855 o="Telvent" 48D875 o="China TransInfo Technology Co., Ltd" 48D8FE o="ClarIDy Solutions, Inc." 48DA96 o="Eddy Smart Home Solutions Inc." 48DF1C o="Wuhan NEC Fibre Optic Communications industry Co. Ltd" 48E1AF o="Vity" 48E1E9 o="Chengdu Meross Technology Co., Ltd." 48E3C3 o="JENOPTIK Advanced Systems GmbH" 48E695 o="Insigma Inc" 48EA63 o="Zhejiang Uniview Technologies Co., Ltd." 48EB30 o="ETERNA TECHNOLOGY, INC." 48ED80 o="daesung eltec" 48EE07 o="Silver Palm Technologies LLC" 48EE86 o="UTStarcom (China) Co.,Ltd" 48F027 o="Chengdu newifi Co.,Ltd" 48F230 o="Ubizcore Co.,LTD" 48F47D o="TechVision Holding Internation Limited" 48F925 o="Maestronic" 48FCB8 o="Woodstream Corporation" 48FEEA o="HOMA B.V." 4C022E o="CMR KOREA CO., LTD" 4C0289 o="LEX COMPUTECH CO., LTD" 4C068A o="Basler Electric Company" 4C07C9 o="COMPUTER OFFICE Co.,Ltd." 4C0A3D o="ADNACOM INC." 4C1159 o="Vision Information & Communications" 4C1365 o="Emplus Technologies" 4C1480 o="NOREGON SYSTEMS, INC" 4C1694 o="shenzhen sibituo Technology Co., Ltd" 4C1A3A o="PRIMA Research And Production Enterprise Ltd." 4C1A95 o="Novakon Co., Ltd." 4C218C o="Panasonic India Private limited" 4C2258 o="cozybit, Inc." 4C26E7 o="Welgate Co., Ltd." 4C2C80 o="Beijing Skyway Technologies Co.,Ltd" 4C2C83 o="Zhejiang KaNong Network Technology Co.,Ltd." 4C2F9D o="ICM Controls" 4C3089 o="Thales Transportation Systems GmbH" 4C322D o="TELEDATA NETWORKS" 4C32D9 o="M Rutty Holdings Pty. Ltd." 4C334E o="HIGHTECH" 4C364E o="Panasonic Corporation Connected Solutions Company" 4C3909 o="HPL Electric & Power Private Limited" 4C3910 o="Newtek Electronics co., Ltd." 4C3B74 o="VOGTEC(H.K.) Co., Ltd" 4C4576 o="China Mobile(Hangzhou) Information Technology Co.,Ltd." 4C48DA o="Beijing Autelan Technology Co.,Ltd" 4C4B68 o="Mobile Device, Inc." 4C4D66,90C35F o="Nanjing Jiahao Technology Co., Ltd." 4C5427 o="Linepro Sp. z o.o." 4C5585 o="Hamilton Systems" 4C55B8 o="Turkcell Teknoloji" 4C55CC o="Zentri Pty Ltd" 4C56DF o="Targus US LLC" 4C5DCD o="Oy Finnish Electric Vehicle Technologies Ltd" 4C60D5 o="airPointe of New Hampshire" 4C6255 o="SANMINA-SCI SYSTEM DE MEXICO S.A. DE C.V." 4C63EB,C0BAE6 o="Application Solutions (Electronics and Vision) Ltd" 4C64D9 o="Guangdong Leawin Group Co., Ltd" 4C6C13 o="IoT Company Solucoes Tecnologicas Ltda" 4C6E6E o="Comnect Technology CO.,LTD" 4C7367 o="Genius Bytes Software Solutions GmbH" 4C73A5 o="KOVE" 4C7403,B49D0B o="BQ" 4C7487 o="Leader Phone Communication Technology Co., Ltd." 4C774F o="Embedded Wireless Labs" 4C7872 o="Cav. Uff. Giacomo Cimberio S.p.A." 4C7897 o="Arrowhead Alarm Products Ltd" 4C7A48 o="Nippon Seiki (Europe) B.V." 4C804F o="Armstrong Monitoring Corp" 4C8B55 o="Grupo Digicon" 4C8ECC o="SILKAN SA" 4C90DB o="JL Audio" 4C910C o="Lanix Internacional, S.A. de C.V." 4C962D o="Fresh AB" 4C98EF o="Zeo" 4C9E80 o="KYOKKO ELECTRIC Co., Ltd." 4C9EE4 o="Hanyang Navicom Co.,Ltd." 4CA003 o="VITEC" 4CA161 o="Rain Bird Corporation" 4CA515 o="Baikal Electronics JSC" 4CA928 o="Insensi" 4CAB33 o="KST technology" 4CADA8 o="PANOPTICS CORP." 4CAE1C o="SaiNXT Technologies LLP" 4CAE31 o="ShengHai Electronics (Shenzhen) Ltd" 4CB008 o="Shenzhen Gwelltimes Technology Co.,Ltd" 4CB0E8 o="Beijing RongZhi xinghua technology co., LTD" 4CB21C o="Maxphotonics Co.,Ltd" 4CB44A o="NANOWAVE Technologies Inc." 4CB4EA o="HRD (S) PTE., LTD." 4CB76D o="Novi Security" 4CB81C o="SAM Electronics GmbH" 4CB82C o="Cambridge Mobile Telematics, Inc." 4CB9C8 o="CONET CO., LTD." 4CBAA3 o="Bison Electronics Inc." 4CBB58,645A04,907F61,B0C090 o="Chicony Electronics Co., Ltd." 4CBC42 o="Shenzhen Hangsheng Electronics Co.,Ltd." 4CBCB4 o="ABB SpA - DIN Rail" 4CC206 o="Somfy" 4CC452 o="Shang Hai Tyd. Electon Technology Ltd." 4CC602 o="Radios, Inc." 4CC681 o="Shenzhen Aisat Electronic Co., Ltd." 4CCA53 o="Skyera, Inc." 4CCC34 o="Motorola Solutions Inc." 4CD637 o="Qsono Electronics Co., Ltd" 4CD7B6 o="Helmer Scientific" 4CD9C4 o="Magneti Marelli Automotive Electronics (Guangzhou) Co. Ltd" 4CDC0D o="Coral Telecom Limited" 4CDD7D o="LHP Telematics LLC" 4CDF3D o="TEAM ENGINEERS ADVANCE TECHNOLOGIES INDIA PVT LTD" 4CE1BB o="Zhuhai HiFocus Technology Co., Ltd." 4CE2F1 o="sclak srl" 4CE5AE o="Tianjin Beebox Intelligent Technology Co.,Ltd." 4CE933 o="RailComm, LLC" 4CECEF o="Soraa, Inc." 4CEEB0 o="SHC Netzwerktechnik GmbH" 4CF02E o="Vifa Denmark A/S" 4CF19E o="Groupe Atlantic" 4CF45B o="Blue Clover Devices" 4CF5A0 o="Scalable Network Technologies Inc" 4CF737 o="SamJi Electronics Co., Ltd" 4CFBFE o="Sercomm Japan Corporation" 4CFF12 o="Fuze Entertainment Co., ltd" 500084 o="Siemens Canada" 50008C o="Hong Kong Telecommunications (HKT) Limited" 50053D o="CyWee Group Ltd" 500B32 o="Foxda Technology Industrial(ShenZhen)Co.,LTD" 500E6D o="TrafficCast International" 5011EB o="SilverNet Ltd" 501408 o="AiNET" 501479 o="iRobot Corporation" 5014B5 o="Richfit Information Technology Co., Ltd" 50184C o="Platina Systems Inc." 501E2D o="StreamUnlimited Engineering GmbH" 50206B o="Emerson Climate Technologies Transportation Solutions" 502267 o="PixeLINK" 50252B o="Nethra Imaging Incorporated" 5027C7 o="TECHNART Co.,Ltd" 50294D o="NANJING IOT SENSOR TECHNOLOGY CO,LTD" 502A7E o="Smart electronic GmbH" 502A8B o="Telekom Research and Development Sdn Bhd" 502B98 o="Es-tech International" 502CC6,9424B8,C03937 o="GREE ELECTRIC APPLIANCES, INC. OF ZHUHAI" 502DF4 o="Phytec Messtechnik GmbH" 502ECE o="Asahi Electronics Co.,Ltd" 5031AD o="ABB Global Industries and Services Private Limited" 5033F0 o="YICHEN (SHENZHEN) TECHNOLOGY CO.LTD" 503A7D o="AlphaTech PLC Int’l Co., Ltd." 503E7C o="LeiShen Intelligent System Co.Ltd" 503F56 o="Syncmold Enterprise Corp" 503F98 o="CMITECH" 5043B9 o="OktoInform RUS" 5045F7 o="Liuhe Intelligence Technology Ltd." 5048EB o="BEIJING HAIHEJINSHENG NETWORK TECHNOLOGY CO. LTD." 504A5E,8809AF,B810D4,C816A5,E0C2B7 o="Masimo Corporation" 504B5B o="CONTROLtronic GmbH" 504C7E o="THE 41ST INSTITUTE OF CETC" 504F94 o="Loxone Electronics GmbH" 50502A o="Egardia" 505065 o="TAKT Corporation" 5050CE o="Hangzhou Dianyixia Communication Technology Co. Ltd." 5052D2 o="Hangzhou Telin Technologies Co., Limited" 5056A8 o="Jolla Ltd" 505800 o="WyTec International, Inc." 50584F o="waytotec,Inc." 505967 o="Intent Solutions Inc" 505AC6 o="GUANGDONG SUPER TELECOM CO.,LTD." 506028 o="Xirrus Inc." 5061D6 o="Indu-Sol GmbH" 506441 o="Greenlee" 506787 o="Planet Networks" 506B8D o="Nutanix" 506CBE o="InnosiliconTechnology Ltd" 506E92 o="Innocent Technology Co., Ltd." 506F98 o="Sehaj Synergy Technologies Private Limited" 506F9A,D45C70 o="Wi-Fi Alliance" 5070E5 o="He Shan World Fair Electronics Technology Limited" 50724D o="BEG Brueck Electronic GmbH" 507691 o="Tekpea, Inc." 5076A6 o="Ecil Informatica Ind. Com. Ltda" 50795B o="Interexport Telecomunicaciones S.A." 507B9D,54E1AD,68F728,8C1645,98FA9B,C85B76,E86A64,F875A4 o="LCFC(HeFei) Electronics Technology co., ltd" 507D02 o="BIODIT" 50804A,546503,80FBF0,90BDE6 o="Quectel Wireless Solutions Co., Ltd." 5087B8 o="Nuvyyo Inc" 508A0F o="SHENZHEN FISE TECHNOLOGY HOLDING CO.,LTD." 508A42 o="Uptmate Technology Co., LTD" 508ACB o="SHENZHEN MAXMADE TECHNOLOGY CO., LTD." 508C77 o="DIRMEIER Schanktechnik GmbH &Co KG" 508D6F o="CHAHOO Limited" 50934F o="Gradual Tecnologia Ltda." 509772 o="Westinghouse Digital" 509871 o="Inventum Technologies Private Limited" 5098F3 o="Rheem Australia Pty Ltd" 50A054 o="Actineon" 50A0BF o="Alba Fiber Systems Inc." 50A132,B899AE o="Shenzhen MiaoMing Intelligent Technology Co.,Ltd" 50A6E3 o="David Clark Company" 50A715 o="Aboundi, Inc." 50A9DE o="Smartcom - Bulgaria AD" 50AB3E o="Qibixx AG" 50ABBF o="Hoseo Telecom" 50AD71 o="Tessolve Semiconductor Private Limited" 50AD92 o="NX Technologies" 50ADD5 o="Dynalec Corporation" 50AF73 o="Shenzhen Bitland Information Technology Co., Ltd." 50B363 o="Digitron da Amazonia S/A" 50B695 o="Micropoint Biotechnologies,Inc." 50B888 o="wi2be Tecnologia S/A" 50B8A2 o="ImTech Technologies LLC," 50C006 o="Carmanah Signs" 50C271 o="SECURETECH INC" 50C9A0 o="SKIPPER AS" 50CD32 o="NanJing Chaoran Science & Technology Co.,Ltd." 50CE75 o="Measy Electronics Co., Ltd." 50CEE3 o="Gigafirm.co.LTD" 50D213 o="CviLux Corporation" 50D274 o="Steffes Corporation" 50D37F o="Yu Fly Mikly Way Science and Technology Co., Ltd." 50D59C o="Thai Habel Industrial Co., Ltd." 50D6D7 o="Takahata Precision" 50D753 o="CONELCOM GmbH" 50DCFC o="ECOCOM" 50DD4F o="Automation Components, Inc" 50E0C7 o="TurControlSystme AG" 50E666 o="Shenzhen Techtion Electronics Co., Ltd." 50E971 o="Jibo, Inc." 50ED78 o="Changzhou Yongse Infotech Co.,Ltd" 50ED94 o="EGATEL SL" 50F003 o="Open Stack, Inc." 50F43C o="Leeo Inc" 50F61A o="Kunshan JADE Technologies co., Ltd." 50F8A5 o="eWBM Co., Ltd." 50FAAB o="L-tek d.o.o." 50FC30 o="Treehouse Labs" 50FEF2 o="Sify Technologies Ltd" 50FF20 o="Keenetic Limited" 540237 o="Teltronic AG" 5403F5 o="EBN Technology Corp." 540496 o="Gigawave LTD" 540536 o="Vivago Oy" 540593 o="WOORI ELEC Co.,Ltd" 54068B o="Ningbo Deli Kebei Technology Co.LTD" 54098D o="deister electronic GmbH" 541031 o="SMARTO" 54112F o="Sulzer Pump Solutions Finland Oy" 54115F o="Atamo Pty Ltd" 5414FD o="Orbbec 3D Technology International" 541B5D o="Techno-Innov" 541DFB o="Freestyle Energy Ltd" 541FD5 o="Advantage Electronics" 542018 o="Tely Labs" 542160 o="Alula" 54276C o="Jiangsu Houge Technology Corp." 54278D,B87C6F o="NXP (China) Management Ltd." 542A9C o="LSY Defense, LLC." 542B57 o="Night Owl SP" 542CEA o="PROTECTRON" 542F89 o="Euclid Laboratories, Inc." 543131 o="Raster Vision Ltd" 5435DF o="Symeo GmbH" 54369B o="1Verge Internet Technology (Beijing) Co., Ltd." 543968 o="Edgewater Networks Inc" 543B30 o="duagon AG" 54466B o="Shenzhen CZTIC Electronic Technology Co., Ltd" 544741 o="XCHENG HOLDING" 5447D3 o="TSAT AS" 54489C o="CDOUBLES ELECTRONICS CO. LTD." 5448E6 o="Beijing Xiaomi Mobile Software Co.,Ltd" 544A05 o="wenglor sensoric gmbh" 545146 o="AMG Systems Ltd." 545414 o="Digital RF Corea, Inc" 5454CF o="PROBEDIGITAL CO.,LTD" 545EBD o="NL Technologies" 546172 o="ZODIAC AEROSPACE SAS" 5461EA o="Zaplox AB" 546AD8 o="Elster Water Metering" 546D52 o="TOPVIEW OPTRONICS CORP." 547398 o="Toyo Electronics Corporation" 5474E6 o="Webtech Wireless" 547A52 o="CTE International srl" 547F54,54E140 o="INGENICO" 547FA8 o="TELCO systems, s.r.o." 547FBC o="iodyne" 5481AD o="Eagle Research Corporation" 54847B o="Digital Devices GmbH" 548922 o="Zelfy Inc" 549359,6CEFC6 o="SHENZHEN TWOWING TECHNOLOGIES CO.,LTD." 549478 o="Silvershore Technology Partners" 549A16 o="Uzushio Electric Co.,Ltd." 549A4C o="GUANGDONG HOMECARE TECHNOLOGY CO.,LTD." 549C27 o="Plasma Cloud Limited" 549D85 o="EnerAccess inc" 549FAE o="iBASE Gaming Inc" 54A04F o="t-mac Technologies Ltd" 54A31B o="Shenzhen Linkworld Technology Co,.LTD" 54A3FA o="BQT Solutions (Australia)Pty Ltd" 54A54B o="NSC Communications Siberia Ltd" 54A9D4 o="Minibar Systems" 54AED0 o="DASAN Networks, Inc." 54B56C o="Xi'an NovaStar Tech Co., Ltd" 54B620 o="SUHDOL E&C Co.Ltd." 54B753 o="Hunan Fenghui Yinjia Science And Technology Co.,Ltd" 54CDA7 o="Fujian Shenzhou Electronic Co.,Ltd" 54CDEE o="ShenZhen Apexis Electronic Co.,Ltd" 54CE69 o="Hikari Trading Co.,Ltd." 54D0B4 o="Xiamen Four-Faith Communication Technology Co.,Ltd" 54D0ED o="AXIM Communications" 54D163 o="MAX-TECH,INC" 54D1B0 o="Universal Laser Systems, Inc" 54D272 o="Nuki Home Solutions GmbH" 54D751 o="Proximus" 54D9E4 o="BRILLIANTTS CO., LTD" 54DED0 o="Sevio Srl" 54DF00 o="Ulterius Technologies, LLC" 54DF63 o="Intrakey technologies GmbH" 54E019 o="Ring LLC" 54E2C8 o="Dongguan Aoyuan Electronics Technology Co., Ltd" 54E3B0 o="JVL Industri Elektronik" 54E4A9 o="BHR Tech GmbH" 54E63F o="ShenZhen LingKeWeiEr Technology Co., Ltd." 54E7D5,68A47D,A44B15 o="Sun Cupid Technology (HK) LTD" 54EDA3 o="Navdy, Inc." 54EF44 o="Lumi United Technology Co., Ltd" 54EF92 o="Shenzhen Elink Technology Co., LTD" 54EFFE o="Fullpower Technologies, Inc." 54F5B6 o="ORIENTAL PACIFIC INTERNATIONAL LIMITED" 54F666 o="Berthold Technologies GmbH and Co.KG" 54F876 o="ABB AG" 54FB58 o="WISEWARE, Lda" 54FDBF o="Scheidt & Bachmann GmbH" 54FF82 o="Davit Solution co." 54FFCF o="Mopria Alliance" 5804CB o="Tianjin Huisun Technology Co.,Ltd." 580528 o="LABRIS NETWORKS" 580556 o="Elettronica GF S.r.L." 5808FA o="Fiber Optic & telecommunication INC." 5809E5 o="Kivic Inc." 581CBD o="Affinegy" 581D91 o="Advanced Mobile Telecom co.,ltd." 581F67 o="Open-m technology limited" 581FEF o="Tuttnaer LTD" 582136 o="KMB systems, s.r.o." 5821E9 o="TWPI" 582BDB o="Pax AB" 582D34 o="Qingping Electronics (Suzhou) Co., Ltd" 582EFE o="Lighting Science Group" 582F42,D82477 o="Universal Electric Corporation" 583112 o="DRUST" 583277 o="Reliance Communications LLC" 58343B o="Glovast Technology Ltd." 583526 o="DEEPLET TECHNOLOGY CORP" 583879 o="RICOH COMPANY, LTD." 583CC6 o="Omneality Ltd." 5842E4,5846E1 o="Baxter International Inc" 58468F o="Koncar Electronics and Informatics" 584704 o="Shenzhen Webridge Technology Co.,Ltd" 5848C0 o="COFLEC" 584925 o="E3 Enterprise" 5849BA o="Chitai Electronic Corp." 584C19 o="Chongqing Guohong Technology Development Company Limited" 584CEE o="Digital One Technologies, Limited" 585076 o="Linear Equipamentos Eletronicos SA" 5850AB o="TLS Corporation" 5850E6 o="Best Buy Corporation" 5853C0 o="Beijing Guang Runtong Technology Development Company co.,Ltd" 58570D o="Danfoss Solar Inverters" 586163 o="Quantum Networks (SG) Pte. Ltd." 58639A o="TPL SYSTEMES" 5865E6 o="INFOMARK CO., LTD." 58671A,64C667 o="Barnes&Noble" 58677F o="Clare Controls Inc." 58685D o="Tempo Australia Pty Ltd" 5869F9 o="Fusion Transactive Ltd." 5870C6 o="Shanghai Xiaoyi Technology Co., Ltd." 587521 o="CJSC RTSoft" 587675 o="Beijing ECHO Technologies Co.,Ltd" 5876C5 o="DIGI I'S LTD" 587A4D o="Stonesoft Corporation" 587BE9 o="AirPro Technology India Pvt. Ltd" 587FB7 o="SONAR INDUSTRIAL CO., LTD." 587FC8 o="S2M" 58821D o="H. Schomäcker GmbH" 5884E4 o="IP500 Alliance e.V." 58856E o="QSC AG" 58874C o="LITE-ON CLEAN ENERGY TECHNOLOGY CORP." 5887E2,846223,94BA56,A4A80F o="Shenzhen Coship Electronics Co., Ltd." 588D64 o="Xi'an Clevbee Technology Co.,Ltd" 58920D o="Kinetic Avionics Limited" 5894B2 o="BrainCo" 5894CF o="Vertex Standard LMR, Inc." 58986F o="Revolution Display" 589B0B o="Shineway Technologies, Inc." 589CFC o="FreeBSD Foundation" 58A0CB o="TrackNet, Inc" 58A48E o="PixArt Imaging Inc." 58A76F o="iD corporation" 58B0D4 o="ZuniData Systems Inc." 58B42D,7868F7,ACBB61 o="YSTen Technology Co.,Ltd" 58B568 o="SECURITAS DIRECT ESPAÑA, SAU" 58B961 o="SOLEM Electronique" 58B9E1 o="Crystalfontz America, Inc." 58BC8F o="Cognitive Systems Corp." 58BDF9 o="Sigrand" 58C935,CC9F7A o="Chiun Mai Communication Systems, Inc" 58CF4B o="Lufkin Industries" 58D071 o="BW Broadcast" 58D08F,908260,C4E032 o="IEEE 1904.1 Working Group" 58D67A o="TCPlink" 58D6D3 o="Dairy Cheq Inc" 58DB8D o="Fast Co., Ltd." 58DC6D o="Exceptional Innovation, Inc." 58E02C o="Micro Technic A/S" 58E16C o="Ying Hua Information Technology (Shanghai)Co., LTD" 58E326 o="Compass Technologies Inc." 58E476 o="CENTRON COMMUNICATIONS TECHNOLOGIES FUJIAN CO.,LTD" 58E636 o="EVRsafe Technologies" 58E747 o="Deltanet AG" 58E808 o="AUTONICS CORPORATION" 58EAFC o="ELL-IoT Inc" 58EB14 o="Proteus Digital Health" 58ECE1 o="Newport Corporation" 58EECE o="Icon Time Systems" 58F102,CC794A o="BLU Products Inc." 58F387 o="HCCP" 58F496 o="Source Chain" 58F67B o="Xia Men UnionCore Technology LTD." 58F6BF o="Kyoto University" 58F98E o="SECUDOS GmbH" 58FC73 o="Arria Live Media, Inc." 58FD20 o="Bravida Sakerhet AB" 58FDBE o="Shenzhen Taikaida Technology Co., Ltd" 5C0038 o="Viasat Group S.p.A." 5C026A o="Applied Vision Corporation" 5C076F o="Thought Creator" 5C0BCA o="Tunstall Nordic AB" 5C0C0E o="Guizhou Huaxintong Semiconductor Technology Co Ltd" 5C0CBB o="CELIZION Inc." 5C1193 o="Seal One AG" 5C1437 o="Thyssenkrupp Aufzugswerke GmbH" 5C1515 o="ADVAN" 5C15E1 o="AIDC TECHNOLOGY (S) PTE LTD" 5C16C7 o="Big Switch Networks" 5C1737 o="I-View Now, LLC." 5C17D3,64995D,8C541D,B08991 o="LGE" 5C18B5 o="Talon Communications" 5C20D0 o="Asoni Communication Co., Ltd." 5C22C4 o="DAE EUN ELETRONICS CO., LTD" 5C2443 o="O-Sung Telecom Co., Ltd." 5C2479 o="Baltech AG" 5C254C o="Avire Global Pte Ltd" 5C2623 o="WaveLynx Technologies Corporation" 5C2AEF o="r2p Asia-Pacific Pty Ltd" 5C2BF5,A0FE61 o="Vivint Wireless Inc." 5C2ED2 o="ABC(XiSheng) Electronics Co.,Ltd" 5C32C5 o="Teracom Ltd." 5C3327 o="Spazio Italia srl" 5C335C o="Swissphone Telecom AG" 5C35DA o="There Corporation Oy" 5C38E0 o="Shanghai Super Electronics Technology Co.,LTD" 5C3B35 o="Gehirn Inc." 5C4058 o="Jefferson Audio Video Systems, Inc." 5C415A o="Amazon.com, LLC" 5C41E7 o="Wiatec International Ltd." 5C43D2 o="HAZEMEYER" 5C4A26 o="Enguity Technology Corp" 5C5578 o="iryx corp" 5C56ED o="3pleplay Electronics Private Limited" 5C5819 o="Jingsheng Technology Co., Ltd." 5C5AEA o="FORD" 5C5B35,D420B0,D4DC09 o="Mist Systems, Inc." 5C5BC2 o="YIK Corporation" 5C63C9 o="Intellithings Ltd." 5C68D0 o="Aurora Innovation Inc." 5C6984 o="NUVICO" 5C6A7D o="KENTKART EGE ELEKTRONIK SAN. VE TIC. LTD. STI." 5C6B4F o="Hello Inc." 5C6F4F o="S.A. SISTEL" 5C75AF,F051EA o="Fitbit, Inc." 5C7757 o="Haivision Network Video" 5C81A7 o="Network Devices Pty Ltd" 5C8486 o="Brightsource Industries Israel LTD" 5C8613 o="Beijing Zhoenet Technology Co., Ltd" 5C864A o="Secret Labs LLC" 5C86C1 o="DONGGUAN SOLUM ELECTRONICS CO.,LTD" 5C8778 o="Cybertelbridge co.,ltd" 5C89D4 o="Beijing Banner Electric Co.,Ltd" 5C8D2D o="Shanghai Wellpay Information Technology Co., Ltd" 5C966A o="RTNET" 5CA178 o="TableTop Media (dba Ziosk)" 5CA1E0 o="EmbedWay Technologies" 5CA3EB o="Lokel s.r.o." 5CA933 o="Luma Home" 5CB15F o="Oceanblue Cloud Technology Limited" 5CB29E o="ASCO Power Technologies" 5CB3F6 o="Human, Incorporated" 5CB4E2 o="Inspur Software Group Ltd." 5CB559 o="CNEX Labs" 5CB6CC o="NovaComm Technologies Inc." 5CB8CB o="Allis Communications" 5CBD9E o="HONGKONG MIRACLE EAGLE TECHNOLOGY(GROUP) LIMITED" 5CC213 o="Fr. Sauter AG" 5CC6E9 o="Edifier International" 5CC7D7 o="AZROAD TECHNOLOGY COMPANY LIMITED" 5CC9D3 o="PALLADIUM ENERGY ELETRONICA DA AMAZONIA LTDA" 5CCA32 o="Theben AG" 5CCCA0 o="Gridwiz Inc." 5CCCFF o="Techroutes Network Pvt Ltd" 5CCD7C o="MEIZU Technology Co.,Ltd." 5CCEAD o="CDYNE Corporation" 5CD135 o="Xtreme Power Systems" 5CD20B o="Yytek Co., Ltd." 5CD41B o="UCZOON Technology Co., LTD" 5CD4AB o="Zektor" 5CD61F o="Qardio, Inc" 5CE0CA o="FeiTian United (Beijing) System Technology Co., Ltd." 5CE0F6 o="NIC.br- Nucleo de Informacao e Coordenacao do Ponto BR" 5CE223 o="Delphin Technology AG" 5CE7BF o="New Singularity International Technical Development Co.,Ltd" 5CE8B7 o="Oraimo Technology Limited" 5CEB4E o="R. STAHL HMI Systems GmbH" 5CEB68 o="Cheerstar Technology Co., Ltd" 5CEE79 o="Global Digitech Co LTD" 5CF207 o="Speco Technologies" 5CF370 o="CC&C Technologies, Inc" 5CF50D o="Institute of microelectronic applications" 5CF7C3 o="SYNTECH (HK) TECHNOLOGY LIMITED" 5CF9F0 o="Atomos Engineering P/L" 5CFAFB o="Acubit" 5CFFFF o="Shenzhen Kezhonglong Optoelectronic Technology Co., Ltd" 600347 o="Billion Electric Co. Ltd." 600417 o="POSBANK CO.,LTD" 60058A o="Hitachi Metals, Ltd." 600837 o="ivvi Scientific(Nanchang)Co.Ltd" 6009C3,6C1DEB,CCF957,D4CA6E o="u-blox AG" 600F77 o="SilverPlus, Inc" 6010A2 o="Crompton Instruments" 601199 o="Siama Systems Inc" 601283 o="TSB REAL TIME LOCATION SYSTEMS S.L." 6015C7 o="IdaTech" 601803 o="Daikin Air-conditioning (Shanghai) Co., Ltd." 60182E o="ShenZhen Protruly Electronic Ltd co." 60190C o="RRAMAC" 601929 o="VOLTRONIC POWER TECHNOLOGY(SHENZHEN) CORP." 601970 o="HUIZHOU QIAOXING ELECTRONICS TECHNOLOGY CO., LTD." 601D0F o="Midnite Solar" 601D9D,A42985,B4C9B9 o="Sichuan AI-Link Technology Co., Ltd." 601E02 o="EltexAlatau" 602103 o="I4VINE, INC" 6024C1 o="Jiangsu Zhongxun Electronic Technology Co., Ltd" 60271C o="VIDEOR E. Hartig GmbH" 6029D5 o="DAVOLINK Inc." 602A54 o="CardioTek B.V." 6032F0 o="Mplus technology" 603553 o="Buwon Technology" 603696 o="The Sapling Company" 60391F o="ABB Ltd" 603E7B o="Gafachi, Inc." 603ECA o="Cambridge Medical Robotics Ltd" 603FC5 o="COX CO., LTD" 60447A o="Water-i.d. GmbH" 6044F5 o="Easy Digital Ltd." 60455E o="Liptel s.r.o." 604616 o="XIAMEN VANN INTELLIGENT CO., LTD" 604762 o="Beijing Sensoro Technology Co.,Ltd." 6047D4 o="FORICS Electronic Technology Co., Ltd." 604826 o="Newbridge Technologies Int. Ltd." 604A1C o="SUYIN Corporation" 604BAA o="Magic Leap, Inc." 6050C1 o="Kinetek Sports" 6052D0 o="FACTS Engineering" 605317 o="Sandstone Technologies" 605464 o="Eyedro Green Solutions Inc." 6061DF o="Z-meta Research LLC" 6063F9 o="Ciholas, Inc." 6063FD o="Transcend Communication Beijing Co.,Ltd." 606453 o="AOD Co.,Ltd." 6064A1 o="RADiflow Ltd." 60699B o="isepos GmbH" 606ED0 o="SEAL AG" 60720B,80FD7A,E4C801 o="BLU Products Inc" 60748D o="Atmaca Elektronik" 607688 o="Velodyne" 60812B o="Custom Control Concepts" 6081F9 o="Helium Systems, Inc" 6083B2 o="GkWare e.K." 60843B o="Soladigm, Inc." 608645 o="Avery Weigh-Tronix, LLC" 60893C o="Thermo Fisher Scientific P.O.A." 6089B1 o="Key Digital Systems" 6089B7 o="KAEL MÜHENDİSLİK ELEKTRONİK TİCARET SANAYİ LİMİTED ŞİRKETİ" 608C2B o="Hanson Technology" 608D17 o="Sentrus Government Systems Division, Inc" 609084 o="DSSD Inc" 6097DD o="MicroSys Electronics GmbH" 609813 o="Shanghai Visking Digital Technology Co. LTD" 6099D1 o="Vuzix / Lenovo" 609AA4 o="GVI SECURITY INC." 609B2D o="JMACS Japan Co., Ltd." 609BC8 o="Hipad Intelligent Technology Co., Ltd." 609E64 o="Vivonic GmbH" 609F9D o="CloudSwitch" 60A11E o="Wuhan Maxsine Electric Co.,Ltd." 60A730 o="Shenzhen Yipinfang Internet Technology Co.,Ltd" 60A9B0 o="Merchandising Technologies, Inc" 60ACC8 o="KunTeng Inc." 60B185 o="ATH system" 60B387 o="Synergics Technologies GmbH" 60B3C4 o="Elber Srl" 60B4F7 o="Plume Design Inc" 60B606 o="Phorus" 60B933 o="Deutron Electronics Corp." 60B982 o="RO.VE.R. Laboratories S.p.A." 60BA18 o="nextLAP GmbH" 60BB0C o="Beijing HuaqinWorld Technology Co,Ltd" 60BC4C o="EWM Hightec Welding GmbH" 60BD91 o="Move Innovation" 60C0BF o="ON Semiconductor" 60C1CB o="Fujian Great Power PLC Equipment Co.,Ltd" 60C5A8 o="Beijing LT Honway Technology Co.,Ltd" 60C658 o="PHYTRONIX Co.,Ltd." 60C980 o="Trymus" 60CBFB o="AirScape Inc." 60CDA9 o="Abloomy" 60CDC5 o="Taiwan Carol Electronics., Ltd" 60CE92 o="The Refined Industry Company Limited" 60D1AA o="Vishal Telecommunications Pvt Ltd" 60D262 o="Tzukuri Pty Ltd" 60D2B9 o="REALAND BIO CO., LTD." 60D2DD o="Shenzhen Baitong Putian Technology Co.,Ltd." 60D30A o="Quatius Limited" 60DA23 o="Estech Co.,Ltd" 60DB2A o="HNS" 60DE35 o="GITSN, Inc." 60E00E o="SHINSEI ELECTRONICS CO LTD" 60E6BC o="Sino-Telecom Technology Co.,Ltd." 60E78A o="UNISEM" 60E956 o="Ayla Networks, Inc" 60EFC6 o="Shenzhen Chima Technologies Co Limited" 60F13D o="JABLOCOM s.r.o." 60F281 o="TRANWO TECHNOLOGY CO., LTD." 60F2EF o="VisionVera International Co., Ltd." 60F3DA o="Logic Way GmbH" 60F59C o="CRU-Dataport" 60F673 o="TERUMO CORPORATION" 60FD56 o="WOORISYSTEMS CO., Ltd" 60FE1E o="China Palms Telecom.Ltd" 60FEF9 o="Thomas & Betts" 60FFDD o="C.E. ELECTRONICS, INC" 64002D o="Powerlinq Co., LTD" 6405BE o="NEW LIGHT LED" 6405E9 o="Shenzhen WayOS Technology Crop., Ltd." 64094C o="Beijing Superbee Wireless Technology Co.,Ltd" 640B4A o="Digital Telecom Technology Limited" 640DE6 o="Petra Systems" 640E36 o="TAZTAG" 640E94,E0AF4B o="Pluribus Networks, Inc." 641084 o="HEXIUM Technical Development Co., Ltd." 641331 o="Bosch Car Multimedia (Wuhu) Co. Ltd." 641A22 o="Heliospectra AB" 641C67 o="DIGIBRAS INDUSTRIA DO BRASILS/A" 641E81 o="Dowslake Microsystems" 642184 o="Nippon Denki Kagaku Co.,LTD" 642216 o="Shandong Taixin Electronic co.,Ltd" 642400 o="Xorcom Ltd." 64255E o="Observint Technologies, Inc." 6429ED o="AO %PKK Milandr%" 642B8A o="ALL BEST Industrial Co., Ltd." 642DB7 o="SEUNGIL ELECTRONICS" 64317E o="Dexin Corporation" 643409 o="BITwave Pte Ltd" 64351C o="e-CON SYSTEMS INDIA PVT LTD" 643F5F o="Exablaze" 644214 o="Swisscom Energy Solutions AG" 644346 o="GuangDong Quick Network Computer CO.,LTD" 6447E0 o="Feitian Technologies Co., Ltd" 644BC3 o="Shanghai WOASiS Telecommunications Ltd., Co." 644BF0 o="CalDigit, Inc" 644D70 o="dSPACE GmbH" 644F42 o="JETTER CO., Ltd." 644F74 o="LENUS Co., Ltd." 644FB0 o="Hyunjin.com" 64517E o="LONG BEN (DONGGUAN) ELECTRONIC TECHNOLOGY CO.,LTD." 645299,CC6A10 o="The Chamberlain Group, Inc" 64535D o="Frauscher Sensortechnik" 645422 o="Equinox Payments" 645563 o="Intelight Inc." 64557F o="NSFOCUS Information Technology Co., Ltd." 6459F8 o="Vodafone Omnitel B.V." 645CF3 o="ParanTek Inc." 645DD7 o="Shenzhen Lifesense Medical Electronics Co., Ltd." 645E2C,90749D o="IRay Technology Co., Ltd." 645EBE o="Yahoo! JAPAN" 645FFF o="Nicolet Neuro" 646184 o="VELUX" 646223 o="Cellient Co., Ltd." 64628A o="evon GmbH" 6465C0 o="Nuvon, Inc" 646707 o="Beijing Omnific Technology, Ltd." 6469BC o="Hytera Communications Co .,ltd" 646A74 o="AUTH-SERVERS, LLC" 646E6C o="Radio Datacom LLC" 6472D8 o="GooWi Technology Co.,Limited" 647366 o="Shenzhen Siera Technology Ltd" 6473E2 o="Arbiter Systems, Inc." 6474F6 o="Shooter Detection Systems" 647657 o="Innovative Security Designs" 6479A7 o="Phison Electronics Corp." 647D81 o="YOKOTA INDUSTRIAL CO,.LTD" 647FDA o="TEKTELIC Communications Inc." 64808B o="VG Controls, Inc." 648125 o="Alphatron Marine BV" 648D9E o="IVT Electronic Co.,Ltd" 6499A0 o="AG Elektronik AB" 649A08 o="Shenzhen SuperElectron Technology Co.,LTD" 649A12 o="P2 Mobile Technologies Limited" 649B24 o="V Technology Co., Ltd." 649D99 o="FS COM INC" 649FF7 o="Kone OYj" 64A232 o="OOO Samlight" 64A341 o="Wonderlan (Beijing) Technology Co., Ltd." 64A68F o="Zhongshan Readboy Electronics Co.,Ltd" 64A837 o="Juni Korea Co., Ltd" 64AE88 o="Polytec GmbH" 64B21D o="Chengdu Phycom Tech Co., Ltd." 64B370 o="PowerComm Solutions LLC" 64B64A o="ViVOtech, Inc." 64BABD o="SDJ Technologies, Inc." 64BC11 o="CombiQ AB" 64C5AA o="South African Broadcasting Corporation" 64C6AF o="AXERRA Networks Ltd" 64C901 o="INVENTEC Corporation" 64C944 o="LARK Technologies, Inc" 64CB5D o="SIA %TeleSet%" 64D02D o="Next Generation Integration (NGI)" 64D241 o="Keith & Koep GmbH" 64D912 o="Solidica, Inc." 64DAA0 o="Robert Bosch Smart Home GmbH" 64DB18 o="OpenPattern" 64DB81 o="Syszone Co., Ltd." 64DBA0,CC04B4 o="Select Comfort" 64DC01 o="Static Systems Group PLC" 64DE1C o="Kingnetic Pte Ltd" 64DF10 o="JingLue Semiconductor(SH) Ltd." 64DFE9 o="ATEME" 64E161 o="DEP Corp." 64E625 o="Woxu Wireless Co., Ltd" 64E84F o="Serialway Communication Technology Co. Ltd" 64E892 o="Morio Denki Co., Ltd." 64E8E6 o="global moisture management system" 64EAC5 o="SiboTech Automation Co., Ltd." 64ED62 o="WOORI SYSTEMS Co., Ltd" 64EEB7 o="Netcore Technology Inc" 64F242 o="Gerdes Aktiengesellschaft" 64F2FB o="Hangzhou Ezviz Software Co.,Ltd." 64F50E o="Kinion Technology Company Limited" 64F6BB,B436A9 o="Fibocom Wireless Inc." 64F6F7 o="Anhui Dynamic Power Co., Ltd." 64F81C o="Huawei Technologies Co., Ltd." 64F970 o="Kenade Electronics Technology Co.,LTD." 64F987 o="Avvasi Inc." 64F9C0 o="ANALOG DEVICES" 64FB50 o="RoomReady/Zdi, Inc." 64FB92 o="PPC Broadband Inc." 64FC8C o="Zonar Systems" 680235 o="Konten Networks Inc." 68070A o="TPVision Europe B.V" 680AD7 o="Yancheng Kecheng Optoelectronic Technology Co., Ltd" 68122D o="Special Instrument Development Co., Ltd." 681295 o="Lupine Lighting Systems GmbH" 6815D3 o="Zaklady Elektroniki i Mechaniki Precyzyjnej R&G S.A." 681605 o="Systems And Electronic Development FZCO" 68193F o="Digital Airways" 6819AC o="Guangzhou Xianyou Intelligent Technogoly CO., LTD" 681CA2 o="Rosewill Inc." 681D64 o="Sunwave Communications Co., Ltd" 681DEF o="Shenzhen CYX Technology Co., Ltd." 681E8B o="InfoSight Corporation" 681F40 o="Blu Wireless Technology Ltd" 681FD8 o="Siemens Industry, Inc." 68234B o="Nihon Dengyo Kousaku" 6828BA o="Dejai" 6828F6 o="Vubiq Networks, Inc." 6829DC o="Ficosa Electronics S.L.U." 682DDC o="Wuhan Changjiang Electro-Communication Equipment CO.,LTD" 6831FE o="Teladin Co.,Ltd." 683489 o="LEA Professional" 683563 o="SHENZHEN LIOWN ELECTRONICS CO.,LTD." 6836B5 o="DriveScale, Inc." 683943 o="ittim" 683B1E o="Countwise LTD" 683C7D o="Magic Intelligence Technology Limited" 683E02 o="SIEMENS AG, Digital Factory, Motion Control System" 683EEC o="ERECA" 683F1E o="EFFECT Photonics B.V." 684352 o="Bhuu Limited" 6843D7 o="Agilecom Photonics Solutions Guangdong Limited" 6845F1 o="TOSHIBA CLIENT SOLUTIONS CO., LTD." 684B88 o="Galtronics Telemetry Inc." 684CA8 o="Shenzhen Herotel Tech. Co., Ltd." 6851B7 o="PowerCloud Systems, Inc." 68536C o="SPnS Co.,Ltd" 685388 o="P&S Technology" 6854F5 o="enLighted Inc" 6858C5 o="ZF TRW Automotive" 685B36 o="POWERTECH INDUSTRIAL CO., LTD." 685E6B o="PowerRay Co., Ltd." 686350 o="Hella India Automotive Pvt Ltd" 68692E o="Zycoo Co.,Ltd" 686975 o="Angler Labs Inc" 6869CA,F84897 o="Hitachi, Ltd." 6869F2 o="ComAp s.r.o." 686E23 o="Wi3 Inc." 686E48 o="Prophet Electronic Technology Corp.,Ltd" 6872DC o="CETORY.TV Company Limited" 687848 o="Westunitis Co., Ltd." 687924 o="ELS-GmbH & Co. KG" 687CC8 o="Measurement Systems S. de R.L." 687CD5 o="Y Soft Corporation, a.s." 6882F2 o="grandcentrix GmbH" 68831A o="Pandora Mobility Corporation" 688470 o="eSSys Co.,Ltd" 688540 o="IGI Mobile, Inc." 68856A o="OuterLink Corporation" 6886E7 o="Orbotix, Inc." 68876B o="INQ Mobile Limited" 688975 o="nuoxc" 688AB5 o="EDP Servicos" 688DB6 o="AETEK INC." 688FC9 o="Zhuolian (Shenzhen) Communication Co., Ltd" 68974B o="Shenzhen Costar Electronics Co. Ltd." 6897E8 o="Society of Motion Picture & Television Engineers" 689861 o="Beacon Inc" 689AB7 o="Atelier Vision Corporation" 68A1B7 o="Honghao Mingchuan Technology (Beijing) CO.,Ltd." 68A40E o="BSH Hausgeräte GmbH" 68A8E1,884A70 o="Wacom Co.,Ltd." 68AAD2 o="DATECS LTD.," 68AB8A o="RF IDeas" 68AF13 o="Futura Mobility" 68AFFF o="Shanghai Cambricon Information Technology Co., Ltd." 68B094 o="INESA ELECTRON CO.,LTD" 68B35E o="Shenzhen Neostra Technology Co.Ltd" 68B43A o="WaterFurnace International, Inc." 68B8D9 o="Act KDE, Inc." 68B983 o="b-plus GmbH" 68CA00 o="Octopus Systems Limited" 68CC9C o="Mine Site Technologies" 68CD0F o="U Tek Company Limited" 68CE4E o="L-3 Communications Infrared Products" 68D1FD o="Shenzhen Trimax Technology Co.,Ltd" 68D247 o="Portalis LC" 68D925 o="ProSys Development Services" 68DB67,6C8AEC o="Nantong Coship Electronics Co., Ltd." 68DB96 o="OPWILL Technologies CO .,LTD" 68DCE8 o="PacketStorm Communications" 68DD26 o="Shanghai Focus Vision Security Technology Co.,Ltd" 68E41F o="Unglaube Identech GmbH" 68E8EB o="Linktel Technologies Co.,Ltd" 68EBC5 o="Angstrem Telecom" 68EC62 o="YODO Technology Corp. Ltd." 68EDA4 o="Shenzhen Seavo Technology Co.,Ltd" 68F06D o="ALONG INDUSTRIAL CO., LIMITED" 68F0BC o="Shenzhen LiWiFi Technology Co., Ltd" 68F125 o="Data Controls Inc." 68F895 o="Redflow Limited" 68F956 o="Objetivos y Servicio de Valor Añadido" 68FB95 o="Generalplus Technology Inc." 68FCB3 o="Next Level Security Systems, Inc." 6C0273 o="Shenzhen Jin Yun Video Equipment Co., Ltd." 6C0460 o="RBH Access Technologies Inc." 6C05D5 o="Ethertronics Inc" 6C090A o="GEMATICA SRL" 6C09D6 o="Digiquest Electronics LTD" 6C0EE6 o="Chengdu Xiyida Electronic Technology Co,.Ltd" 6C0F6A o="JDC Tech Co., Ltd." 6C14F7 o="Erhardt+Leimer GmbH" 6C15F9 o="Nautronix Limited" 6C160E o="ShotTracker" 6C1811 o="Decatur Electronics" 6C1E70 o="Guangzhou YBDS IT Co.,Ltd" 6C1E90 o="Hansol Technics Co., Ltd." 6C22AB o="Ainsworth Game Technology" 6C23CB o="Wattty Corporation" 6C2990 o="WiZ Connected Lighting Company Limited" 6C2C06 o="OOO NPP Systemotechnika-NN" 6C2E33 o="Accelink Technologies Co.,Ltd." 6C2E72 o="B&B EXPORTING LIMITED" 6C32DE o="Indieon Technologies Pvt. Ltd." 6C33A9 o="Magicjack LP" 6C3838 o="Marking System Technology Co., Ltd." 6C391D o="Beijing ZhongHuaHun Network Information center" 6C3A84 o="Shenzhen Aero-Startech. Co.Ltd" 6C3C53 o="SoundHawk Corp" 6C3E9C o="KE Knestel Elektronik GmbH" 6C40C6 o="Nimbus Data, Inc." 6C42AB o="Subscriber Networks, Inc." 6C4418 o="Zappware" 6C4598 o="Antex Electronic Corp." 6C49C1 o="o2ones Co., Ltd." 6C4A39 o="BITA" 6C4B7F o="Vossloh-Schwabe Deutschland GmbH" 6C4B90 o="LiteON" 6C4D51 o="Shenzhen Ceres Technology Co., Ltd." 6C4E86 o="Third Millennium Systems Ltd." 6C54CD o="LAMPEX ELECTRONICS LIMITED" 6C5779 o="Aclima, Inc." 6C5976 o="Shanghai Tricheer Technology Co.,Ltd." 6C5A34 o="Shenzhen Haitianxiong Electronic Co., Ltd." 6C5CDE o="SunReports, Inc." 6C5D63,E41218 o="ShenZhen Rapoo Technology Co., Ltd." 6C5E7A o="Ubiquitous Internet Telecom Co., Ltd" 6C60EB o="ZHI YUAN ELECTRONICS CO., LIMITED" 6C6126 o="Rinicom Holdings" 6C626D,8C89A5 o="Micro-Star INT'L CO., LTD" 6C641A o="Penguin Computing" 6C6EFE o="Core Logic Inc." 6C6F18 o="Stereotaxis, Inc." 6C7039 o="Novar GmbH" 6C71BD o="EZELINK TELECOM" 6C750D o="WiFiSONG" 6C81FE o="Mitsuba Corporation" 6C8686 o="Technonia" 6C8CDB o="Otus Technologies Ltd" 6C8D65 o="Wireless Glue Networks, Inc." 6C90B1 o="SanLogic Inc" 6C92BF,B4055D o="Inspur Electronic Information Industry Co.,Ltd." 6C9354 o="Yaojin Technology (Shenzhen) Co., LTD." 6C9522 o="Scalys" 6C9AC9 o="Valentine Research, Inc." 6C9BC0 o="Chemoptics Inc." 6C9CE9 o="Nimble Storage" 6CA682 o="EDAM information & communications" 6CA7FA o="YOUNGBO ENGINEERING INC." 6CA906 o="Telefield Ltd" 6CA96F o="TransPacket AS" 6CAB4D o="Digital Payment Technologies" 6CAC60 o="Venetex Corp" 6CAD3F o="Hubbell Building Automation, Inc." 6CADEF o="KZ Broadband Technologies, Ltd." 6CAE8B,749975 o="IBM Corporation" 6CAF15 o="Webasto SE" 6CB227 o="Sony Video & Sound Products Inc." 6CB311 o="Shenzhen Lianrui Electronics Co.,Ltd" 6CB350 o="Anhui comhigher tech co.,ltd" 6CB4A7 o="Landauer, Inc." 6CB6CA o="DIVUS GmbH" 6CBFB5 o="Noon Technology Co., Ltd" 6CC147 o="Xiamen Hanin Electronic Technology Co., Ltd" 6CD146 o="FRAMOS GmbH" 6CD1B0 o="WING SING ELECTRONICS HONG KONG LIMITED" 6CDC6A o="Promethean Limited" 6CE01E o="Modcam AB" 6CE0B0 o="SOUND4" 6CE3B6 o="Nera Telecommunications Ltd." 6CE4CE o="Villiger Security Solutions AG" 6CE983 o="Gastron Co., LTD." 6CEBB2 o="Dongguan Sen DongLv Electronics Co.,Ltd" 6CEC5A o="Hon Hai Precision Ind. CO.,Ltd." 6CECA1 o="SHENZHEN CLOU ELECTRONICS CO. LTD." 6CED51 o="NEXCONTROL Co.,Ltd" 6CF17E o="Zhejiang Uniview Technologies Co.,Ltd." 6CF5E8 o="Mooredoll Inc." 6CF97C o="Nanoptix Inc." 6CF9D2 o="CHENGDU POVODO ELECTRONIC TECHNOLOGY CO., LTD" 6CFDB9 o="Proware Technologies Co Ltd." 6CFFBE o="MPB Communications Inc." 700136 o="FATEK Automation Corporation" 700258 o="01DB-METRAVIB" 700433 o="California Things Inc." 7006AC o="Eastcompeace Technology Co., Ltd" 700BC0 o="Dewav Technology Company" 700FC7 o="SHENZHEN IKINLOOP TECHNOLOGY CO.,LTD." 700FEC o="Poindus Systems Corp." 7011AE o="Music Life LTD" 701404 o="Limited Liability Company" 70169F o="EtherCAT Technology Group" 701AED o="ADVAS CO., LTD." 701D08 o="99IOT Shenzhen co.,ltd" 701D7F o="Comtech Technology Co., Ltd." 701DC4 o="NorthStar Battery Company, LLC" 701E68 o="Hanna Instruments, Inc." 702393 o="fos4X GmbH" 702605,CC988B o="SONY Visual Products Inc." 702900 o="Shenzhen ChipTrip Technology Co,Ltd" 702A7D o="EpSpot AB" 702B1D o="E-Domus International Limited" 702C1F o="Wisol" 702D84 o="i4C Innovations" 702DD1 o="Newings Communication CO., LTD." 702E80 o="DIEHL Connectivity Solutions" 702ED9,7472B0,78DDD9 o="Guangzhou Shiyuan Electronics Co., Ltd." 702F4B o="PolyVision Inc." 702F97 o="Aava Mobile Oy" 70305E o="Nanjing Zhongke Menglian Information Technology Co.,LTD" 703187 o="ACX GmbH" 7032D5 o="Athena Wireless Communications Inc" 703811 o="Siemens Mobility Limited" 7038B4 o="Low Tech Solutions" 703AD8 o="Shenzhen Afoundry Electronic Co., Ltd" 703C03 o="RadiAnt Co.,Ltd" 703C39 o="SEAWING Kft" 7041B7 o="Edwards Lifesciences LLC" 70441C o="SHENZHEN KAIFA TECHNOLOGY CO.,LTD." 704642 o="CHYNG HONG ELECTRONIC CO., LTD." 704AAE o="Xstream Flow (Pty) Ltd" 704AE4 o="Rinstrum Pty Ltd" 704CED o="TMRG, Inc." 704E01 o="KWANGWON TECH CO., LTD." 704F08 o="Shenzhen Huisheng Information Technology Co., Ltd." 70533F o="Alfa Instrumentos Eletronicos Ltda." 7055F8 o="Cerebras Systems Inc" 705896 o="InShow Technology" 705957 o="Medallion Instrumentation Systems" 705986 o="OOO TTV" 705B2E o="M2Communication Inc." 705CAD o="Konami Gaming Inc" 705EAA o="Action Target, Inc." 7060DE o="LaVision GmbH" 706173 o="Calantec GmbH" 706417 o="ORBIS TECNOLOGIA ELECTRICA S.A." 706582,7CDD76 o="Suzhou Hanming Technologies Co., Ltd." 7065A3 o="Kandao lightforge Co., Ltd." 70661B o="Sonova AG" 706879 o="Saijo Denki International Co., Ltd." 706DEC o="Wifi-soft LLC" 70704C o="Purple Communications, Inc" 7071B3 o="Brain Corporation" 7072CF o="EdgeCore Networks" 7076DD o="OxyGuard Internation A/S" 7076F0 o="LevelOne Communications (India) Private Limited" 7076FF o="KERLINK" 707938 o="Wuxi Zhanrui Electronic Technology Co.,LTD" 707C18 o="ADATA Technology Co., Ltd" 707D95 o="Shenzhen City LinwlanTechnology Co. Ltd." 707EDE o="NASTEC LTD." 70820E o="as electronics GmbH" 70828E o="OleumTech Corporation" 70879E,C8478C o="Beken Corporation" 70884D o="JAPAN RADIO CO., LTD." 708B78 o="citygrow technology co., ltd" 70918F o="Weber-Stephen Products LLC" 709383 o="Intelligent Optical Network High Tech CO.,LTD." 7093F8 o="Space Monkey, Inc." 709756 o="Happyelectronics Co.,Ltd" 70991C o="Shenzhen Honesty Electronics Co.,Ltd" 709A0B o="Italian Institute of Technology" 709BA5 o="Shenzhen Y&D Electronics Co.,LTD." 709BFC o="Bryton Inc." 709C8F o="Nero AG" 709E86 o="X6D Limited" 70A191 o="Trendsetter Medical, LLC" 70A41C o="Advanced Wireless Dynamics S.L." 70A66A o="Prox Dynamics AS" 70A84C o="MONAD., Inc." 70AD54 o="Malvern Instruments Ltd" 70AF24 o="TP Vision Belgium NV" 70AF25 o="Nishiyama Industry Co.,LTD." 70B035,B0D59D,C8D5FE o="Shenzhen Zowee Technology Co., Ltd" 70B08C o="Shenou Communication Equipment Co.,Ltd" 70B265 o="Hiltron s.r.l." 70B599 o="Embedded Technologies s.r.o." 70B7E2 o="Jiangsu Miter Technology Co.,Ltd." 70BF3E o="Charles River Laboratories" 70C6AC o="Bosch Automotive Aftermarket" 70C76F o="INNO S" 70C833 o="Wirepas Oy" 70CA4D o="Shenzhen lnovance Technology Co.,Ltd." 70D081 o="Beijing Netpower Technologies Inc." 70D57E o="Scalar Corporation" 70D5E7 o="Wellcore Corporation" 70D6B6 o="Metrum Technologies" 70D880 o="Upos System sp. z o.o." 70DA9C o="TECSEN" 70DEF9 o="FAI WAH INTERNATIONAL (HONG KONG) LIMITED" 70E027 o="HONGYU COMMUNICATION TECHNOLOGY LIMITED" 70E139 o="3view Ltd" 70E24C o="SAE IT-systems GmbH & Co. KG" 70E843 o="Beijing C&W Optical Communication Technology Co.,Ltd." 70EE50 o="Netatmo" 70EEA3 o="Eoptolink Technology Inc. Ltd," 70F11C o="Shenzhen Ogemray Technology Co.,Ltd" 70F176 o="Data Modul AG" 70F1E5 o="Xetawave LLC" 70F82B,78B213,E42686 o="DWnet Technologies(Suzhou) Corporation" 70FF5C o="Cheerzing Communication(Xiamen)Technology Co.,Ltd" 74042B,E02CB2 o="Lenovo Mobile Communication (Wuhan) Company Limited" 740ABC o="LightwaveRF Technology Ltd" 740EDB o="Optowiz Co., Ltd" 741489 o="SRT Wireless" 7415E2 o="Tri-Sen Systems Corporation" 741F79 o="YOUNGKOOK ELECTRONICS CO.,LTD" 74273C o="ChangYang Technology (Nanjing) Co., LTD" 742857 o="Mayfield Robotics" 742B0F o="Infinidat Ltd." 742D0A o="Norfolk Elektronik AG" 742EDB o="Perinet GmbH" 742EFC o="DirectPacket Research, Inc," 743256 o="NT-ware Systemprg GmbH" 743400 o="MTG Co., Ltd." 7434AE o="this is engineering Inc." 74372F o="Tongfang Shenzhen Cloudcomputing Technology Co.,Ltd" 74373B o="UNINET Co.,Ltd." 743889 o="ANNAX Anzeigesysteme GmbH" 743ECB o="Gentrice tech" 744BE9 o="EXPLORER HYPERTECH CO.,LTD" 744D79 o="Arrive Systems Inc." 745327 o="COMMSEN CO., LIMITED" 745798 o="TRUMPF Laser GmbH + Co. KG" 745933 o="Danal Entertainment" 745F00 o="Samsung Semiconductor Inc." 745F90 o="LAM Technologies" 745FAE o="TSL PPL" 74614B o="Chongqing Huijiatong Information Technology Co., Ltd." 7463DF o="VTS GmbH" 7465D1 o="Atlinks" 746630 o="T:mi Ytti" 746A3A o="Aperi Corporation" 746A89 o="Rezolt Corporation" 746A8F o="VS Vision Systems GmbH" 746B82 o="MOVEK" 746BAB o="GUANGDONG ENOK COMMUNICATION CO., LTD" 746EE4 o="Asia Vital Components Co.,Ltd." 746F19 o="ICARVISIONS (SHENZHEN) TECHNOLOGY CO., LTD." 746F3D o="Contec GmbH" 74721E o="Edison Labs Inc." 7472F2 o="Chipsip Technology Co., Ltd." 747336 o="MICRODIGTAL Inc" 747818 o="Jurumani Solutions" 747B7A o="ETH Inc." 747DB6 o="Aliwei Communications, Inc" 747E1A o="Red Embedded Design Limited" 747E2D o="Beijing Thomson CITIC Digital Technology Co. LTD." 74819A o="PT. Hartono Istana Teknologi" 7484E1 o="Dongguan Haoyuan Electronics Co.,Ltd" 7487A9 o="OCT Technology Co., Ltd." 748A69 o="Korea Image Technology Co., Ltd" 748B34 o="Shanghai Smart System Technology Co., Ltd" 748E08 o="Bestek Corp." 748F1B o="MasterImage 3D" 748F4D o="MEN Mikro Elektronik GmbH" 749050 o="Renesas Electronics Corporation" 7491BD o="Four systems Co.,Ltd." 74943D o="AgJunction" 749637 o="Todaair Electronic Co., Ltd" 749C52 o="Huizhou Desay SV Automotive Co., Ltd." 749CE3 o="KodaCloud Canada, Inc" 74A34A o="ZIMI CORPORATION" 74A4A7 o="QRS Music Technologies, Inc." 74A4B5 o="Powerleader Science and Technology Co. Ltd." 74AC5F o="Qiku Internet Network Scientific (Shenzhen) Co., Ltd." 74AE76 o="iNovo Broadband, Inc." 74B00C o="Network Video Technologies, Inc" 74B472 o="CIESSE" 74B91E o="Nanjing Bestway Automation System Co., Ltd" 74BADB o="Longconn Electornics(shenzhen)Co.,Ltd" 74BBD3 o="Shenzhen xeme Communication Co., Ltd." 74BFA1 o="HYUNTECK" 74BFB7 o="Nusoft Corporation" 74C621 o="Zhejiang Hite Renewable Energy Co.,LTD" 74CA25,FC2F40 o="Calxeda, Inc." 74CD0C o="Smith Myers Communications Ltd." 74CE56 o="Packet Force Technology Limited Company" 74D654 o="GINT" 74D675 o="WYMA Tecnologia" 74D7CA o="Panasonic Corporation Automotive" 74D850 o="Evrisko Systems" 74DBD1 o="Ebay Inc" 74E06E o="Ergophone GmbH" 74E277 o="Vizmonet Pte Ltd" 74E424 o="APISTE CORPORATION" 74E537 o="RADSPIN" 74ECF1 o="Acumen" 74F07D o="BnCOM Co.,Ltd" 74F102 o="Beijing HCHCOM Technology Co., Ltd" 74F413 o="Maxwell Forest" 74F661 o="Schneider Electric Fire & Security Oy" 74F726 o="Neuron Robotics" 74F737 o="KCE" 74F85D o="Berkeley Nucleonics Corp" 74F91A o="Onface" 74FDA0 o="Compupal (Group) Corporation" 74FF7D o="Wren Sound Systems, LLC" 78028F o="Adaptive Spectrum and Signal Alignment (ASSIA), Inc." 7802B7 o="ShenZhen Ultra Easy Technology CO.,LTD" 780541 o="Queclink Wireless Solutions Co., Ltd" 78055F o="Shenzhen WYC Technology Co., Ltd." 780738 o="Z.U.K. Elzab S.A." 780AC7 o="Baofeng TV Co., Ltd." 780ED1 o="TRUMPF Werkzeugmaschinen GmbH+Co.KG" 781185 o="NBS Payment Solutions Inc." 7812B8 o="ORANTEK LIMITED" 78192E o="NASCENT Technology" 781DFD o="Jabil Inc" 782079 o="ID Tech" 78223D o="Affirmed Networks" 782544 o="Omnima Limited" 78257A o="LEO Innovation Lab" 782F17 o="Xlab Co.,Ltd" 78303B o="Stephen Technologies Co.,Limited" 7830E1 o="UltraClenz, LLC" 78324F o="Millennium Group, Inc." 7835A0 o="Zurn Industries LLC" 783CE3 o="Kai-EE" 783D5B o="TELNET Redes Inteligentes S.A." 783F15 o="EasySYNC Ltd." 784405 o="FUJITU(HONG KONG) ELECTRONIC Co.,LTD." 784501 o="Biamp Systems" 78491D o="The Will-Burt Company" 784B08 o="f.robotics acquisitions ltd" 78510C o="LiveU Ltd." 78524A o="Ensenso GmbH" 785262 o="Shenzhen Hojy Software Co., Ltd." 78530D o="Shenzhen Skyworth Digital Technology CO., Ltd" 785364 o="SHIFT GmbH" 7853F2 o="ROXTON Ltd." 785517 o="SankyuElectronics" 785712 o="Mobile Integration Workgroup" 7858F3 o="Vachen Co.,Ltd" 78593E o="RAFI GmbH & Co.KG" 785C28 o="Prime Motion Inc." 785C72 o="Hioso Technology Co., Ltd." 785F4C o="Argox Information Co., Ltd." 7864E6 o="Green Motive Technology Limited" 7866AE o="ZTEC Instruments, Inc." 7869D4 o="Shenyang Vibrotech Instruments Inc." 786DEB o="GE Lighting" 787052 o="Welotec GmbH" 787F62 o="GiK mbH" 78818F o="Server Racks Australia Pty Ltd" 7884EE o="INDRA ESPACIO S.A." 78870D o="Unifiedgateways India Private Limited" 78888A o="CDR Sp. z o.o. Sp. k." 788973 o="CMC" 788B2A o="Zhen Shi Information Technology (Shanghai) Co., Ltd." 788B77 o="Standar Telecom" 788C4D o="Indyme Solutions, LLC" 788E33 o="Jiangsu SEUIC Technology Co.,Ltd" 7894E8 o="Radio Bridge" 7897C3 o="DINGXIN INFORMATION TECHNOLOGY CO.,LTD" 7898FD o="Q9 Networks Inc." 78995C o="Nationz Technologies Inc" 789966 o="Musilab Electronics (DongGuan)Co.,Ltd." 78998F o="MEDILINE ITALIA SRL" 789C85 o="August Home, Inc." 789CE7 o="Shenzhen Aikede Technology Co., Ltd" 789F4C o="HOERBIGER Elektronik GmbH" 789F87 o="Siemens AG I IA PP PRM" 78A051 o="iiNet Labs Pty Ltd" 78A183 o="Advidia" 78A351,F85E3C o="SHENZHEN ZHIBOTONG ELECTRONICS CO.,LTD" 78A5DD o="Shenzhen Smarteye Digital Electronics Co., Ltd" 78A683 o="Precidata" 78A6BD o="DAEYEON Control&Instrument Co,.Ltd" 78A714 o="Amphenol" 78A7EB,9C9789 o="1MORE" 78AB60 o="ABB Australia" 78ACBF o="Igneous Systems" 78AE0C o="Far South Networks" 78AF58 o="GIMASI SA" 78AFE4 o="Comau S.p.A" 78B28D o="Beijing Tengling Technology CO.Ltd" 78B3B9 o="ShangHai sunup lighting CO.,LTD" 78B5D2 o="Ever Treasure Industrial Limited" 78B6C1 o="AOBO Telecom Co.,Ltd" 78B6EC o="Scuf Gaming International LLC" 78B81A o="INTER SALES A/S" 78B8D6,94FB29 o="Zebra Technologies Inc." 78BAD0 o="Shinybow Technology Co. Ltd." 78BEB6 o="Enhanced Vision" 78BEBD o="STULZ GmbH" 78C40E o="H&D Wireless" 78C4AB o="Shenzhen Runsil Technology Co.,Ltd" 78C6BB o="Innovasic, Inc." 78CA5E o="ELNO" 78CB33 o="DHC Software Co.,Ltd" 78CC2B o="SINEWY TECHNOLOGY CO., LTD" 78CD8E,B89BC9,C4393A o="SMC Networks Inc" 78D004 o="Neousys Technology Inc." 78D129 o="Vicos" 78D34F o="Pace-O-Matic, Inc." 78D38D o="HONGKONG YUNLINK TECHNOLOGY LIMITED" 78D5B5 o="NAVIELEKTRO KY" 78D66F o="Aristocrat Technologies Australia Pty. Ltd." 78D99F o="NuCom HK Ltd." 78DAA2 o="Cynosure Technologies Co.,Ltd" 78DAB3 o="GBO Technology" 78DDD6 o="c-scape" 78E2BD o="Vodafone Automotive S.p.A." 78E980 o="RainUs Co.,Ltd" 78EB39 o="Instituto Nacional de Tecnología Industrial" 78EC22 o="Shanghai Qihui Telecom Technology Co., LTD" 78EC74 o="Kyland-USA" 78EF4C o="Unetconvergence Co., Ltd." 78F5E5 o="BEGA Gantenbrink-Leuchten KG" 78F7D0 o="Silverbrook Research" 78FC14 o="Family Zone Cyber Safety Ltd" 78FE41 o="Socus networks" 78FEE2 o="Shanghai Diveo Technology Co., Ltd" 7C0187 o="Curtis Instruments, Inc." 7C02BC o="Hansung Electronics Co. LTD" 7C051E o="RAFAEL LTD." 7C0623 o="Ultra Electronics Sonar System Division" 7C08D9 o="Shanghai B-Star Technology Co" 7C092B o="Bekey A/S" 7C0A50 o="J-MEX Inc." 7C0CF6 o="Guangdong Huiwei High-tech Co., Ltd." 7C1015 o="Brilliant Home Technology, Inc." 7C11CD o="QianTang Technology" 7C1476 o="Damall Technologies SAS" 7C160D o="Saia-Burgess Controls AG" 7C18CD o="E-TRON Co.,Ltd." 7C1A03 o="8Locations Co., Ltd." 7C1AFC o="Dalian Co-Edifice Video Technology Co., Ltd" 7C1EB3 o="2N TELEKOMUNIKACE a.s." 7C2048 o="KoamTac" 7C21D8 o="Shenzhen Think Will Communication Technology co., LTD." 7C2587 o="chaowifi.com" 7C2BE1 o="Shenzhen Ferex Electrical Co.,Ltd" 7C2CF3 o="Secure Electrans Ltd" 7C2E0D o="Blackmagic Design" 7C336E o="MEG Electronics Inc." 7C3548 o="Transcend Information" 7C386C o="Real Time Logic" 7C3920 o="SSOMA SECURITY" 7C3BD5 o="Imago Group" 7C3CB6 o="Shenzhen Homecare Technology Co.,Ltd." 7C3E9D o="PATECH" 7C438F o="E-Band Communications Corp." 7C444C o="Entertainment Solutions, S.L." 7C48B2 o="Vida Resources Lte Ltd" 7C49B9 o="Plexus Manufacturing Sdn Bhd" 7C4A82 o="Portsmith LLC" 7C4AA8 o="MindTree Wireless PVT Ltd" 7C4B78 o="Red Sun Synthesis Pte Ltd" 7C4C58 o="Scale Computing, Inc." 7C4F7D o="Sawwave" 7C5189 o="SG Wireless Limited" 7C534A o="Metamako" 7C55E7 o="YSI, Inc." 7C574E o="COBI GmbH" 7C5A67 o="JNC Systems, Inc." 7C604A o="Avelon" 7C696B o="Atmosic Technologies" 7C6AB3 o="IBC TECHNOLOGIES INC." 7C6AC3 o="GatesAir, Inc" 7C6ADB o="SafeTone Technology Co.,Ltd" 7C6B33 o="Tenyu Tech Co. Ltd." 7C6B52 o="Tigaro Wireless" 7C6BF7 o="NTI co., ltd." 7C6C39 o="PIXSYS SRL" 7C6C8F o="AMS NEVE LTD" 7C6DA6 o="Superwave Group LLC" 7C6F06 o="Caterpillar Trimble Control Technologies" 7C6FF8 o="ShenZhen ACTO Digital Video Technology Co.,Ltd." 7C7176 o="Wuxi iData Technology Company Ltd." 7C72E4 o="Unikey Technologies" 7C738B o="Cocoon Alarm Ltd" 7C7673 o="ENMAS GmbH" 7C79E8 o="PayRange Inc." 7C7A53 o="Phytrex Technology Corp." 7C7B8B o="Control Concepts, Inc." 7C7BE4 o="Z'SEDAI KENKYUSHO CORPORATION" 7C7D41 o="Jinmuyu Electronics Co., Ltd." 7C822D o="Nortec" 7C8274 o="Shenzhen Hikeen Technology CO.,LTD" 7C8306 o="Glen Dimplex Nordic as" 7C8D91 o="Shanghai Hongzhuo Information Technology co.,LTD" 7C94B2 o="Philips Healthcare PCCI" 7C9763 o="Openmatics s.r.o." 7C9A9B o="VSE valencia smart energy" 7CA15D o="GN ReSound A/S" 7CA237 o="King Slide Technology CO., LTD." 7CA29B o="D.SignT GmbH & Co. KG" 7CA61D o="MHL, LLC" 7CA97D o="Objenious" 7CAB25 o="MESMO TECHNOLOGY INC." 7CACB2 o="Bosch Software Innovations GmbH" 7CB03E o="OSRAM GmbH" 7CB177 o="Satelco AG" 7CB25C o="Acacia Communications" 7CB542 o="ACES Technology" 7CB77B o="Paradigm Electronics Inc" 7CB960 o="Shanghai X-Cheng telecom LTD" 7CBB6F o="Cosco Electronics Co., Ltd." 7CBD06 o="AE REFUsol" 7CBF88 o="Mobilicom LTD" 7CC4EF o="Devialet" 7CC6C4 o="Kolff Computer Supplies b.v." 7CC8AB o="Acro Associates, Inc." 7CC8D0 o="TIANJIN YAAN TECHNOLOGY CO., LTD." 7CC8D7 o="Damalisk" 7CC926 o="Wuhan GreeNet Information Service Co.,Ltd." 7CCB0D o="Antaira Technologies, LLC" 7CCD11 o="MS-Magnet" 7CCD3C o="Guangzhou Juzing Technology Co., Ltd" 7CCFCF o="Shanghai SEARI Intelligent System Co., Ltd" 7CD762 o="Freestyle Technology Pty Ltd" 7CD844 o="Enmotus Inc" 7CD9FE o="New Cosmos Electric Co., Ltd." 7CDA84 o="Dongnian Networks Inc." 7CDD11 o="Chongqing MAS SCI&TECH.Co.,Ltd" 7CDD20 o="IOXOS Technologies S.A." 7CDD90 o="Shenzhen Ogemray Technology Co., Ltd." 7CE044 o="NEON Inc" 7CE1FF o="Computer Performance, Inc. DBA Digital Loggers, Inc." 7CE524 o="Quirky, Inc." 7CE56B o="ESEN Optoelectronics Technology Co.,Ltd." 7CEB7F o="Dmet Products Corp." 7CEBAE o="Ridgeline Instruments" 7CEBEA o="ASCT" 7CEC9B o="Fuzhou Teraway Information Technology Co.,Ltd" 7CEF18 o="Creative Product Design Pty. Ltd." 7CEF8A o="Inhon International Ltd." 7CF098 o="Bee Beans Technologies, Inc." 7CF0BA o="Linkwell Telesystems Pvt Ltd" 7CF429 o="NUUO Inc." 7CF95C o="U.I. Lapp GmbH" 7CFE28 o="Salutron Inc." 7CFE4E o="Shenzhen Safe vision Technology Co.,LTD" 7CFF62 o="Huizhou Super Electron Technology Co.,Ltd." 8002DF o="ORA Inc." 8005DF o="Montage Technology Group Limited" 8007A2 o="Esson Technology Inc." 800A06 o="COMTEC co.,ltd" 800B51 o="Chengdu XGimi Technology Co.,Ltd" 800DD7 o="Latticework, Inc" 800E24 o="ForgetBox" 801440 o="Sunlit System Technology Corp" 801609 o="Sleep Number" 8016B7 o="Brunel University" 801967 o="Shanghai Reallytek Information Technology Co.,Ltd" 8019FE o="JianLing Technology CO., LTD" 8020AF o="Trade FIDES, a.s." 8020E1 o="BVBA DPTechnics" 802275 o="Beijing Beny Wave Technology Co Ltd" 802AFA o="Germaneers GmbH" 802DE1 o="Solarbridge Technologies" 802E14 o="azeti Networks AG" 802FDE o="Zurich Instruments AG" 803457 o="OT Systems Limited" 8038FD o="LeapFrog Enterprises, Inc." 8039E5 o="PATLITE CORPORATION" 803B2A o="ABB Xiamen Low Voltage Equipment Co.,Ltd." 803B9A o="ghe-ces electronic ag" 803BF6 o="LOOK EASY INTERNATIONAL LIMITED" 803F5D o="Winstars Technology Ltd" 803FD6 o="bytes at work AG" 80427C o="Adolf Tedsen GmbH & Co. KG" 804731 o="Packet Design, Inc." 804B20 o="Ventilation Control" 804F58 o="ThinkEco, Inc." 805067 o="W & D TECHNOLOGY CORPORATION" 8058C5 o="NovaTec Kommunikationstechnik GmbH" 8059FD o="Noviga" 805E0C,805EC0 o="YEALINK(XIAMEN) NETWORK TECHNOLOGY CO.,LTD." 80615F o="Beijing Sinead Technology Co., Ltd." 80618F o="Shenzhen sangfei consumer communications co.,ltd" 806459 o="Nimbus Inc." 80647A o="Ola Sense Inc" 8065E9 o="BenQ Corporation" 806629 o="Prescope Technologies CO.,LTD." 806940 o="LEXAR CO.,LIMITED" 806C8B o="KAESER KOMPRESSOREN AG" 806CBC o="NET New Electronic Technology GmbH" 807459 o="K's Co.,Ltd." 807693 o="Newag SA" 8079AE o="ShanDong Tecsunrise Co.,Ltd" 807A7F o="ABB Genway Xiamen Electrical Equipment CO., LTD" 807B1E o="Corsair Memory, Inc." 807D1B o="Neosystem Co. Ltd." 807DE3 o="Chongqing Sichuan Instrument Microcircuit Co.LTD." 8081A5 o="TONGQING COMMUNICATION EQUIPMENT (SHENZHEN) Co.,Ltd" 808287 o="ATCOM Technology Co.Ltd." 8084A9 o="oshkosh Corporation" 808698 o="Netronics Technologies Inc." 808B5C o="Shenzhen Runhuicheng Technology Co., Ltd" 8091C0 o="AgileMesh, Inc." 809393 o="Xapt GmbH" 80946C o="TOKYO RADAR CORPORATION" 80971B o="Altenergy Power System,Inc." 80A1AB o="Intellisis" 80A796 o="Neurotek LLC" 80A85D o="Osterhout Design Group" 80AAA4 o="USAG" 80B219 o="ELEKTRON TECHNOLOGY UK LIMITED" 80B289 o="Forworld Electronics Ltd." 80B32A o="UK Grid Solutions Ltd" 80B624 o="IVS" 80B708 o="Blue Danube Systems, Inc" 80B709 o="Viptela, Inc" 80B95C o="ELFTECH Co., Ltd." 80BAAC o="TeleAdapt Ltd" 80BAE6 o="Neets" 80BBEB o="Satmap Systems Ltd" 80C548 o="Shenzhen Zowee Technology Co.,Ltd" 80C63F o="Remec Broadband Wireless , LLC" 80C6CA o="Endian s.r.l." 80C755,B46C47,D8AFF1 o="Panasonic Appliances Company" 80C862 o="Openpeak, Inc" 80CEB1 o="Theissen Training Systems GmbH" 80D019 o="Embed, Inc" 80D065 o="CKS Corporation" 80D18B o="Hangzhou I'converge Technology Co.,Ltd" 80D433 o="LzLabs GmbH" 80D733 o="QSR Automations, Inc." 80DB31 o="Power Quotient International Co., Ltd." 80EACA o="Dialog Semiconductor Hellas SA" 80F25E o="Kyynel" 80F593 o="IRCO Sistemas de Telecomunicación S.A." 80F8EB o="RayTight" 80FFA8 o="UNIDIS" 8401A7 o="Greyware Automation Products, Inc" 8404D2 o="Kirale Technologies SL" 840F45 o="Shanghai GMT Digital Technologies Co., Ltd" 841715 o="GP Electronics (HK) Ltd." 841826 o="Osram GmbH" 841B38 o="Shenzhen Excelsecu Data Technology Co.,Ltd" 841E26 o="KERNEL-I Co.,LTD" 842141 o="Shenzhen Ginwave Technologies Ltd." 842519 o="Samsung Electronics" 84253F o="silex technology, Inc." 8425A4 o="Tariox Limited" 842690 o="BEIJING THOUGHT SCIENCE CO.,LTD." 8427CE o="Corporation of the Presiding Bishop of The Church of Jesus Christ of Latter-day Saints" 84285A o="Saffron Solutions Inc" 842914 o="EMPORIA TELECOM Produktions- und VertriebsgesmbH & Co KG" 842B50 o="Huria Co.,Ltd." 842BBC o="Modelleisenbahn GmbH" 842F75 o="Innokas Group" 8430E5 o="SkyHawke Technologies, LLC" 84326F o="GUANGZHOU AVA ELECTRONICS TECHNOLOGY CO.,LTD" 8432EA o="ANHUI WANZTEN P&T CO., LTD" 843611 o="hyungseul publishing networks" 843E79,A03C31,B4EE25,DC4BFE o="Shenzhen Belon Technology CO.,LTD" 843F4E o="Tri-Tech Manufacturing, Inc." 844076 o="Drivenets" 844464 o="ServerU Inc" 844823 o="WOXTER TECHNOLOGY Co. Ltd" 844915 o="vArmour Networks, Inc." 844BB7 o="Beijing Sankuai Online Technology Co.,Ltd" 844F03 o="Ablelink Electronics Ltd" 84509A o="Easy Soft TV Co., Ltd" 84569C o="Coho Data, Inc.," 845787 o="DVR C&C Co., Ltd." 845A81 o="ffly4u" 845C93 o="Chabrier Services" 845DD7 o="Shenzhen Netcom Electronics Co.,Ltd" 8462A6 o="EuroCB (Phils), Inc." 8468C8 o="TOTOLINK TECHNOLOGY INT‘L LIMITED" 846A66 o="Sumitomo Kizai Co.,Ltd." 846AED o="Wireless Tsukamoto.,co.LTD" 846EB1 o="Park Assist LLC" 847207 o="I&C Technology" 847303 o="Letv Mobile and Intelligent Information Technology (Beijing) Corporation Ltd." 847616 o="Addat s.r.o." 847778 o="Cochlear Limited" 847933 o="profichip GmbH" 847D50 o="Holley Metering Limited" 848094 o="Meter, Inc." 8482F4 o="Beijing Huasun Unicreate Technology Co., Ltd" 848319 o="Hangzhou Zero Zero Technology Co., Ltd." 848336 o="Newrun" 848433 o="Paradox Engineering SA" 84850A o="Hella Sonnen- und Wetterschutztechnik GmbH" 8485E6 o="Guangdong Asano Technology CO.,Ltd." 8486F3 o="Greenvity Communications" 848D84 o="Rajant Corporation" 848E96 o="Embertec Pty Ltd" 849000 o="Arnold & Richter Cine Technik" 84930C o="InCoax Networks Europe AB" 849681 o="Cathay Communication Co.,Ltd" 8497B8 o="Memjet Inc." 849DC5 o="Centera Photonics Inc." 84A24D o="Birds Eye Systems Private Limited" 84A788 o="Perples" 84A991 o="Cyber Trans Japan Co.,Ltd." 84A9EA o="Career Technologies USA" 84ACA4 o="Beijing Novel Super Digital TV Technology Co., Ltd" 84ACFB o="Crouzet Automatismes" 84AF1F o="Beat System Service Co,. Ltd." 84B31B o="Kinexon GmbH" 84B866 o="Beijing XiaoLu technology co. LTD" 84C3E8 o="Vaillant GmbH" 84C727 o="Gnodal Ltd" 84C78F o="STORDIS GmbH" 84C7A9 o="C3PO S.A." 84C8B1 o="Incognito Software Systems Inc." 84CD62 o="ShenZhen IDWELL Technology CO.,Ltd" 84CFBF o="Fairphone" 84D32A o="IEEE 1905.1" 84D9C8 o="Unipattern Co.," 84DB9E o="Aifloo AB" 84DDB7 o="Cilag GmbH International" 84DE3D o="Crystal Vision Ltd" 84DF0C o="NET2GRID BV" 84DF19 o="Chuango Security Technology Corporation" 84E323 o="Green Wave Telecommunication SDN BHD" 84E327 o="TAILYN TECHNOLOGIES INC" 84E4D9 o="Shenzhen NEED technology Ltd." 84E5D8 o="Guangdong UNIPOE IoT Technology Co.,Ltd." 84E629 o="Bluwan SA" 84E714 o="Liang Herng Enterprise,Co.Ltd." 84EA97 o="Shenzhen iComm Semiconductor Co., Ltd." 84EA99 o="Vieworks" 84EB3E o="Vivint Smart Home" 84ED33 o="BBMC Co.,Ltd" 84F129 o="Metrascale Inc." 84F493 o="OMS spol. s.r.o." 84F64C o="Cross Point BV" 84F6FA o="Miovision Technologies Incorporated" 84F883 o="Luminar Technologies" 84FE9E o="RTC Industries, Inc." 84FEDC o="Borqs Beijing Ltd." 880118 o="BLT Co" 8801F2 o="Vitec System Engineering Inc." 880905 o="MTMCommunications" 880907 o="MKT Systemtechnik GmbH & Co. KG" 880F10 o="Huami Information Technology Co.,Ltd." 880FB6 o="Jabil Circuits India Pvt Ltd,-EHTP unit" 881036 o="Panodic(ShenZhen) Electronics Limted" 88123D o="Suzhou Aquila Solutions Inc." 88142B o="Protonic Holland" 8818AE o="Tamron Co., Ltd" 881B99 o="SHENZHEN XIN FEI JIA ELECTRONIC CO. LTD." 882012 o="LMI Technologies" 8821E3 o="Nebusens, S.L." 882364 o="Watchnet DVR Inc" 8823FE o="TTTech Computertechnik AG" 882950 o="Netmoon Technology Co., Ltd" 882BD7 o="ADDÉNERGIE TECHNOLOGIES" 882D53 o="Baidu Online Network Technology (Beijing) Co., Ltd." 882E5A o="storONE" 8833BE o="Ivenix, Inc." 8834FE o="Bosch Automotive Products (Suzhou) Co. Ltd" 88354C o="Transics" 883612 o="SRC Computers, LLC" 883B8B o="Cheering Connection Co. Ltd." 884157 o="Shenzhen Atsmart Technology Co.,Ltd." 8841C1 o="ORBISAT DA AMAZONIA IND E AEROL SA" 88462A o="Telechips Inc." 884A18 o="Opulinks" 884B39 o="Siemens AG, Healthcare Sector" 884CCF o="Pulzze Systems, Inc" 8850DD o="Infiniband Trade Association" 88571D o="Seongji Industry Company" 88576D o="XTA Electronics Ltd" 88615A o="Siano Mobile Silicon Ltd." 88685C o="Shenzhen ChuangDao & Perpetual Eternal Technology Co.,Ltd" 886B76 o="CHINA HOPEFUL GROUP HOPEFUL ELECTRIC CO.,LTD" 887033 o="Hangzhou Silan Microelectronic Inc" 8870EF o="SC Professional Trading Co., Ltd." 887398 o="K2E Tekpoint" 88789C o="Game Technologies SA" 887A31 o="Velankani Electronics Pvt. Ltd." 887F03 o="Comper Technology Investment Limited" 888279 o="Shenzhen RB-LINK Intelligent Technology Co.Ltd" 8886A0 o="Simton Technologies, Ltd." 8886C2 o="STABILO International GmbH" 8887DD o="DarbeeVision Inc." 888914 o="All Components Incorporated" 888964 o="GSI Electronics Inc." 888B5D o="Storage Appliance Corporation" 888C19 o="Brady Corp Asia Pacific Ltd" 889166 o="Viewcooper Corp." 8891DD o="Racktivity" 8894F9 o="Gemicom Technology, Inc." 8895B9 o="Unified Packet Systems Crop" 889655 o="Zitte corporation" 889676 o="TTC MARCONI s.r.o." 8896B6 o="Global Fire Equipment S.A." 8896F2 o="Valeo Schalter und Sensoren GmbH" 889765 o="exands" 8897DF o="Entrypass Corporation Sdn. Bhd." 889821 o="TERAON" 889CA6 o="BTB Korea INC" 889D98 o="Allied-telesisK.K." 889FAA o="Hella Gutmann Solutions GmbH" 88A084 o="Formation Data Systems" 88A3CC o="Amatis Controls" 88A5BD o="QPCOM INC." 88ACC1 o="Generiton Co., Ltd." 88B168 o="Delta Control GmbH" 88B627 o="Gembird Europe BV" 88B66B o="easynetworks" 88B8D0 o="Dongguan Koppo Electronic Co.,Ltd" 88BA7F o="Qfiednet Co., Ltd." 88BD78 o="Flaircomm Microelectronics,Inc." 88BFD5 o="Simple Audio Ltd" 88C242 o="Poynt Co." 88C36E o="Beijing Ereneben lnformation Technology Limited" 88C3B3 o="SOVICO" 88C626,C0288D,EC8193 o="Logitech, Inc" 88CBA5 o="Suzhou Torchstar Intelligent Technology Co.,Ltd" 88D039 o="TCL Technoly Electronics(Huizhou).,Ltd" 88D171 o="BEGHELLI S.P.A" 88D211 o="Eko Devices, Inc." 88D2BF o="German Autolabs" 88D37B o="FirmTek, LLC" 88D652 o="AMERGINT Technologies" 88D7BC o="DEP Company" 88D962 o="Canopus Systems US LLC" 88DA33 o="Beijing Xiaoyuer Network Technology Co., Ltd" 88DC96 o="SENAO Networks, Inc." 88E034 o="Shinwa industries(China) ltd." 88E0A0 o="Shenzhen VisionSTOR Technologies Co., Ltd" 88E161 o="Art Beijing Science and Technology Development Co., Ltd." 88E603 o="Avotek corporation" 88E628 o="Shenzhen Kezhonglong Optoelectronic Technology Co.,Ltd" 88E712 o="Whirlpool Corporation" 88E7A6 o="iKnowledge Integration Corp." 88E8F8 o="YONG TAI ELECTRONIC (DONGGUAN) LTD." 88E90F o="innomdlelab" 88E917 o="Tamaggo" 88ED1C o="Cudo Communication Co., Ltd." 88F488 o="cellon communications technology(shenzhen)Co.,Ltd." 88F490 o="Jetmobile Pte Ltd" 88FD15 o="LINEEYE CO., LTD" 88FED6 o="ShangHai WangYong Software Co., Ltd." 8C02FA o="COMMANDO Networks Limited" 8C0551 o="Koubachi AG" 8C078C o="FLOW DATA INC" 8C0CA3 o="Amper" 8C0F83 o="Angie Hospitality LLC" 8C0FA0 o="di-soric GmbH & Co. KG" 8C0FFA o="Hutec co.,ltd" 8C11CB o="ABUS Security-Center GmbH & Co. KG" 8C1F94 o="RF Surgical System Inc." 8C271D o="QuantHouse" 8C2F39 o="IBA Dosimetry GmbH" 8C2FA6 o="Solid Optics B.V." 8C3330 o="EmFirst Co., Ltd." 8C3357 o="HiteVision Digital Media Technology Co.,Ltd." 8C3579 o="QDIQO Sp. z o.o." 8C395C o="Bit4id Srl" 8C3B32 o="Microfan B.V." 8C3C07 o="Skiva Technologies, Inc." 8C41F2 o="RDA Technologies Ltd." 8C41F4 o="IPmotion GmbH" 8C4435 o="Shanghai BroadMobi Communication Technology Co., Ltd." 8C4AEE o="GIGA TMS INC" 8C4B59 o="3D Imaging & Simulations Corp" 8C4CAD o="Evoluzn Inc." 8C4DB9 o="Unmonday Ltd" 8C4DEA o="Cerio Corporation" 8C5105 o="Shenzhen ireadygo Information Technology CO.,LTD." 8C53F7 o="A&D ENGINEERING CO., LTD." 8C569D o="Imaging Solutions Group" 8C57FD o="LVX Western" 8C598B o="C Technologies AB" 8C59DC o="ASR Microelectronics (Shanghai) Co., Ltd." 8C5AF0 o="Exeltech Solar Products" 8C5CA1 o="d-broad,INC" 8C5D60 o="UCI Corporation Co.,Ltd." 8C5F48 o="Continental Intelligent Transportation Systems LLC" 8C5FDF o="Beijing Railway Signal Factory" 8C6078 o="Swissbit AG" 8C60E7 o="MPGIO CO.,LTD" 8C6102 o="Beijing Baofengmojing Technologies Co., Ltd" 8C640B o="Beyond Devices d.o.o." 8C6878 o="Nortek-AS" 8C6AE4 o="Viogem Limited" 8C6DC4 o="Megapixel VR" 8C76C1 o="Goden Tech Limited" 8C7BF0 o="Xufeng Development Limited" 8C7EB3 o="Lytro, Inc." 8C8126 o="ARCOM" 8C82A8 o="Insigma Technology Co.,Ltd" 8C839D o="SHENZHEN XINYUPENG ELECTRONIC TECHNOLOGY CO., LTD" 8C8580 o="Smart Innovation LLC" 8C85E6 o="Cleondris GmbH" 8C873B o="Leica Camera AG" 8C897A o="AUGTEK" 8C89FA o="Zhejiang Hechuan Technology Co., Ltd." 8C8A6E o="ESTUN AUTOMATION TECHNOLOY CO., LTD" 8C8ABB o="Beijing Orient View Technology Co., Ltd." 8C8E76 o="taskit GmbH" 8C8F8B o="China Mobile Chongqing branch" 8C9109 o="Toyoshima Electric Technoeogy(Suzhou) Co.,Ltd." 8C9236 o="Aus.Linx Technology Co., Ltd." 8C9246 o="Oerlikon Textile Gmbh&Co.KG" 8C9351 o="Jigowatts Inc." 8C94CF o="Encell Technology, Inc." 8C965F o="Shandong Zhongan Technology Co., Ltd." 8CA048 o="Beijing NeTopChip Technology Co.,LTD" 8CA2FD o="Starry, Inc." 8CA5A1 o="Oregano Systems - Design & Consulting GmbH" 8CAE4C o="Plugable Technologies" 8CAE89 o="Y-cam Solutions Ltd" 8CAEDB,F8F082 o="NAG LLC" 8CB094 o="Airtech I&C Co., Ltd" 8CB0E9 o="Samsung Electronics.,LTD" 8CB7F7 o="Shenzhen UniStrong Science & Technology Co., Ltd" 8CB82C o="IPitomy Communications" 8CBE24 o="Tashang Semiconductor(Shanghai) Co., Ltd." 8CBF9D o="Shanghai Xinyou Information Technology Ltd. Co." 8CC5E1 o="ShenZhen Konka Telecommunication Technology Co.,Ltd" 8CC661 o="Current, powered by GE" 8CC7AA o="Radinet Communications Inc." 8CC7D0 o="zhejiang ebang communication co.,ltd" 8CCDA2 o="ACTP, Inc." 8CCF5C o="BEFEGA GmbH" 8CCF8F o="ITC Systems" 8CD17B o="CG Mobile" 8CD2E9 o="YOKOTE SEIKO CO., LTD." 8CD3A2 o="VisSim AS" 8CD628 o="Ikor Metering" 8CDB25 o="ESG Solutions" 8CDD8D o="Wifly-City System Inc." 8CDE52 o="ISSC Technologies Corp." 8CDE99 o="Comlab Inc." 8CE2DA o="Circle Media Inc" 8CE38E o="Kioxia Corporation" 8CE78C o="DK Networks" 8CE7B3 o="Sonardyne International Ltd" 8CEEC6 o="Precepscion Pty. Ltd." 8CF813 o="ORANGE POLSKA" 8CF945 o="Power Automation pte Ltd" 8CF957 o="RuiXingHengFang Network (Shenzhen) Co.,Ltd" 8CF9C9 o="MESADA Technology Co.,Ltd." 8CFCA0 o="Shenzhen Smart Device Technology Co., LTD." 8CFEB4 o="VSOONTECH ELECTRONICS CO., LIMITED" 90028A o="Shenzhen Shidean Legrand Electronic Products Co.,Ltd" 900372 o="Longnan Junya Digital Technology Co. Ltd." 900917 o="Far-sighted mobile" 900A39 o="Wiio, Inc." 900A3A o="PSG Plastic Service GmbH" 900BC1 o="Sprocomm Technologies CO.,Ltd" 900CB4 o="Alinket Electronic Technology Co., Ltd" 900D66 o="Digimore Electronics Co., Ltd" 900E83 o="Monico Monitoring, Inc." 900EB3 o="Shenzhen Amediatech Technology Co., Ltd." 9013DA o="Athom B.V." 901711 o="Hagenuk Marinekommunikation GmbH" 90179B o="Nanomegas" 90185E o="Apex Tool Group GmbH & Co OHG" 9018AE o="Shanghai Meridian Technologies, Co. Ltd." 901900 o="SCS SA" 901EDD o="GREAT COMPUTER CORPORATION" 90203A o="BYD Precision Manufacture Co.,Ltd" 902083 o="General Engine Management Systems Ltd." 90272B o="Algorab S.r.l." 902CC7 o="C-MAX Asia Limited" 902E87 o="LabJack" 9031CD o="Onyx Healthcare Inc." 90342B o="Gatekeeper Systems, Inc." 9038DF o="Changzhou Tiannengbo System Co. Ltd." 903CAE o="Yunnan KSEC Digital Technology Co.,Ltd." 903D5A o="Shenzhen Wision Technology Holding Limited" 903D68 o="G-Printec, Inc." 903D6B o="Zicon Technology Corp." 903DBD o="SECURE METERS LIMITED" 9043E2 o="Cornami, Inc" 904506 o="Tokyo Boeki Medisys Inc." 9046A2 o="Tedipay UK Ltd" 9046B7 o="Vadaro Pte Ltd" 904716 o="RORZE CORPORATION" 904DC3 o="Flonidan A/S" 90505A o="unGlue, Inc" 90507B o="Advanced PANMOBIL Systems GmbH & Co. KG" 90513F o="Elettronica Santerno SpA" 905446 o="TES ELECTRONIC SOLUTIONS" 9055AE,C835B8 o="Ericsson, EAB/RWI/K" 905682 o="Lenbrook Industries Limited" 905692 o="Autotalks Ltd." 905C34 o="Sirius Electronic Systems Srl" 905F8D o="modas GmbH" 90610C o="Fida International (S) Pte Ltd" 906717 o="Alphion India Private Limited" 906D05 o="BXB ELECTRONICS CO., LTD" 906DC8 o="DLG Automação Industrial Ltda" 906FA9 o="NANJING PUTIAN TELECOMMUNICATIONS TECHNOLOGY CO.,LTD." 907025 o="Garea Microsys Co.,Ltd." 907990 o="Benchmark Electronics Romania SRL" 907A0A o="Gebr. Bode GmbH & Co KG" 907A28 o="Beijing Morncloud Information And Technology Co. Ltd." 907A58 o="Zegna-Daidong Limited" 907AF1 o="Wally" 907E30 o="LARS" 907EBA o="UTEK TECHNOLOGY (SHENZHEN) CO.,LTD" 90834B,F41C95 o="BEIJING YUNYI TIMES TECHNOLOGY CO,.LTD" 90837A o="General Electric Water & Process Technologies" 90842B o="LEGO System A/S" 90848B o="HDR10+ Technologies, LLC" 9088A2 o="IONICS TECHNOLOGY ME LTDA" 908C09 o="Total Phase" 908C44 o="H.K ZONGMU TECHNOLOGY CO., LTD." 908C63 o="GZ Weedong Networks Technology Co. , Ltd" 908D1D o="GH Technologies" 908FCF o="UNO System Co., Ltd" 90903C o="TRISON TECHNOLOGY CORPORATION" 909060 o="RSI VIDEO TECHNOLOGIES" 9092B4 o="Diehl BGT Defence GmbH & Co. KG" 90940A o="Analog Devices, Inc" 909864 o="Impex-Sat GmbH&Co KG" 909916 o="ELVEES NeoTek OJSC" 909DE0 o="Newland Design + Assoc. Inc." 909F43 o="Accutron Instruments Inc." 90A137 o="Beijing Splendidtel Communication Technology Co,. Ltd" 90A210 o="United Telecoms Ltd" 90A2DA o="GHEO SA" 90A46A o="SISNET CO., LTD" 90A62F o="NAVER" 90A783 o="JSW PACIFIC CORPORATION" 90A7C1 o="Pakedge Device and Software Inc." 90AC3F o="BrightSign LLC" 90AFD1 o="netKTI Co., Ltd" 90B1E0 o="Beijing Nebula Link Technology Co., Ltd" 90B8D0 o="Joyent, Inc." 90B8E0 o="SHENZHEN YANRAY TECHNOLOGY CO.,LTD" 90C99B o="Tesorion Nederland B.V." 90CC24 o="Synaptics, Inc" 90CF6F o="Dlogixs Co Ltd" 90D11B o="Palomar Medical Technologies" 90D74F o="Bookeen" 90D7BE o="Wavelab Global Inc." 90D852 o="Comtec Co., Ltd." 90D92C o="HUG-WITSCHI AG" 90DA4E o="AVANU" 90DA6A o="FOCUS H&S Co., Ltd." 90DB46 o="E-LEAD ELECTRONIC CO., LTD" 90DFB7 o="s.m.s smart microwave sensors GmbH" 90DFFB o="HOMERIDER SYSTEMS" 90E0F0 o="IEEE 1722a Working Group" 90EA60 o="SPI Lasers Ltd" 90EC50 o="C.O.B.O. SPA" 90EC77 o="silicom" 90EED9 o="UNIVERSAL DE DESARROLLOS ELECTRÓNICOS, SA" 90F1B0 o="Hangzhou Anheng Info&Tech CO.,LTD" 90F278 o="Radius Gateway" 90F3B7 o="Kirisun Communications Co., Ltd." 90F4C1 o="Rand McNally" 90F72F o="Phillips Machine & Welding Co., Inc." 90FF79 o="Metro Ethernet Forum" 940006 o="jinyoung" 940149 o="AutoHotBox" 9405B6 o="Liling FullRiver Electronics & Technology Ltd" 940B2D o="NetView Technologies(Shenzhen) Co., Ltd" 940BD5 o="Himax Technologies, Inc" 9411DA o="ITF Fröschl GmbH" 941673 o="Point Core SARL" 94193A o="Elvaco AB" 941D1C o="TLab West Systems AB" 942197 o="Stalmart Technology Limited" 94236E o="Shenzhen Junlan Electronic Ltd" 94290C o="Shenyang wisdom Foundation Technology Development Co., Ltd." 94298D o="Shanghai AdaptComm Technology Co., Ltd." 942A3F o="Diversey Inc" 942E17 o="Schneider Electric Canada Inc" 942E63 o="Finsécur" 94319B o="Alphatronics BV" 9433DD o="Taco Inc" 9436E0 o="Sichuan Bihong Broadcast & Television New Technologies Co.,Ltd" 943DC9 o="Asahi Net, Inc." 9440A2 o="Anywave Communication Technologies, Inc." 9441C1 o="Mini-Cam Limited" 944996 o="WiSilica Inc" 944A09 o="BitWise Controls" 944F4C o="Sound United LLC" 945047 o="Rechnerbetriebsgruppe" 945089 o="SimonsVoss Technologies GmbH" 94513D o="iSmart Alarm, Inc." 9451BF o="Hyundai ESG" 945493 o="Rigado, LLC" 9454DF o="YST CORP." 945907 o="Shanghai HITE-BELDEN Network Technology Co., Ltd." 94592D o="EKE Building Technology Systems Ltd" 945B7E o="TRILOBIT LTDA." 94611E o="Wata Electronics Co.,Ltd." 946124 o="Pason Systems" 9466E7 o="WOM Engineering" 94677E o="Belden India Private Limited" 9470D2 o="WINFIRM TECHNOLOGY" 94756E o="QinetiQ North America" 947BBE o="Ubicquia" 947C3E o="Polewall Norge AS" 947EB9 o="National Narrowband Network Communications Pty Ltd" 9481A4 o="Azuray Technologies" 9483C4 o="GL Technologies (Hong Kong) Limited" 94857A o="Evantage Industries Corp" 9486CD o="SEOUL ELECTRONICS&TELECOM" 9486D4 o="Surveillance Pro Corporation" 948815 o="Infinique Worldwide Inc" 94885E o="Surfilter Network Technology Co., Ltd." 948B03 o="EAGET Innovation and Technology Co., Ltd." 948D50 o="Beamex Oy Ab" 948DEF o="Oetiker Schweiz AG" 948E89 o="INDUSTRIAS UNIDAS SA DE CV" 948FEE o="Verizon Telematics" 9492BC o="SYNTECH(HK) TECHNOLOGY LIMITED" 9492D2 o="KCF Technologies, Inc." 9498A2 o="Shanghai LISTEN TECH.LTD" 949901 o="Shenzhen YITOA Digital Appliance CO.,LTD" 949990 o="VTC Telecommunications" 949BFD o="Trans New Technology, Inc." 949C55 o="Alta Data Technologies" 949D57 o="Panasonic do Brasil Limitada" 949F3F o="Optek Digital Technology company limited" 949FB4 o="ChengDu JiaFaAnTai Technology Co.,Ltd" 94A04E o="Bostex Technology Co., LTD" 94A3CA o="KonnectONE, LLC" 94A40C o="Diehl Metering GmbH" 94A7BC o="BodyMedia, Inc." 94AAB8 o="Joview(Beijing) Technology Co. Ltd." 94ABDE o="OMX Technology - FZE" 94ACCA o="trivum technologies GmbH" 94AEE3 o="Belden Hirschmann Industries (Suzhou) Ltd." 94B9B4 o="Aptos Technology" 94BA31 o="Visiontec da Amazônia Ltda." 94BBAE o="Husqvarna AB" 94BF1E o="eflow Inc. / Smart Device Planning and Development Division" 94BF95 o="Shenzhen Coship Electronics Co., Ltd" 94C014 o="Sorter Sp. j. Konrad Grzeszczyk MichaA, Ziomek" 94C038 o="Tallac Networks" 94C2BD o="TECNOBIT" 94C3E4 o="Atlas Copco IAS GmbH" 94C4E9 o="PowerLayer Microsystems HongKong Limited" 94C6EB o="NOVA electronics, Inc." 94C7AF o="Raylios Technology" 94C960 o="Zhongshan B&T technology.co.,ltd" 94C962 o="Teseq AG" 94CA0F o="Honeywell Analytics" 94CDAC o="Creowave Oy" 94CE31 o="CTS Limited" 94D019 o="Cydle Corp." 94D075 o="CIS Crypto" 94D299 o="Techmation Co.,Ltd." 94D417 o="GPI KOREA INC." 94D60E o="shenzhen yunmao information technologies co., ltd" 94D6DB o="NexFi" 94D93C o="ENELPS" 94DB49 o="SITCORP" 94DC4E o="AEV, spol. s r. o." 94DD3F o="A+V Link Technologies, Corp." 94DE0E o="SmartOptics AS" 94DF58 o="IJ Electron CO.,Ltd." 94E0D0 o="HealthStream Taiwan Inc." 94E226 o="D. ORtiz Consulting, LLC" 94E2FD o="Boge Kompressoren OTTO Boge GmbH & Co. KG" 94E711 o="Xirka Dama Persada PT" 94E848 o="FYLDE MICRO LTD" 94F19E o="HUIZHOU MAORONG INTELLIGENT TECHNOLOGY CO.,LTD" 94F278 o="Elma Electronic" 94F551 o="Cadi Scientific Pte Ltd" 94F692 o="Geminico co.,Ltd." 94F720 o="Tianjin Deviser Electronics Instrument Co., Ltd" 94FAE8 o="Shenzhen Eycom Technology Co., Ltd" 94FD1D o="WhereWhen Corp" 94FD2E o="Shanghai Uniscope Technologies Co.,Ltd" 980074,A86D5F,C850E9,CCC2E0 o="Raisecom Technology CO., LTD" 9800C1 o="GuangZhou CREATOR Technology Co.,Ltd.(CHINA)" 980284 o="Theobroma Systems GmbH" 9803A0 o="ABB n.v. Power Quality Products" 981094 o="Shenzhen Vsun communication technology Co.,ltd" 9814D2 o="Avonic" 9816EC o="IC Intracom" 981BB5 o="ASSA ABLOY Korea Co., Ltd iRevo" 981E0F o="Jeelan (Shanghai Jeelan Technology Information Inc" 981FB1 o="Shenzhen Lemon Network Technology Co.,Ltd" 98208E o="Definium Technologies" 98234E o="Micromedia AG" 98262A o="Applied Research Associates, Inc" 98291D o="Jaguar de Mexico, SA de CV" 98293F o="Fujian Start Computer Equipment Co.,Ltd" 982D56 o="Resolution Audio" 982D68 o="Samsung Electronics Co., Ltd" 982DBA o="Fibergate Inc." 983000 o="Beijing KEMACOM Technologies Co., Ltd." 983071 o="DAIKYUNG VASCOM" 98349D o="Krauss Maffei Technologies GmbH" 983571 o="Sub10 Systems Ltd" 9835B8 o="Assembled Products Corporation" 983713 o="PT.Navicom Indonesia" 983F9F o="China SSJ (Suzhou) Network Technology Inc." 984246 o="SOL INDUSTRY PTE., LTD" 9843DA o="INTERTECH" 9844B6 o="INFRANOR SAS" 9849E1,A42983 o="Boeing Defence Australia" 984A47 o="CHG Hospital Beds" 984C04 o="Zhangzhou Keneng Electrical Equipment Co Ltd" 984CD3 o="Mantis Deposition" 984E97 o="Starlight Marketing (H. K.) Ltd." 9857D3 o="HON HAI-CCPBG PRECISION IND.CO.,LTD." 98588A o="SYSGRATION Ltd." 985BB0 o="KMDATA INC." 985C93 o="SBG Systems SAS" 985D46 o="PeopleNet Communication" 985E1B o="ConversDigital Co., Ltd." 986022 o="EMW Co., Ltd." 9866EA o="Industrial Control Communications, Inc." 986C5C o="Jiangxi Gosun Guard Security Co.,Ltd" 986DC8 o="TOSHIBA MITSUBISHI-ELECTRIC INDUSTRIAL SYSTEMS CORPORATION" 9870E8 o="INNATECH SDN BHD" 9873C4 o="Sage Electronic Engineering LLC" 98743D o="Shenzhen Jun Kai Hengye Technology Co. Ltd" 9876B6 o="Adafruit" 987770 o="Pep Digital Technology (Guangzhou) Co., Ltd" 987E46 o="Emizon Networks Limited" 988217 o="Disruptive Ltd" 9886B1 o="Flyaudio corporation (China)" 988744 o="Wuxi Hongda Science and Technology Co.,LTD" 9889ED o="Anadem Information Inc." 988BAD o="Corintech Ltd." 988E34 o="ZHEJIANG BOXSAM ELECTRONIC CO.,LTD" 988E4A o="NOXUS(BEIJING) TECHNOLOGY CO.,LTD" 988EDD o="TE Connectivity Limerick" 989080 o="Linkpower Network System Inc Ltd." 989449 o="Skyworth Wireless Technology Ltd." 98A40E o="Snap, Inc." 98A7B0 o="MCST ZAO" 98AA3C o="Will i-tech Co., Ltd." 98AAD7 o="BLUE WAVE NETWORKING CO LTD" 98AE71 o="VVDN Technologies Pvt Ltd" 98BB99 o="Phicomm (Sichuan) Co.,Ltd." 98BC57 o="SVA TECHNOLOGIES CO.LTD" 98BC99 o="Edeltech Co.,Ltd." 98C0EB o="Global Regency Ltd" 98C845 o="PacketAccess" 98CB27 o="Galore Networks Pvt. Ltd." 98CC4D o="Shenzhen mantunsci co., LTD" 98CDB4 o="Virident Systems, Inc." 98D331 o="Shenzhen Bolutek Technology Co.,Ltd." 98D3D2 o="MEKRA Lang GmbH & Co. KG" 98D3E7 o="Netafim L" 98D686 o="Chyi Lee industry Co., ltd." 98D863,F0FE6B o="Shanghai High-Flying Electronics Technology Co., Ltd" 98DA92 o="Vuzix Corporation" 98DCD9 o="UNITEC Co., Ltd." 98DD5B o="TAKUMI JAPAN LTD" 98E165 o="Accutome" 98E476 o="Zentan" 98E79A o="Foxconn(NanJing) Communication Co.,Ltd." 98E848 o="Axiim" 98EC65 o="Cosesy ApS" 98ED5C o="Tesla Motors, Inc" 98F058 o="Lynxspring, Incl." 98F8DB o="Marini Impianti Industriali s.r.l." 98FAA7 o="INNONET" 98FB12 o="Grand Electronics (HK) Ltd" 98FD74 o="ACT.CO.LTD" 98FE03 o="Ericsson - North America" 98FF6A o="OTEC(Shanghai)Technology Co.,Ltd." 9C0111 o="Shenzhen Newabel Electronic Co., Ltd." 9C039E o="Beijing Winchannel Software Technology Co., Ltd" 9C0473 o="Tecmobile (International) Ltd." 9C066E o="Hytera Communications Corporation Limited" 9C0DAC o="Tymphany HK Limited" 9C0E4A o="Shenzhen Vastking Electronic Co.,Ltd." 9C13AB o="Chanson Water Co., Ltd." 9C1465 o="Edata Elektronik San. ve Tic. A.Ş." 9C1FDD o="Accupix Inc." 9C220E o="TASCAN Systems GmbH" 9C25BE o="Wildlife Acoustics, Inc." 9C2840 o="Discovery Technology,LTD.." 9C28BF,ACC358 o="Continental Automotive Czech Republic s.r.o." 9C2DCF o="Shishi Tongyun Technology(Chengdu)Co.,Ltd." 9C2F73 o="Universal Tiancheng Technology (Beijing) Co., Ltd." 9C3066 o="RWE Effizienz GmbH" 9C3178 o="Foshan Huadian Intelligent Communications Teachnologies Co.,Ltd" 9C31B6 o="Kulite Semiconductor Products Inc" 9C3583 o="Nipro Diagnostics, Inc" 9C3EAA o="EnvyLogic Co.,Ltd." 9C417C o="Hame Technology Co., Limited" 9C443D o="CHENGDU XUGUANG TECHNOLOGY CO, LTD" 9C44A6 o="SwiftTest, Inc." 9C4563 o="DIMEP Sistemas" 9C4CAE o="Mesa Labs" 9C4E8E o="ALT Systems Ltd" 9C4EBF o="BoxCast" 9C53CD o="ENGICAM s.r.l." 9C541C o="Shenzhen My-power Technology Co.,Ltd" 9C54CA o="Zhengzhou VCOM Science and Technology Co.,Ltd" 9C54DA o="SkyBell Technologies Inc." 9C55B4 o="I.S.E. S.r.l." 9C5711 o="Feitian Xunda(Beijing) Aeronautical Information Technology Co., Ltd." 9C5B96 o="NMR Corporation" 9C5C8D o="FIREMAX INDÚSTRIA E COMÉRCIO DE PRODUTOS ELETRÔNICOS LTDA" 9C5D95 o="VTC Electronics Corp." 9C5E73 o="Calibre UK LTD" 9C611D o="Omni-ID USA, Inc." 9C645E o="Harman Consumer Group" 9C6650 o="Glodio Technolies Co.,Ltd Tianjin Branch" 9C685B o="Octonion SA" 9C6937 o="Qorvo Utrecht B.V." 9C6ABE o="QEES ApS." 9C7514 o="Wildix srl" 9C77AA o="NADASNV" 9C79AC o="Suntec Software(Shanghai) Co., Ltd." 9C7BD2 o="NEOLAB Convergence" 9C7F57 o="UNIC Memory Technology Co Ltd" 9C807D o="SYSCABLE Korea Inc." 9C83BF o="PRO-VISION, Inc." 9C86DA o="Phoenix Geophysics Ltd." 9C8888 o="Simac Techniek NV" 9C8BF1 o="The Warehouse Limited" 9C8D1A o="INTEG process group inc" 9C8DD3 o="Leonton Technologies" 9C8ECD o="Amcrest Technologies" 9C934E o="Xerox Corporation" 9C93B0 o="Megatronix (Beijing) Technology Co., Ltd." 9C95F8 o="SmartDoor Systems, LLC" 9C9811 o="Guangzhou Sunrise Electronics Development Co., Ltd" 9C99CD o="Voippartners" 9C9C1D o="Starkey Labs Inc." 9C9D5D o="Raden Inc" 9CA10A o="SCLE SFE" 9CA134 o="Nike, Inc." 9CA3A9 o="Guangzhou Juan Optical and Electronical Tech Joint Stock Co., Ltd" 9CA3BA o="SAKURA Internet Inc." 9CA525 o="Shandong USR IOT Technology Limited" 9CA577 o="Osorno Enterprises Inc." 9CA69D o="Whaley Technology Co.Ltd" 9CADEF o="Obihai Technology, Inc." 9CB008 o="Ubiquitous Computing Technology Corporation" 9CB206 o="PROCENTEC" 9CB6D0 o="Rivet Networks" 9CB793 o="Creatcomm Technology Inc." 9CBB98 o="Shen Zhen RND Electronic Co.,LTD" 9CBD9D o="SkyDisk, Inc." 9CBEE0 o="Biosoundlab Co., Ltd." 9CC077 o="PrintCounts, LLC" 9CC0D2 o="Conductix-Wampfler GmbH" 9CC8AE o="Becton, Dickinson and Company" 9CC950 o="Baumer Holding" 9CCD82 o="CHENG UEI PRECISION INDUSTRY CO.,LTD" 9CD332 o="PLC Technology Ltd" 9CD48B o="Innolux Technology Europe BV" 9CD9CB o="Lesira Manufacturing Pty Ltd" 9CDB07 o="Thum+Mahr GmbH" 9CDD1F o="Intelligent Steward Co.,Ltd" 9CDFB1,F4BC97 o="Shenzhen Crave Communication Co., LTD" 9CE10E,E856D6 o="NCTech Ltd" 9CE1D6 o="Junger Audio-Studiotechnik GmbH" 9CE230 o="JULONG CO,.LTD." 9CE7BD o="Winduskorea co., Ltd" 9CE951 o="Shenzhen Sang Fei Consumer Communications Ltd., Co." 9CEBE8 o="BizLink (Kunshan) Co.,Ltd" 9CEFD5 o="Panda Wireless, Inc." 9CF61A o="UTC Fire and Security" 9CF67D o="Ricardo Prague, s.r.o." 9CF8DB o="shenzhen eyunmei technology co,.ltd" 9CF938 o="AREVA NP GmbH" 9CFBF1 o="MESOMATIC GmbH & Co.KG" 9CFCD1 o="Aetheris Technology (Shanghai) Co., Ltd." 9CFFBE o="OTSL Inc." 9CFFC2 o="AVI Systems GmbH" A00363 o="Robert Bosch Healthcare GmbH" A0043E o="Parker Hannifin Manufacturing Germany GmbH & Co. KG" A00627 o="NEXPA System" A007B6 o="Advanced Technical Support, Inc." A0094C o="CenturyLink" A00ABF o="Wieson Technologies Co., Ltd." A00CA1 o="SKTB SKiT" A012DB o="TABUCHI ELECTRIC CO.,LTD" A0133B o="HiTi Digital, Inc." A0165C o="Triteka LTD" A01859 o="Shenzhen Yidashi Electronics Co Ltd" A01917 o="Bertel S.p.a." A01C05 o="NIMAX TELECOM CO.,LTD." A01E0B o="MINIX Technology Limited" A0231B o="TeleComp R&D Corp." A02EF3 o="United Integrated Services Co., Led." A03299 o="Lenovo (Beijing) Co., Ltd." A0341B o="Adero Inc" A036F0 o="Comprehensive Power" A036FA o="Ettus Research LLC" A038F8 o="OURA Health Oy" A03A75 o="PSS Belgium N.V." A03B1B o="Inspire Tech" A04025 o="Actioncable, Inc." A04041 o="SAMWONFA Co.,Ltd." A0415E o="Opsens Solution Inc." A041A7 o="NL Ministry of Defense" A0423F o="Tyan Computer Corp" A04246 o="IT Telecom Co., Ltd." A043DB o="Sitael S.p.A." A047D7 o="Best IT World (India) Pvt Ltd" A04CC1 o="Helixtech Corp." A04E01 o="CENTRAL ENGINEERING co.,ltd." A0593A o="V.D.S. Video Display Systems srl" A05AA4 o="Grand Products Nevada, Inc." A05B21 o="ENVINET GmbH" A05DC1 o="TMCT Co., LTD." A05DE7 o="DIRECTV, Inc." A05E6B o="MELPER Co., Ltd." A06518,A4F4C2,D49AA0 o="VNPT TECHNOLOGY" A067BE o="Sicon srl" A06986 o="Wellav Technologies Ltd" A06D09 o="Intelcan Technosystems Inc." A06E50 o="Nanotek Elektronik Sistemler Ltd. Sti." A07099 o="Beijing Huacan Electronics Co., Ltd" A072E4 o="NJ SYSTEM CO.,LTD" A07332 o="Cashmaster International Limited" A073FC o="Rancore Technologies Private Limited" A075EA o="BoxLock, Inc." A07771 o="Vialis BV" A078BA,D05785,D095C7 o="Pantech Co., Ltd." A082AC o="Linear DMS Solutions Sdn. Bhd." A082C7 o="P.T.I Co.,LTD" A084CB o="SonicSensory,Inc." A0861D o="Chengdu Fuhuaxin Technology co.,Ltd" A086EC o="SAEHAN HITEC Co., Ltd" A08A87 o="HuiZhou KaiYue Electronic Co.,Ltd" A08C15 o="Gerhard D. Wempe KG" A08C9B o="Xtreme Technologies Corp" A090DE o="VEEDIMS,LLC" A091A2 o="OnePlus Electronics (Shenzhen) Co., Ltd." A0946A o="Shenzhen XGTEC Technology Co,.Ltd." A09805 o="OpenVox Communication Co Ltd" A098ED o="Shandong Intelligent Optical Communication Development Co., Ltd." A09A5A o="Time Domain" A09BBD o="Total Aviation Solutions Pty Ltd" A09D91 o="SoundBridge" A0A130 o="DLI Taiwan Branch office" A0A23C o="GPMS" A0A3B8 o="WISCLOUD" A0A65C o="Supercomputing Systems AG" A0A763 o="Polytron Vertrieb GmbH" A0AAFD o="EraThink Technologies Corp." A0ADA1 o="JMR Electronics, Inc" A0B045 o="Halong Mining" A0B100 o="ShenZhen Cando Electronics Co.,Ltd" A0B437 o="GD Mission Systems" A0B5DA o="HongKong THTF Co., Ltd" A0B662 o="Acutvista Innovation Co., Ltd." A0B8F8 o="Amgen U.S.A. Inc." A0B9ED o="Skytap" A0BAB8 o="Pixon Imaging" A0BF50 o="S.C. ADD-PRODUCTION S.R.L." A0BFA5 o="CORESYS" A0C2DE o="Costar Video Systems" A0C3DE o="Triton Electronic Systems Ltd." A0C4A5 o="SYGN HOUSE CO.,LTD" A0C6EC o="ShenZhen ANYK Technology Co.,LTD" A0CEC8 o="CE LINK LIMITED" A0D12A o="AXPRO Technology Inc." A0D385 o="AUMA Riester GmbH & Co. KG" A0D635 o="WBS Technology" A0D86F o="ARGO AI, LLC" A0DA92 o="Nanjing Glarun Atten Technology Co. Ltd." A0DC04 o="Becker-Antriebe GmbH" A0DD97 o="PolarLink Technologies, Ltd" A0DE05 o="JSC %Irbis-T%" A0E201 o="AVTrace Ltd.(China)" A0E25A o="Amicus SK, s.r.o." A0E295 o="DAT System Co.,Ltd" A0E534 o="Stratec Biomedical AG" A0E5E9 o="enimai Inc" A0E617 o="MATIS" A0E9DB o="Ningbo FreeWings Technologies Co.,Ltd" A0EB76 o="AirCUVE Inc." A0EF84 o="Seine Image Int'l Co., Ltd" A0F217 o="GE Medical System(China) Co., Ltd." A0F9B7 o="Ademco Smart Homes Technology(Tianjin)Co.,Ltd." A0F9E0 o="VIVATEL COMPANY LIMITED" A0FC6E o="Telegrafia a.s." A0FE91 o="AVAT Automation GmbH" A40130 o="ABIsystems Co., LTD" A4059E o="STA Infinity LLP" A409CB o="Alfred Kaercher GmbH & Co KG" A40BED o="Carry Technology Co.,Ltd" A40C66 o="Shenzhen Colorful Yugong Technology and Development Co., Ltd." A40DBC o="Xiamen Intretech Inc." A41115 o="Robert Bosch Engineering and Business Solutions pvt. Ltd." A41162 o="Arlo Technology" A4134E o="Luxul" A41791 o="Shenzhen Decnta Technology Co.,LTD." A41BC0 o="Fastec Imaging Corporation" A42305 o="Open Networking Laboratory" A424B3 o="FlatFrog Laboratories AB" A424DD o="Cambrionix Ltd" A42655 o="LTI Motion (Shanghai) Co., Ltd." A428B7 o="Yangtze Memory Technologies Co., Ltd." A429B7 o="bluesky" A42C08 o="Masterwork Automodules" A433D1 o="Fibrlink Communications Co.,Ltd." A43412 o="Thales Alenia Space" A43523 o="Guangdong Donyan Network Technologies Co.,Ltd." A43831 o="RF elements s.r.o." A438FC o="Plastic Logic" A43A69 o="Vers Inc" A43EA0 o="iComm HK LIMITED" A445CD o="IoT Diagnostics" A4466B o="EOC Technology" A446FA o="AmTRAN Video Corporation" A44AD3 o="ST Electronics(Shanghai) Co.,Ltd" A44E2D o="Adaptive Wireless Solutions, LLC" A45055 o="BUSWARE.DE" A45602 o="fenglian Technology Co.,Ltd." A4561B o="MCOT Corporation" A45A1C o="smart-electronic GmbH" A45F9B o="Nexell" A46191 o="NamJunSa" A462DF o="DS Global. Co., LTD" A463A1 o="Inventus Power Eletronica do Brasil LTDA" A46CC1 o="LTi REEnergy GmbH" A46E79 o="DFT System Co.Ltd" A47758 o="Ningbo Freewings Technologies Co.,Ltd" A479E4 o="KLINFO Corp" A47ACF o="VIBICOM COMMUNICATIONS INC." A47B85 o="ULTIMEDIA Co Ltd," A47C14 o="ChargeStorm AB" A47C1F o="Cobham plc" A48269 o="Datrium, Inc." A4856B o="Q Electronics Ltd" A486AE o="Quectel Wireless Solutions" A4895B o="ARK INFOSOLUTIONS PVT LTD" A48CC0 o="JLG Industries, Inc." A48E0A o="DeLaval International AB" A49005 o="CHINA GREATWALL COMPUTER SHENZHEN CO.,LTD" A49426 o="Elgama-Elektronika Ltd." A497BB o="Hitachi Industrial Equipment Systems Co.,Ltd" A49981 o="FuJian Elite Power Tech CO.,LTD." A49B13 o="Digital Check" A49BF5 o="Hybridserver Tec GmbH" A49D49 o="Ketra, Inc." A49EDB o="AutoCrib, Inc." A49F85 o="Lyve Minds, Inc" A49F89 o="Shanghai Rui Rui Communication Technology Co.Ltd." A4A179 o="Nanjing dianyan electric power automation co. LTD" A4A1E4 o="Innotube, Inc." A4A4D3 o="Bluebank Communication Technology Co.Ltd" A4AD00 o="Ragsdale Technology" A4ADB8 o="Vitec Group, Camera Dynamics Ltd" A4AE9A o="Maestro Wireless Solutions ltd." A4B121 o="Arantia 2010 S.L." A4B1EE o="H. ZANDER GmbH & Co. KG" A4B2A7 o="Adaxys Solutions AG" A4B36A o="JSC SDO Chromatec" A4B818 o="PENTA Gesellschaft für elektronische Industriedatenverarbeitung mbH" A4B980 o="Parking BOXX Inc." A4BBAF o="Lime Instruments" A4BE61 o="EutroVision System, Inc." A4C0C7 o="ShenZhen Hitom Communication Technology Co..LTD" A4C138 o="Telink Semiconductor (Taipei) Co. Ltd." A4C2AB o="Hangzhou LEAD-IT Information & Technology Co.,Ltd" A4CC32 o="Inficomm Co., Ltd" A4CD23 o="Shenzhenshi Xinzhongxin Co., Ltd" A4D094 o="Erwin Peters Systemtechnik GmbH" A4D18F o="Shenzhen Skyee Optical Fiber Communication Technology Ltd." A4D1D1 o="ECOtality North America" A4D3B5 o="GLITEL Stropkov, s.r.o." A4D4B2 o="Shenzhen MeiG Smart Technology Co.,Ltd" A4D856 o="Gimbal, Inc" A4D8CA o="HONG KONG WATER WORLD TECHNOLOGY CO. LIMITED" A4D9A4 o="neXus ID Solutions AB" A4DA3F o="Bionics Corp." A4DB2E o="Kingspan Environmental Ltd" A4DE50 o="Total Walther GmbH" A4DEC9 o="QLove Mobile Intelligence Information Technology (W.H.) Co. Ltd." A4E0E6 o="FILIZOLA S.A. PESAGEM E AUTOMACAO" A4E32E o="Silicon & Software Systems Ltd." A4E391 o="DENY FONTAINE" A4E597 o="Gessler GmbH" A4E6B1 o="Shanghai Joindata Technology Co.,Ltd." A4E7E4 o="Connex GmbH" A4E991 o="SISTEMAS AUDIOVISUALES ITELSIS S.L." A4E9A3 o="Honest Technology Co., Ltd" A4EF52 o="Telewave Co., Ltd." A4F3C1 o="Open Source Robotics Foundation, Inc." A4F522 o="CHOFU SEISAKUSHO CO.,LTD" A4F7D0 o="LAN Accessories Co., Ltd." A4FB8D o="Hangzhou Dunchong Technology Co.Ltd" A4FCCE o="Security Expert Ltd." A8016D o="Aiwa Corporation" A80180 o="IMAGO Technologies GmbH" A81559 o="Breathometer, Inc." A815D6 o="Shenzhen Meione Technology CO., LTD" A81758 o="Elektronik System i Umeå AB" A81B18 o="XTS CORP" A81B5D o="Foxtel Management Pty Ltd" A81FAF o="KRYPTON POLSKA" A824EB o="ZAO NPO Introtest" A8294C o="Precision Optical Transceivers, Inc." A82BD6 o="Shina System Co., Ltd" A8329A o="Digicom Futuristic Technologies Ltd." A8367A o="frogblue TECHNOLOGY GmbH" A83CCB o="ROSSMA" A84041 o="Dragino Technology Co., Limited" A84122 o="China Mobile (Hangzhou) Information Technology Co.,Ltd." A845CD o="Siselectron Technology LTD." A845E9 o="Firich Enterprises CO., LTD." A849A5 o="Lisantech Co., Ltd." A84D4A o="Audiowise Technology Inc." A8556A o="Pocketnet Technology Inc." A85AF3 o="Shanghai Siflower Communication Technology Co., Ltd" A85B6C o="Robert Bosch Gmbh, CM-CI2" A85BB0 o="Shenzhen Dehoo Technology Co.,Ltd" A85BF3 o="Audivo GmbH" A85EE4 o="12Sided Technology, LLC" A8610A o="ARDUINO AG" A861AA o="Cloudview Limited" A862A2 o="JIWUMEDIA CO., LTD." A863DF o="DISPLAIRE CORPORATION" A86405 o="nimbus 9, Inc" A865B2 o="DONGGUAN YISHANG ELECTRONIC TECHNOLOGY CO., LIMITED" A86AC1 o="HanbitEDS Co., Ltd." A870A5 o="UniComm Inc." A87285 o="IDT, INC." A875D6 o="FreeTek International Co., Ltd." A875E2 o="Aventura Technologies, Inc." A8776F o="Zonoff" A88038 o="ShenZhen MovingComm Technology Co., Limited" A881F1 o="BMEYE B.V." A8827F o="CIBN Oriental Network(Beijing) CO.,Ltd" A885D7 o="Sangfor Technologies Inc." A88792 o="Broadband Antenna Tracking Systems" A887ED o="ARC Wireless LLC" A88CEE o="MicroMade Galka i Drozdz sp.j." A88D7B o="SunDroid Global limited." A89008 o="Beijing Yuecheng Technology Co. Ltd." A89042 o="Beijing Wanwei Intelligent Technology Co., Ltd." A89352 o="SHANGHAI ZHONGMI COMMUNICATION TECHNOLOGY CO.,LTD" A893E6 o="JIANGXI JINGGANGSHAN CKING COMMUNICATION TECHNOLOGY CO.,LTD" A895B0 o="Aker Subsea Ltd" A898C6 o="Shinbo Co., Ltd." A8995C o="aizo ag" A89B10 o="inMotion Ltd." A89CA4 o="Furrion Limited" A8A089 o="Tactical Communications" A8A097 o="ScioTeq bvba" A8A5E2 o="MSF-Vathauer Antriebstechnik GmbH & Co KG" A8B0AE o="LEONI" A8BB50 o="WiZ IoT Company Limited" A8BC9C o="Cloud Light Technology Limited" A8BD1A o="Honey Bee (Hong Kong) Limited" A8BF3C o="HDV Phoelectron Technology Limited" A8C0EA o="Pepwave Limited" A8C222 o="TM-Research Inc." A8C87F o="Roqos, Inc." A8CB95 o="EAST BEST CO., LTD." A8CCC5 o="Saab AB (publ)" A8CE90 o="CVC" A8D0E3 o="Systech Electronics Ltd" A8D236 o="Lightware Visual Engineering" A8D3C8,D490E0 o="Topcon Electronics GmbH & Co. KG" A8D409 o="USA 111 Inc" A8D498 o="Avira Operations GmbH & Co. KG" A8D579 o="Beijing Chushang Science and Technology Co.,Ltd" A8D828 o="Ascensia Diabetes Care" A8D88A o="Wyconn" A8DA01 o="Shenzhen NUOLIJIA Digital Technology Co.,Ltd" A8E539 o="Moimstone Co.,Ltd" A8E552 o="JUWEL Aquarium AG & Co. KG" A8E824 o="INIM ELECTRONICS S.R.L." A8EEC6 o="Muuselabs NV/SA" A8EF26 o="Tritonwave" A8F038 o="SHEN ZHEN SHI JIN HUA TAI ELECTRONICS CO.,LTD" A8F470 o="Fujian Newland Communication Science Technologies Co.,Ltd." A8F94B,E0D9E3,E828C1 o="Eltex Enterprise Ltd." A8FB70 o="WiseSec L.t.d" A8FCB7 o="Consolidated Resource Imaging" AC0142 o="Uriel Technologies SIA" AC02CA o="HI Solutions, Inc." AC02CF o="RW Tecnologia Industria e Comercio Ltda" AC02EF o="Comsis" AC040B o="Peloton Interactive, Inc" AC0481 o="Jiangsu Huaxing Electronics Co., Ltd." AC0613 o="Senselogix Ltd" AC06C7 o="ServerNet S.r.l." AC0A61 o="Labor S.r.L." AC0DFE o="Ekon GmbH - myGEKKO" AC11D3 o="Suzhou HOTEK Video Technology Co. Ltd" AC1461 o="ATAW Co., Ltd." AC14D2 o="wi-daq, inc." AC1585 o="silergy corp" AC1702 o="Fibar Group sp. z o.o." AC199F o="SUNGROW POWER SUPPLY CO.,LTD." AC1ED0 o="Temic Automotive Philippines Inc." AC1FD7 o="Real Vision Technology Co.,Ltd." AC20AA o="DMATEK Co., Ltd." AC233F o="Shenzhen Minew Technologies Co., Ltd." AC2A0C o="CSR ZHUZHOU INSTITUTE CO.,LTD." AC2DA3 o="TXTR GmbH" AC2FA8 o="Humannix Co.,Ltd." AC319D,ECD9D1 o="Shenzhen TG-NET Botone Technology Co.,Ltd." AC34CB o="Shanhai GBCOM Communication Technology Co. Ltd" AC3651 o="Jiangsu Hengtong Terahertz Technology Co., Ltd." AC37C9 o="RAID Incorporated" AC3CB4 o="Nilan A/S" AC3D05 o="Instorescreen Aisa" AC3D75 o="HANGZHOU ZHIWAY TECHNOLOGIES CO.,LTD." AC40EA o="C&T Solution Inc." AC4122 o="Eclipse Electronic Systems Inc." AC4228 o="Parta Networks" AC4330 o="Versa Networks" AC4723 o="Genelec" AC482D o="Ralinwi Nanjing Electronic Technology Co., Ltd." AC4AFE o="Hisense Broadband Multimedia Technology Co.,Ltd." AC4E2E,C048FB,DC64B8 o="Shenzhen JingHanDa Electronics Co.Ltd" AC4FFC o="SVS-VISTEK GmbH" AC5036 o="Pi-Coral Inc" AC5093 o="Magna Electronics Europe GmbH & Co. OHG" AC5135 o="MPI TECH" AC54EC o="IEEE P1823 Standards Working Group" AC583B o="Human Assembler, Inc." AC587B o="JCT Healthcare" AC5D10 o="Pace Americas" AC5E8C o="Utillink" AC6123 o="Drivven, Inc." AC61B9 o="WAMA Technology Limited" AC620D o="Jabil Circuit(Wuxi) Co.,Ltd" AC676F o="Electrocompaniet A.S." AC6B0F o="CADENCE DESIGN SYSTEMS INC" AC6BAC o="Jenny Science AG" AC6F4F o="Enspert Inc" AC6FBB o="TATUNG Technology Inc." AC6FD9 o="Valueplus Inc." AC7236 o="Lexking Technology Co., Ltd." AC7713 o="Honeywell Safety Products (Shanghai) Co.,Ltd" AC7A42 o="iConnectivity" AC80D6 o="Hexatronic AB" AC8317 o="Shenzhen Furtunetel Communication Co., Ltd" AC83E9 o="Beijing Zile Technology Co., Ltd" AC83F0 o="ImmediaTV Corporation" AC8674,F8D9B8 o="Open Mesh, Inc." AC867E o="Create New Technology (HK) Limited Company" AC8ACD o="ROGER D.Wensker, G.Wensker sp.j." AC8B9C o="Primera Technology, Inc." AC8D14 o="Smartrove Inc" AC9403 o="Envision Peripherals Inc" AC9A96 o="Lantiq Deutschland GmbH" AC9B84 o="Smak Tecnologia e Automacao" ACA22C o="Baycity Technologies Ltd" ACA430 o="Peerless AV" ACA667 o="Electronic Systems Protection, Inc." ACA919 o="TrekStor GmbH" ACA9A0 o="Audioengine, Ltd." ACAB2E o="Beijing LasNubes Technology Co., Ltd." ACAB8D o="Lyngso Marine A/S" ACABBF o="AthenTek Inc." ACB1EE,F013C3 o="SHENZHEN FENDA TECHNOLOGY CO., LTD" ACB859 o="Uniband Electronic Corp," ACBD0B o="Leimac Ltd." ACBE75 o="Ufine Technologies Co.,Ltd." ACBEB6 o="Visualedge Technology Co., Ltd." ACC2EC o="CLT INT'L IND. CORP." ACC51B o="Zhuhai Pantum Electronics Co., Ltd." ACC595 o="Graphite Systems" ACC698 o="Kohzu Precision Co., Ltd." ACC73F o="VITSMO CO., LTD." ACC935 o="Ness Corporation" ACCA54 o="Telldus Technologies AB" ACCA8E o="ODA Technologies" ACCAAB o="Virtual Electric Inc" ACCABA o="Midokura Co., Ltd." ACCB09 o="Hefcom Metering (Pty) Ltd" ACCC8E,B8A44F o="Axis Communications AB" ACCE8F o="HWA YAO TECHNOLOGIES CO., LTD" ACCF23 o="Hi-flying electronics technology Co.,Ltd" ACD180 o="Crexendo Business Solutions, Inc." ACD364 o="ABB SPA, ABB SACE DIV." ACD657,C09C04 o="Shaanxi GuoLian Digital TV Technology Co.,Ltd." ACD9D6 o="tci GmbH" ACDBDA o="Shenzhen Geniatech Inc, Ltd" ACE069 o="ISAAC Instruments" ACE348 o="MadgeTech, Inc" ACE42E o="SK hynix" ACE5F0 o="Doppler Labs" ACE64B o="Shenzhen Baojia Battery Technology Co., Ltd." ACE87E o="Bytemark Computer Consulting Ltd" ACE97F o="IoT Tech Limited" ACE9AA o="Hay Systems Ltd" ACEA6A o="GENIX INFOCOMM CO., LTD." ACEE3B o="6harmonics Inc" ACEE70 o="Fontem Ventures BV" ACF0B2 o="Becker Electronics Taiwan Ltd." ACF97E o="ELESYS INC." B0027E o="MULLER SERVICES" B008BF o="Vital Connect, Inc." B009D3 o="Avizia" B009DA o="Ring Solutions" B01203 o="Dynamics Hong Kong Limited" B01266 o="Futaba-Kikaku" B01408 o="LIGHTSPEED INTERNATIONAL CO." B01743 o="EDISON GLOBAL CIRCUITS LLC" B01B7C o="Ontrol A.S." B01BD2,B8FC9A,C80E77,D4B169,E0A8B8 o="Le Shi Zhi Xin Electronic Technology (Tianjin) Limited" B01C91 o="Elim Co" B01F29 o="Helvetia INC." B024F3 o="Progeny Systems" B02628,BC97E1 o="Broadcom Limited" B0350B,E048D3,E4FB8F o="MOBIWIRE MOBILES (NINGBO) CO.,LTD" B03829 o="Siliconware Precision Industries Co., Ltd." B03850 o="Nanjing CAS-ZDC IOT SYSTEM CO.,LTD" B03D96 o="Vision Valley FZ LLC" B03EB0 o="MICRODIA Ltd." B04089 o="Senient Systems LTD" B0411D o="ITTIM Technologies" B0416F o="Shenzhen Maxtang Computer Co.,Ltd" B0435D o="NuLEDs, Inc." B04515 o="mira fitness,LLC." B04545 o="YACOUB Automation GmbH" B0495F o="OMRON HEALTHCARE Co., Ltd." B04BBF o="PT HAN SUNG ELECTORONICS INDONESIA" B04C05 o="Fresenius Medical Care Deutschland GmbH" B04FC3 o="Shenzhen NVC Cloud Technology Co., Ltd." B050BC o="SHENZHEN BASICOM ELECTRONIC CO.,LTD." B0518E o="Holl technology CO.Ltd." B05706 o="Vallox Oy" B058C4 o="Broadcast Microwave Services, Inc" B05B1F o="THERMO FISHER SCIENTIFIC S.P.A." B061C7 o="Ericsson-LG Enterprise" B06563 o="Shanghai Railway Communication Factory" B065F1 o="WIO Manufacturing HK Limited" B0672F o="Bowers & Wilkins" B068B6 o="Hangzhou OYE Technology Co. Ltd" B06971 o="DEI Sales, Inc." B06CBF o="3ality Digital Systems GmbH" B0750C o="QA Cafe" B07870 o="Wi-NEXT, Inc." B078F0 o="Beijing HuaqinWorld Technology Co.,Ltd." B07908 o="Cummings Engineering" B0793C o="Revolv Inc" B07D62 o="Dipl.-Ing. H. Horstmann GmbH" B07E70 o="Zadara Storage Ltd." B0808C o="Laser Light Engines" B081D8 o="I-sys Corp" B0869E o="Chloride S.r.L" B08807 o="Strata Worldwide" B089C2 o="Zyptonite" B08E1A o="URadio Systems Co., Ltd" B09074 o="Fulan Electronics Limited" B090D4 o="Shenzhen Hoin Internet Technology Co., Ltd" B09134 o="Taleo" B09137 o="ISis ImageStream Internet Solutions, Inc" B0966C o="Lanbowan Technology Ltd." B0973A o="E-Fuel Corporation" B0989F o="LG CNS" B09AE2 o="STEMMER IMAGING GmbH" B09BD4 o="GNH Software India Private Limited" B0A10A o="Pivotal Systems Corporation" B0A37E,BC8AE8,C8D779,DC330D o="QING DAO HAIER TELECOM CO.,LTD." B0A454 o="Tripwire Inc." B0A6F5 o="Xaptum, Inc." B0A72A o="Ensemble Designs, Inc." B0AE25 o="Varikorea" B0B32B o="Slican Sp. z o.o." B0B5E8 o="Ruroc LTD" B0B8D5 o="Nanjing Nengrui Auto Equipment CO.,Ltd" B0BB8B o="WAVETEL TECHNOLOGY LIMITED" B0BD6D o="Echostreams Innovative Solutions" B0BDA1 o="ZAKLAD ELEKTRONICZNY SIMS" B0BF99 o="WIZITDONGDO" B0C128 o="Adler ELREHA GmbH" B0C205 o="BIONIME" B0C387 o="GOEFER, Inc." B0C46C o="Senseit" B0C83F o="Jiangsu Cynray IOT Co., Ltd." B0C8AD o="People Power Company" B0C95B o="Beijing Symtech CO.,LTD" B0CE18 o="Zhejiang shenghui lighting co.,Ltd" B0CF4D o="MI-Zone Technology Ireland" B0D2F5 o="Vello Systems, Inc." B0D568 o="Shenzhen Cultraview Digital Technology Co., Ltd" B0D7C5 o="Logipix Ltd" B0D7CC o="Tridonic GmbH & Co KG" B0DA00 o="CERA ELECTRONIQUE" B0E39D o="CAT SYSTEM CO.,LTD." B0E50E o="NRG SYSTEMS INC" B0E71D o="Shanghai Maigantech Co.,Ltd" B0E7DE o="Homa Technologies JSC" B0E97E o="Advanced Micro Peripherals" B0EC8F o="GMX SAS" B0F1A3 o="Fengfan (BeiJing) Technology Co., Ltd." B0F1BC o="Dhemax Ingenieros Ltda" B4009C o="CableWorld Ltd." B40418 o="Smartchip Integrated Inc." B40566 o="SP Best Corporation Co., LTD." B40832 o="TC Communications" B40AC6 o="DEXON Systems Ltd." B40B44 o="Smartisan Technology Co., Ltd." B40B78,B40B7A o="Brusa Elektronik AG" B40E96 o="HERAN" B40EDC o="LG-Ericsson Co.,Ltd." B4157E o="Celona Inc." B41780 o="DTI Group Ltd" B41DEF o="Internet Laboratories, Inc." B4211D o="Beijing GuangXin Technology Co., Ltd" B4218A o="Dog Hunter LLC" B424E7 o="Codetek Technology Co.,Ltd" B428F1 o="E-Prime Co., Ltd." B4293D o="Shenzhen Urovo Technology Co.,Ltd." B42A39 o="ORBIT MERRET, spol. s r. o." B42C92 o="Zhejiang Weirong Electronic Co., Ltd" B42CBE o="Direct Payment Solutions Limited" B42EF8 o="Eline Technology co.Ltd" B430C0 o="York Instruments Ltd" B431B8 o="Aviwest" B4346C o="MATSUNICHI DIGITAL TECHNOLOGY (HONG KONG) LIMITED" B43564 o="Fujian Tian Cheng Electron Science & Technical Development Co.,Ltd." B435F7 o="Zhejiang Pearmain Electronics Co.ltd." B436E3 o="KBVISION GROUP" B43741 o="Consert, Inc." B43934 o="Pen Generations, Inc." B43DB2 o="Degreane Horizon" B43E3B o="Viableware, Inc" B4430D o="Broadlink Pty Ltd" B44CC2 o="NR ELECTRIC CO., LTD" B44F96 o="Zhejiang Xinzailing Technology co., ltd" B45062 o="EmBestor Technology Inc." B451F9 o="NB Software" B45570 o="Borea" B456B9 o="Teraspek Technologies Co.,Ltd" B45861 o="CRemote, LLC" B45CA4 o="Thing-talk Wireless Communication Technologies Corporation Limited" B461FF o="Lumigon A/S" B46238 o="Exablox" B462AD o="Elysia Germany GmbH" B46698 o="Zealabs srl" B46D35 o="Dalian Seasky Automation Co;Ltd" B47356 o="Hangzhou Treebear Networking Co., Ltd." B47447 o="CoreOS" B47748 o="Shenzhen Neoway Technology Co.,Ltd." B47C29 o="Shenzhen Guzidi Technology Co.,Ltd" B47C59 o="Jiangsu Hengxin Technology Co.,Ltd." B47F5E o="Foresight Manufacture (S) Pte Ltd" B481BF o="Meta-Networks, LLC" B48255 o="Research Products Corporation" B4827B o="AKG Acoustics GmbH" B482C5 o="Relay2, Inc." B48547 o="Amptown System Company GmbH" B48910 o="Coster T.E. S.P.A." B4944E o="WeTelecom Co., Ltd." B49A95 o="Shenzhen Boomtech Industrial Corporation" B49DB4 o="Axion Technologies Inc." B49EAC o="Imagik Int'l Corp" B49EE6 o="SHENZHEN TECHNOLOGY CO LTD" B4A305 o="XIAMEN YAXON NETWORK CO., LTD." B4A4B5 o="Zen Eye Co.,Ltd" B4A5A9 o="MODI GmbH" B4A828 o="Shenzhen Concox Information Technology Co., Ltd" B4A82B o="Histar Digital Electronics Co., Ltd." B4A9FC,D8C497 o="Quanta Computer Inc." B4A9FE o="GHIA Technology (Shenzhen) LTD" B4AA4D o="Ensequence, Inc." B4AB2C o="MtM Technology Corporation" B4AE6F o="Circle Reliance, Inc DBA Cranberry Networks" B4B15A o="Siemens AG Energy Management Division" B4B265 o="DAEHO I&T" B4B384 o="ShenZhen Figigantic Electronic Co.,Ltd" B4B542 o="Hubbell Power Systems, Inc." B4B5AF o="Minsung Electronics" B4B859 o="Texa Spa" B4B88D o="Thuh Company" B4C170 o="Yi chip Microelectronics (Hangzhou) Co., Ltd" B4C44E o="VXL eTech Pvt Ltd" B4C476 o="Wuhan Maritime Communication Research Institute" B4C6F8 o="Axilspot Communication" B4C810 o="UMPI Elettronica" B4CC04 o="Piranti" B4CCE9 o="PROSYST" B4CEFE o="James Czekaj" B4CFDB o="Shenzhen Jiuzhou Electric Co.,LTD" B4D135 o="Cloudistics" B4D64E o="Caldero Limited" B4D8A9 o="BetterBots" B4D8DE o="iota Computing, Inc." B4DC09 o="Guangzhou Dawei Communication Co.,Ltd" B4DD15 o="ControlThings Oy Ab" B4DDD0 o="Continental Automotive Hungary Kft" B4DF3B o="Chromlech" B4DFFA o="Litemax Electronics Inc." B4E01D o="CONCEPTION ELECTRONIQUE" B4E0CD o="Fusion-io, Inc" B4E782 o="Vivalnk" B4E8C9 o="XADA Technologies" B4E9A3 o="port industrial automation GmbH" B4ECF2 o="Shanghai Listent Medical Tech Co., Ltd." B4ED19 o="Pie Digital, Inc." B4ED54 o="Wohler Technologies" B4EF04 o="DAIHAN Scientific Co., Ltd." B4F323 o="PETATEL INC." B4F81E o="Kinova" B4F949 o="optilink networks pvt ltd" B4FC75 o="SEMA Electronics(HK) CO.,LTD" B4FE8C o="Centro Sicurezza Italia SpA" B80018 o="Htel" B802A4 o="Aeonsemi, Inc." B80415 o="Bayan Audio" B80B9D o="ROPEX Industrie-Elektronik GmbH" B813E9 o="Trace Live Network" B81413 o="Keen High Holding(HK) Ltd." B8186F o="ORIENTAL MOTOR CO., LTD." B81999 o="Nesys" B81F5E o="Apption Labs Limited" B820E7 o="Guangzhou Horizontal Information & Network Integration Co. Ltd" B82410 o="Magneti Marelli Slovakia s.r.o." B8241A o="SWEDA INFORMATICA LTDA" B824F0 o="SOYO Technology Development Co., Ltd." B8259A o="Thalmic Labs" B8266C o="ANOV France" B826D4 o="Furukawa Industrial S.A. Produtos Elétricos" B827EB o="Raspberry Pi Foundation" B8288B o="Parker Hannifin Manufacturing (UK) Ltd" B829F7 o="Blaster Tech" B82ADC o="EFR Europäische Funk-Rundsteuerung GmbH" B830A8 o="Road-Track Telematics Development" B836D8 o="Videoswitch" B838CA o="Kyokko Tsushin System CO.,LTD" B83A7B o="Worldplay (Canada) Inc." B83D4E o="Shenzhen Cultraview Digital Technology Co.,Ltd Shanghai Branch" B8415F o="ASP AG" B843E4 o="Vlatacom" B847C6 o="SanJet Technology Corp." B856BD o="ITT LLC" B85810 o="NUMERA, INC." B85AF7 o="Ouya, Inc" B85AFE o="Handaer Communication Technology (Beijing) Co., Ltd" B86091 o="Onnet Technologies and Innovations LLC" B86142 o="Beijing Tricolor Technology Co., Ltd" B863BC o="ROBOTIS, Co, Ltd" B86491 o="CK Telecom Ltd" B8653B o="Bolymin, Inc." B869C2 o="Sunitec Enterprise Co., Ltd." B87424 o="Viessmann Elektronik GmbH" B87447 o="Convergence Technologies" B875C0 o="PayPal, Inc." B877C3 o="METER Group" B8797E o="Secure Meters (UK) Limited" B87AC9 o="Siemens Ltd." B8871E o="Good Mind Industries Co., Ltd." B887A8 o="Step Ahead Innovations Inc." B887C6 o="Prudential Technology co.,LTD" B88981 o="Chengdu InnoThings Technology Co., Ltd." B889CA o="ILJIN ELECTRIC Co., Ltd." B88E3A o="Infinite Technologies JLT" B88EC6 o="Stateless Networks" B88EDF o="Zencheer Communication Technology Co., Ltd." B88F14 o="Analytica GmbH" B88FB4 o="JABIL CIRCUIT ITALIA S.R.L" B8921D o="BG T&A" B894D2 o="Retail Innovation HTT AB" B89674 o="AllDSP GmbH & Co. KG" B898B0 o="Atlona Inc." B898F7,B8B42E o="Gionee Communication Equipment Co,Ltd.ShenZhen" B89919 o="7signal Solutions, Inc" B899B0 o="Cohere Technologies" B89A9A o="Xin Shi Jia Technology (Beijing) Co.,Ltd" B89ACD o="ELITE OPTOELECTRONIC(ASIA)CO.,LTD" B89AED o="OceanServer Technology, Inc" B89BE4 o="ABB Power Systems Power Generation" B8A3E0 o="BenRui Technology Co.,Ltd" B8A58D o="Axe Group Holdings Limited" B8A8AF o="Logic S.p.A." B8AD3E,B8F8BE o="BLUECOM" B8B1C7 o="BT&COM CO.,LTD" B8B2EB o="Googol Technology (HK) Limited" B8B3DC o="DEREK (SHAOGUAN) LIMITED" B8B7D7 o="2GIG Technologies" B8B94E o="Shenzhen iBaby Labs, Inc." B8BA68 o="Xi'an Jizhong Digital Communication Co.,Ltd" B8BA72 o="Cynove" B8BB23 o="Guangdong Nufront CSC Co., Ltd" B8BB6D o="ENERES Co.,Ltd." B8BD79 o="TrendPoint Systems" B8C1A2 o="Dragon Path Technologies Co., Limited" B8C227 o="PSTec" B8C3BF o="Henan Chengshi NetWork Technology Co.,Ltd" B8C46F o="PRIMMCON INDUSTRIES INC" B8C855 o="Shanghai GBCOM Communication Technology Co.,Ltd." B8CD93 o="Penetek, Inc" B8CDA7 o="Maxeler Technologies Ltd." B8D06F o="GUANGZHOU HKUST FOK YING TUNG RESEARCH INSTITUTE" B8D49D o="M Seven System Ltd." B8DAF1 o="Strahlenschutz- Entwicklungs- und Ausruestungsgesellschaft mbH" B8DAF7 o="Advanced Photonics, Inc." B8DC87 o="IAI Corporation" B8DF6B o="SpotCam Co., Ltd." B8E589 o="Payter BV" B8E779 o="9Solutions Oy" B8EAAA o="ICG NETWORKS CO.,ltd" B8EE79 o="YWire Technologies, Inc." B8EF8B o="SHENZHEN CANNICE TECHNOLOGY CO.,LTD" B8F080 o="SPS, INC." B8F317 o="iSun Smasher Communications Private Limited" B8F4D0 o="Herrmann Ultraschalltechnik GmbH & Co. Kg" B8F5E7 o="WayTools, LLC" B8F732 o="Aryaka Networks Inc" B8F74A o="RCNTEC" B8F828 o="Changshu Gaoshida Optoelectronic Technology Co. Ltd." B8FD32 o="Zhejiang ROICX Microelectronics" B8FF6F o="Shanghai Typrotech Technology Co.Ltd" BC0200 o="Stewart Audio" BC0F2B o="FORTUNE TECHGROUP CO.,LTD" BC0FA7 o="Ouster" BC125E o="Beijing WisVideo INC." BC14EF o="ITON Technology Limited" BC15A6 o="Taiwan Jantek Electronics,Ltd." BC1A67 o="YF Technology Co., Ltd" BC1C81 o="Sichuan iLink Technology Co., Ltd." BC20BA o="Inspur (Shandong) Electronic Information Co., Ltd" BC22FB o="RF Industries" BC25F0 o="3D Display Technologies Co., Ltd." BC261D o="HONG KONG TECON TECHNOLOGY" BC2643 o="Elprotronic Inc." BC282C o="e-Smart Systems Pvt. Ltd" BC2846 o="NextBIT Computing Pvt. Ltd." BC28D6 o="Rowley Associates Limited" BC2B6B o="Beijing Haier IC Design Co.,Ltd" BC2BD7 o="Revogi Innovation Co., Ltd." BC2C55 o="Bear Flag Design, Inc." BC2D98 o="ThinGlobal LLC" BC2DEF o="Realme Chongqing Mobile Telecommunications Corp.,Ltd." BC35E5 o="Hydro Systems Company" BC3865 o="JWCNETWORKS" BC38D2 o="Pandachip Limited" BC39A6 o="CSUN System Technology Co.,LTD" BC39D9 o="Z-TEC" BC3E13 o="Accordance Systems Inc." BC3F4E o="Teleepoch Ltd" BC4100 o="CODACO ELECTRONIC s.r.o." BC4377 o="Hang Zhou Huite Technology Co.,ltd." BC44B0 o="Elastifile" BC452E o="Knowledge Development for POF S.L." BC4B79 o="SensingTek" BC4E3C o="CORE STAFF CO., LTD." BC4E5D o="ZhongMiao Technology Co., Ltd." BC51FE o="Swann communications Pty Ltd" BC54F9 o="Drogoo Technology Co., Ltd." BC5EA1 o="PsiKick, Inc." BC629F o="Telenet Systems P. Ltd." BC62D2 o="Genexis International B.V." BC66DE o="Shadow Creator Information Technology Co.,Ltd." BC6784 o="Environics Oy" BC6A16 o="tdvine" BC6A2F o="Henge Docks LLC" BC6E76 o="Green Energy Options Ltd" BC71C1 o="XTrillion, Inc." BC74D7 o="HangZhou JuRu Technology CO.,LTD" BC7596 o="Beijing Broadwit Technology Co., Ltd." BC764E o="Rackspace US, Inc." BC779F o="SBM Co., Ltd." BC7DD1 o="Radio Data Comms" BC811F o="Ingate Systems" BC8199 o="BASIC Co.,Ltd." BC8893 o="VILLBAU Ltd." BC88C3 o="Ningbo Dooya Mechanic & Electronic Technology Co., Ltd" BC8AA3 o="NHN Entertainment" BC8B55 o="NPP ELIKS America Inc. DBA T&M Atlantic" BC903A,FCD6BD o="Robert Bosch GmbH" BC9325 o="Ningbo Joyson Preh Car Connect Co.,Ltd." BC99BC o="FonSee Technology Inc." BC9CC5 o="Beijing Huafei Technology Co., Ltd." BC9DA5 o="DASCOM Europe GmbH" BCA042 o="SHANGHAI FLYCO ELECTRICAL APPLIANCE CO.,LTD" BCA13A o="SES-imagotag" BCA4E1 o="Nabto" BCA9D6 o="Cyber-Rain, Inc." BCAB7C o="TRnP KOREA Co Ltd" BCAF91 o="TE Connectivity Sensor Solutions" BCB22B o="EM-Tech" BCB308 o="HONGKONG RAGENTEK COMMUNICATION TECHNOLOGY CO.,LIMITED" BCB852 o="Cybera, Inc." BCBAE1 o="AREC Inc." BCBBC9 o="Kellendonk Elektronik GmbH" BCBC46 o="SKS Welding Systems GmbH" BCC168 o="DinBox Sverige AB" BCC23A o="Thomson Video Networks" BCC31B o="Kygo Life A" BCC61A o="SPECTRA EMBEDDED SYSTEMS" BCCD45 o="VOISMART" BCD5B6 o="d2d technologies" BCD713 o="Owl Labs" BCD940 o="ASR Co,.Ltd." BCE09D o="Eoslink" BCE59F o="WATERWORLD Technology Co.,LTD" BCE767 o="Quanzhou TDX Electronics Co., Ltd" BCE796 o="Wireless CCTV Ltd" BCEA2B o="CityCom GmbH" BCEB5F o="Fujian Beifeng Telecom Technology Co., Ltd." BCF61C o="Geomodeling Wuxi Technology Co. Ltd." BCF811 o="Xiamen DNAKE Technology Co.,Ltd" BCF9F2 o="TEKO" BCFE8C o="Altronic, LLC" BCFF21 o="Smart Code(shenzhen)Technology Co.,Ltd" BCFFAC o="TOPCON CORPORATION" C0028D o="WINSTAR Display CO.,Ltd" C0074A o="Brita GmbH" C00D7E o="Additech, Inc." C011A6 o="Fort-Telecom ltd." C01242 o="Alpha Security Products" C01E9B o="Pixavi AS" C02250 o="Koss Corporation" C02567 o="Nexxt Solutions" C027B9 o="Beijing National Railway Research & Design Institute of Signal & Communication Co., Ltd." C02973 o="Audyssey Laboratories Inc." C029F3 o="XySystem" C02BFC o="iNES. applied informatics GmbH" C02C7A,F82387 o="Shenzhen Horn Audio Co.,Ltd." C02DEE o="Cuff" C02FF1 o="Volta Networks" C034B4 o="Gigastone Corporation" C03580 o="A&R TECH" C035BD o="Velocytech Aps" C035C5 o="Prosoft Systems LTD" C03B8F o="Minicom Digital Signage" C03D46 o="Shanghai Sango Network Technology Co.,Ltd" C03F2A o="Biscotti, Inc." C04004 o="Medicaroid Corporation" C04301 o="Epec Oy" C044E3 o="Shenzhen Sinkna Electronics Co., LTD" C0493D o="MAITRISE TECHNOLOGIQUE" C04A09 o="Zhejiang Everbright Communication Equip. Co,. Ltd" C04DF7 o="SERELEC" C05336 o="Beijing National Railway Research & Design Institute of Signal & Communication Group Co..Ltd." C058A7 o="Pico Systems Co., Ltd." C05E6F o="V. Stonkaus firma %Kodinis Raktas%" C05E79 o="SHENZHEN HUAXUN ARK TECHNOLOGIES CO.,LTD" C06C0F o="Dobbs Stanford" C06C6D o="MagneMotion, Inc." C06D1A o="Tianjin Henxinhuifeng Technology Co.,Ltd." C0742B o="SHENZHEN XUNLONG SOFTWARE CO.,LIMITED" C07E40 o="SHENZHEN XDK COMMUNICATION EQUIPMENT CO.,LTD" C08135 o="Ningbo Forfan technology Co., LTD" C08170 o="Effigis GeoSolutions" C08488 o="Finis Inc" C0885B o="SnD Tech Co., Ltd." C08ACD o="Guangzhou Shiyuan Electronic Technology Company Limited" C08B6F o="S I Sistemas Inteligentes Eletrônicos Ltda" C09132 o="Patriot Memory" C09879 o="Acer Inc." C098E5 o="University of Michigan" C09A71 o="XIAMEN MEITU MOBILE TECHNOLOGY CO.LTD" C09C92 o="COBY" C09D26 o="Topicon HK Lmd." C0A0C7 o="FAIRFIELD INDUSTRIES" C0A0DE o="Multi Touch Oy" C0A0E2 o="Eden Innovations" C0A1A2 o="MarqMetrix" C0A26D o="Abbott Point of Care" C0A364 o="3D Systems Massachusetts" C0A39E o="EarthCam, Inc." C0A8F0 o="Adamson Systems Engineering" C0AA68 o="OSASI Technos Inc." C0B339 o="Comigo Ltd." C0B357 o="Yoshiki Electronics Industry Ltd." C0B713 o="Beijing Xiaoyuer Technology Co. Ltd." C0B8B1 o="BitBox Ltd" C0BD42 o="ZPA Smart Energy a.s." C0C3B6 o="Automatic Systems" C0C569 o="SHANGHAI LYNUC CNC TECHNOLOGY CO.,LTD" C0C946 o="MITSUYA LABORATORIES INC." C0CBF1,D04E50 o="Mobiwire Mobiles (NingBo) Co., LTD" C0CFA3 o="Creative Electronics & Software, Inc." C0D834 o="xvtec ltd" C0D9F7 o="ShanDong Domor Intelligent S&T CO.,Ltd" C0DA74 o="Hangzhou Sunyard Technology Co., Ltd." C0DC6A o="Qingdao Eastsoft Communication Technology Co.,LTD" C0DF77 o="Conrad Electronic SE" C0E54E o="ARIES Embedded GmbH" C0EEB5 o="Enice Network." C0EEFB o="OnePlus Tech (Shenzhen) Ltd" C0F1C4 o="Pacidal Corporation Ltd." C0F636 o="Hangzhou Kuaiyue Technologies, Ltd." C0F79D o="Powercode" C0F945 o="Toshiba Toko Meter Systems Co., LTD." C0F991 o="GME Standard Communications P/L" C40006 o="Lipi Data Systems Ltd." C40049 o="Kamama" C40142 o="MaxMedia Technology Limited" C401B1 o="SeekTech INC" C401CE o="PRESITION (2000) CO., LTD." C402E1 o="Khwahish Technologies Private Limited" C40880 o="Shenzhen UTEPO Tech Co., Ltd." C40E45 o="ACK Networks,Inc." C40F09 o="Hermes electronic GmbH" C411E0 o="Bull Group Co., Ltd" C416FA o="Prysm Inc" C4198B o="Dominion Voting Systems Corporation" C419D1,D80BCB,D85F77 o="Telink Semiconductor (Shanghai) Co., Ltd." C419EC o="Qualisys AB" C41ECE o="HMI Sources Ltd." C4237A o="WhizNets Inc." C423A2 o="PT. Emsonic Indonesia" C4242E o="Galvanic Applied Sciences Inc" C42628 o="Airo Wireless" C4282D o="Embedded Intellect Pty Ltd" C4291D o="KLEMSAN ELEKTRIK ELEKTRONIK SAN.VE TIC.AS." C42996 o="Signify B.V." C42C4F o="Qingdao Hisense Mobile Communication Technology Co,Ltd" C432D1 o="Farlink Technology Limited" C43655 o="Shenzhen Fenglian Technology Co., Ltd." C436DA o="Rusteletech Ltd." C438D3 o="TAGATEC CO.,LTD" C43A9F o="Siconix Inc." C43C3C o="CYBELEC SA" C44044 o="RackTop Systems Inc." C44567 o="SAMBON PRECISON and ELECTRONICS" C445EC o="Shanghai Yali Electron Co.,LTD" C44838 o="Satcom Direct, Inc." C44AD0 o="FIREFLIES SYSTEMS" C44B44 o="Omniprint Inc." C44BD1 o="Wallys Communications Teachnologies Co.,Ltd." C44E1F o="BlueN" C44EAC o="Shenzhen Shiningworth Technology Co., Ltd." C455A6 o="Cadac Holdings Ltd" C455C2 o="Bach-Simpson" C45600 o="Galleon Embedded Computing" C456FE o="Lava International Ltd." C4571F o="June Life Inc" C458C2 o="Shenzhen TATFOOK Technology Co., Ltd." C45976 o="Fugoo Coorporation" C45BF7 o="ants" C45DD8 o="HDMI Forum" C46044 o="Everex Electronics Limited" C4626B o="ZPT Vigantice" C46354 o="U-Raku, Inc." C463FB o="Neatframe AS" C467B5 o="Libratone A/S" C4693E o="Turbulence Design Inc." C46BB4 o="myIDkey" C46DF1 o="DataGravity" C4700B o="GUANGZHOU CHIP TECHNOLOGIES CO.,LTD" C474F8 o="Hot Pepper, Inc." C477AB o="Beijing ASU Tech Co.,Ltd" C47B2F o="Beijing JoinHope Image Technology Ltd." C47BA3 o="NAVIS Inc." C47DFE o="A.N. Solutions GmbH" C47F51 o="Inventek Systems" C4823F o="Fujian Newland Auto-ID Tech. Co,.Ltd." C4824E o="Changzhou Uchip Electronics Co., LTD." C48A5A o="JFCONTROL" C48F07 o="Shenzhen Yihao Hulian Science and Technology Co., Ltd." C48FC1 o="DEEPTRACK S.L.U." C4913A o="Shenzhen Sanland Electronic Co., ltd." C4924C o="KEISOKUKI CENTER CO.,LTD." C49300 o="8Devices" C49313 o="100fio networks technology llc" C49380 o="Speedytel technology" C495A2 o="SHENZHEN WEIJIU INDUSTRY AND TRADE DEVELOPMENT CO., LTD" C49805 o="Minieum Networks, Inc" C49878 o="SHANGHAI MOAAN INTELLIGENT TECHNOLOGY CO.,LTD" C49E41 o="G24 Power Limited" C49FF3 o="Mciao Technologies, Inc." C4AAA1 o="SUMMIT DEVELOPMENT, spol.s r.o." C4AD21 o="MEDIAEDGE Corporation" C4ADF1 o="GOPEACE Inc." C4B512 o="General Electric Digital Energy" C4BA99 o="I+ME Actia Informatik und Mikro-Elektronik GmbH" C4BAA3 o="Beijing Winicssec Technologies Co., Ltd." C4BB4C o="Zebra Information Tech Co. Ltd" C4BBEA o="Pakedge Device and Software Inc" C4BD6A o="SKF GmbH" C4C0AE o="MIDORI ELECTRONIC CO., LTD." C4C138 o="OWLink Technology Inc" C4C19F o="National Oilwell Varco Instrumentation, Monitoring, and Optimization (NOV IMO)" C4C755,E01D38 o="Beijing HuaqinWorld Technology Co.,Ltd" C4C919 o="Energy Imports Ltd" C4C9EC o="Gugaoo HK Limited" C4CB6B o="Airista Flow, Inc." C4CD45 o="Beijing Boomsense Technology CO.,LTD." C4CD82 o="Hangzhou Lowan Information Technology Co., Ltd." C4D197 o="Ventia Utility Services" C4D489 o="JiangSu Joyque Information Industry Co.,Ltd" C4D655 o="Tercel technology co.,ltd" C4D8F3 o="iZotope" C4DA26 o="NOBLEX SA" C4DA7D o="Ivium Technologies B.V." C4E0DE o="Zhengzhou XindaJiean Information Technology Co.,Ltd." C4E17C o="U2S co." C4E506 o="Piper Networks, Inc." C4E510 o="Mechatro, Inc." C4E7BE o="SCSpro Co.,Ltd" C4E92F o="AB Sciex" C4EBE3 o="RRCN SAS" C4EEAE o="VSS Monitoring" C4EEF5 o="II-VI Incorporated" C4EF70 o="Home Skinovations" C4F1D1 o="BEIJING SOGOU TECHNOLOGY DEVELOPMENT CO., LTD." C4F464 o="Spica international" C4F5A5 o="Kumalift Co., Ltd." C4F839 o="Actia Automotive" C4FCE4 o="DishTV NZ Ltd" C4FDE6 o="DRTECH" C80258 o="ITW GSE ApS" C8028F o="Nova Electronics (Shanghai) Co., Ltd." C802A6 o="Beijing Newmine Technology" C80718 o="TDSi" C80D32 o="Holoplot GmbH" C80E95 o="OmniLync Inc." C81073 o="CENTURY OPTICOMM CO.,LTD" C81AFE o="DLOGIC GmbH" C81B5C o="BCTech" C81B6B o="Innova Security" C81E8E o="ADV Security (S) Pte Ltd" C8208E o="Storagedata" C825E1 o="Lemobile Information Technology (Beijing) Co., Ltd" C8292A o="Barun Electronics" C82E47 o="Suzhou SmartChip Semiconductor Co., LTD" C82E94 o="Halfa Enterprise Co., Ltd." C83168 o="eZEX corporation" C83232 o="Hunting Innova" C83A35 o="Tenda Technology Co., Ltd." C83B45 o="JRI" C83DFC o="Pioneer DJ Corporation" C83EA7 o="KUNBUS GmbH" C84529 o="IMK Networks Co.,Ltd" C84544 o="Asia Pacific CIS (Wuxi) Co, Ltd" C8458F o="Wyler AG" C84782 o="Areson Technology Corp." C848F5 o="MEDISON Xray Co., Ltd" C853E1 o="Beijing Bytedance Network Technology Co., Ltd" C85645 o="Intermas France" C85663 o="Sunflex Europe GmbH" C8662C o="Beijing Haitai Fangyuan High Technology Co,.Ltd." C86C1E o="Display Systems Ltd" C86CB6 o="Optcom Co., Ltd." C87248 o="Aplicom Oy" C87324 o="Sow Cheng Technology Co. Ltd." C8755B o="Quantify Technology Pty. Ltd." C87CBC o="Valink Co., Ltd." C87D77 o="Shenzhen Kingtech Communication Equipment Co.,Ltd" C88439 o="Sunrise Technologies" C88447 o="Beautiful Enterprise Co., Ltd" C88629 o="Shenzhen Duubee Intelligent Technologies Co.,LTD." C88722 o="Lumenpulse" C8873B o="Net Optics" C88A83 o="Dongguan HuaHong Electronics Co.,Ltd" C88B47 o="Nolangroup S.P.A con Socio Unico" C8903E o="Pakton Technologies" C89346 o="MXCHIP Company Limited" C89383 o="Embedded Automation, Inc." C894D2 o="Jiangsu Datang Electronic Products Co., Ltd" C89C13 o="Inspiremobile" C89F1D o="SHENZHEN COMMUNICATION TECHNOLOGIES CO.,LTD" C89F42 o="VDII Innovation AB" C8A1B6 o="Shenzhen Longway Technologies Co., Ltd" C8A1BA o="Neul Ltd" C8A2CE o="Oasis Media Systems LLC" C8A620 o="Nebula, Inc" C8A70A o="Verizon Business" C8A729 o="SYStronics Co., Ltd." C8A9FC o="Goyoo Networks Inc." C8AA55 o="Hunan Comtom Electronic Incorporated Co.,Ltd" C8AE9C o="Shanghai TYD Elecronic Technology Co. Ltd" C8AF40 o="marco Systemanalyse und Entwicklung GmbH" C8B1EE o="Qorvo" C8BAE9 o="QDIS" C8BBD3 o="Embrane" C8C126 o="ZPM Industria e Comercio Ltda" C8C13C o="RuggedTek Hangzhou Co., Ltd" C8C2C6 o="Shanghai Airm2m Communication Technology Co., Ltd" C8C50E o="Shenzhen Primestone Network Technologies.Co., Ltd." C8C791 o="Zero1.tv GmbH" C8D019 o="Shanghai Tigercel Communication Technology Co.,Ltd" C8D1D1 o="AGAiT Technology Corporation" C8D2C1 o="Jetlun (Shenzhen) Corporation" C8D429 o="Muehlbauer AG" C8D590 o="FLIGHT DATA SYSTEMS" C8D69D o="Arab International Optronics" C8DE51 o="IntegraOptics" C8DEC9 o="Coriant" C8E130 o="Milkyway Group Ltd" C8E1A7 o="Vertu Corporation Limited" C8E42F o="Technical Research Design and Development" C8E776 o="PTCOM Technology" C8EE08 o="TANGTOP TECHNOLOGY CO.,LTD" C8EE75 o="Pishion International Co. Ltd" C8EEA6 o="Shenzhen SHX Technology Co., Ltd" C8EF2E o="Beijing Gefei Tech. Co., Ltd" C8F36B o="Yamato Scale Co.,Ltd." C8F386 o="Shenzhen Xiaoniao Technology Co.,Ltd" C8F68D o="S.E.TECHNOLOGIES LIMITED" C8F704 o="Building Block Video" C8F946 o="LOCOSYS Technology Inc." C8F981 o="Seneca s.r.l." C8F9C8 o="NewSharp Technology(SuZhou)Co,Ltd" C8FA84 o="Trusonus corp." C8FAE1 o="ARQ Digital LLC" C8FE30 o="Bejing DAYO Mobile Communication Technology Ltd." C8FF77 o="Dyson Limited" CC0080 o="BETTINI SRL" CC047C o="G-WAY Microwave" CC09C8 o="IMAQLIQ LTD" CC0CDA o="Miljovakt AS" CC10A3 o="Beijing Nan Bao Technology Co., Ltd." CC14A6 o="Yichun MyEnergy Domain, Inc" CC187B o="Manzanita Systems, Inc." CC19A8 o="PT Inovação e Sistemas SA" CC1EFF o="Metrological Group BV" CC1FC4 o="InVue" CC2218 o="InnoDigital Co., Ltd." CC262D o="Verifi, LLC" CC2A80 o="Micro-Biz intelligence solutions Co.,Ltd" CC2C83 o="DarkMatter L.L.C" CC3080 o="VAIO Corporation" CC34D7 o="GEWISS S.P.A." CC355A o="SecuGen Corporation" CC398C o="Shiningtek" CC3B3E o="Lester Electrical" CC3B58 o="Curiouser Products Inc" CC3C3F o="SA.S.S. Datentechnik AG" CC3F1D o="Intesis Software SL" CC3FEA o="BAE Systems, Inc" CC418E o="MSA Innovation" CC43E3 o="Trump s.a." CC4639 o="WAAV, Inc." CC4703 o="Intercon Systems Co., Ltd." CC4AE1 o="fourtec -Fourier Technologies" CC4BFB o="Hellberg Safety AB" CC4D38 o="Carnegie Technologies" CC501C o="KVH Industries, Inc." CC5076 o="Ocom Communications, Inc." CC5289 o="SHENZHEN OPTFOCUS TECHNOLOGY.,LTD" CC5459 o="OnTime Networks AS" CC593E o="Sensium Healthcare Limited" CC5C75 o="Weightech Com. Imp. Exp. Equip. Pesagem Ltda" CC5D57 o="Information System Research Institute,Inc." CC5D78 o="JTD Consulting" CC5FBF o="Topwise 3G Communication Co., Ltd." CC60BB o="Empower RF Systems" CC69B0 o="Global Traffic Technologies, LLC" CC6B98 o="Minetec Wireless Technologies" CC6BF1 o="Sound Masking Inc." CC6DEF o="TJK Tietolaite Oy" CC720F o="Viscount Systems Inc." CC7286 o="Xi'an Fengyu Information Technology Co., Ltd." CC7314 o="HONG KONG WHEATEK TECHNOLOGY LIMITED" CC7498 o="Filmetrics Inc." CC7669 o="SEETECH" CC7A30 o="CMAX Wireless Co., Ltd." CC7B61 o="NIKKISO CO., LTD." CC856C o="SHENZHEN MDK DIGITAL TECHNOLOGY CO.,LTD" CC8CDA o="Shenzhen Wei Da Intelligent Technology Go.,Ltd" CC9093 o="Hansong Tehnologies" CC912B o="TE Connectivity Touch Solutions" CC944A o="Pfeiffer Vacuum GmbH" CC9470 o="Kinestral Technologies, Inc." CC9635 o="LVS Co.,Ltd." CC9F35 o="Transbit Sp. z o.o." CCA0E5 o="DZG Metering GmbH" CCA219 o="SHENZHEN ALONG INVESTMENT CO.,LTD" CCA374 o="Guangdong Guanglian Electronic Technology Co.Ltd" CCA4AF o="Shenzhen Sowell Technology Co., LTD" CCA614 o="AIFA TECHNOLOGY CORP." CCB3AB o="shenzhen Biocare Bio-Medical Equipment Co.,Ltd." CCB3F8 o="FUJITSU ISOTEC LIMITED" CCB55A o="Fraunhofer ITWM" CCB691 o="NECMagnusCommunications" CCB888 o="AnB Securite s.a." CCB8F1 o="EAGLE KINGDOM TECHNOLOGIES LIMITED" CCBD35 o="Steinel GmbH" CCBDD3 o="Ultimaker B.V." CCBE71 o="OptiLogix BV" CCC104 o="Applied Technical Systems" CCC50A o="SHENZHEN DAJIAHAO TECHNOLOGY CO.,LTD" CCC5EF o="Co-Comm Servicios Telecomunicaciones S.L." CCC62B o="Tri-Systems Corporation" CCC8D7 o="CIAS Elettronica srl" CCC92C o="Schindler - PORT Technology" CCCC4E o="Sun Fountainhead USA. Corp" CCCD64 o="SM-Electronic GmbH" CCCE40 o="Janteq Corp" CCD29B o="Shenzhen Bopengfa Elec&Technology CO.,Ltd" CCD811 o="Aiconn Technology Corporation" CCD81F o="Maipu Communication Technology Co.,Ltd." CCD9E9 o="SCR Engineers Ltd." CCDC55 o="Dragonchip Limited" CCE0C3 o="EXTEN Technologies, Inc." CCE798 o="My Social Stuff" CCE7DF o="American Magnetics, Inc." CCE8AC o="SOYEA Technology Co.,Ltd." CCEA1C o="DCONWORKS Co., Ltd" CCEED9 o="VAHLE Automation GmbH" CCEF03 o="Hunan Keyshare Communication Technology Co., Ltd." CCF3A5 o="Chi Mei Communication Systems, Inc" CCF407 o="EUKREA ELECTROMATIQUE SARL" CCF538 o="3isysnetworks" CCF67A o="Ayecka Communication Systems LTD" CCF841 o="Lumewave" CCF8F0 o="Xi'an HISU Multimedia Technology Co.,Ltd." CCFC6D o="RIZ TRANSMITTERS" CCFCB1 o="Wireless Technology, Inc." D00EA4 o="Porsche Cars North America" D00F6D o="T&W Electronics Company" D01242 o="BIOS Corporation" D0131E o="Sunrex Technology Corp" D01AA7 o="UniPrint" D01CBB o="Beijing Ctimes Digital Technology Co., Ltd." D02C45 o="littleBits Electronics, Inc." D03110 o="Ingenic Semiconductor Co.,Ltd" D03D52 o="Vaion Limited" D03DC3 o="AQ Corporation" D046DC o="Southwest Research Institute" D048F3 o="DATTUS Inc" D0498B o="ZOOM SERVER" D04CC1 o="SINTRONES Technology Corp." D05157 o="LEAX Arkivator Telecom" D052A8 o="Physical Graph Corporation" D057A1 o="Werma Signaltechnik GmbH & Co. KG" D05875 o="Active Control Technology Inc." D058C0 o="Qingdao Haier Multimedia Limited." D059C3 o="CeraMicro Technology Corporation" D05A0F o="I-BT DIGITAL CO.,LTD" D05AF1 o="Shenzhen Pulier Tech CO.,Ltd" D05C7A o="Sartura d.o.o." D05FCE o="Hitachi Data Systems" D062A0 o="China Essence Technology (Zhumadian) Co., Ltd." D0634D o="Meiko Maschinenbau GmbH & Co. KG" D063B4 o="SolidRun Ltd." D0666D o="Shenzhen Bus-Lan Technology Co., Ltd." D0699E o="LUMINEX Lighting Control Equipment" D069D0 o="Verto Medical Solutions, LLC" D06A1F o="BSE CO.,LTD." D06F4A o="TOPWELL INTERNATIONAL HOLDINGS LIMITED" D0737F o="Mini-Circuits" D0738E o="DONG OH PRECISION CO., LTD." D073D5 o="LIFI LABS MANAGEMENT PTY LTD" D075BE o="Reno A&E" D07C2D o="Leie IOT technology Co., Ltd" D07DE5 o="Forward Pay Systems, Inc." D07FC4 o="Ou Wei Technology Co.,Ltd. of Shenzhen City" D083D4 o="Xtel Wireless ApS" D08999 o="APCON, Inc." D08B7E o="Passif Semiconductor" D08CFF o="UPWIS AB" D09380 o="Ducere Technologies Pvt. Ltd." D093F8 o="Stonestreet One LLC" D09B05 o="Emtronix" D09C30 o="Foster Electric Company, Limited" D09D0A o="LINKCOM" D0A0D6 o="Chengdu TD Tech Ltd." D0A311 o="Neuberger Gebäudeautomation GmbH" D0A4B1 o="Sonifex Ltd." D0AFB6 o="Linktop Technology Co., LTD" D0B0CD o="Moen" D0B214 o="PoeWit Inc" D0B498 o="Robert Bosch LLC Automotive Electronics" D0B523 o="Bestcare Cloucal Corp." D0B53D o="SEPRO ROBOTIQUE" D0B60A o="Xingluo Technology Company Limited" D0BB80 o="SHL Telemedicine International Ltd." D0BD01 o="DS International" D0BE2C o="CNSLink Co., Ltd." D0C0BF o="Actions Microelectronics Co., Ltd" D0C193 o="SKYBELL, INC" D0C42F o="Tamagawa Seiki Co.,Ltd." D0C5D8 o="LATECOERE" D0CDE1 o="Scientech Electronics" D0CF5E o="Energy Micro AS" D0D212 o="K2NET Co.,Ltd." D0D286 o="Beckman Coulter K.K." D0D3FC o="Mios, Ltd." D0D471 o="MVTECH co., Ltd" D0D6CC o="Wintop" D0DFB2 o="Genie Networks Limited" D0E347 o="Yoga" D0E40B o="Wearable Inc." D0EB03 o="Zhehua technology limited" D0EB9E o="Seowoo Inc." D0F27F o="SteadyServ Technoligies, LLC" D0F73B o="Helmut Mauell GmbH Werk Weida" D0FA1D o="Qihoo 360 Technology Co.,Ltd" D4000D o="Phoenix Broadband Technologies, LLC." D40057 o="MC Technologies GmbH" D4024A o="Delphian Systems LLC" D40BB9 o="Solid Semecs bv." D40FB2 o="Applied Micro Electronics AME bv" D41090 o="iNFORM Systems AG" D410CF o="Huanshun Network Science and Technology Co., Ltd." D411D6 o="ShotSpotter, Inc." D41296 o="Anobit Technologies Ltd." D412BB o="Quadrant Components Inc. Ltd" D4136F o="Asia Pacific Brands" D41C1C o="RCF S.P.A." D41E35 o="TOHO Electronics INC." D42493 o="GW Technologies Co.,Ltd" D42751 o="Infopia Co., Ltd" D428B2 o="ioBridge, Inc." D429EA o="Zimory GmbH" D42C3D o="Sky Light Digital Limited" D42DC5 o="Panasonic i-PRO Sensing Solutions Co., Ltd." D42F23 o="Akenori PTE Ltd" D4319D o="Sinwatec" D43266 o="Fike Corporation" D436DB o="Jiangsu Toppower Automotive Electronics Co., Ltd" D43A65 o="IGRS Engineering Lab Ltd." D43AE9 o="DONGGUAN ipt INDUSTRIAL CO., LTD" D43D39 o="Dialog Semiconductor" D43D67 o="Carma Industries Inc." D43D7E o="Micro-Star Int'l Co, Ltd" D443A8 o="Changzhou Haojie Electric Co., Ltd." D445E8 o="Jiangxi Hongpai Technology Co., Ltd." D44B5E o="TAIYO YUDEN CO., LTD." D44C24 o="Vuppalamritha Magnetic Components LTD" D44C9C o="Shenzhen YOOBAO Technology Co.Ltd" D44CA7 o="Informtekhnika & Communication, LLC" D44F68 o="Eidetic Communications Inc" D44F80 o="Kemper Digital GmbH" D4507A o="CEIVA Logic, Inc" D4522A o="TangoWiFi.com" D45251 o="IBT Ingenieurbureau Broennimann Thun" D45297 o="nSTREAMS Technologies, Inc." D453AF o="VIGO System S.A." D45556 o="Fiber Mountain Inc." D45AB2 o="Galleon Systems" D46132 o="Pro Concept Manufacturer Co.,Ltd." D464F7 o="CHENGDU USEE DIGITAL TECHNOLOGY CO., LTD" D466A8 o="Riedo Networks Ltd" D46761 o="United Gulf Gate Co." D46867 o="Neoventus Design Group" D469A5 o="Miura Systems Ltd." D46A91 o="Snap AV" D46CBF o="Goodrich ISR" D46CDA o="CSM GmbH" D46F42 o="WAXESS USA Inc" D47208 o="Bragi GmbH" D4741B o="Beijing HuaDa ZhiBao Electronic System Co.,Ltd." D4772B o="Nanjing Ztlink Network Technology Co.,Ltd" D479C3 o="Cameronet GmbH & Co. KG" D47B35 o="NEO Monitors AS" D481CA o="iDevices, LLC" D4823E o="Argosy Technologies, Ltd." D4883F o="HDPRO CO., LTD." D48DD9 o="Meld Technology, Inc" D48FAA o="Sogecam Industrial, S.A." D491AF o="Electroacustica General Iberica, S.A." D493A0 o="Fidelix Oy" D4945A o="COSMO CO., LTD" D496DF o="SUNGJIN C&T CO.,LTD" D49B5C o="Chongqing Miedu Technology Co., Ltd." D49C28 o="JayBird LLC" D49C8E o="University of FUKUI" D49E3B o="Guangzhou Shiyuan Electronic Technology Company Limited" D49E6D o="Wuhan Zhongyuan Huadian Science & Technology Co.," D4A425 o="SMAX Technology Co., Ltd." D4A499 o="InView Technology Corporation" D4A928 o="GreenWave Reality Inc" D4AAFF o="MICRO WORLD" D4AC4E o="BODi rS, LLC" D4B43E o="Messcomp Datentechnik GmbH" D4BD1E o="5VT Technologies,Taiwan LTd." D4BF2D o="SE Controls Asia Pacific Ltd" D4BF7F o="UPVEL" D4C766 o="Acentic GmbH" D4C9B2 o="Quanergy Systems Inc" D4CEB8 o="Enatel LTD" D4CF37 o="Symbolic IO" D4CFF9 o="Shenzhen SEI Robotics Co.,Ltd" D4D249 o="Power Ethernet" D4D2E5 o="BKAV Corporation" D4D50D o="Southwest Microwave, Inc" D4D7A9 o="Shanghai Kaixiang Info Tech LTD" D4D898 o="Korea CNO Tech Co., Ltd" D4DF57 o="Alpinion Medical Systems" D4E08E o="ValueHD Corporation" D4E32C o="S. Siedle & Sohne" D4E90B o="CVT CO.,LTD" D4EC0C o="Harley-Davidson Motor Company" D4EC86 o="LinkedHope Intelligent Technologies Co., Ltd" D4EE07 o="HIWIFI Co., Ltd." D4F027 o="Trust Power Ltd." D4F0B4 o="Napco Security Technologies" D4F143 o="IPROAD.,Inc" D4F207 o="DIAODIAO(Beijing)Technology CO.,Ltd" D4F63F o="IEA S.R.L." D8052E o="Skyviia Corporation" D806D1 o="Honeywell Fire System (Shanghai) Co,. Ltd." D808F5 o="Arcadia Networks Co. Ltd." D809C3 o="Cercacor Labs" D80CCF o="C.G.V. S.A.S." D80DE3 o="FXI TECHNOLOGIES AS" D814D6 o="SURE SYSTEM Co Ltd" D8160A o="Nippon Electro-Sensory Devices" D816C1 o="DEWAV (HK) ELECTRONICS LIMITED" D8182B o="Conti Temic Microelectronic GmbH" D8197A o="Nuheara Ltd" D819CE o="Telesquare" D81BFE o="TWINLINX CORPORATION" D81C14 o="Compacta International, Ltd." D81EDE o="B&W Group Ltd" D8209F o="Cubro Acronet GesmbH" D822F4 o="Avnet Silica" D825B0 o="Rockeetech Systems Co.,Ltd." D826B9 o="Guangdong Coagent Electronics S&T Co.,Ltd." D8270C o="MaxTronic International Co., Ltd." D828C9 o="General Electric Consumer and Industrial" D82916 o="Ascent Communication Technology" D82986 o="Best Wish Technology LTD" D82A15 o="Leitner SpA" D82D9B o="Shenzhen G.Credit Communication Technology Co., Ltd" D82DE1 o="Tricascade Inc." D8337F o="Office FA.com Co.,Ltd." D8380D o="SHENZHEN IP-COM Network Co.,Ltd" D83AF5 o="Wideband Labs LLC" D842E2 o="Canary Connect, Inc." D843ED o="Suzuken" D8445C o="DEV Tecnologia Ind Com Man Eq LTDA" D84606 o="Silicon Valley Global Marketing" D848EE o="Hangzhou Xueji Technology Co., Ltd." D84B2A o="Cognitas Technologies, Inc." D84FB8 o="LG ELECTRONICS" D858D7 o="CZ.NIC, z.s.p.o." D85D84 o="CAx soft GmbH" D85DEF o="Busch-Jaeger Elektro GmbH" D860B0 o="bioMérieux Italia S.p.A." D860B3 o="Guangdong Global Electronic Technology CO.,LTD" D86194 o="Objetivos y Sevicios de Valor Añadido" D862DB o="Eno Inc." D86595 o="Toy's Myth Inc." D866C6 o="Shenzhen Daystar Technology Co.,ltd" D866EE o="BOXIN COMMUNICATION CO.,LTD." D86960 o="Steinsvik" D86C02 o="Huaqin Telecom Technology Co.,Ltd" D8760A o="Escort, Inc." D878E5 o="KUHN SA" D87CDD o="SANIX INCORPORATED" D87EB1 o="x.o.ware, inc." D8803C o="Anhui Huami Information Technology Company Limited" D881CE o="AHN INC." D887D5 o="Leadcore Technology CO.,LTD" D888CE o="RF Technology Pty Ltd" D88A3B o="UNIT-EM" D88B4C o="KingTing Tech." D88DC8 o="Atil Technology Co., LTD" D89341 o="General Electric Global Research" D89760 o="C2 Development, Inc." D8977C o="Grey Innovation" D89790 o="Commonwealth Scientific and Industrial Research Organisation" D89A34 o="Beijing SHENQI Technology Co., Ltd." D89DB9 o="eMegatech International Corp." D8A105 o="Syslane, Co., Ltd." D8A534 o="Spectronix Corporation" D8A6FD o="Ghost Locomotion" D8ADDD o="Sonavation, Inc." D8AE90 o="Itibia Technologies" D8AED0 o="Shanghai Engineering Science & Technology Co.,LTD CGNPC" D8AF3B o="Hangzhou Bigbright Integrated communications system Co.,Ltd" D8AF81,DCE305 o="ZAO %NPK Rotek%" D8B02E o="Guangzhou Zonerich Business Machine Co., LTD." D8B04C o="Jinan USR IOT Technology Co., Ltd." D8B6C1 o="NetworkAccountant, Inc." D8B6D6 o="Blu Tether Limited" D8B8F6 o="Nantworks" D8B90E o="Triple Domain Vision Co.,Ltd." D8BC59 o="Shenzhen DAPU Microelectronics Co., Ltd" D8BF4C o="Victory Concept Electronics Limited" D8C068 o="Netgenetech.co.,ltd." D8C06A o="Hunantv.com Interactive Entertainment Media Co.,Ltd." D8C3FB o="DETRACOM" D8C561 o="CommFront Communications Pte Ltd" D8C691 o="Hichan Technology Corp." D8C99D o="EA DISPLAY LIMITED" D8CA06 o="Titan DataCenters France" D8CF89 o="Beijing DoSee Science and Technology Co., Ltd." D8D27C o="JEMA ENERGY, SA" D8D4E6 o="Hytec Inter Co., Ltd." D8D5B9 o="Rainforest Automation, Inc." D8D67E o="GSK CNC EQUIPMENT CO.,LTD" D8D723 o="IDS, Inc" D8D866 o="SHENZHEN TOZED TECHNOLOGIES CO.,LTD." D8DA52 o="APATOR S.A." D8DCE9 o="Kunshan Erlab ductless filtration system Co.,Ltd" D8DD5F o="BALMUDA Inc." D8DECE o="ISUNG CO.,LTD" D8DF0D o="beroNet GmbH" D8DF7A o="Quest Software, Inc." D8E004 o="Vodia Networks Inc" D8E0B8 o="BULAT LLC" D8E3AE o="CIRTEC MEDICAL SYSTEMS" D8E743 o="Wush, Inc" D8E952 o="KEOPSYS" D8ED1C o="Magna Technology SL" D8EE78 o="Moog Protokraft" D8F0F2 o="Zeebo Inc" D8F1F0 o="Pepxim International Limited" D8F3DB o="Post CH AG" D8F710 o="Libre Wireless Technologies Inc." D8FB11 o="AXACORE" D8FB68 o="Cloud Corner Ltd." D8FC38 o="Giantec Semiconductor Inc" D8FE8F o="IDFone Co., Ltd." DC0265 o="Meditech Kft" DC052F o="National Products Inc." DC0575 o="SIEMENS ENERGY AUTOMATION" DC05ED o="Nabtesco Corporation" DC07C1 o="HangZhou QiYang Technology Co.,Ltd." DC0D30 o="Shenzhen Feasycom Technology Co., Ltd." DC15DB o="Ge Ruili Intelligent Technology ( Beijing ) Co., Ltd." DC16A2 o="Medtronic Diabetes" DC175A o="Hitachi High-Technologies Corporation" DC1792 o="Captivate Network" DC1A01 o="Ecoliv Technology ( Shenzhen ) Ltd." DC1D9F o="U & B tech" DC1DD4 o="Microstep-MIS spol. s r.o." DC1EA3 o="Accensus LLC" DC2008 o="ASD Electronics Ltd" DC21B9 o="Sentec Co.Ltd" DC2834 o="HAKKO Corporation" DC2919 o="AltoBeam (Xiamen) Technology Ltd, Co." DC293A o="Shenzhen Nuoshi Technology Co., LTD." DC2A14 o="Shanghai Longjing Technology Co." DC2AA1 o="MedHab LLC" DC2B66 o="InfoBLOCK S.A. de C.V." DC2BCA o="Zera GmbH" DC2C26 o="Iton Technology Limited" DC2DCB o="Beijing Unis HengYue Technology Co., Ltd." DC2E6A o="HCT. Co., Ltd." DC2F03 o="Step forward Group Co., Ltd." DC309C o="Heyrex Limited" DC3350 o="TechSAT GmbH" DC35F1 o="Positivo Tecnologia S.A." DC37D2 o="Hunan HKT Electronic Technology Co., Ltd" DC3C2E o="Manufacturing System Insights, Inc." DC3C84 o="Ticom Geomatics, Inc." DC3CF6 o="Atomic Rules LLC" DC3E51 o="Solberg & Andersen AS" DC41E5 o="Shenzhen Zhixin Data Service Co., Ltd." DC446D o="Allwinner Technology Co., Ltd" DC48B2 o="Baraja Pty. Ltd." DC49C9 o="CASCO SIGNAL LTD" DC4EDE o="SHINYEI TECHNOLOGY CO., LTD." DC4EF4 o="Shenzhen MTN Electronics CO., Ltd" DC56E6 o="Shenzhen Bococom Technology Co.,LTD" DC5726 o="Power-One" DC58BC o="Thomas-Krenn.AG" DC5E36 o="Paterson Technology" DC60A1 o="Teledyne DALSA Professional Imaging" DC647C o="C.R.S. iiMotion GmbH" DC663A o="Apacer Technology Inc." DC6723 o="barox Kommunikation GmbH" DC6F00 o="Livescribe, Inc." DC6F08 o="Bay Storage Technology" DC7834 o="LOGICOM SA" DC825B o="JANUS, spol. s r.o." DC82F6 o="iPort" DC962C o="NST Audio Ltd" DC9A8E o="Nanjing Cocomm electronics co., LTD" DC9B1E o="Intercom, Inc." DC9C52 o="Sapphire Technology Limited." DCA3AC o="RBcloudtech" DCA632 o="Raspberry Pi Trading Ltd" DCA6BD o="Beijing Lanbo Technology Co., Ltd." DCA7D9 o="Compressor Controls Corp" DCA8CF o="New Spin Golf, LLC." DCA989 o="MACANDC" DCAD9E o="GreenPriz" DCAE04 o="CELOXICA Ltd" DCB058 o="Bürkert Werke GmbH" DCB3B4 o="Honeywell Environmental & Combustion Controls (Tianjin) Co., Ltd." DCB4C4 o="Microsoft XCG" DCBE7A o="Zhejiang Nurotron Biotechnology Co." DCBF90 o="HUIZHOU QIAOXING TELECOMMUNICATION INDUSTRY CO.,LTD." DCC0DB o="Shenzhen Kaiboer Technology Co., Ltd." DCC0EB o="ASSA ABLOY CÔTE PICARDE" DCC101 o="SOLiD Technologies, Inc." DCC422 o="Systembase Limited" DCC622 o="BUHEUNG SYSTEM" DCC8F5 o="Shanghai UMEinfo CO.,LTD." DCCBA8 o="Explora Technologies Inc" DCCE41 o="FE GLOBAL HONG KONG LIMITED" DCCEBC o="Shenzhen JSR Technology Co.,Ltd." DCCF94 o="Beijing Rongcheng Hutong Technology Co., Ltd." DCD0F7 o="Bentek Systems Ltd." DCD52A o="Sunny Heart Limited" DCD87C o="Beijing Jingdong Century Trading Co., LTD." DCD87F o="Shenzhen JoinCyber Telecom Equipment Ltd" DCDA4F o="GETCK TECHNOLOGY, INC" DCDB70 o="Tonfunk Systementwicklung und Service GmbH" DCDC07 o="TRP Systems BV" DCDD24 o="Energica Motor Company SpA" DCDE4F o="Gionee Communication Equipment Co Ltd" DCDECA o="Akyllor" DCE026 o="Patrol Tag, Inc" DCE0EB o="Nanjing Aozheng Information Technology Co.Ltd" DCE1AD o="Shenzhen Wintop Photoelectric Technology Co., Ltd" DCE2AC o="Lumens Digital Optics Inc." DCE578 o="Experimental Factory of Scientific Engineering and Special Design Department" DCE71C o="AUG Elektronik GmbH" DCE838,E0C0D1 o="CK Telecom (Shenzhen) Limited" DCEB53 o="Wuhan QianXiao Elecronic Technology CO.,LTD" DCEC06 o="Heimi Network Technology Co., Ltd." DCED84 o="Haverford Systems Inc" DCF05D o="Letta Teknoloji" DCF090 o="Nubia Technology Co.,Ltd." DCF755 o="SITRONIK" DCF858 o="Lorent Networks, Inc." DCFAD5 o="STRONG Ges.m.b.H." E002A5 o="ABB Robotics" E00370 o="ShenZhen Continental Wireless Technology Co., Ltd." E009BF o="SHENZHEN TONG BO WEI TECHNOLOGY Co.,LTD" E00B28 o="Inovonics" E00DB9 o="Cree, Inc." E00EE1 o="We Corporation Inc." E01283 o="Shenzhen Fanzhuo Communication Technology Co., Lt" E0143E o="Modoosis Inc." E019D8 o="BH TECHNOLOGIES" E01CEE o="Bravo Tech, Inc." E01E07 o="Anite Telecoms US. Inc" E01F0A o="Xslent Energy Technologies. LLC" E02538 o="Titan Pet Products" E02630 o="Intrigue Technologies, Inc." E0271A o="TTC Next-generation Home Network System WG" E02CF3 o="MRS Electronic GmbH" E0319E o="Valve Corporation" E031D0 o="SZ Telstar CO., LTD" E034E4 o="Feit Electric Company, Inc." E03560 o="Challenger Supply Holdings, LLC" E036E3 o="Stage One International Co., Ltd." E039D7 o="Plexxi, Inc." E03C5B o="SHENZHEN JIAXINJIE ELECTRON CO.,LTD" E03E4A o="Cavanagh Group International" E03E7D o="data-complex GmbH" E043DB o="Shenzhen ViewAt Technology Co.,Ltd." E046E5 o="Gosuncn Technology Group Co., Ltd." E048AF o="Premietech Limited" E049ED o="Audeze LLC" E04B45 o="Hi-P Electronics Pte Ltd" E05597 o="Emergent Vision Technologies Inc." E056F4 o="AxesNetwork Solutions inc." E0589E o="Laerdal Medical" E05B70 o="Innovid, Co., Ltd." E05D5C o="Oy Everon Ab" E05DA6 o="Detlef Fink Elektronik & Softwareentwicklung" E06089 o="Cloudleaf, Inc." E061B2 o="HANGZHOU ZENOINTEL TECHNOLOGY CO., LTD" E06290 o="Jinan Jovision Science & Technology Co., Ltd." E064BB o="DigiView S.r.l." E067B3 o="Shenzhen C-Data Technology Co., Ltd" E0686D o="Raybased AB" E0735F o="NUCOM" E078A3 o="Shanghai Winner Information Technology Co.,Inc" E0795E o="Wuxi Xiaohu Technology Co.,Ltd." E07C62 o="Whistle Labs, Inc." E07F53 o="TECHBOARD SRL" E07F88 o="EVIDENCE Network SIA" E08177 o="GreenBytes, Inc." E084F3 o="High Grade Controls Corporation" E087B1 o="Nata-Info Ltd." E08A7E o="Exponent" E08FEC o="REPOTEC CO., LTD." E09579 o="ORTHOsoft inc, d/b/a Zimmer CAS" E097F2 o="Atomax Inc." E09DFA o="Wanan Hongsheng Electronic Co.Ltd" E09F2A o="Iton Technology Corp." E0A198 o="NOJA Power Switchgear Pty Ltd" E0A30F o="Pevco" E0A509 o="Bitmain Technologies Inc" E0A700 o="Verkada Inc" E0AAB0 o="SUNTAILI ENTERPRISE CO. LTD," E0AADB o="Nanjing PANENG Technology Development Co.,Ltd" E0ABFE o="Orb Networks, Inc." E0AEB2 o="Bender GmbH & Co.KG" E0AEED o="LOENK" E0AF4F o="Deutsche Telekom AG" E0BAB4 o="Arrcus, Inc" E0BC43 o="C2 Microsystems, Inc." E0C286 o="Aisai Communication Technology Co., Ltd." E0C6B3 o="MilDef AB" E0C86A o="SHENZHEN TW-SCIE Co., Ltd" E0C922 o="Jireh Energy Tech., Ltd." E0CA4D o="Shenzhen Unistar Communication Co.,LTD" E0CDFD o="Beijing E3Control Technology Co, LTD" E0CF2D o="Gemintek Corporation" E0D10A o="Katoudenkikougyousyo co ltd" E0D1E6 o="Aliph dba Jawbone" E0D31A o="EQUES Technology Co., Limited" E0D9A2 o="Hippih aps" E0DADC o="JVC KENWOOD Corporation" E0DB88 o="Open Standard Digital-IF Interface for SATCOM Systems" E0DCA0 o="Siemens Industrial Automation Products Ltd Chengdu" E0E631 o="SNB TECHNOLOGIES LIMITED" E0E7BB o="Nureva, Inc." E0E8E6 o="Shenzhen C-Data Technology Co., Ltd." E0E8E8 o="Olive Telecommunication Pvt. Ltd" E0EB62 o="Shanghai Hulu Devices Co., Ltd" E0ED1A o="vastriver Technology Co., Ltd" E0EDC7 o="Shenzhen Friendcom Technology Development Co., Ltd" E0EE1B,EC65CC o="Panasonic Automotive Systems Company of America" E0EF25 o="Lintes Technology Co., Ltd." E0F211 o="Digitalwatt" E0F379 o="Vaddio" E0F5CA o="CHENG UEI PRECISION INDUSTRY CO.,LTD." E0F9BE o="Cloudena Corp." E0FAEC o="Platan sp. z o.o. sp. k." E0FFF7 o="Softiron Inc." E40439 o="TomTom Software Ltd" E405F8 o="Delta Innovation Technology Co., Ltd." E41289 o="topsystem Systemhaus GmbH" E417D8 o="8BITDO TECHNOLOGY HK LIMITED" E41A2C o="ZPE Systems, Inc." E41C4B o="V2 TECHNOLOGY, INC." E41FE9 o="Dunkermotoren GmbH" E42354 o="SHENZHEN FUZHI SOFTWARE TECHNOLOGY CO.,LTD" E425E9 o="Color-Chip" E42771 o="Smartlabs" E42AD3 o="Magneti Marelli S.p.A. Powertrain" E42C56 o="Lilee Systems, Ltd." E42F56 o="OptoMET GmbH" E42FF6 o="Unicore communication Inc." E43022 o="Hanwha Techwin Security Vietnam" E43593 o="Hangzhou GoTo technology Co.Ltd" E435FB o="Sabre Technology (Hull) Ltd" E437D7 o="HENRI DEPAEPE S.A.S." E4388C o="Digital Products Limited" E438F2 o="Advantage Controls" E43A6E o="Shenzhen Zeroone Technology CO.,LTD" E43C80 o="University of Oklahoma" E43FA2 o="Wuxi DSP Technologies Inc." E441E6 o="Ottec Technology GmbH" E446BD o="C&C TECHNIC TAIWAN CO., LTD." E44C6C o="Shenzhen Guo Wei Electronic Co,. Ltd." E44E18 o="Gardasoft VisionLimited" E44E76 o="CHAMPIONTECH ENTERPRISE (SHENZHEN) INC" E44F29 o="MA Lighting Technology GmbH" E44F5F o="EDS Elektronik Destek San.Tic.Ltd.Sti" E4509A o="HW Communications Ltd" E455EA o="Dedicated Computing" E45614 o="Suttle Apparatus" E457A8 o="Stuart Manufacturing, Inc." E46059 o="Pingtek Co., Ltd." E46251 o="HAO CHENG GROUP LIMITED" E4671E o="SHEN ZHEN NUO XIN CHENG TECHNOLOGY co., Ltd." E467BA o="Danish Interpretation Systems A/S" E4695A o="Dictum Health, Inc." E46C21 o="messMa GmbH" E47185 o="Securifi Ltd" E4751E o="Getinge Sterilization AB" E4776B o="AARTESYS AG" E477D4 o="Minrray Industry Co.,Ltd" E47B3F o="BEIJING CO-CLOUD TECHNOLOGY LTD." E47C65 o="Sunstar Communication Technology Co., Ltd" E47D5A o="Beijing Hanbang Technology Corp." E47DEB o="Shanghai Notion Information Technology CO.,LTD." E481B3 o="Shenzhen ACT Industrial Co.,Ltd." E482CC o="Jumptronic GmbH" E48501 o="Geberit International AG" E48AD5 o="RF WINDOW CO., LTD." E48C0F o="Discovery Insure" E48F65 o="Yelatma Instrument Making Enterprise, JSC" E4922A o="DBG HOLDINGS LIMITED" E492E7 o="Gridlink Tech. Co.,Ltd." E496AE o="ALTOGRAPHICS Inc." E497F0 o="Shanghai VLC Technologies Ltd. Co." E498BB o="Phyplus Microelectronics Limited" E4A32F o="Shanghai Artimen Technology Co., Ltd." E4A387 o="Control Solutions LLC" E4A5EF o="TRON LINK ELECTRONICS CO., LTD." E4A7FD o="Cellco Partnership" E4AAEC o="Tianjin Hualai Technology Co., Ltd" E4AB46 o="UAB Selteka" E4AD7D o="SCL Elements" E4AFA1 o="HES-SO" E4B005 o="Beijing IQIYI Science & Technology Co., Ltd." E4BAD9 o="360 Fly Inc." E4C146 o="Objetivos y Servicios de Valor A" E4C1F1 o="SHENZHEN SPOTMAU INFORMATION TECHNOLIGY CO., Ltd" E4C62B o="Airware" E4C6E6 o="Mophie, LLC" E4C806 o="Ceiec Electric Technology Inc." E4CB59 o="Beijing Loveair Science and Technology Co. Ltd." E4CE02 o="WyreStorm Technologies Ltd" E4CE70 o="Health & Life co., Ltd." E4D3AA o="FUJITSU CONNECTED TECHNOLOGIES LIMITED" E4D71D o="Oraya Therapeutics" E4DD79 o="En-Vision America, Inc." E4E409 o="LEIFHEIT AG" E4EEFD o="MR&D Manufacturing" E4F327 o="ATOL LLC" E4F365 o="Time-O-Matic, Inc." E4F3E3 o="Shanghai iComhome Co.,Ltd." E4F7A1 o="Datafox GmbH" E4F939 o="Minxon Hotel Technology INC." E4FA1D o="PAD Peripheral Advanced Design Inc." E4FED9 o="EDMI Europe Ltd" E4FFDD o="ELECTRON INDIA" E80036 o="Befs co,. ltd" E804F3 o="Throughtek Co., Ltd." E80734 o="Champion Optical Network Engineering, LLC" E807BF o="SHENZHEN BOOMTECH INDUSTRY CO.,LTD" E80959 o="Guoguang Electric Co.,Ltd" E80B13 o="Akib Systems Taiwan, INC" E80C38 o="DAEYOUNG INFORMATION SYSTEM CO., LTD" E80C75 o="Syncbak, Inc." E8102E o="Really Simple Software, Inc" E811CA o="SHANDONG KAER ELECTRIC.CO.,LTD" E81324 o="GuangZhou Bonsoninfo System CO.,LTD" E81363 o="Comstock RD, Inc." E81367 o="AIRSOUND Inc." E8162B o="IDEO Security Co., Ltd." E817FC o="Fujitsu Cloud Technologies Limited" E81AAC o="ORFEO SOUNDWORKS Inc." E81B4B o="amnimo Inc." E826B6 o="Inside Biometrics International Limited" E82877 o="TMY Co., Ltd." E828D5 o="Cots Technology" E82E0C o="NETINT Technologies Inc." E82E24 o="Out of the Fog Research LLC" E8330D o="Xaptec GmbH" E8343E o="Beijing Infosec Technologies Co., LTD." E8361D o="Sense Labs, Inc." E83A97 o="Toshiba Corporation" E83EFB o="GEODESIC LTD." E8447E o="Bitdefender SRL" E8481F o="Advanced Automotive Antennas" E84943 o="YUGE Information technology Co. Ltd" E84C56 o="INTERCEPT SERVICES LIMITED" E84E06 o="EDUP INTERNATIONAL (HK) CO., LTD" E8516E o="TSMART Inc." E8519D o="Yeonhab Precision Co.,LTD" E85484 o="NEO Information Systems Co., Ltd." E855B4 o="SAI Technology Inc." E85659 o="Advanced-Connectek Inc." E85AA7 o="LLC Emzior" E85BB7 o="Ample Systems Inc." E85BF0 o="Imaging Diagnostics" E85D6B o="Luminate Wireless" E85D86 o="CHANG YOW TECHNOLOGIES INTERNATIONAL CO.,LTD." E85E53 o="Infratec Datentechnik GmbH" E8611F o="Dawning Information Industry Co.,Ltd" E86183 o="Black Diamond Advanced Technology, LLC" E861BE o="Melec Inc." E866C4 o="Diamanti" E86CDA o="Supercomputers and Neurocomputers Research Center" E86D54 o="Digit Mobile Inc" E86D65 o="AUDIO MOBIL Elektronik GmbH" E86D6E o="voestalpine SIGNALING Fareham Ltd." E8718D o="Elsys Equipamentos Eletronicos Ltda" E8757F o="FIRS Technologies(Shenzhen) Co., Ltd" E878A1 o="BEOVIEW INTERCOM DOO" E87AF3 o="S5 Tech S.r.l." E880D8 o="GNTEK Electronics Co.,Ltd." E887A3 o="Loxley Public Company Limited" E8886C o="Shenzhen SC Technologies Co.,LTD" E88E60 o="NSD Corporation" E89218 o="Arcontia International AB" E8944C o="Cogent Healthcare Systems Ltd" E89606 o="testo Instruments (Shenzhen) Co., Ltd." E8995A o="PiiGAB, Processinformation i Goteborg AB" E89FEC o="CHENGDU KT ELECTRONIC HI-TECH CO.,LTD" E8A364 o="Signal Path International / Peachtree Audio" E8A4C1 o="Deep Sea Electronics Ltd" E8A788 o="XIAMEN LEELEN TECHNOLOGY CO., LTD" E8A7F2 o="sTraffic" E8ABFA o="Shenzhen Reecam Tech.Ltd." E8B4AE o="Shenzhen C&D Electronics Co.,Ltd" E8BB3D o="Sino Prime-Tech Limited" E8C1B8 o="Nanjing Bangzhong Electronic Commerce Limited" E8C229 o="H-Displays (MSC) Bhd" E8C320 o="Austco Communication Systems Pty Ltd" E8C57A o="Ufispace Co., LTD." E8CC32 o="Micronet LTD" E8CE06 o="SkyHawke Technologies, LLC." E8D0FA o="MKS Instruments Deutschland GmbH" E8D483 o="ULTIMATE Europe Transportation Equipment GmbH" E8D4E0 o="Beijing BenyWave Technology Co., Ltd." E8DA96 o="Zhuhai Tianrui Electrical Power Tech. Co., Ltd." E8DAAA o="VideoHome Technology Corp." E8DE00 o="ChongQing GuanFang Technology Co.,LTD" E8DED6 o="Intrising Networks, Inc." E8DEFB o="MESOTIC SAS" E8DFF2 o="PRF Co., Ltd." E8E08F o="GRAVOTECH MARKING SAS" E8E1E2 o="Energotest" E8E770 o="Warp9 Tech Design, Inc." E8E776 o="Shenzhen Kootion Technology Co., Ltd" E8E875 o="iS5 Communications Inc." E8E98E o="SOLAR controls s.r.o." E8EA6A o="StarTech.com" E8EADA o="Denkovi Assembly Electronics LTD" E8ECA3 o="Dongguan Liesheng Electronic Co.Ltd" E8EF89 o="OPMEX Tech." E8F226 o="MILLSON CUSTOM SOLUTIONS INC." E8F2E3 o="Starcor Beijing Co.,Limited" E8F928 o="RFTECH SRL" E8FAF7 o="Guangdong Uniteddata Holding Group Co., Ltd." E8FC60 o="ELCOM Innovations Private Limited" E8FD72 o="SHANGHAI LINGUO TECHNOLOGY CO., LTD." E8FD90 o="Turbostor" E8FDE8 o="CeLa Link Corporation" EC0133 o="TRINUS SYSTEMS INC." EC01E2 o="FOXCONN INTERCONNECT TECHNOLOGY" EC0441 o="ShenZhen TIGO Semiconductor Co., Ltd." EC0ED6 o="ITECH INSTRUMENTS SAS" EC1120 o="FloDesign Wind Turbine Corporation" EC13B2 o="Netonix" EC14F6 o="BioControl AS" EC1766 o="Research Centre Module" EC219F o="VidaBox LLC" EC2257 o="JiangSu NanJing University Electronic Information Technology Co.,Ltd" EC2368 o="IntelliVoice Co.,Ltd." EC26FB o="TECC CO.,LTD." EC2AF0 o="Ypsomed AG" EC2C49 o="University of Tokyo" EC2E4E o="HITACHI-LG DATA STORAGE INC" EC316D o="Hansgrohe" EC363F o="Markov Corporation" EC3BF0 o="NovelSat" EC3C5A o="SHEN ZHEN HENG SHENG HUI DIGITAL TECHNOLOGY CO.,LTD" EC3C88 o="MCNEX Co.,Ltd." EC3E09 o="PERFORMANCE DESIGNED PRODUCTS, LLC" EC3F05 o="Institute 706, The Second Academy China Aerospace Science & Industry Corp" EC42B4 o="ADC Corporation" EC42F0 o="ADL Embedded Solutions, Inc." EC438B o="YAPTV" EC43E6 o="AWCER Ltd." EC4644 o="TTK SAS" EC4670 o="Meinberg Funkuhren GmbH & Co. KG" EC473C o="Redwire, LLC" EC4993 o="Qihan Technology Co., Ltd" EC4C4D o="ZAO NPK RoTeK" EC52DC o="WORLD MEDIA AND TECHNOLOGY Corp." EC542E o="Shanghai XiMei Electronic Technology Co. Ltd" EC5B73 o="Advanced & Wise Technology Corp." EC5C69 o="MITSUBISHI HEAVY INDUSTRIES MECHATRONICS SYSTEMS,LTD." EC5F23 o="Qinghai Kimascend Electronics Technology Co. Ltd." EC60E0 o="AVI-ON LABS" EC6264 o="Global411 Internet Services, LLC" EC63E5 o="ePBoard Design LLC" EC64E7 o="MOCACARE Corporation" EC66D1 o="B&W Group LTD" EC6C9F o="Chengdu Volans Technology CO.,LTD" EC6F0B o="FADU, Inc." EC71DB o="Shenzhen Baichuan Digital Technology Co., Ltd." EC79F2 o="Startel" EC7C74 o="Justone Technologies Co., Ltd." EC7D9D o="CPI" EC7FC6 o="ECCEL CORPORATION SAS" EC8009 o="NovaSparks" EC836C o="RM Tech Co., Ltd." EC83D5 o="GIRD Systems Inc" EC8EAD o="DLX" EC8EAE o="Nagravision SA" EC9233 o="Eddyfi NDT Inc" EC9327 o="MEMMERT GmbH + Co. KG" EC9365 o="Mapper.ai, Inc." EC93ED o="DDoS-Guard LTD" EC9681 o="2276427 Ontario Inc" EC97B2 o="SUMEC Machinery & Electric Co.,Ltd." EC986C o="Lufft Mess- und Regeltechnik GmbH" EC98C1 o="Beijing Risbo Network Technology Co.,Ltd" ECA29B o="Kemppi Oy" ECA5DE o="ONYX WIFI Inc" ECAF97 o="GIT" ECB106 o="Acuro Networks, Inc" ECB541 o="SHINANO E and E Co.Ltd." ECB870 o="Beijing Heweinet Technology Co.,Ltd." ECB907 o="CloudGenix Inc" ECBAFE o="GIROPTIC" ECBBAE o="Digivoice Tecnologia em Eletronica Ltda" ECBD09 o="FUSION Electronics Ltd" ECC06A o="PowerChord Group Limited" ECC38A o="Accuenergy (CANADA) Inc" ECC57F o="Suzhou Pairlink Network Technology" ECD00E o="MiraeRecognition Co., Ltd." ECD040 o="GEA Farm Technologies GmbH" ECD19A o="Zhuhai Liming Industries Co., Ltd" ECD68A o="Shenzhen JMicron Intelligent Technology Developmen" ECD925 o="RAMI" ECD950 o="IRT SA" ECDE3D o="Lamprey Networks, Inc." ECE154 o="Beijing Unisound Information Technology Co.,Ltd." ECE2FD o="SKG Electric Group(Thailand) Co., Ltd." ECE512 o="tado GmbH" ECE555 o="Hirschmann Automation" ECE744 o="Omntec mfg. inc" ECE90B o="SISTEMA SOLUCOES ELETRONICAS LTDA - EASYTECH" ECE915 o="STI Ltd" ECE9F8 o="Guang Zhou TRI-SUN Electronics Technology Co., Ltd" ECEED8 o="ZTLX Network Technology Co.,Ltd" ECF236 o="NEOMONTANA ELECTRONICS" ECF6BD o="SNCF MOBILITÉS" ECF72B o="HD DIGITAL TECH CO., LTD." ECFA03 o="FCA" ECFAAA o="The IMS Company" ECFAF4 o="SenRa Tech Pvt. Ltd" ECFC55 o="A. Eberle GmbH & Co. KG" ECFE7E o="BlueRadios, Inc." F0007F o="Janz - Contadores de Energia, SA" F0022B o="Chrontel" F00248 o="SmarteBuilding" F00786 o="Shandong Bittel Electronics Co., Ltd" F00D5C o="JinQianMao Technology Co.,Ltd." F00DF5 o="ACOMA Medical Industry Co,. Ltd." F00EBF o="ZettaHash Inc." F015A0 o="KyungDong One Co., Ltd." F015B9 o="PlayFusion Limited" F0182B o="LG Chem" F01E34 o="ORICO Technologies Co., Ltd" F0224E o="Esan electronic co." F02329 o="SHOWA DENKI CO.,LTD." F02405 o="OPUS High Technology Corporation" F02408 o="Talaris (Sweden) AB" F02624 o="WAFA TECHNOLOGIES CO., LTD." F0264C o="Sigrist-Photometer AG" F02745 o="F-Secure Corporation" F02A23 o="Creative Next Design" F02A61 o="Waldo Networks, Inc." F02FD8 o="Bi2-Vision" F037A1 o="Huike Electronics (SHENZHEN) CO., LTD." F03A4B o="Bloombase, Inc." F03A55 o="Omega Elektronik AS" F03D29 o="Actility" F03EBF o="GOGORO TAIWAN LIMITED" F03FF8 o="R L Drake" F04335 o="DVN(Shanghai)Ltd." F0463B o="Comcast Cable Corporation" F04A2B o="PYRAMID Computer GmbH" F04B6A o="Scientific Production Association Siberian Arsenal, Ltd." F04BF2 o="JTECH Communications, Inc." F04CD5 o="Maxlinear, Inc" F05494 o="Honeywell Connected Building" F05849 o="CareView Communications" F05D89 o="Dycon Limited" F05DC8 o="Duracell Powermat" F05F5A o="Getriebebau NORD GmbH and Co. KG" F06130 o="Advantage Pharmacy Services, LLC" F0620D o="Shenzhen Egreat Tech Corp.,Ltd" F065C2 o="Yanfeng Visteon Electronics Technology (Shanghai) Co.,Ltd." F06853 o="Integrated Corporation" F06E32 o="MICROTEL INNOVATION S.R.L." F073AE o="PEAK-System Technik" F07485 o="NGD Systems, Inc." F074E4 o="Thundercomm Technology Co., Ltd" F07765 o="Sourcefire, Inc" F077D0 o="Xcellen" F07F0C o="Leopold Kostal GmbH &Co. KG" F081AF o="IRZ AUTOMATION TECHNOLOGIES LTD" F08A28 o="JIANGSU HENGSION ELECTRONIC S and T CO.,LTD" F08BFE o="COSTEL.,CO.LTD" F08EDB o="VeloCloud Networks" F0933A o="NxtConect" F093C5 o="Garland Technology" F095F1 o="Carl Zeiss AG" F097E5 o="TAMIO, INC" F09A51 o="Shanghai Viroyal Electronic Technology Company Limited" F09CBB o="RaonThink Inc." F09CD7 o="Guangzhou Blue Cheetah Intelligent Technology Co., Ltd." F0A764 o="GST Co., Ltd." F0A7B2 o="FUTABA CORPORATION" F0A968 o="Antailiye Technology Co.,Ltd" F0ACA4 o="HBC-radiomatic" F0AD4E o="Globalscale Technologies, Inc." F0AE51 o="Xi3 Corp" F0AF50 o="Phantom Intelligence" F0B5B7 o="Disruptive Technologies Research AS" F0B6EB o="Poslab Technology Co., Ltd." F0BCC8 o="MaxID (Pty) Ltd" F0BD2E o="H+S Polatis Ltd" F0BDF1 o="Sipod Inc." F0C24C o="Zhejiang FeiYue Digital Technology Co., Ltd" F0C27C o="Mianyang Netop Telecom Equipment Co.,Ltd." F0C88C o="LeddarTech Inc." F0D14F o="LINEAR LLC" F0D1B8 o="LEDVANCE" F0D3A7 o="CobaltRay Co., Ltd" F0D3E7 o="Sensometrix SA" F0D4F6 o="Lars Thrane A/S" F0D4F7 o="varram system" F0D657 o="ECHOSENS" F0D767 o="Axema Passagekontroll AB" F0D7DC o="Wesine (Wuhan) Technology Co., Ltd." F0D9B2 o="EXO S.A." F0DA7C o="RLH INDUSTRIES,INC." F0DB30 o="Yottabyte" F0DE71 o="Shanghai EDO Technologies Co.,Ltd." F0DEB9 o="ShangHai Y&Y Electronics Co., Ltd" F0E3DC o="Tecon MT, LLC" F0E5C3 o="Drägerwerk AG & Co. KG aA" F0EC39 o="Essec" F0ED1E o="Bilkon Bilgisayar Kontrollu Cih. Im.Ltd." F0EE58 o="PACE Telematics GmbH" F0EEBB o="VIPAR GmbH" F0EFD2 o="TF PAYMENT SERVICE CO., LTD" F0F08F o="Nextek Solutions Pte Ltd" F0F260 o="Mobitec AB" F0F5AE o="Adaptrum Inc." F0F644 o="Whitesky Science & Technology Co.,Ltd." F0F669 o="Motion Analysis Corporation" F0F7B3 o="Phorm" F0F842 o="KEEBOX, Inc." F0F9F7 o="IES GmbH & Co. KG" F0FDA0 o="Acurix Networks Pty Ltd" F40321 o="BeNeXt B.V." F4032F o="Reduxio Systems" F4044C o="ValenceTech Limited" F406A5 o="Hangzhou Bianfeng Networking Technology Co., Ltd." F40A4A o="INDUSNET Communication Technology Co.,LTD" F40F9B o="WAVELINK" F41535 o="SPON Communication Technology Co.,Ltd" F415FD o="Shanghai Pateo Electronic Equipment Manufacturing Co., Ltd." F419E2 o="Volterra" F41E26 o="Simon-Kaloi Engineering" F41E5E o="RtBrick Inc." F41F0B o="YAMABISHI Corporation" F42012 o="Cuciniale GmbH" F42833 o="MMPC Inc." F42896 o="SPECTO PAINEIS ELETRONICOS LTDA" F42B48 o="Ubiqam" F42C56 o="SENOR TECH CO LTD" F43328 o="CIMCON Lighting Inc." F436E1 o="Abilis Systems SARL" F43814 o="Shanghai Howell Electronic Co.,Ltd" F43D80 o="FAG Industrial Services GmbH" F43E66 o="Bee Computing (HK) Limited" F43E9D o="Benu Networks, Inc." F44156 o="Arrikto Inc." F44227 o="S & S Research Inc." F44450 o="BND Co., Ltd." F445ED o="Portable Innovation Technology Ltd." F44713 o="Leading Public Performance Co., Ltd." F4472A o="Nanjing Rousing Sci. and Tech. Industrial Co., Ltd" F44848 o="Amscreen Group Ltd" F44955 o="MIMO TECH Co., Ltd." F449EF o="EMSTONE" F44D17 o="GOLDCARD HIGH-TECH CO.,LTD." F44EFD o="Actions Semiconductor Co.,Ltd.(Cayman Islands)" F450EB o="Telechips Inc" F45595 o="HENGBAO Corporation LTD." F455E0 o="Niceway CNC Technology Co.,Ltd.Hunan Province" F45842 o="Boxx TV Ltd" F45B73 o="Wanjiaan Interconnected Technology Co., Ltd" F45F69 o="Matsufu Electronics distribution Company" F45FF7 o="DQ Technology Inc." F4600D o="Panoptic Technology, Inc" F462D0 o="Not for Radio, LLC" F46349 o="Diffon Corporation" F4672D o="ShenZhen Topstar Technology Company" F46ABC o="Adonit Corp. Ltd." F46E24 o="NEC Personal Computers, Ltd." F46F4E o="Echowell" F473CA o="Conversion Sound Inc." F47626 o="Viltechmeda UAB" F47A4E o="Woojeon&Handan" F47ACC o="SolidFire, Inc." F483E1 o="Shanghai Clouder Semiconductor Co.,Ltd" F485C6 o="FDT Technologies" F48771 o="Infoblox" F490CA o="Tensorcom" F490EA o="Deciso B.V." F4911E o="ZHUHAI EWPE INFORMATION TECHNOLOGY INC" F49461 o="NexGen Storage" F49466 o="CountMax, ltd" F497C2 o="Nebulon Inc" F499AC o="WEBER Schraubautomaten GmbH" F49C12 o="Structab AB" F4A294 o="EAGLE WORLD DEVELOPMENT CO., LIMITED" F4A52A o="Hawa Technologies Inc" F4B164 o="Lightning Telecommunications Technology Co. Ltd" F4B381 o="WindowMaster A/S" F4B520 o="Biostar Microtech international corp." F4B549 o="Xiamen Yeastar Information Technology Co., Ltd." F4B6E5 o="TerraSem Co.,Ltd" F4B72A o="TIME INTERCONNECT LTD" F4BD7C o="Chengdu jinshi communication Co., LTD" F4C447 o="Coagent International Enterprise Limited" F4C4D6 o="Shenzhen Xinfa Electronic Co.,ltd" F4C6D7 o="blackned GmbH" F4C795 o="WEY Elektronik AG" F4C7C8 o="Kelvin Inc." F4CA24 o="FreeBit Co., Ltd." F4CD90 o="Vispiron Rotec GmbH" F4CE36 o="Nordic Semiconductor ASA" F4D032 o="Yunnan Ideal Information&Technology.,Ltd" F4D261 o="SEMOCON Co., Ltd" F4D7B2 o="LGS Innovations, LLC" F4DC41 o="YOUNGZONE CULTURE (SHANGHAI) CORP" F4DC4D o="Beijing CCD Digital Technology Co., Ltd" F4DCA5 o="DAWON DNS" F4DCDA o="Zhuhai Jiahe Communication Technology Co., limited" F4DE0C o="ESPOD Ltd." F4E142 o="Delta Elektronika BV" F4E204 o="Traqueur" F4E6D7 o="Solar Power Technologies, Inc." F4E926 o="Tianjin Zanpu Technology Inc." F4ED5F o="SHENZHEN KTC TECHNOLOGY GROUP" F4EF9E o="SGSG SCIENCE & TECHNOLOGY CO. LTD" F4F197 o="EMTAKE Inc" F4F3AA o="JBL GmbH & Co. KG" F4F646 o="Dediprog Technology Co. Ltd." F4FCB1 o="JJ Corp" F4FD2B o="ZOYI Company" F80332 o="Khomp" F8051C o="DRS Imaging and Targeting Solutions" F80BD0 o="Datang Telecom communication terminal (Tianjin) Co., Ltd." F80DEA o="ZyCast Technology Inc." F80DF1 o="Sontex SA" F80F84 o="Natural Security SAS" F81037 o="Atopia Systems, LP" F81CE5 o="Telefonbau Behnke GmbH" F81D90 o="Solidwintech" F81D93 o="Longdhua(Beijing) Controls Technology Co.,Ltd" F81E6F o="EBG compleo GmbH" F82055 o="Green Information System" F82285 o="Cypress Technology CO., LTD." F82441 o="Yeelink" F8272E o="Mercku" F82BC8 o="Jiangsu Switter Co., Ltd" F82E8E o="Nanjing Kechen Electric Co., Ltd." F82EDB o="RTW GmbH & Co. KG" F82F5B o="eGauge Systems LLC" F83094 o="Alcatel-Lucent Telecom Limited" F8313E o="endeavour GmbH" F83376 o="Good Mind Innovation Co., Ltd." F83553 o="Magenta Research Ltd." F83CBF o="BOTATO ELECTRONICS SDN BHD" F83D4E o="Softlink Automation System Co., Ltd" F842FB o="Yasuda Joho Co.,ltd." F8462D o="SYNTEC Incorporation" F8472D o="X2gen Digital Corp. Ltd" F84A73 o="EUMTECH CO., LTD" F84A7F o="Innometriks Inc" F8501C o="Tianjin Geneuo Technology Co.,Ltd" F85063 o="Verathon" F8516D o="Denwa Technology Corp." F852DF o="VNL Europe AB" F8572E o="Core Brands, LLC" F85A00 o="Sanford LP" F85B9C o="SB SYSTEMS Co.,Ltd" F85BC9 o="M-Cube Spa" F85C45 o="IC Nexus Co. Ltd." F862AA o="xn systems" F86465 o="Anova Applied Electronics, Inc." F86601 o="Suzhou Chi-tek information technology Co., Ltd" F86971 o="Seibu Electric Co.," F86ECF o="Arcx Inc" F86FDE o="Shenzhen Goodix Technology Co.,Ltd." F871FE o="The Goldman Sachs Group, Inc." F8769B o="Neopis Co., Ltd." F87AEF o="Rosonix Technology, Inc." F87B62 o="FASTWEL INTERNATIONAL CO., LTD. Taiwan Branch" F87B8C o="Amped Wireless" F88096 o="Elsys Equipamentos Eletrônicos Ltda" F8811A o="OVERKIZ" F88479 o="Yaojin Technology(Shenzhen)Co.,Ltd" F8893C o="Inventec Appliances Corp." F88C1C o="KAISHUN ELECTRONIC TECHNOLOGY CO., LTD. BEIJING" F88DEF o="Tenebraex" F89066 o="Nain Inc." F8912A o="GLP German Light Products GmbH" F89173 o="AEDLE SAS" F893F3 o="VOLANS" F89550 o="Proton Products Chengdu Ltd" F897CF o="DAESHIN-INFORMATION TECHNOLOGY CO., LTD." F8983A o="Leeman International (HongKong) Limited" F89955 o="Fortress Technology Inc" F89D0D o="Control Technology Inc." F89DBB o="Tintri" F89FB8 o="YAZAKI Energy System Corporation" F8A03D o="Dinstar Technologies Co., Ltd." F8A188 o="LED Roadway Lighting" F8A2B4 o="RHEWA-WAAGENFABRIK August Freudewald GmbH &Co. KG" F8A9DE o="PUISSANCE PLUS" F8AA8A o="Axview Technology (Shenzhen) Co.,Ltd" F8AC6D o="Deltenna Ltd" F8AE27 o="John Deere Electronic Solutions" F8B2F3 o="GUANGZHOU BOSMA TECHNOLOGY CO.,LTD" F8B599 o="Guangzhou CHNAVS Digital Technology Co.,Ltd" F8BC41 o="Rosslare Enterprises Limited" F8BE0D o="A2UICT Co.,Ltd." F8C091 o="Highgates Technology" F8C120 o="Xi'an Link-Science Technology Co.,Ltd" F8C372 o="TSUZUKI DENKI" F8C397 o="NZXT Corp. Ltd." F8C4F3 o="Shanghai Infinity Wireless Technologies Co.,Ltd." F8C678 o="Carefusion" F8CA59 o="NetComm Wireless" F8CC6E o="DEPO Electronics Ltd" F8D3A9 o="AXAN Networks" F8D462 o="Pumatronix Equipamentos Eletronicos Ltda." F8D756 o="Simm Tronic Limited" F8D7BF o="REV Ritter GmbH" F8DADF o="EcoTech, Inc." F8DAE2 o="NDC Technologies" F8DAF4 o="Taishan Online Technology Co., Ltd." F8DB4C o="PNY Technologies, INC." F8DC7A o="Variscite LTD" F8DFE1 o="MyLight Systems" F8E44E o="MCOT INC." F8E5CF o="CGI IT UK LIMITED" F8E7B5 o="µTech Tecnologia LTDA" F8E968 o="Egker Kft." F8EA0A o="Dipl.-Math. Michael Rauch" F8F005 o="Newport Media Inc." F8F014 o="RackWare Inc." F8F25A o="G-Lab GmbH" F8F464 o="Rawe Electonic GmbH" F8F7D3 o="International Communications Corporation" F8F7FF o="SYN-TECH SYSTEMS INC" F8FB2F o="Santur Corporation" F8FE5C o="Reciprocal Labs Corp" F8FEA8 o="Technico Japan Corporation" F8FF0B o="Electronic Technology Inc." F8FF5F o="Shenzhen Communication Technology Co.,Ltd" FC0012 o="Toshiba Samsung Storage Technolgoy Korea Corporation" FC019E o="VIEVU" FC01CD o="FUNDACION TEKNIKER" FC0647 o="Cortland Research, LLC" FC06ED o="M2Motive Technology Inc." FC07A0 o="LRE Medical GmbH" FC0877 o="Prentke Romich Company" FC09D8 o="ACTEON Group" FC09F6 o="GUANGDONG TONZE ELECTRIC CO.,LTD" FC10BD o="Control Sistematizado S.A." FC1186 o="Logic3 plc" FC1349 o="Global Apps Corp." FC1607 o="Taian Technology(Wuxi) Co.,Ltd." FC1794 o="InterCreative Co., Ltd" FC19D0 o="Cloud Vision Networks Technology Co.,Ltd." FC1BFF o="V-ZUG AG" FC1D59 o="I Smart Cities HK Ltd" FC1D84 o="Autobase" FC1E16 o="IPEVO corp" FC1FC0 o="EURECAM" FC229C o="Han Kyung I Net Co.,Ltd." FC2325 o="EosTek (Shenzhen) Co., Ltd." FC27A2 o="TRANS ELECTRIC CO., LTD." FC29F3 o="McPay Co.,LTD." FC2A54 o="Connected Data, Inc." FC2E2D o="Lorom Industrial Co.LTD." FC2F6B o="Everspin Technologies, Inc." FC2FEF o="UTT Technologies Co., Ltd." FC3288 o="CELOT Wireless Co., Ltd" FC335F o="Polyera" FC3598 o="Favite Inc." FC35E6 o="Visteon corp" FC3CE9 o="Tsingtong Technologies Co, Ltd." FC3FAB o="Henan Lanxin Technology Co., Ltd" FC4463 o="Universal Audio, Inc" FC4499 o="Swarco LEA d.o.o." FC455F o="JIANGXI SHANSHUI OPTOELECTRONIC TECHNOLOGY CO.,LTD" FC4B1C o="INTERSENSOR S.R.L." FC4D8C o="SHENZHEN PANTE ELECTRONICS TECHNOLOGY CO., LTD" FC5090 o="SIMEX Sp. z o.o." FC52CE o="Control iD" FC55DC o="Baltic Latvian Universal Electronics LLC" FC58FA o="Shen Zhen Shi Xin Zhong Xin Technology Co.,Ltd." FC5B24 o="Weibel Scientific A/S" FC5B26 o="MikroBits" FC6018 o="Zhejiang Kangtai Electric Co., Ltd." FC6198 o="NEC Personal Products, Ltd" FC626E o="Beijing MDC Telecom" FC683E o="Directed Perception, Inc" FC6BF0 o="TOPWELL INTERNATIONAL HOLDINDS LIMITED" FC6C31 o="LXinstruments GmbH" FC6DC0 o="BME CORPORATION" FC790B o="Hitachi High Technologies America, Inc." FC7CE7 o="FCI USA LLC" FC7D6C o="HYESUNG TECHWIN Co., Ltd" FC7F56 o="CoSyst Control Systems GmbH" FC8329 o="Trei technics" FC83C6 o="N-Radio Technologies Co., Ltd." FC8596 o="Axonne Inc." FC8E6E o="StreamCCTV, LLC" FC8FC4 o="Intelligent Technology Inc." FC90FA o="Independent Technologies" FC946C o="UBIVELOX" FC9AFA o="Motus Global Inc." FC9DD8 o="Beijing TongTongYiLian Science and Technology Ltd." FC9FAE o="Fidus Systems Inc" FC9FE1 o="CONWIN.Tech. Ltd" FCA22A o="PT. Callysta Multi Engineering" FCA9B0 o="MIARTECH (SHANGHAI),INC." FCAD0F o="QTS NETWORKS" FCAF6A o="Qulsar Inc" FCAFAC o="Socionext Inc." FCB10D o="Shenzhen Tian Kun Technology Co.,LTD." FCB58A o="Wapice Ltd." FCB662 o="IC Holdings LLC" FCB7F0 o="Idaho National Laboratory" FCBBA1 o="Shenzhen Minicreate Technology Co.,Ltd" FCBC9C o="Vimar Spa" FCCAC4 o="LifeHealth, LLC" FCCCE4 o="Ascon Ltd." FCCF43 o="HUIZHOU CITY HUIYANG DISTRICT MEISIQI INDUSTRY DEVELOPMENT CO,.LTD" FCD4F2 o="The Coca Cola Company" FCD4F6 o="Messana Air.Ray Conditioning s.r.l." FCD5D9 o="Shenzhen SDMC Technology Co., Ltd." FCD817 o="Beijing Hesun Technologies Co.Ltd." FCDB21 o="SAMSARA NETWORKS INC" FCDB96 o="ENERVALLEY CO., LTD" FCDC4A o="G-Wearables Corp." FCDD55 o="Shenzhen WeWins wireless Co.,Ltd" FCE14F o="BRK Brands, Inc." FCE186 o="A3M Co., LTD" FCE192 o="Sichuan Jinwangtong Electronic Science&Technology Co,.Ltd" FCE1D9 o="Stable Imaging Solutions LLC" FCE1FB o="Array Networks" FCE23F o="CLAY PAKY SPA" FCE892 o="Hangzhou Lancable Technology Co.,Ltd" FCEDB9 o="Arrayent" FCEEE6 o="FORMIKE ELECTRONIC CO., LTD" FCF1CD o="OPTEX-FA CO.,LTD." FCF8B7 o="TRONTEQ Electronic" FCFE77 o="Hitachi Reftechno, Inc." FCFEC2 o="Invensys Controls UK Limited" 001BC5 000 o="Converging Systems Inc." 001 o="OpenRB.com, Direct SIA" 002 o="GORAMO - Janusz Gorecki" 003 o="MicroSigns Technologies Inc" 004 o="Intellvisions Software Ltd" 006 o="TRIAX-HIRSCHMANN Multi-Media GmbH" 007 o="Energy Aware Technology" 008 o="Dalaj Electro-Telecom" 009 o="Solomon Systech Pte Ltd" 00A o="Mercury HMI Ltd" 00C o="Quantum Technology Sciences, Inc." 00D o="Advanced Scientific Concepts, Inc." 00E o="Vigor Electric Corp" 00F o="Simavita Pty Ltd" 010 o="Softel SA de CV" 011 o="OOO NPP Mera" 012 o="Tokyo Cosmos Electric, Inc." 013 o="Zamir Recognition Systems Ltd." 015 o="Corporate Systems Engineering" 016 o="Energotechnica OOO NPP Ltd" 017 o="cPacket Networks" 019 o="Dunlop Systems & Components" 01A o="ABA ELECTRONICS TECHNOLOGY CO.,LTD" 01B o="Commonwealth Scientific and Industrial Research Organisation" 01C o="Coolit Systems, Inc." 01D o="Rose + Herleth GbR" 01F o="Saturn Solutions Ltd" 020 o="Momentum Data Systems" 021 o="Openpeak, Inc" 022 o="CJSC STC SIMOS" 023 o="MAGO di Della Mora Walter" 024 o="ANNECY ELECTRONIQUE SAS" 025 o="andersen lighting GmbH" 026 o="DIMEP Sistemas" 027 o="CAMEA, spol. s r.o." 028 o="STECHWIN.CO.LTD." 029 o="2 FRANCE MARINE" 02A o="Analytical Instrument Systems, Inc." 02B o="Saturn South Pty Ltd" 02C o="Care Everywhere LLC" 02D o="DDTRONIK Dariusz Dowgiert" 02E o="BETTINI SRL" 02F o="Fibrain Co. Ltd." 030 o="OctoGate it Security Systems GmbH" 031 o="ADIXEIN LIMITED" 032 o="Osborne Coinage Co" 033 o="JE Suunnittelu Oy" 034 o="InterCEL Pty Ltd" 035 o="RTLS Ltd." 036 o="LOMAR SRL" 037 o="ITW Reyflex North America" 038 o="SEED International Ltd." 039 o="EURESYS S.A." 03A o="MindMade Sp. z o.o." 03B o="Promixis, LLC" 03C o="Xiphos Systems Corp." 03D o="rioxo GmbH" 03E o="Daylight Solutions, Inc" 03F o="ELTRADE Ltd" 040 o="OOO Actidata" 041 o="DesignA Electronics Limited" 042 o="ChamSys Ltd" 043 o="Coincident, Inc." 044 o="ZAO "RADIUS Avtomatika"" 045 o="Marvel Digital International Limited" 046 o="GÉANT" 047 o="PT. Amanindo Nusapadu" 048 o="XPossible Technologies Pte Ltd" 049 o="EUROCONTROL S.p.A." 04A o="Certis Technology International Pte Ltd" 04B o="Silicon Controls" 04C o="Rhino Controls Ltd." 04D o="eiraku electric corp." 04E o="Mitsubishi Electric India PVT. LTD" 04F o="Orbital Systems, Ltd." 050 o="TeliSwitch Solutions" 051 o="QQ Navigation AB" 052 o="Engineering Center ENERGOSERVICE" 053 o="Metrycom Communications Ltd" 055 o="LUMIPLAN TRANSPORT" 056 o="ThinKom Solutions, Inc" 057 o="EREE Electronique" 058 o="optiMEAS GmbH" 059 o="INPIXAL" 05A o="POSTEC DATA SYSTEMS" 05B o="konzeptpark GmbH" 05C o="Suretrak Global Pty Ltd" 05D o="JSC Prominform" 05E o="Ecomed-Complex" 05F o="Klingenthaler Musikelektronik GmbH" 060 o="ENSTECH" 061 o="Scientific-Technical Center %Epsilon% Limited company" 062 o="Sulaon Oy" 063 o="Check-It Solutions Inc" 064 o="Enkora Oy Ltd" 065 o="Plair Media Inc." 066 o="Manufacturas y transformados AB" 067 o="Embit srl" 068 o="HCS KABLOLAMA SISTEMLERI SAN. ve TIC.A.S." 069 o="Datasat Digital Entertainment" 06A o="IST GmbH" 06B o="Verified Energy, LLC." 06C o="Luxcon System Limited" 06D o="TES Electronic Solutions (I) Pvt. Ltd." 06E o="Two Dimensional Instruments, LLC" 06F o="LLC Emzior" 070 o="Siemens Industries, Inc, Retail & Commercial Systems" 071 o="Center for E-Commerce Infrastructure Development, The University of Hong Kong" 072 o="Ohio Semitronics, Inc." 073 o="tado GmbH" 074 o="Dynasthetics" 075 o="Kitron GmbH" 076 o="PLAiR Media, Inc" 077 o="Momentum Data Systems" 078 o="Donbass Soft Ltd and Co.KG" 079 o="HPI High Pressure Instrumentation GmbH" 07A o="Servicios Electronicos Industriales Berbel s.l." 07B o="QCORE Medical" 07C o="head" 07D o="Greatcom AG" 07E o="Bio Molecular System Pty Ltd" 07F o="Hitechlab Inc" 080 o="LUMINO GmbH" 081 o="WonATech Co., Ltd." 082 o="TGS Geophysical Company (UK) Limited" 083 o="DIWEL" 084 o="Applied Innovations Research LLC" 085 o="Oberon microsystems, Inc." 086 o="CAST Group of Companies Inc." 087 o="Onnet Technologies and Innovations LLC" 088 o="UAB Kitron" 089 o="SIGNATURE CONTROL SYSTEMS, INC." 08A o="Topicon" 08B o="Nistica" 08C o="Triax A/S" 08D o="EUREK SRL" 08E o="TrendPoint Systems" 08F o="Unilever R&D" 090 o="Seven Solutions S.L" 091 o="3green ApS" 092 o="Arnouse Digital Devices, Corp." 093 o="Ambient Devices, Inc." 094 o="reelyActive" 095 o="PREVAC sp. z o.o." 096 o="Sanstreak Corp." 097 o="Plexstar Inc." 098 o="Cubic Systems, Inc." 099 o="UAB Kitron" 09A o="Shenzhen Guang Lian Zhi Tong Limited" 09B o="YIK Corporation" 09C o="S.I.C.E.S. srl" 09D o="Navitar Inc" 09E o="K+K Messtechnik GmbH" 09F o="ENTE Sp. z o.o." 0A0 o="HomerSoft sp. z o.o." 0A1 o="Hangzhou Zhiping Technology Co., Ltd." 0A2 o="Hettich Benelux" 0A3 o="P A Network Laboratory Co.,Ltd" 0A4 o="RADMOR S.A." 0A5 o="Tesla Controls" 0A6 o="Balter Security GmbH" 0A7 o="L.G.L. Electronics S.p.a." 0A8 o="Link Precision" 0A9 o="Elektrometal SA" 0AA o="Senceive Ltd" 0AB o="Evondos Oy" 0AC o="AVnu Alliance" 0AD o="Tierra Japan Co.,Ltd" 0AE o="Techlan Reti s.r.l." 0AF o="Enerwise Solutions Ltd." 0B0 o="J-D.COM" 0B1 o="Roslen Eco-Networking Products" 0B2 o="SKODA ELECTRIC a.s." 0B3 o="FSM Solutions Limited" 0B4 o="COBAN SRL" 0B5 o="Exibea AB" 0B6 o="VEILUX INC." 0B7 o="Autelis, LLC" 0B9 o="Denki Kogyo Company, Limited" 0BA o="NT MICROSYSTEMS" 0BB o="Triax A/S" 0BC o="kuwatec, Inc." 0BD o="Bridge Diagnostics, Inc." 0BE o="YESpay International Ltd" 0BF o="TN Core Co.,Ltd." 0C0 o="Digital Loggers, Inc." 0C1 o="EREE Electronique" 0C2 o="TechSolutions A/S" 0C3 o="inomatic GmbH" 0C4 o="ELDES" 0C5 o="Gill Instruments Ltd" 0C6 o="Connode" 0C7 o="WIZZILAB SAS" 0C8 o="Dialine" 0C9 o="UAB Kitron" 0055DA 0 o="Shinko Technos co.,ltd." 1 o="KoolPOS Inc." 2 o="Beijing Connected Information Technology Co.,Ltd." 3 o="Novexx Solutions GmbH" 4 o="Datapath Limited" 5 o="Nanoleaf" 6 o="OOO %DEKATRON%" 7 o="LUCISTECHNOLOGIES(SHANGHAI)CO.,LTD" 8 o="BroadSoft, Inc." 9 o="Quantum Communication Technology Co., Ltd.,Anhui" A o="Speechlab" B o="Interaxon Inc" C o="Donguan WideLink Communication Technology Co.,Ltd." D o="Arrow Electronics,Inc." E o="Victorsure Limited" 006967 0 o="Annapurna labs" 1 o="miliwave" 2 o="Ningbo Shen Link Communication Technology Co.,Ltd" 3 o="Suzhou Radiant Lighting Technology Co.,Ltd" 4 o="Command Alkon, Inc" 5 o="Shenzhen Xiao Bi En Culture Education Technology Co.,Ltd." 6 o="Comcast-SRL" 7 o="PANGAEA SOLUTION INC" 8 o="Ambient-System sp. z o.o." 9 o="Hangzhou Wise IOT Technology Co.,Ltd" A o="Zhejiang Holip Electronic Technology Co.,Ltd" B o="Datapan d.o.o." C o="Desird Design R&D" D o="aversix" E o="Tianjin Lianwu Technology Co., Ltd." 04714B 0 o="Neurio Technology Inc." 1 o="uAvionix Corporation" 2 o="Shenzhen WayOS Technology Crop., Ltd." 3 o="Griesser Electronic AG" 4 o="Apparatebau Gauting GmbH" 5 o="Bureau Electronique Appliquee" 6 o="Armstrong Fluid Technology" 7 o="Omylis Pte Ltd" 8 o="Energport Inc" 9 o="Lighthouse AI, Inc" A o="Observables, Inc." B o="DIGIBEST TECHNOLOGY CO., LTD." C o="KittyHawk Corporation" D o="Shenzhen BoClouds Technology Co.,Ltd." E o="Gimso Mobile Ltd" 04C3E6 0 o="DREAMKAS LLC" 1 o="Guangdong New Pulse Electric Co., Ltd." 2 o="SiS Technology" 3 o="Extech Electronics Co., LTD." 4 o="Innovusion Inc." 5 o="Invasys" 6 o="Shenzhen Shuotian Information Technology Co., LTD" 7 o="Advanced Digital Technologies, s.r.o." 8 o="SLOC GmbH" 9 o="Ekin Teknoloji San ve Tic A.S." A o="Sealed Unit Parts Co., Inc." B o="Flintec UK Ltd." C o="SHANTOU YINGSHENG IMPORT & EXPORT TRADING CO.,LTD." D o="Amiosec Ltd" E o="Teleepoch Ltd" 04D16E 0 o="INTRIPLE, a.s." 1 o="Launch Tech Co., Ltd." 2 o="s.d.i. s.p.a." 3 o="Beijing Huaxia Qixin Technology Co., Ltd." 4 o="ShenZhen Huafu Information technology Co.?Ltd" 5 o="Dspread Technology (Beijing) Inc." 6 o="ETL Elektrotechnik Lauter GmbH" 7 o="Envision Energy" 8 o="CHENGDU INTERLINK SCIENCE AND TECHNOLOGY CO.,LTD" 9 o="FUZHOU ZHUOYI ELECTRONIC CO.,LTD" A o="Metra Electronics" B o="National Radio & Telecommunication Corporation - NRTC" C o="PacPort Corporation" D o="Elotec Fischer Elektronik GmbH" E o="Evolute Systems Private Limited" 08ED02 0 o="D2SLink Systems" 1 o="Imperx, Inc" 2 o="TES Touch Embedded Solutions Inc." 3 o="Jiangsu Logread Network Technology Co., LTD." 4 o="Fio Corporation" 5 o="Vigitron Inc." 6 o="SANGO ELECTRONICS CO" 7 o="Eleven Engineering Incorporated" 8 o="HANTAS CO., LTD." 9 o="Savox Communications" A o="Victiana SRL" B o="Szok Energy and Communication Co., Ltd." C o="Guard RFID Solutions" D o="Origami Energy Ltd" E o="Telstra Corporation Limited" 0C73EB 0 o="Gemini Data Loggers (UK) Limited" 1 o="EVERSEC TECHNOLOGY CORPORATION" 2 o="Deltapath, Inc." 3 o="Tiinlab Acoustic Technology (Shenzhen) Co., Ltd." 4 o="U-PASS.CO.,LTD" 5 o="Husty M.Styczen J.Hupert Sp.J." 6 o="Green Fox Electro AS" 7 o="Dinkle Enterprise Co., Ltd." 8 o="Beijing Miiiw Technology Co., Ltd" 9 o="Beijing L&S Lancom Platform Tech. Co., Ltd." A o="Pi Innovo LLC" B o="Synaccess Networks" C o="Shenzhen Samchung Video Technology Co., Ltd." D o="D-Link (Shanghai)Limited Corp." E o="Taiwan Pulse Motion Co., Ltd." 0CEFAF 0 o="Kenmore" 1 o="Goerlitz AG" 2 o="LUMEL S.A." 3 o="Engineering Center ENERGOSERVICE" 4 o="Sentry360" 5 o="PREMIUM SA" 6 o="Firmware Design AS" 7 o="Syntrans AB" 8 o="BSX Athletics" 9 o="Rotel" A o="chengdu joyotime Technology Co., Ltd." B o="Hubei Century Network Technology Co., Ltd" C o="GainStrong Industry Co.,Ltd" D o="CJSC «Svyaz Engineering»" E o="Infinisource Inc." 0CFE5D 0 o="Chengdu Ledong Information & Technology Co., Ltd." 1 o="Fender Musical Instrument" 2 o="Dspread International Co.,Limited" 3 o="Beijing WayClouds Technology Co., Ltd." 4 o="Yantai Dongfang Wisdom Electic Co.,Ltd." 5 o="SELECTRIC Nachrichten-Systeme GmbH" 6 o="Antailiye Technology Co.,Ltd" 7 o="Vermes Microdispensing GmbH" 8 o="CTK Contact Electronics co., Ltd." 9 o="Celerway Communication AS" A o="Fujian Jieyu Computer Technology Co., Ltd." B o="YINUO-LINK LIMITED" C o="Bepal Technology Co.,Ltd." D o="Maksat Technologies P Ltd" E o="NEWGREEN TECH CO., LTD." 100723 0 o="RippleTek Tech Ltd" 1 o="Beijing Assem Technology Co., ltd" 2 o="Diginet Control Systems Pty Ltd" 3 o="Tongfang computer co.Ltd." 4 o="Audio Engineering Ltd." 5 o="BEIJING SOOALL INFORMATION TECHNOLOGY CO.,LTD" 6 o="ESTONE TECHNOLOGY INC" 7 o="nanoTech Co., Ltd." 8 o="Ion Professional Solutions" 9 o="Wireless input technology Inc." A o="TESSERA TECHNOLOGY INC." B o="Fujian Quanzhou Dong Ang Electronics Co., Ltd." C o="Shenzhen Xinfa Electronic Co.,ltd" E o="First Chair Acoustics Co., Ltd." 10DCB6 1 o="ABB Switzerland Ltd." 2 o="CAL-COMP INDUSTRIA E COMERCIO DE ELETRONICOS E INFORMATICA LTDA" 3 o="HANACNS" 4 o="Annapurna labs" 5 o="Milesight Taiwan" 6 o="Prolan Zrt." 7 o="Moya Commumication Technology (Shenzhen) Co.,Ltd." 8 o="Sanofi (Beijing) Pharmaceutical Co., Ltd." 9 o="Fuzhou Rockchip Electronics Co.,Ltd" A o="Pickering Interfaces Ltd" B o="Eyeball Fintech Company" C o="BBPOS International Limited" D o="LeoLabs" E o="Shenzhen Sunwoda intelligent hardware Co.,Ltd" 141FBA 0 o="Shenzhen Mining Technology Co.,Ltd." 1 o="GloQuad" 2 o="Deutsche Energieversorgung GmbH" 4 o="BYZERO" 5 o="Inttelix Brasil Tecnologia e Sistemas Ltda" 6 o="Thales Communications & Security SAS" 7 o="Wisnetworks Technologies Co., Ltd." 8 o="Shenzhen CATIC Information Technology Industry Co.,Ltd" 9 o="Black Moth Technologies" A o="Winsonic Electronics Co., Ltd." B o="Newings Communication CO., LTD." C o="Swiss Electronic (Shenzhen) Co., Ltd" D o="AJIS(DALIAN)co.,LTD" E o="POS Systema LLC" 144FD7 0 o="Annapurna labs" 1 o="Zehnder Group AG" 2 o="FedEx Services OTI" 3 o="Qingdao Wodatong Electronics Co., Ltd." 4 o="Red Technology Limited" 5 o="FLS FINLAND OY" 6 o="i-SENS, Inc." 7 o="Shenzhen V-Streaming Technology Co., Ltd." 8 o="NPort Networks Inc.," 9 o="Emerson Network Power (India) Pvt. Ltd." A o="Unirobot Corporation" B o="Arkus-ST Ltd" C o="D&S Cable Industries (HK) Limited" D o="Shanghai B&A Technology Co., Ltd" E o="Edan Instruments, Inc." 14AE85 0 o="Kayamatics Limited" 1 o="Henfred Technology Co., Ltd." 2 o="Qingdao iTechene Technologies Co., Ltd." 3 o="IFLYTEK CO.,LTD." 4 o="CENTERVUE SPA" 5 o="AZ-TECHNOLOGY SDN BHD" 6 o="TMG TE GmbH" 7 o="SHENZHEN HONOR ELECTRONIC CO.,LTD" 8 o="Trimble LEM" 9 o="Veo Technologies" A o="MTA Systems" B o="NTC SOFT" C o="IO Industries Inc." D o="iSolution Technologies Co.,Ltd." E o="Sercomm Corporation." 189BA5 0 o="Dectris Ltd." 1 o="ChengDu Vantron Technology, Ltd." 2 o="Airprotec" 3 o="PHINETWORKS" 4 o="Innominds Software Inc" 5 o="Starfire Industries LLC" 6 o="Mantra Softech India Pvt Ltd" 7 o="Beijing Xinertel Technology Co., Ltd." 8 o="Shenzhen Tong Tai Yi information Technology Co.,Ltd" 9 o="APANA Inc." A o="SHENZHEN FIONEXX TECHNOLOGIES LTD." B o="Eutron SPA" C o="Christ Electronic System GmbH" D o="legendsky tech" E o="Taiwan Name Plate Co.,LTD" 1C21D1 0 o="Toyo System CO.,LTD." 1 o="Ognios GmbH" 2 o="Varaani Works Oy" 3 o="Microview Science and Technology Co.,Ltd" 4 o="Scientific-Production Enterprise Dynamics" 5 o="B-Scada Inc." 6 o="Wuhan TieChi Detection Technology Co., Ltd." 7 o="Soundtrack Your Brand Sweden AB" 8 o="Reliatronics Inc." 9 o="Dynojet Research" A o="LG CNS" B o="Global Design Solutions Ltd" D o="Liscotech System Co., Ltd." E o="p2-plus inc." 1C8259 0 o="Shandong Luneng Intelligence Technology CO., Ltd" 1 o="3xLOGIC Inc." 2 o="Diatrend Corporation" 3 o="C&A Marketing, INC." 4 o="winsun AG" 5 o="Fagus-GreCon Greten GmbH & Co. KG" 6 o="CGI IT UK LIMITED" 7 o="Jump Trading" 8 o="SHENZHEN AOA TECHNOLOGY CO.,LTD" 9 o="Shanghai Xiaoyan Technology Co., Ltd." A o="ESTec Corporation" B o="KeyWest Networks, Inc" C o="Evondos Oy" D o="Applied Concepts, Inc." E o="Microtronics Engineering GmbH" 1C8774 0 o="Philips Personal Health Solutions" 1 o="SIGFOX" 2 o="Nichigaku" 3 o="Silora R&D" 4 o="Weber Marking Systems GmbH" 5 o="Xiaoxinge (Tangshan) Electronic Technology Co., Ltd." 6 o="Schawbel Technologies LLC" 7 o="Ing Buero Ziegler" 8 o="Surtec Industries, Inc" 9 o="Wide World Trade HK ltd." A o="Nebbiolo Technologies" B o="HABEY USA Inc." C o="New Nordic Engineering" D o="CLABER SPA" E o="Quest Integrity" 1C8776 0 o="Dspread Technology (Beijing) Inc." 1 o="EBS Sp. z o.o." 2 o="Ibeo Automotive Systems GmbH" 3 o="Unjo AB" 4 o="RDP.RU" 5 o="Zhuhai MYZR Technology Co.,Ltd" 6 o="philandro Software GmbH" 7 o="Corporate Systems Engineering" 8 o="Guangzhou Video-Star Electronics Co.,Ltd." 9 o="Tokyo Drawing Ltd." A o="Jiangsu ETERN COMMUNICATION Co.,ltd" B o="Hekatron Vertriebs GmbH" C o="Strone Technology" D o="Qivivo" E o="Artis GmbH" 1C8779 0 o="Wurm GmbH & Co. KG Elektronische Systeme" 1 o="A-GEAR COMPANY LIMITED" 2 o="SMARTMOVT TECHNOLOGY Co., LTD" 3 o="Visual Land Inc." 4 o="Novetta" 5 o="BEIDIAN GROUP" 6 o="Shenzhen Shouxin Tongda Technology Co.,Ltd" 7 o="TASC Systems Inc." 8 o="ZHEJIANG ITENAL TECHNOLOGY CO.,LTD" 9 o="Istria soluciones de criptografia, S. A." A o="Hangzhou Xiaowen Intelligent Technology Co., Ltd." B o="Beijing Geedeen Technology Co., Ltd" C o="AllThingsTalk" D o="Shenzhen Innovaconn Systems Co.,Ltd" E o="ASSYSTEM France" 1C8879 0 o="Newps co.,ltd" 1 o="ANDRA Sp. z o.o." 2 o="Airsmart System Co.,Ltd" 3 o="Shenzhen Xiaoxi Technology Co., Ltd." 4 o="Ultraflux" 5 o="SHENZHENFREELINK ELECTRONIC CO.,LTD" 6 o="Eolos IT Corp" 7 o="Sensys Networks, Inc." 8 o="Toshiba Toko Meter Systems Co., LTD." 9 o="Xingtera China Ltd" A o="ITW-FEG" B o="gekartel AG" C o="Accriva" D o="Beijing Raycores Technology Co.,Ltd" E o="Orion Labs inc" 1CA0D3 0 o="OOO Tekhnotronika" 1 o="Jabil circuit italia srl" 2 o="NovTech, Inc." 3 o="SAVELEC" 4 o="NPO TELECOM JSC" 5 o="Dynamic Connect (Suzhou) Hi-Tech Electronic Co.,Ltd." 6 o="Intertecno SRL %NISUTA%" 8 o="Desarrollos y Soluciones Guinea I+D S.L." 9 o="Cirque Audio Technology Co., Ltd" A o="DSM Messtechnik GmbH" B o="Guang Dong He Zheng Network Technology Co.,Ltd" C o="LYT inc." D o="ERATO (HK) Corporation Limited" E o="Exicom Tele-Systems Ltd." 1CC0E1 0 o="Shenzhen Highsharp Electronics Ltd." 1 o="Hangzhou Kaierda Electric Welding Machine Co.,Ltd" 2 o="Abbott Medical Optics Inc." 3 o="HANGZHOU SOFTEL OPTIC CO., LTD" 4 o="Videri Inc." 5 o="Kids Wireless Inc" 6 o="Monument Labs, Inc." 7 o="SHENZHEN KINSTONE D&T DEVELOP CO.,LTD" 8 o="LX Corporation Pty Ltd" 9 o="Ospicon Company Limited" A o="SECHERON SA" B o="Exigent Sensors" C o="Nitto Seiko" D o="NewLand (NZ) Communication Tech Limited" E o="Yun Yang Fire Safety Equipment Co.,Ltd." 1CCAE3 1 o="PGA ELECTRONIC" 2 o="Insigma Inc" 3 o="Shenzhen Smart Device Technology Co.,LTD" 4 o="Sunray Medical Apparatus Co.,Ltd." 5 o="TengFeng" 6 o="TOKAI RIKA CO., LTD." 7 o="Bird Home Automation GmbH" 8 o="OxySec S.r.l." 9 o="SHIN-YOSHA CORPORATION" A o="SIREA" B o="Dream Visions Co., LTD" C o="Gahdeung Elecom" D o="eSight Corporation" E o="Dabi Atlante S/A Industrias Medico Odontológicas" 1CFD08 0 o="InSeat Solutions, LLC" 1 o="Shenzhen SEWO Technology Co.,Ltd." 2 o="HiHi Ltd" 3 o="Umeox Innovations Co.,Ltd" 4 o="SABIK Offshore GmbH" 5 o="Beijing Hengxin Rainbow Information Technology Co.,Ltd" 6 o="A&B Technology" 7 o="sunweit industrial limited" 8 o="ShenZhen DeLippo Technology Co., LTD" 9 o="Cobham Slip Rings" A o="Banmak Technogies Co.,Ltd" B o="guangzhou huiqun intelligent technology co. LTD" C o="Shanghai YottaTech Co Ltd (上海尧它科技有限公司)" D o="Tianjin Keyvia Electric Co.,Ltd" E o="MESHBOX FOUNDATION PTE. LTD." 200A0D 0 o="halstrup-walcher GmbH" 1 o="Wideband Systems, Inc." 2 o="Netinovo Technologies(Shenzhen) Ltd" 3 o="Clearly IP Inc" 4 o="Virtium" 5 o="Shenzhen Zhangyue Technology Co.,Ltd" 6 o="Austin Hughes Electronics Ltd." 7 o="Tecnint HTE SRL" 8 o="bcheck NV" 9 o="Welzek (Beijing) Technologies Co, Ltd" A o="IRSAP" B o="Amazon Technologies Inc." C o="sehwa" D o="Bently & EL Co. Ltd." E o="HANGZHOU DANGBEI NETWORK TECH.Co.,Ltd" 208593 0 o="Hemina Spa" 1 o="Networking Services Corp" 2 o="Mid Continent Controls, Inc." 3 o="UNILUMIN GROUP CO.,LTD" 4 o="Kloudspot Inc" 5 o="Wave-In Communication" 6 o="Eilersen Electric A/S" 7 o="Great Lite International" 8 o="AASSET SECURITY" A o="H3 Industries, Inc." B o="IOG Products LLC" C o="Regloplas AG" D o="Shanghai Kenmyond Industrial Network Equipment Co.,Ltd" E o="Dynaudio" 241510 0 o="Safetrust Inc" 1 o="SMaBiT GmbH" 2 o="Nile Global Inc" 3 o="Kaiyun" 4 o="Annapurna labs" 5 o="GANZHOU DEHUIDA TECHNOLOGY CO., LTD" 6 o="SHANDONG KEHUI POWER AUTOMATION CO. LTD." 7 o="SuZhou A-rack Information Technology Co.,Ltd" 9 o="Topgolf Sweden AB" A o="Unitronux(Shenzhen) Intelligence Technology Co.,Ltd" B o="Teknic, Inc." C o="Shenzhen Xtooltech Co., Ltd" D o="Helen of Troy" E o="Satellite Link Technology CO.,LTD" 244E7B 0 o="Tekelek Europe Ltd" 1 o="sonoscape" 2 o="RCC TIME CO .,LIMITED" 3 o="Shenzhen Ruixunyun Technology Co.,Ltd." 4 o="Leshi Internet Information & Technology (Beijing) Corp." 5 o="Jiangsu Xuanbo Electronic Technologies Co.,Ltd" 6 o="Owasys Advanced Wireless Devices" 7 o="Nanjing Wanlida Technology Co., Ltd." 8 o="Cyber1st" 9 o="UniMAT Automation Technology Co., Ltd." A o="Shenzhen AWT science & technology limited" B o="Mighty Audio, Inc." C o="CHUNGHSIN TECHNOLOGY GROUP CO.,LTD" D o="Church & Dwight Co., Inc." E o="WithWin Technology ShenZhen CO.,LTD" 282C02 0 o="SAKATA DENKI Co., Ltd." 1 o="Astronics AES" 2 o="Shenzhen emb-star technology co. LTD" 3 o="Dexin Digital Technology Corp. Ltd." 4 o="EFENTO T P SZYDŁOWSKI K ZARĘBA SPÓŁKA JAWNA" 5 o="LLC %MICROTEH%" 6 o="Lookman Electroplast Industries Ltd" 7 o="Telecom and Microelectonic Industries" 8 o="Shenzhen Neoway Technology Co.,Ltd." 9 o="Systec Intelligent Building Technology (Tianjin) Co.,Ltd." A o="Tokin Limited" B o="ThirdReality, Inc" C o="Epoch International Enterprises, Inc." D o="SHENZHEN DOMENOR TECHNOLOGY LLC" E o="Capintec, Inc." 283638 0 o="Knowles Electronics LLC" 1 o="Panasonic System Solutions Europe" 2 o="SHENZHEN GOSPELL SMARTHOME ELECTRONIC CO., LTD." 3 o="Sabinetek" 4 o="Dspread Technology (Beijing) Inc." 5 o="CHARGELIB" 6 o="Georg Neumann GmbH" 7 o="Innovative Technology Ltd" 8 o="Havells India Limited" 9 o="Shenzhen Zhi Hua Creative Technology Co., Ltd." A o="Bluekey Pty Ltd" B o="ShangHai Canall Information Technology Co.,Ltd" C o="Swisson AG" D o="APPEAK Technology System Co.Ltd." E o="SCA Hygiene Products AB" 28F537 0 o="Valeo Siemens eAutomotive Norway" 1 o="Umojo" 2 o="Unicair Communication Tec Co., Ltd." 3 o="PRIMETECH ENGINEERING CORP." 4 o="Phyn LLC" 5 o="Atomrock LLC" 6 o="MyOmega Systems GmbH" 7 o="Shenzhen Modern Cowboy Technology Co.,Ltd." 8 o="1MORE" 9 o="Herbert Waldmann GmbH & Co. KG" A o="Honeywell Safety Products USA, Inc" B o="LogiM GmbH Software und Entwicklung" C o="Matricx Singapore Pte Ltd" D o="Skyrockettoys LLC" E o="Performance Motion Devices" 28FD80 0 o="Millcode" 1 o="Galileo, Inc." 2 o="Zhixiang Technology Co., Ltd." 3 o="NUUO, Inc." 4 o="Digital Signal Corp" 5 o="Xiaocong Network Limited" 6 o="Vigil Monitoring" 7 o="University of York" 8 o="Jasco Products Company" 9 o="JINLITONG INTERNATIONAL CO.,LTD" A o="Apollo Digital (Taiwan) Ltd." B o="Poket Hardware GmbH" C o="Airbus Defence and Space Oy" D o="Grandway Technology (Shenzhen) Limited" E o="T-Radio AS" 2C16BD 0 o="Beijing Jishi Huitong Technology Co., Ltd." 1 o="Curtiss-Wright Drive Technology" 2 o="AIMCO" 3 o="Saft AB" 4 o="Sunit Oy" 5 o="Beijing Zhijian Link Technology Co., Ltd." 6 o="CLOUDWALK TECHNOLOGY CO.,LTD" 7 o="SCT OPTRONICS CO., LTD" 8 o="Shenzhen elink smart Co., ltd" 9 o="Shanghai Walktech Information Technology Co.,Ltd." A o="Shenzhen Haiying Wire Tech Co., Ltd." B o="LINGDONG TECHNOLOGY (BEIJING) CO. LTD" C o="Beijing CHJ Automotive Co., Ltd." D o="Hangzhou Yanzhi Technology Co.,Ltd." E o="Molex Incorporated" 2C265F 0 o="XIAMEN VORLINK IOT TECHNOLOGY CO.,LTD." 1 o="Griessbach" 2 o="Jiangsu JARI Technology Group Co., LTD" 3 o="shenzhen Clever Electronic Co., Ltd." 4 o="GTA Electronics Co., Ltd." 5 o="Motec GmbH" 6 o="Appostar Technology Co. Ltd" 7 o="Coremate Technical Co., Ltd" 8 o="Itus Networks, LLC" 9 o="Brüel & Kjaer Vibro GmbH" A o="Polara Engineering" B o="Rexgen Inc." C o="AATON DIGITAL" D o="E Core Corporation" E o="Hysentel Technology Co., Ltd" 2C279E 0 o="Changzhou WEBO Weighing Device & System CO.,LTD" 1 o="Electronique Bluewave Inc." 2 o="Kunyi electronic technology (Shanghai) Co., Ltd." 4 o="Shijiazhuang King Transportation Equipment Co.,Ltd" 5 o="AudioNord Distribution A/S" 6 o="Rutledge Omni Services Pte Ltd" 7 o="FOCAL-JMLab" 8 o="Institut Dr. Foerster GmbH & Co. KG" 9 o="octoScope, Inc." A o="Exegy Inc" B o="Forties Inc." C o="WAYCOM Technology Co.,Ltd" D o="Jiangsu JianHu Science & Technology Co., Ltd." E o="Amaryllo International Inc." 2C4835 0 o="Progress Rail Services, Inspection and Information Systems" 1 o="Advanced Electronics Company Ltd" 2 o="Rheonik Messtechnik GmbH" 3 o="Newtrax Technologies Inc" 4 o="GEARTECH LTD" 5 o="Scout Security, Inc." 6 o="Exertus Oy" 7 o="FAST" 8 o="DPS Electronics" 9 o="SureFlap Ltd" A o="Collatz+Trojan GmbH" B o="Shanghai Visteon Automotive Electronics System CO. Ltd." C o="Santec Corporation" D o="Phasor Solutions Ltd" E o="IROOTECH TECHNOLOGY CO.,LTD" 2C6A6F 0 o="Shanghai Shuncom Electronic Technology Co.,Ltd" 1 o="ELKO EP, s.r.o." 2 o="NanChang LangJie Technology Co.,Ltd" 3 o="Cloudproject Generation Srl" 4 o="TINYCO" 5 o="SHEN ZHEN SIS SCIENCE & TECHNOLOGY LTD." 6 o="Beep, Inc." 7 o="SM DSP CO.,LTD." 8 o="Milbank Manufacturing Co." 9 o="Logic IO Aps" A o="Wellntel, Inc." B o="Schneider Electric Korea" C o="Sensity Systems" D o="Holjeron" E o="EATON FHF Funke + Huster Fernsig GmbH" 2CD141 0 o="iCIRROUND Inc" 1 o="Ezee Systems Limited" 2 o="IntelliLUM" 3 o="AOptix Technologies, Inc" 4 o="Shanghai RW ELE&TEC CO.,LTD" 5 o="ZENIC INC." 6 o="Bowei Technology Company Limited" 7 o="XiaMen 35.com Technology Co,.Ltd." 8 o="Minno LLC" 9 o="Beijing Hexing Chuangxiang Technology Co., Ltd." A o="Fiberroad Technology Co., Ltd." B o="Resus Industries" C o="PIN SHANG LED Co., LTD." E o="CITA SMART SOLUTIONS LTD" 3009F9 0 o="Hurray Cloud Technology Co., Ltd." 1 o="Shenzhen Sunvell Electronics Co., Ltd." 2 o="Beijing Netswift Technology Co.,Ltd." 3 o="OOO %Microlink-Svyaz%" 4 o="Punkt Tronics AG" 5 o="VELSITEC-CLIBASE" 6 o="Beijing Mydreamplus Information Technology Co., Ltd." 7 o="Maytronics Ltd." 8 o="essence security" 9 o="Bonraybio" A o="Shenzhen Tencent Computer System Co., Ltd." B o="Sichuan Nebula Networks Co.,LTD." C o="Honeywell" D o="Technology for Humankind" E o="ZhongLi HengFeng (Shenzhen) Technology co.,Ltd." 300A60 0 o="KAZUtechnica Co.,Ltd." 1 o="Beijing Ruiteng Zhongtian TECH Ltd.,Co" 2 o="Advanced Electronic Designs, Inc." 4 o="AVIC JONHON OPTRONIC TECHNOLOGY CO., LTD." 5 o="A9" 6 o="Realtime biometrics India pvt ltd" 7 o="Newtons4th Ltd" 8 o="Bronkhorst High-Tech BV" 9 o="WINTEK System Co., Ltd" A o="Ampetronic Ltd" B o="Giax GmbH" C o="Thermo Process Instruments, LP" D o="Sixth Energy Technologies Private Limited" E o="Imageo s.r.o." 301F9A 0 o="ILSAN ELECTRONICS" 1 o="Dewesoft d.o.o." 2 o="CHISON Medical Technologies Co., Ltd." 3 o="MICOMSOFT CO.,LTD." 4 o="NCM Supplies, Inc." 5 o="Beijing Surestar Technology Co. Ltd," 6 o="YiSheng technology co.,LTD" 7 o="Triax A/S" 8 o="FINE TRIUMPH TECHNOLOGY CORP.,LTD." A o="HUNAN CHANGSHA HENGJIAN TECHNOLDGY DEVELPMENT CO.,LTD." B o="Smart Component Technologies LTD" C o="Origami Group Limited" D o="OLIMEX Ltd" E o="Shenzhen Fengliyuan Energy Conservating Technology Co. Ltd" 34008A 0 o="Angee Technologies Ltd." 1 o="ZQAM Communications" 2 o="RPE %Monitor%" 3 o="Globex 99 LTD" 4 o="Fotonic i Norden AB" 5 o="Federal Aviation Administration" 6 o="Sithon Technologies SAS" 7 o="uberGARD Pte. Ltd." 8 o="Shenzhen Andakai Technologies Co., Ltd." 9 o="Keruyun Technoligies(Beijing) Corporation Limited" A o="Hibertek International Limited" B o="Project Engineering srl" C o="Shenzhen Eternal Idea Tech Co.,Ltd" D o="ChengDu HuiZhong Cloud Information Technology Co., Ltd." E o="SHENZHEN WXL ELECTRONICS CO., LTD." 34049E 0 o="GoChip Inc." 1 o="Connected IO" 2 o="EFD Induction" 3 o="Nanjing Mythware Information Technology Co., Ltd." 4 o="Harbin Yantuo Science and Technology Development Co., Ltd" 5 o="Seeiner Technology Co.,LTD" 6 o="Life Interface Co., Ltd." 7 o="Pebble Technology" 8 o="Eclipse Information Technologies" A o="i3 International Inc." B o="Eginity, Inc." D o="uikismart" E o="ND SatCom GmbH" 34298F 0 o="BlackEdge Capital" 1 o="Chengdu Meross Technology Co., Ltd." 2 o="Shenzhen Advance River System Technology Co., Ltd" 3 o="Beijing Vorx Telecommunications Co., Ltd." 4 o="ISRA Vision AG" 5 o="Highlite International B.V." 6 o="Bellman & Symfon" 7 o="Dongguan Kingtron Electronics Tech Co., Ltd" 8 o="Nanjing Sandemarine Electric Co.,Ltd" 9 o="Wiesheu GmbH" A o="Virtual Trunk Pte Ltd" B o="Schnick-Schnack-Systems GmbH" C o="Albert Handtmann Maschinenfabrik GmbH&Co.KG" D o="Keystone Electronic Solutions" E o="ARC Technology Co., Ltd" 34D0B8 0 o="Captec Ltd" 1 o="Shenzhen Bao Lai Wei Intelligent Technology Co., L" 2 o="Blustream Pty Ltd" 3 o="Tascent, Inc." 4 o="EQPlay Intelligent Technology(Kunshan) Co,Ltd." 5 o="eesy-innovation GmbH" 6 o="NumberFour AG" 7 o="Shenzhen Rikomagic Tech Corp.,Ltd" 8 o="Vtrek Group International Ltd." 9 o="Skytech Creations Limited" A o="Meatest sro" B o="OROSOUND SAS" C o="Glory Mark Electronic Ltd. Taiwan Branch (B.V.I.)" D o="NTX Embedded" E o="Kongqiguanjia (Beijing)Technology co.,ltd" 34E1D1 0 o="Tianjin Sublue Ocean Science & Technology Co., Ltd" 1 o="SAMA NextGen PTE Limited" 2 o="Teton Camera LLC" 3 o="Rinco Ultrasonics AG" 4 o="ASA Innovation & Technology Ltd." 5 o="Doki Technologies Limited" 6 o="Ningbo Hua Gao Mdt Info Tech Ltd" 7 o="Genius Pros" 8 o="Hubitat Inc." 9 o="Apart Audio NV" A o="OrCam Technologies" B o="APG Cash Drawer, LLC" C o="CREW by True Rowing, Inc." D o="HI-TECH.ORG" E o="Annapurna labs" 383A21 0 o="R3C Information(Shenzhen) Co.,Ltd." 1 o="HOBART GmbH" 2 o="Shenzhen HS Fiber Communication Equipment CO., LTD" 3 o="Shanghai Greatwall Safety System Co.,Ltd" 4 o="Dongguan Innovation Technology Co Ltd" 5 o="OOO NPP Uraltechnologiya" 6 o="Shenzhen Smart-core Technology co., Ltd." 7 o="Chengdu Krosslan Technology Inc." 8 o="Alicat Scientific" 9 o="Skylark Wireless LLC" A o="Foresight Sports" B o="Pactron" C o="Mission Embedded GmbH" D o="Colooc AB" E o="SDNware technology co.,LTD" 3873EA 0 o="L-3 Communications Mobile-Vision, Inc." 1 o="KingWay Information Co.,Ltd." 2 o="Eyesight(Shanghai)Communication Technology Co.,Ltd." 3 o="Proch plastic Co., Ltd." 4 o="Light Blue Optics Ltd." 5 o="ISTCONTROL" 6 o="Live Sentinel" 7 o="PingGPS Inc" 8 o="Rock Electronic Co., Ltd." 9 o="Lightform, Inc." A o="SHENZHEN CSE TECHNOLOGY CO., LTD" B o="Shanghai ZoomSmart Technology Co., Ltd." C o="LG Electronics" D o="Annapurna labs" E o="Shenzhen Jixian Technology Co., Ltd." 38B19E 0 o="Triple Jump Medical" 1 o="Freedompro Srl" 2 o="HDANYWHERE" 3 o="AVO DEVELOPMENT LTD" 4 o="Basalte BVBA" 5 o="Star Electronics GmbH & CoKG" 6 o="Thrust Networks" 7 o="Beijing Memblaze Technology Co Ltd" 8 o="BoCo Inc." 9 o="Doepke Schaltgeräte GmbH" A o="Aeroespacial Guosheng Technology Co., Ltd" B o="System Q Ltd" C o="Gesellschaft industrieller Technologien" D o="Dallas Delta Corporation" E o="ShenZhen ShuaiXian Electronic Equipment Co.Ltd" 38B8EB 0 o="Bumjin C&L Co., Ltd." 1 o="1.A Connect GmbH" 2 o="barox Kommunikation GmbH" 3 o="Aina Wireless Inc" 4 o="UMLOGICS" 5 o="Dojo-Labs Ltd" 6 o="MATRIXSTREAM TECHNOLOGIES, INC." 8 o="CeeNex Inc" 9 o="NHS Sistemas de Energia" A o="SECAD SA" B o="ExaScaler Inc." C o="Ajax Systems Inc" D o="Yellowbrick Data, Inc." E o="Wyres SAS" 38FDFE 0 o="Edge I&D Co., Ltd." 1 o="WAYTONE (BEIIJNG) COMMUNICATIONS CO.,LTD" 2 o="Smart Solution Technology, Inc" 3 o="Siemens AG, PG IE R&D" 4 o="New Telecom Solutions LLC" 5 o="CaptiveAire Systems Inc." 6 o="Inspero Inc" 7 o="Rademacher Geraete-Elektronik GmbH" 8 o="Indra Navia AS" 9 o="OOO Group of Industrial Technologies" A o="Management Service Corporation" B o="Swedish Adrenaline AB" C o="New Garden Co., Ltd." D o="FUBA Automotive Electronics GmbH" E o="iSmart electronic technology co.,LTD" 3C24F0 0 o="SHENZHEN PINSIDA TECHNOLOGY CO.,LTD." 1 o="Abrites Ltd." 2 o="Laipac Technology Inc." 3 o="Wisycom" 4 o="Inter-Coastal Electronics" 5 o="CASKY eTech Co., Ltd." 6 o="Inter Action Corporation" 7 o="Swissdotnet SA" 8 o="Sivat Technology Co.,Ltd." 9 o="Siemens AG - Siemens Deutschland Mobility" A o="Shenzhen Bestway Technology Co., Ltd" B o="COMATIS" C o="Authentico Technologies" D o="Travis Holding B.V." E o="GETMOBIT LLC" 3C39E7 0 o="Hannstar Display Corp" 1 o="BEWATEC Kommunikationstechnik GmbH" 2 o="HomeWizard B.V." 3 o="ELSA Japan Inc." 4 o="University of British Columbia" 5 o="Attrackting AG" 6 o="RO.VE.R. Laboratories S.p.A" 7 o="Sensor to Image GmbH" 8 o="Martem AS" 9 o="Zone Controls AB" A o="iiM AG" B o="chipsguide technology Co.,LTD" C o="VANSTONE ELECTRONIC (BEIJING)CO,. LTD." E o="MARPOSS SPA" 3C427E 0 o="Grandway Technology (Shenzhen) Limited" 1 o="Dongguan Taide Industrial Co.,Ltd." 2 o="Starloop Tech Co., Ltd." 3 o="Shenzhen VETAS Communication Technology Co , Ltd." 4 o="Teknoware Oy" 5 o="Geoplan Korea" 6 o="Edit Srl" 7 o="GJS Co., Ltd." 8 o="UBTECH ROBOTICS CORP" 9 o="TAITEX CORPORATION" A o="snap40 Ltd" B o="Compal Electronics INC." C o="Privacy Labs" D o="ROBOX SMART MOTION (WUHU) CO.,LTD" E o="Xiaoniu network technology (Shanghai) Co., Ltd." 3C6A2C 0 o="Rio Lago Technologies LLC" 1 o="Olibra LLC" 2 o="Bosch Automotive Products (Suzhou) Co., Ltd." 3 o="figur8, Inc." 4 o="XI'AN YEP TELECOM TECHNOLOGY CO.,LTD" 5 o="Qingdao iGuan Technology Co., Ltd." 6 o="La Barrière Automatique" 7 o="Homegear GmbH" 8 o="TP Radio" 9 o="WICKS Co., Ltd." A o="Metro" B o="Phytium Technology Co., Ltd." C o="Eltov System" D o="Xiamen Smarttek CO., Ltd." E o="Beijing Donghua Hongtai Polytron Technologies Inc" 3CFAD3 0 o="Home Control AS" 1 o="Annapurna labs" 2 o="Naruida Technology Ltd." 3 o="Harman Connected Services, Inc." 4 o="GRG Banking Technology Co.,Ltd" 5 o="Gulf Security Technology Co., Ltd" 6 o="Nox Medical" 7 o="LIPS Corporation" 8 o="Energous Corporation" 9 o="Shenzhen Vplus Communication Intelligent Co., Ltd." A o="UltiMachine" B o="Corelink Technology Co.,Ltd" C o="Shenzhen zhong ju Fiber optical Co.Ltd" D o="AMobile Solutions (Xiamen) CO. , LTD." E o="Mirico" 401175 0 o="Lexi Devices, Inc." 1 o="Fujian Kuke3D Technology Co.,LTD" 2 o="Kanda Kogyo" 3 o="Beijing Hexinruitong Electric Power Technology Co., Ltd." 4 o="Table Trac Inc" 5 o="MIRC ELECTRONICS LTD" 6 o="ShenZhen LanShuo Communication Equipment CO.,LTD." 7 o="Guangzhou RALID Information System Co.Ltd" 8 o="Beijing Gemotech Intelligent Technology Co., Ltd." 9 o="ADH Guardian USA" A o="BWT Tianjin Ltd." B o="Chongqing IQIYI Intelligence Technology Co., Ltd." C o="disguise Technologies Limited" D o="NanJing HuaStart Network Technology Co.,Ltd." E o="NIBBLE" 402C76 0 o="Lista AG" 1 o="Shanghai Dahua Scale Factory" 2 o="Annapurna labs" 4 o="Beijing Smarot Technology Co., Ltd." 5 o="Baumer Bourdon-Haenni" 6 o="Guangzhou LANGO Electronics Technology Co., Ltd." 7 o="Zhejiang Guoli Security Technology Co., Ltd." 8 o="Suteng Innovation Technology Co., Ltd." 9 o="Annapurna labs" A o="NowTechnologies Zrt" B o="Beijing Kuaiyu Electronic Co., Ltd." C o="gridX GmbH" D o="Guangzhou Qi'an Technology Co., Ltd." E o="LS Energy Solutions" 4048FD 0 o="BEIJING C&W ELECTRONICS(GROUP)CO.,LTD" 1 o="Fast Programming" 2 o="MITHRAS Technology Co., LTD" 3 o="RL Controls LLC." 4 o="Dynamic Engineering" 5 o="The 52nd Research Institute of China Electronic Technology Group Corporation" 6 o="Swarco Technology ApS" 7 o="Cloud4Wi" 8 o="Dorel Juvenile" 9 o="Plus One Global Ltd." A o="Shenzhen Yifang Digital Technology Co., LTD." B o="Magenta Labs, Inc." C o="Ecotap B.V." D o="NOX Systems AG" E o="SMART SENSOR DEVICES AB" 40A36B 0 o="Fin Robotics Inc" 1 o="TW-TeamWare" 2 o="TOPROOTTechnology Corp. Ltd." 3 o="Omnitracs, LLC" 4 o="SKS-Kinkel Elektronik GmbH" 5 o="National Research Council of Canada" 6 o="Securiton AG" 7 o="Pella Corporation" 8 o="SFT Co., Ltd." 9 o="PH Technical Labs" A o="Embrionix Design Inc." B o="Amobile Intelligent Corp." C o="Onion Corporation" D o="FAOD Co.,Ltd." 40ED98 0 o="Tsinghua Tongfang Co., LTD" 1 o="GuangZhou FiiO Electronics Technology Co.,Ltd" 2 o="A-IOX INC." 3 o="Knox Company" 4 o="Kendrion Kuhnke Automation GmbH" 5 o="Cape" 6 o="Shanghai Broadwan Communications Co.,Ltd" 7 o="Vaisala Oyj" 8 o="GUANGZHOU AURIC INTELLIGENT TECHNOLOGY CO.,LTD." 9 o="TeraTron GmbH" A o="Integrated Design Ltd" B o="Siebert Industrieelektronik GmbH" C o="BloomSky,Inc." D o="Hangzhou GANX Technology Co.,Ltd." E o="BORDA TECHNOLOGY" 40F385 0 o="SubPac" 1 o="Johnson Matthey" 2 o="Beijing Zongheng Electro-Mechanical Technology Development Co." 3 o="IntelliDesign Pty Ltd" 4 o="Embedded IQ" 5 o="KATO ENGINEERING INC." 6 o="Lennox International Incorporated" 7 o="PALAZZETTI LELIO SPA" 8 o="Teleepoch Ltd" 9 o="Fast Precision Technologies Co. Ltd." A o="Creanord" B o="URMET Home & Building Solutions Pty Ltd" C o="Clixxo Broadband Private Limited" D o="Digital Bros S.p.A." E o="BBB Inc." 440377 0 o="Musashi Seimitsu Industry Co.,Ltd" 1 o="Atari, Inc." 2 o="Exsom Computers LLC" 3 o="Annapurna labs" 4 o="Lenovo Image(Tianjin) Technology Ltd." 5 o="Norden Communication UK Ltd." 6 o="SHEN ZHEN HUAWANG TECHNOLOGY CO; LTD" 7 o="Stara S/A Indústria de Implementos Agrícolas" 8 o="Gemmy Electronics (Shenzhen) Co, Ltd" 9 o="SHENZHEN UT-KING TECHNOLOGY CO.,LTD" A o="symplr" B o="Hangzhou Asia Infrastructure Tech. Co., Ltd." C o="BIG Climatic Manufacture, Co. LTD, Zhongshan Branch" D o="OMNISENSE SYSTEMS PRIVATE LIMITED TAIWAN BRANCH" E o="Bolin Technology Co., Ltd" 44D5F2 0 o="TIBA Research & Development (1986) LTD" 1 o="SIMPLERED TECHNOLOGY LTD." 2 o="Shenzhen Hebang Electronic Co., Ltd" 3 o="VURO LLC" 4 o="APPOTRONICS CO., LTD" 5 o="tiga.eleven GmbH" 6 o="Beam Communications Pty Ltd" 7 o="Shenzhen Qiutian Technology Co.,Ltd" 8 o="CETC Avionics.L td" 9 o="Auctus Technologies Co.,Ltd." A o="SYS TEC electronic GmbH" B o="Valeo Interior Controls (Shenzhen) Co.,Ltd" C o="neocontrol soluções em automação" D o="Shenzhen Nation RFID Technology Co.,Ltd." E o="Joint-Stock Company Research and Development Center %ELVEES%" 480BB2 0 o="Ridango AS" 1 o="BAJA ELECTRONICS TECHNOLOGY LIMITED" 2 o="Thales CETCA Avionics CO., Ltd" 3 o="shanghai Rinlink Intelligent Technology Co., Ltd." 4 o="Hangzhou Freely Communication Co., Ltd." 5 o="Solaredge LTD." 6 o="Annapurna labs" 7 o="Beijing Dragon Resources Limited." 8 o="BravoCom(xiamen)TechCo.Ltd" 9 o="Microprogram Information Co., Ltd" A o="XIAMEN RONGTA TECHNOLOGY CO.,LTD." B o="Popit Oy" C o="SHENZHEN TOPWELL TECHNOLOGY CO..LTD" D o="M2Lab Ltd." E o="Beijing MFOX technology Co., Ltd." 4865EE 0 o="DefPower Ltd" 1 o="Gopod Group Limited" 2 o="CaptionCall" 3 o="Data Technology Inc." 4 o="Mission Microwave Technologies, Inc" 5 o="Swistec Systems AG" 6 o="shenzhen sunflower technologies CO., LIMITED" 7 o="Venture Research Inc." 8 o="SmartDisplayer Technology Co., Ltd." 9 o="VideoStitch, Inc" A o="Shenzhen Inpor cloud Computing Co., Ltd." B o="EnBW Energie Baden-Württemberg AG" C o="DNV GL" D o="Winn Technology Co.,Ltd" E o="CNU" 4C4BF9 0 o="Multitek Elektronik Sanayi ve Ticaret A.S." 1 o="Jiangsu acrel Co., Ltd." 2 o="Shenzhen HommPro Technology Co.,Ltd" 3 o="Power Active Co., Ltd" 4 o="Shenzhen dingsheng technology co., LTD" 5 o="Remedee Labs" 6 o="Shandong Linkotech Electronic Co., Ltd." 7 o="GLONEXS" 8 o="Zivid AS" 9 o="Tecnoplus Srl" A o="Electrolux Professional AB" B o="Stored Energy Systems" C o="Connected IO" D o="Shenzhen Haichuan Intelligent Information Technology Co., Ltd." E o="Beijing AutoAi Technology co. LTD" 4C65A8 0 o="WELT Corporation" 1 o="Beijing Bluehalo Internet Inc." 2 o="Orica Europe Pty Ltd & Co KG" 3 o="Roost" 4 o="Plus One Japan Limited" 5 o="TEL-Electronics Ltd" 6 o="Nuviz Oy" 7 o="Wuhan MoreQuick Network Technology Co., Ltd." 8 o="Instant Byte, S.L." 9 o="SHENZHEN LISAIER TRONICS CO.,LTD" A o="Suzhou Embedded Electronic Technology Co., Ltd." B o="ZMIN Technologies" C o="Fuse" D o="Qingping Technology (Beijing) Co., Ltd." E o="High Infinity Germany" 4C917A 0 o="Shenzhen Dangs Science & Technology CO.,LTD" 1 o="Inster Tecnología y Comunicaciones SAU" 2 o="Chongqing Unisinsight Technology Co.,Ltd." 3 o="Smart Access" 4 o="LumiGrow Inc." 5 o="mtekvision" 6 o="Openeye" 7 o="S.I.C.E.S. srl" 8 o="Camsat Przemysław Gralak" 9 o="Hangzhou Hangtu Technology Co.,Ltd." A o="Erlab DFS SAS" B o="AvertX" C o="Alibaba (Beijing) Software Service Inc." D o="Shenzhen bankledger Technology Co, Ltd" E o="Annapurna labs" 4CBC98 0 o="Charge-Amps AB" 1 o="JSC NIC" 2 o="Quake Global Inc" 3 o="Machine Max" 4 o="Nemon Co., Ltd." 5 o="Gronic Systems GmbH" 6 o="Humanplus Intelligent Robotics Technology Co.,Ltd." 7 o="Voegtlin Instruments GmbH" 8 o="Shenzhen Shanling Digital Technology Development Co.,Ltd." 9 o="Airtex Manufacturing Partnership" A o="Shenzhen Cogitation Technology Co.,Ltd." B o="Dongguan SmartAction Technology Co.,Ltd" C o="Heliotis AG" D o="Elink Technology (Shenzhen) Co., Limited" E o="Wonder Workshop" 4CE173 0 o="Beijing Sutongwang E-Business Co., Ltd" 1 o="Nexoforge Inc." 2 o="Lenovo Data Center Group" 3 o="outpaceIO" 4 o="Huizhou Dehong Technology Co., Ltd." 5 o="NewVastek" 6 o="DAIKOKU DENKI CO.,LTD." 7 o="Ersúles Limited" 8 o="Nanjing Tongke Technology Development Co., LTD" 9 o="Shenzhen Evolution Dynamics Co., Ltd." A o="jvi" B o="Shanghai Ehong Technology Co.,Ltd" C o="REMONDE NETWORK" D o="KTC(K-TEL)" E o="Plus One Japan Limited" 500B91 0 o="Igor, Inc." 1 o="SPD Development Company Ltd" 2 o="Annapurna labs" 3 o="EWIN TECHNOLOGY LIMITED" 4 o="Sinope technologies Inc" 5 o="jiangsu zhongling high-tech CO.,LTD." 6 o="Security Alarms & Co. S.A." 7 o="Shenzhen Xinfa Electronic Co.,ltd" 8 o="Panasonic Enterprise Solutions Company" 9 o="Machfu, Inc." A o="New Audio LLC" B o="thumbzup UK Limited" C o="Diamond Traffic Products, Inc" D o="Shenzhen Lucky Sonics Co .,Ltd" E o="Shenzhen zhong ju Fiber optical Co.Ltd" 506255 0 o="Ufanet SC" 1 o="Hagiwara Solutions Co., Ltd" 2 o="ShenZhen ChuangMo Electronics Technology Co., Ltd" 3 o="Hypertech Advance Co., LTD" 4 o="XSLAB Inc." 5 o="Suzhou Ruixinjie Information Technology Co.,Ltd" 6 o="Shenzhen Sinway South Technology Co., Ltd" 7 o="AVTECH Software, Inc." 8 o="Roda industrial development Co.,Ltd." 9 o="Southern Ground Audio LLC" A o="CCTV Manufacturer" B o="CHENGDU COVE TECHNOLOGY CO.,LTD" C o="AED Distribution" D o="COTT Electronics" E o="SHINSOFT CO., LTD." 50A4D0 0 o="TRAXENS" 1 o="Beijing ANTVR Technology Co., LTD" 2 o="Seneco A/S" 3 o="Guangzhou Hysoon Electronic Co., Ltd." 4 o="Raven Industries Inc." 5 o="TREXOM S.r.l." 6 o="PointGrab" 7 o="Shanghai Pujiang Smart Card Systems Co., Ltd." 8 o="XinLian'AnBao(Beijing)Technology Co.,LTD." 9 o="OEM PRODUCTION INC." A o="Changsha SinoCare, Inc" B o="ZHENG DIAN ELECTRONICS LIMITED" C o="Beijing YangLian Networks Technology co., LTD" D o="Axel Technology" E o="Sagetech Corporation" 50DE19 0 o="Telic AG" 1 o="Clear Flow by Antiference" 2 o="SPII SPA" 3 o="TRAXENS" 4 o="Langogo Technology Co., Ltd." 5 o="Bliq B.V." 6 o="OCEANCCTV LTD" 7 o="Tianjin Natianal Health Technology Co.,Ltd" 8 o="IVATIV, INC" 9 o="AEG Identifikationssysteme GmbH" A o="Tannak International AB" B o="BRAINWARE TERAHERTA INFORMATION TECHNOLOGY CO.,LTD." C o="Shenzhen Vipstech Co., Ltd" D o="Penny & Giles Aerospace Ltd" 50FF99 0 o="Simicon" 1 o="Coyote Sytem" 2 o="SHENZHEN KINGVT ELECTRONICS CO.,LTD" 3 o="Yongjing Shanghai Electronic Science and Technology" 4 o="IPC Global" 5 o="Garrison Technology" 6 o="LEGEND WINNER LIMITED" 7 o="Honeywell International" 8 o="Dolphin Concepts Limited" 9 o="Sea Eagle Optoelectronic Information Technology(Tianjin)co,Ltd" A o="metraTec GmbH" B o="Sichuan Dowlab Electronics Technology Co. Ltd" C o="Goetting KG" D o="Shenzhen Haipengxin Electronic Co., Ltd." E o="Informa LLC" 549A11 0 o="Shenzhen Excera Technology Co.,Ltd." 1 o="SpearX Inc." 2 o="Torrap Design Limited" 3 o="Royal Boon Edam International BV" 4 o="eTauro LLC" 5 o="Elotech Industrieelektronik GmbH" 6 o="Orient Direct, Inc." 7 o="Niveo International BV" 8 o="Tite, Inc." 9 o="Alfen BV" A o="VendNovation LLC" B o="Elite Silicon Technology, Inc." C o="Xi'an Hua Fan Technology Co.,Ltd." D o="Hangzhou duotin Technology Co., Ltd." E o="Beijing HTSmartech Co.,Ltd" 54A493 0 o="Intelligent Surveillance Corp" 1 o="ShenZhen Smart&Aspiration Co.,LTD" 2 o="genua GmbH" 3 o="I-MOON TECHNOLOGY CO., LIMITED" 4 o="Shenzhen C & D Electronics Co., Ltd." 5 o="AUSOUNDS INTELLIGENCE, LLC" 6 o="Hannto Technology Co., Ltd" 7 o="RED Hydrogen LLC" 8 o="Chengdu EVECCA Technology Co.,Ltd." 9 o="Do Easy International Limited" A o="Wonders Technology Co., Ltd." B o="Advice" C o="BJ COTYTECH TECHNOLOGY CO.,LTD" D o="ASSEM TECHNOLOGY CO.,LTD." E o="Nederman Holding AB" 58E876 1 o="Beijing Perabytes IS Technology Co., Ltd" 2 o="Coala Life AB" 3 o="McWong International Inc" 4 o="PROBIT SRL" 5 o="Broad Air Technology Co., LTD." 6 o="DivioTec Inc." 7 o="Chronos Technology Ltd." 8 o="Chengdu Vision-Zenith Technology Co.,Ltd" 9 o="TEM Mobile Limited" A o="SHENZHEN DIGISSIN TECHNOLOGY" B o="Annapurna labs" C o="KUSTOM SIGNALS INC" D o="Xiamen Cacamle Technology Co.,Ltd." E o="Baoruh Electronic Co., Ltd." 58FCDB 0 o="Spang Power Electronics" 1 o="Certis Technology International" 2 o="Beseye Cloud Security Co. Ltd." 3 o="Custom Biogenic Systems" 4 o="Inforce Computing Inc." 5 o="Shenzhen Siecom Communication Technology Development Co.,Ltd." 6 o="Timex Group USA Inc" 7 o="Open Roads Consulting, Inc." 8 o="Shanghai Qianjin Electronic Equipment Co. Ltd" 9 o="Hi-Target Surveying Instrument Co., Ltd." A o="Xmodus Systems GmbH" B o="SWARCO TRAFFIC SYSTEMS GMBH" C o="Excenon Mobile Technology Co., Ltd." D o="XIAMEN LEELEN TECHNOLOGY CO.,LTD" E o="Applied Device Technologies" 5CF286 0 o="Hangzhou Signwei Electronics Technology Co., Ltd" 1 o="iSon Tech" 2 o="Shanghai Notion Information Technology CO.,LTD." 3 o="beijing your wonderful control system technology co.,ltd" 4 o="CHIPSEN Co.,Ltd." 5 o="EUROIMMUN Medizinische Labordiagnostika AG" 6 o="VPInstruments" 7 o="Access IS" 8 o="SHENZHEN HIVT TECHNOLOGY CO.,LTD" 9 o="Shenzhen VST Automotive Electronics Co., LTD" A o="Unfors Raysafe AB" B o="Itron UK Limited" C o="Sunpet Industries Limited" D o="BrightSky, LLC" E o="Daisen Electronic Industrial Co., Ltd." 6095CE 0 o="Siema Applications" 1 o="Ponoor Experiments Inc." 2 o="Q-SENTECH Co.,Ltd." 3 o="Robot S.A." 4 o="Untangle, Inc." 5 o="AdvanWISE Corporation" 6 o="Xiamen Sigmastar Technology Ltd." 7 o="Cadmo Soluciones SAC" 8 o="Trophy SAS" 9 o="Jlztlink Industry(ShenZhen)Co.,Ltd." A o="(UN)MANNED" B o="Beijing Sinomedisite Bio-tech Co.,Ltd" C o="Synamedia" D o="GovComm" E o="VNS Inc." 60D7E3 0 o="Avalun" 1 o="Elap s.r.l." 2 o="Novo innovations Ltd" 3 o="SKS Automaatio oy" 4 o="Hemisphere GNSS" 5 o="Revol Technologies inc" 6 o="Ameli s.r.l." 7 o="Phase One A/S" 8 o="HindlePower, Inc" 9 o="LongSung Technology (Shanghai) Co.,Ltd." A o="Wilderness Labs Inc." B o="Nextivity" C o="Zhejiang Send Intelligent Technology,Ltd" D o="Quantronix, Inc." E o="HuBDIC CO.,LTD" 643139 0 o="SHENZHEN EMEET INTELLIGENT TECHNOLOGY CO., LTD." 1 o="Livongo Health" 2 o="Smartplus Inc." 3 o="KOANGYOW INTEGRATION MACHINE CO., LTD." 4 o="Active Brains" 5 o="Shenzhen He&e Technology Co.,Ltd." 6 o="Hunan Voc Acoustics Technology Co., Ltd." 7 o="Dongguan Huili electroacoustic Industrial Co.,ltd" 8 o="Shenzhen Huanyin Electronics Ltd." A o="Product Development Associates, Inc." C o="SHEN ZHEN FUCHANG TECHNOLOGY Co.,Ltd." D o="ZHEJIANG MOORGEN INTELLIGENT TECHNOLOGY CO.,LTD" E o="ATG UV Technology" 646266 0 o="MiiVii Dynamics Technology CO.,LTD" 1 o="Annapurna labs" 2 o="Protectli" 3 o="FaceHeart Inc." 4 o="Redstone Systems, Inc." 5 o="Bühler AG" 6 o="Pass & Seymour, Inc d/b/a Legrand" 7 o="Shenzhen C & D Electronics Co., Ltd." 8 o="Leontech Limited" 9 o="Chunghwa System Integration Co., Ltd." A o="Sensoro Co., Ltd." B o="Signal Hound" C o="Jiangsu Aisida Electronic Co.,Ltd" D o="Kobol Innovations Pte. Ltd." E o="Shenzhen Jie Shi Lian Industrial Co., LTD" 64FB81 0 o="SHANGHAI SIMCOM LIMITED" 1 o="Narrative AB" 2 o="Seven Solutions S.L" 3 o="MOBILUS Inc." 4 o="Pricer AB" 5 o="Kay Schulze & Karsten Pohle GbR" 6 o="XIMO Communication Technology Co., Ltd" 7 o="Securosys SA" 8 o="NPG Technology S.A." 9 o="hiQview Corporation" A o="Bronkhorst High-Tech BV" B o="Sichuan Haige Actec Communication Technology Co.,Ltd." C o="Bridgeport Instruments, LLC" D o="Dongyang unitech.co.ltd" E o="ChengDu KeChuang LongXin Sci-tech Co.,Ltd" 6891D0 0 o="Central Railway Manufacturing" 1 o="Multi Alarm Zrt." 2 o="Shenzhen NeaTech Intelligence Technology Co., Ltd." 3 o="Ambitio LLC" 4 o="G-TECH Instruments Inc." 5 o="NIPK Electron Co." 6 o="femrice" 7 o="Omniimpex GmbH" 8 o="solvimus GmbH" 9 o="QUANTEX" A o="WiseCube" B o="Altis Technology" C o="Spraying Systems Co." D o="Fuzhou x-speed information technology Co.,Ltd." E o="Outstanding Technology Co., Ltd." 6C5C3D 0 o="ShenZhen Hugsun Technology Co.,Ltd." 1 o="Shenzhen Justek Technology Co., Ltd" 2 o="Vertiv Industrial Systems" 3 o="KWONG MING ELECTRICAL MANUFACTORY LIMITED" 4 o="HTI Co., LTD." 5 o="Unitel Engineering" 6 o="Hangzhou Netease Yanxuan Trading Co.,Ltd" 7 o="SOUNDKING ELECTRONICS&SOUND CO., LTD." 8 o="GUANGZHOU GUANGRI ELEVATOR INDUSTRY CO.,LTD" 9 o="IskraUralTEL" A o="krtkl inc." B o="Reconova Technologies" C o="choyang powertech" D o="Syowatsusinkougyo Co.,Ltd." E o="Clinton Electronics Corporation" 6CDFFB 0 o="Shenzhen HDCVT Technology" 1 o="Chongqing Baoli Yota Technologies Limited" 2 o="Sercomm Corporation." 3 o="Beijing Ainemo Co Ltd" 4 o="Lineable Inc" 5 o="Greenbird Vertriebs GmbH" 6 o="AAON" 7 o="Hashtrend AG" 8 o="Hardmeier" 9 o="YongTechs Electric Co. Ltd" A o="Guilin Zhishen Information TechonlogyCO.,Ltd" B o="CELL System Co.,Ltd." C o="Toucan Systems Ltd" D o="Nanjing Buruike Electronics Technology Co., Ltd." E o="Beijing Fimi Technology Co., Ltd." 70886B 0 o="Veracity UK Ltd" 1 o="Bitfinder Inc" 2 o="CVnet" 4 o="HORI CO., LTD." 5 o="Chengdu Ophylink Communication Technology Ltd." 6 o="Church & Dwight Co., Inc." 8 o="Cable Matters Inc." 9 o="Shenzhen Coolhear Information Technology Co., Ltd." A o="RHXTune Technology Co.,Ltd" B o="Beijing Strongleader Science & Technology Co., Ltd." C o="MAX4G, Inc." 70B3D5 001 o="SOREDI touch systems GmbH" 002 o="Gogo BA" 003 o="ANYROAM" 006 o="Piranha EMS Inc." 007 o="SENSONEO" 008 o="ESYSE GmbH Embedded Systems Engineering" 009 o="HolidayCoro" 00A o="FUJICOM Co.,Ltd." 00B o="AXING AG" 00C o="EXARA Group" 00D o="Scrona AG" 00E o="Magosys Systems LTD" 010 o="Hanwa Electronic Ind.Co.,Ltd." 011 o="Sumer Data S.L" 012 o="KST technology" 013 o="Sportsbeams Lighting, Inc." 014 o="FRAKO Kondensatoren und Anlagenbau GmbH" 015 o="EN ElectronicNetwork Hamburg GmbH" 016 o="Guardian Controls International Ltd" 017 o="FTG Corporation" 019 o="Transit Solutions, LLC." 01A o="Cubro Acronet GesmbH" 01B o="AUDI AG" 01C o="Kumu Networks" 01D o="Weigl Elektronik & Mediaprojekte" 01E o="ePOINT Embedded Computing Limited" 01F o="SPX Flow Technology BV" 020 o="MICRO DEBUG, Y.K." 021 o="HGL Dynamics Ltd" 022 o="Ravelin Ltd" 023 o="Cambridge Pixel" 024 o="G+D Mobile Security" 025 o="Elsuhd Net Ltd Co." 026 o="Telstra" 027 o="Redcap Solutions s.r.o." 028 o="AT-Automation Technology GmbH" 029 o="Marimo electronics Co.,Ltd." 02A o="BAE Systems Surface Ships Limited" 02B o="Scorpion Precision Industry (HK)CO. Ltd." 02D o="NEXTtec srl" 02E o="Monnit Corporation" 02F o="LEGENDAIRE TECHNOLOGY CO., LTD." 030 o="Tresent Technologies" 031 o="SHENZHEN GAONA ELECTRONIC CO.LTD" 032 o="iFreecomm Technology Co., Ltd" 033 o="Sailmon BV" 034 o="Digital Systems Engineering" 035 o="HKW-Elektronik GmbH" 037 o="EIFFAGE ENERGIE ELECTRONIQUE" 038 o="DONG IL VISION Co., Ltd." 039 o="DoWoo Digitech" 03A o="Ochno AB" 03B o="SSL - Electrical Aerospace Ground Equipment Section" 03C o="Ultimate Software" 03D o="QUERCUS TECHNOLOGIES, S.L." 03E o="Guan Show Technologe Co., Ltd." 03F o="Elesar Limited" 040 o="Savari Inc" 041 o="FIBERNET LTD" 042 o="Coveloz Technologies Inc." 043 o="cal4care Pte Ltd" 044 o="Don Electronics Ltd" 045 o="Navaero Avionics AB" 046 o="Shenzhen Rihuida Electronics Co,. Ltd" 048 o="AvMap srlu" 049 o="APP Engineering, Inc." 04A o="Gecko Robotics Inc" 04B o="Dream I System Co., Ltd" 04C o="mapna group" 04D o="Sicon srl" 04E o="HUGEL GmbH" 050 o="Compusign Systems Pty Ltd" 052 o="Sudo Premium Engineering" 053 o="YAMAKATSU ELECTRONICS INDUSTRY CO., LTD." 054 o="Groupeer Technologies" 056 o="MIRAE INFORMATION TECHNOLOGY CO., LTD." 057 o="RCH ITALIA SPA" 058 o="Telink Semiconductor CO, Limtied, Taiwan" 059 o="Pro-Digital Projetos Eletronicos Ltda" 05A o="Uni Control System Sp. z o. o." 05B o="PAL Inc." 05C o="Amber Kinetics Inc" 05D o="KOMS Co.,Ltd." 05E o="VITEC" 05F o="UNISOR MULTISYSTEMS LTD" 060 o="RCH Vietnam Limited Liability Company" 061 o="IntelliDesign Pty Ltd" 062 o="RM Michaelides Software & Elektronik GmbH" 063 o="PoolDigital GmbH & Co. KG" 064 o="AB PRECISION (POOLE) LTD" 066 o="North Pole Engineering, Inc." 067 o="NEOPATH INTEGRATED SYSTEMS LTDA" 068 o="Onethinx BV" 069 o="ONDEMAND LABORATORY Co., Ltd." 06A o="Guangdong Centnet Technology Co.,Ltd" 06B o="U-Tech" 06C o="AppTek" 06E o="GLOBAL-KING INTERNATIONAL CO., LTD." 06F o="Beijing Daswell Science and Technology Co.LTD" 070 o="Lumiplan Duhamel" 071 o="FSR, INC." 072 o="Lightdrop" 073 o="Liteon Technology Corporation" 074 o="Orlaco Products B.V." 075 o="Mo-Sys Engineering Ltd" 077 o="InAccess Networks SA" 078 o="OrbiWise SA" 079 o="CheckBill Co,Ltd." 07A o="ZAO ZEO" 07B o="wallbe GmbH" 07C o="ISAC SRL" 07D o="PANORAMIC POWER" 07E o="ENTEC Electric & Electronic CO., LTD" 07F o="Abalance Corporation" 080 o="ABB" 081 o="IST Technologies (SHENZHEN) Limited" 082 o="Sakura Seiki Co.,Ltd." 083 o="ZAO ZEO" 084 o="Rako Controls Ltd" 085 o="Human Systems Integration" 086 o="Husty M.Styczen J.Hupert Sp.J." 087 o="Tempus Fugit Consoles bvba" 088 o="OptiScan Biomedical Corp." 08A o="MB connect line GmbH Fernwartungssysteme" 08B o="Peter Huber Kaeltemaschinenbau AG" 08C o="Airmar Technology Corp" 08D o="Clover Electronics Technology Co., Ltd." 08E o="Beijing CONvision Technology Co.,Ltd" 08F o="DEUTA-WERKE GmbH" 090 o="POWERCRAFT ELECTRONICS PVT. LTD." 091 o="PROFITT Ltd" 092 o="inomed Medizintechnik GmbH" 093 o="Legrand Electric Ltd" 094 o="Circuitlink Pty Ltd" 096 o="HAVELSAN A.Ş." 097 o="Avant Technologies" 098 o="Alcodex Technologies Private Limited" 099 o="Schwer+Kopka GmbH" 09A o="Akse srl" 09B o="Jacarta Ltd" 09D o="P&S GmbH" 09E o="MobiPromo" 09F o="COMTECH Kft." 0A0 o="Cominfo, Inc." 0A1 o="PTN Electronics Limited" 0A2 o="TechSigno srl" 0A3 o="Solace Systems Inc." 0A4 o="Communication Technology Ltd." 0A5 o="FUELCELLPOWER" 0A6 o="PA CONSULTING SERVICES" 0A7 o="Traffic and Parking Control Co, Inc." 0A8 o="Symetrics Industries d.b.a. Extant Aerospace" 0A9 o="ProConnections, Inc." 0AA o="Wanco Inc" 0AB o="KST technology" 0AC o="RoboCore Tecnologia" 0AD o="Vega-Absolute" 0AE o="Norsat International Inc." 0AF o="KMtronic ltd" 0B0 o="Raven Systems Design, Inc" 0B1 o="AirBie AG" 0B2 o="ndb technologies" 0B3 o="Reonix Automation" 0B4 o="AVER" 0B5 o="Capgemini Netherlands" 0B6 o="Landis Gyr" 0B8 o="Lucas-Nülle GmbH" 0B9 o="Easy Digital Concept" 0BA o="Ayre Acoustics, Inc." 0BC o="Practical Software Studio LLC" 0BD o="Andium" 0BE o="ChamSys Ltd" 0BF o="Den Automation" 0C0 o="Molu Technology Inc., LTD." 0C1 o="Nexus Technologies Pty Ltd" 0C2 o="LOOK EASY INTERNATIONAL LIMITED" 0C3 o="Aug. Winkhaus GmbH & Co. KG" 0C4 o="TIAMA" 0C5 o="Precitec Optronik GmbH" 0C6 o="Embedded Arts Co., Ltd." 0C7 o="PEEK TRAFFIC" 0C8 o="Fin Robotics Inc" 0C9 o="LINEAGE POWER PVT LTD.," 0CA o="VITEC" 0CB o="NIRECO CORPORATION" 0CC o="ADMiTAS CCTV Taiwan Co. Ltd" 0CD o="AML Oceanographic" 0CE o="Innominds Software Inc" 0CF o="sohonet ltd" 0D0 o="ProHound Controles Eirelli" 0D1 o="Common Sense Monitoring Solutions Ltd." 0D2 o="UNMANNED SPA" 0D3 o="TSAT AS" 0D4 o="Guangzhou Male Industrial Animation Technology Co.,Ltd." 0D5 o="Kahler Automation" 0D6 o="TATTILE SRL" 0D7 o="Russian Telecom Equipment Company" 0D8 o="Laser Imagineering GmbH" 0D9 o="Brechbuehler AG" 0DA o="Aquavision Distribution Ltd" 0DB o="Cryptotronix LLC" 0DC o="Talleres de Escoriaza" 0DD o="Shenzhen Virtual Clusters Information Technology Co.,Ltd." 0DE o="Grossenbacher Systeme AG" 0DF o="B.E.A. sa" 0E0 o="PLCiS" 0E1 o="MiWave Consulting, LLC" 0E3 o="SinTau SrL" 0E5 o="Delta Solutions LLC" 0E6 o="Nasdaq" 0E7 o="Pure Air Filtration" 0E8 o="Grossenbacher Systeme AG" 0E9 o="VNT electronics s.r.o." 0EA o="AEV Broadcast Srl" 0EC o="ACS MOTION CONTROL" 0ED o="Lupa Tecnologia e Sistemas Ltda" 0EE o="Picture Elements, Inc." 0EF o="Dextera Labs" 0F0 o="Avionica" 0F1 o="Beijing One City Science & Technology Co., LTD" 0F2 o="TrexEdge, Inc." 0F3 o="MonsoonRF, Inc." 0F4 o="Visual Robotics" 0F6 o="KSE GmbH" 0F7 o="Bespoon" 0F8 o="Special Services Group, LLC" 0F9 o="OOO Research and Production Center %Computer Technologies%" 0FA o="InsideRF Co., Ltd." 0FB o="Cygnus LLC" 0FC o="vitalcare" 0FE o="Vocality International Ltd" 0FF o="INTERNET PROTOCOLO LOGICA SL" 100 o="Gupsy GmbH" 101 o="Adolf Nissen Elektrobau GmbH + Co. KG" 102 o="Oxford Monitoring Solutions Ltd" 103 o="HANYOUNG NUX CO.,LTD" 104 o="Plum sp. z o.o" 105 o="Beijing Nacao Technology Co., Ltd." 106 o="Aplex Technology Inc." 107 o="OOO %Alyans%" 108 o="TEX COMPUTER SRL" 109 o="DiTEST Fahrzeugdiagnose GmbH" 10A o="SEASON DESIGN TECHNOLOGY" 10C o="Vocality International Ltd" 10E o="Colorimetry Research, Inc" 10F o="neQis" 111 o="Leonardo Sistemi Integrati S.r.l." 112 o="DiTEST Fahrzeugdiagnose GmbH" 113 o="iREA System Industry" 114 o="Project H Pty Ltd" 115 o="Welltec Corp." 117 o="SysCom Automationstechnik GmbH" 11B o="HoseoTelnet Inc..." 11C o="Samriddi Automations Pvt. Ltd." 11D o="Dakton Microlabs LLC" 11F o="Geppetto Electronics" 120 o="GSP Sprachtechnologie GmbH" 121 o="Shenzhen Luxurite Smart Home Ltd" 122 o="Henri Systems Holland bv" 123 o="Amfitech ApS" 124 o="Forschungs- und Transferzentrum Leipzig e.V." 125 o="Securolytics, Inc." 126 o="AddSecure Smart Grids" 127 o="VITEC" 129 o="OOO %Microlink-Svyaz%" 12A o="Elvys s.r.o" 12B o="RIC Electronics" 12C o="CIELLE S.R.L." 12D o="S.E.I. CO.,LTD." 12E o="GreenFlux" 12F o="DSP4YOU LTd" 131 o="Inova Design Solutions Ltd" 132 o="Hagenuk KMT Kabelmesstechnik GmbH" 133 o="Vidisys GmbH" 134 o="Conjing Networks Inc." 135 o="DORLET SAU" 136 o="Miguel Corporate Services Pte Ltd" 138 o="SMITEC S.p.A." 139 o="Tunstall A/S" 13A o="DEUTA-WERKE GmbH" 13B o="Sienna Corporation" 13C o="Detec Systems Ltd" 13D o="Elsist Srl" 13E o="Stara S/A Indústria de Implementos Agrícolas" 13F o="Farmobile" 140 o="Virta Laboratories, Inc." 141 o="M.T. S.R.L." 142 o="DAVE SRL" 143 o="A & T Technologies" 144 o="GS Elektromedizinsiche Geräte G. Stemple GmbH" 145 o="Sicon srl" 146 o="3City Electronics" 147 o="ROMO Wind A/S" 148 o="Power Electronics Espana, S.L." 149 o="eleven-x" 14A o="ExSens Technology (Pty) Ltd." 14B o="C21 Systems Ltd" 14C o="CRDE" 14D o="2-Observe" 14E o="Innosonix GmbH" 14F o="Mobile Devices Unlimited" 150 o="YUYAMA MFG Co.,Ltd" 151 o="Virsae Group Ltd" 152 o="Xped Corporation Pty Ltd" 153 o="Schneider Electric Motion USA" 154 o="Walk Horizon Technology (Beijing) Co., Ltd." 155 o="Sanwa New Tec Co.,Ltd" 158 o="EAX Labs s.r.o." 159 o="RCH Vietnam Limited Liability Company" 15B o="Armstrong International, Inc." 15C o="Woods Hole Oceanographic Institution" 15D o="Vtron Pty Ltd" 15E o="Season Electronics Ltd" 15F o="SAVRONİK ELEKTRONİK" 161 o="MB connect line GmbH Fernwartungssysteme" 162 o="ESPAI DE PRODUCCIÓ I ELECTRÓNI" 163 o="BHARAT HEAVY ELECTRICALS LIMITED" 164 o="Tokyo Drawing Ltd." 166 o="SERIAL IMAGE INC." 167 o="Eiden Co.,Ltd." 168 o="Biwave Technologies, Inc." 169 o="Service Plus LLC" 16A o="4Jtech s.r.o." 16B o="IOT Engineering" 16C o="OCEAN" 16E o="Jemac Sweden AB" 16F o="NimbeLink Corp" 170 o="Mutelcor GmbH" 171 o="Aetina Corporation" 172 o="LumiGrow, Inc" 173 o="National TeleConsultants LLC" 174 o="Carlson Wireless Technologies Inc." 175 o="Akribis Systems" 178 o="Gamber Johnson-LLC" 179 o="ALTRAN UK" 17A o="Gencoa Ltd" 17B o="Vistec Electron Beam GmbH" 17D o="Entech Electronics" 17E o="OCULI VISION" 17F o="MB connect line GmbH Fernwartungssysteme" 180 o="LHA Systems (Pty) Ltd" 181 o="Task Sistemas" 182 o="Kitron UAB" 183 o="Evco S.p.a." 184 o="XV360 Optical Information Systems Ltd." 185 o="R&D Gran-System-S LLC" 186 o="Rohde&Schwarz Topex SA" 187 o="Elektronik & Präzisionsbau Saalfeld GmbH" 188 o="Birket Engineering" 189 o="DAVE SRL" 18A o="NSP Europe Ltd" 18B o="Aplex Technology Inc." 18C o="CMC Industrial Electronics Ltd" 18D o="Foro Tel" 18E o="NIPPON SEIKI CO., LTD." 18F o="Newtec A/S" 190 o="Fantom Wireless, Inc." 192 o="ASPT, INC." 193 o="ERA TOYS LIMITED" 194 o="Husty M.Styczen J.Hupert Sp.J." 197 o="Lattech Systems Pty Ltd" 199 o="Smart Controls LLC" 19A o="WiSuite USA" 19B o="Global Technical Systems" 19C o="Kubu, Inc." 19E o="J-Factor Embedded Technologies" 19F o="Koizumi Lighting Technology Corp." 1A0 o="UFATECH LTD" 1A1 o="HMicro Inc" 1A3 o="Telairity Semiconductor" 1A4 o="DAVEY BICKFORD" 1A5 o="METRONIC APARATURA KONTROLNO - POMIAROWA" 1A6 o="Robotelf Technologies (Chengdu) Co., Ltd." 1A8 o="STC %Rainbow% Ltd." 1A9 o="OCEANIX INC." 1AA o="Echo Ridge, LLC" 1AB o="Access Control Systems JSC" 1AC o="SVP Broadcast Microwave S.L." 1AD o="Techworld Industries Ltd" 1AF o="Teenage Engineering AB" 1B1 o="Shanghai Danyan Information Technology Co., Ltd." 1B3 o="Graphcore Ltd" 1B4 o="5nines" 1B5 o="StarBridge, Inc." 1B6 o="DACOM West GmbH" 1B8 o="OES Inc." 1B9 o="RELISTE Ges.m.b.H." 1BB o="EFENTO T P SZYDŁOWSKI K ZARĘBA SPÓŁKA JAWNA" 1BD o="Shenzhen Siera Technology Ltd" 1BE o="Potter Electric Signal Co. LLC" 1BF o="DEUTA-WERKE GmbH" 1C0 o="W. H. Leary Co., Inc." 1C2 o="CENSIS, Uiversity of Glasgow" 1C3 o="Shanghai Tiancheng Communication Technology Corporation" 1C4 o="Smeg S.p.A." 1C5 o="ELSAG" 1C7 o="Hoshin Electronics Co., Ltd." 1C8 o="LDA audio video profesional S.L." 1C9 o="MB connect line GmbH Fernwartungssysteme" 1CB o="MatchX GmbH" 1CC o="AooGee Controls Co., LTD." 1CD o="ELEUSI GmbH" 1CE o="Clear Flow by Antiference" 1CF o="Dalcnet srl" 1D0 o="Shenzhen INVT Electric Co.,Ltd" 1D1 o="Eurotek Srl" 1D2 o="Xacti Corporation" 1D3 o="AIROBOT OÜ" 1D4 o="Brinkmann Audio GmbH" 1D5 o="MIVO Technology AB" 1D6 o="MacGray Services" 1D8 o="Blue Skies Global LLC" 1D9 o="MondeF" 1DA o="Promess Inc." 1DB o="Hudson Robotics" 1DC o="TEKVEL Ltd." 1DD o="RF CREATIONS LTD" 1DE o="DYCEC, S.A." 1DF o="ENTEC Electric & Electronic Co., LTD." 1E0 o="TOPROOTTechnology Corp. Ltd." 1E1 o="TEX COMPUTER SRL" 1E2 o="Shenzhen CAMERAY ELECTRONIC CO., LTD" 1E3 o="Hatel Elektronik LTD. STI." 1E4 o="Tecnologix s.r.l." 1E5 o="VendNovation LLC" 1E6 o="Sanmina Israel" 1E7 o="DogWatch Inc" 1E8 o="Gogo BA" 1E9 o="comtime GmbH" 1EA o="Sense For Innovation" 1EB o="Xavant" 1EE o="MEGGITT" 1EF o="ADTEK" 1F0 o="Harmonic Design GmbH" 1F1 o="DIEHL Connectivity Solutions" 1F2 o="YUYAMA MFG Co.,Ltd" 1F3 o="Smart Energy Code Company Limited" 1F4 o="Hangzhou Woosiyuan Communication Co.,Ltd." 1F5 o="Martec S.p.A." 1F7 o="Morgan Schaffer Inc." 1F8 o="Convergent Design" 1F9 o="Automata GmbH & Co. KG" 1FC o="Guan Show Technologe Co., Ltd." 1FD o="BRS Sistemas Eletrônicos" 1FE o="MobiPromo" 1FF o="Audiodo AB" 200 o="NextEV Co., Ltd." 201 o="Leontech Limited" 202 o="DEUTA-WERKE GmbH" 203 o="WOOJIN Inc" 204 o="TWC" 205 o="Esource Srl" 206 o="ard sa" 207 o="Savari Inc" 208 o="DSP DESIGN LTD" 209 o="SmartNodes" 20A o="Golden Grid Systems" 20C o="Siemens Healthcare Diagnostics" 20D o="Engage Technologies" 20E o="Amrehn & Partner EDV-Service GmbH" 20F o="Tieline Research Pty Ltd" 210 o="Eastone Century Technology Co.,Ltd." 211 o="Fracarro srl" 213 o="ETON Deutschland Electro Acoustic GmbH" 214 o="signalparser" 215 o="Dataspeed Inc" 216 o="FLEXTRONICS" 217 o="Tecnint HTE SRL" 218 o="Gremesh.com" 219 o="D-E-K GmbH & Co.KG" 21A o="Acutronic Link Robotics AG" 21B o="Lab241 Co.,Ltd." 21C o="Enyx SA" 21D o="iRF - Intelligent RF Solutions, LLC" 21E o="Hildebrand Technology Limited" 21F o="CHRONOMEDIA" 221 o="LX Design House" 222 o="Marioff Corporation Oy" 224 o="Urbana Smart Solutions Pte Ltd" 225 o="RCD Radiokomunikace" 226 o="Yaviar" 227 o="Montalvo" 228 o="HEITEC AG" 229 o="CONTROL SYSTEMS Srl" 22A o="Shishido Electrostatic, Ltd." 22B o="VITEC" 22C o="Hiquel Elektronik- und Anlagenbau GmbH" 22D o="Leder Elektronik Design" 22F o="Instec, Inc." 230 o="CT Company" 231 o="DELTA TAU DATA SYSTEMS, INC." 232 o="UCONSYS" 234 o="EDFelectronics JRMM Sp z o.o. sp.k." 235 o="CAMEON S.A." 236 o="Monnit Corporation" 237 o="Sikom AS" 238 o="Arete Associates" 239 o="Applied Silver" 23A o="Mesa Labs, Inc." 23B o="Fink Telecom Services" 23C o="Quasonix, LLC" 23E o="Tornado Modular Systems" 23F o="ETA-USA" 240 o="Orlaco Products B.V." 241 o="Bolide Technology Group, Inc." 243 o="Rohde&Schwarz Topex SA" 244 o="DAT Informatics Pvt Ltd" 245 o="Newtec A/S" 246 o="Saline Lectronics, Inc." 248 o="GL TECH CO.,LTD" 249 o="Kospel S.A." 24A o="Unmukti Technology Pvt Ltd" 24B o="TOSEI ENGINEERING CORP." 24C o="Astronomical Research Cameras, Inc." 24D o="INFO CREATIVE (HK) LTD" 24E o="Chengdu Cove Technology CO.,LTD" 24F o="ELBIT SYSTEMS BMD AND LAND EW - ELISRA LTD" 250 o="Datum Electronics Limited" 251 o="PixelApps s.r.o." 252 o="Sierra Nevada Corporation" 253 o="Wimate Technology Solutions Private Limited" 254 o="Spectrum Brands" 255 o="Asystems Corporation" 257 o="LG Electronics" 258 o="BAYKON Endüstriyel Kontrol Sistemleri San. ve Tic. A.Ş." 259 o="Zebra Elektronik A.S." 25A o="DEUTA-WERKE GmbH" 25B o="GID Industrial" 25D o="Mimo Networks" 25F o="COPPERNIC SAS" 260 o="ModuSystems, Inc" 261 o="Potter Electric Signal Co. LLC" 262 o="OOO Research and Production Center %Computer Technologies%" 264 o="ifak technology + service GmbH" 266 o="Spectra Displays Ltd" 267 o="Zehntner Testing Instruments" 268 o="Cardinal Scale Mfg Co" 269 o="Gilbarco Veeder-Root ‎" 26A o="Talleres de Escoriaza SA" 26B o="Sorama BV" 26C o="EA Elektroautomatik GmbH & Co. KG" 26D o="Sorion Electronics ltd" 26E o="HI-TECH SYSTEM Co. Ltd." 26F o="COMPAL ELECTRONICS, INC." 270 o="Amazon Technologies Inc." 272 o="TELECOM SANTE" 273 o="WeVo Tech" 274 o="Stercom Power Solutions GmbH" 275 o="INTERNET PROTOCOLO LOGICA SL" 276 o="TELL Software Hungaria Kft." 277 o="Voltaware Limited" 279 o="Medicomp, Inc" 27A o="TD ECOPHISIKA" 27C o="MOTION LIB,Inc." 27D o="Telenor Connexion AB" 27E o="Mettler Toledo" 27F o="ST Aerospace Systems" 280 o="Computech International" 281 o="ITG.CO.LTD" 282 o="SAMBO HITECH" 283 o="TextNinja Co." 284 o="Globalcom Engineering SPA" 285 o="Bentec GmbH Drilling & Oilfield Systems" 286 o="Pedax Danmark" 287 o="Hypex Electronics BV" 288 o="Bresslergroup" 289 o="Shenzhen Rongda Computer Co.,Ltd" 28A o="Transit Solutions, LLC." 28B o="Arnouse Digital Devices, Corp." 28C o="Step Technica Co., Ltd." 28D o="Technica Engineering GmbH" 28E o="TEX COMPUTER SRL" 28F o="Overline Systems" 292 o="Boston Dynamics" 293 o="Solar RIg Technologies" 295 o="Cello Electronics (UK) Ltd" 296 o="Rohde&Schwarz Topex SA" 297 o="Grossenbacher Systeme AG" 299 o="KMtronic ltd" 29B o="DermaLumics S.L." 29C o="Teko Telecom Srl" 29D o="XTech2 SIA" 29F o="Code Hardware SA" 2A0 o="Airthings" 2A1 o="Blink Services AB" 2A2 o="Visualware, Inc." 2A3 o="ATT Nussbaum Prüftechnik GmbH" 2A4 o="GSP Sprachtechnologie GmbH" 2A5 o="Taitotekniikka" 2A6 o="GSI Technology" 2A7 o="Plasmability, LLC" 2A8 o="Dynamic Perspective GmbH" 2A9 o="Power Electronics Espana, S.L." 2AA o="Flirtey Inc" 2AB o="NASA Johnson Space Center" 2AC o="New Imaging Technologies" 2AD o="Opgal Optronic Industries" 2AE o="Alere Technologies AS" 2B0 o="Beijing Zhongyi Yue Tai Technology Co., Ltd" 2B1 o="WIXCON Co., Ltd" 2B2 o="Sun Creative (ZheJiang) Technology INC." 2B3 o="HAS co.,ltd." 2B4 o="Foerster-Technik GmbH" 2B5 o="Dosepack India LLP" 2B7 o="Matrix Orbital Corporation" 2B8 o="WideNorth AS" 2B9 o="BELECTRIC GmbH" 2BA o="Active Brains" 2BB o="Automation Networks & Solutions LLC" 2BC o="EQUIPOS DE TELECOMUNICACIÓN OPTOELECTRÓNICOS, S.A." 2BD o="mg-sensor GmbH" 2BE o="Coherent Logix, Inc." 2BF o="FOSHAN VOHOM" 2C0 o="Sensative AB" 2C2 o="Quantum Detectors" 2C3 o="Proterra" 2C4 o="Hodwa Co., Ltd" 2C7 o="Worldsensing" 2C9 o="SEASON DESIGN TECHNOLOGY" 2CA o="TATTILE SRL" 2CC o="WeWork Companies, Inc." 2CD o="Korea Airports Corporation" 2CE o="KDT" 2CF o="MB connect line GmbH Fernwartungssysteme" 2D0 o="ijin co.,ltd." 2D2 o="SHANGHAI IRISIAN OPTRONICS TECHNOLOGY CO.,LTD." 2D4 o="CT Company" 2D5 o="Teuco Guzzini" 2D6 o="Kvazar LLC" 2D8 o="Unisight Digital Products" 2DA o="Skywave Networks Private Limited" 2DB o="ProtoPixel SL" 2DC o="Bolide Technology Group, Inc." 2DE o="YUYAMA MFG Co.,Ltd" 2E0 o="Peter Huber" 2E1 o="hiSky S.C.S LTD" 2E2 o="Spark Lasers" 2E3 o="Meiknologic GmbH" 2E5 o="Fläkt Woods AB" 2E6 o="IPG Photonics Corporation" 2E7 o="Atos spa" 2E8 o="Telefire" 2E9 o="NeurIT s.r.o." 2EA o="Schneider Electric Motion" 2EB o="BRNET CO.,LTD." 2EC o="Grupo Epelsa S.L." 2ED o="Signals and systems india pvt ltd" 2EE o="Aplex Technology Inc." 2EF o="IEM SA" 2F0 o="Clock-O-Matic" 2F1 o="Inspike S.R.L." 2F2 o="Health Care Originals, Inc." 2F3 o="Scame Sistemi srl" 2F4 o="Radixon s.r.o." 2F5 o="eze System, Inc." 2F6 o="TATTILE SRL" 2F8 o="Tunstall A/S" 2F9 o="CONSOSPY" 2FA o="Toray Medical Co.,Ltd" 2FC o="Loanguard T/A SE Controls" 2FD o="Special Projects Group, Inc" 2FE o="Yaham Optoelectronics Co., Ltd" 2FF o="Sunstone Engineering" 300 o="Novo DR Ltd." 302 o="DogWatch Inc" 303 o="Fuchu Giken, Inc." 304 o="Wartsila Voyage Limited" 305 o="CAITRON Industrial Solutions GmbH" 306 o="LEMZ-T, LLC" 307 o="Energi innovation Aps" 308 o="DSD MICROTECHNOLOGY,INC." 30B o="Ash Technologies" 30C o="Sicon srl" 30D o="Fiberbase" 30F o="Cardinal Scales Manufacturing Co" 310 o="Conserv Solutions" 313 o="DIEHL Controls" 317 o="Iotopia Solutions" 319 o="ISO/TC 22/SC 31" 31B o="SilTerra Malaysia Sdn. Bhd." 31C o="FINANCIERE DE L'OMBREE (eolane)" 31D o="AVA Monitoring AB" 31E o="GILLAM-FEI S.A." 31F o="Elcoma" 320 o="CYNIX Systems Inc" 321 o="Yite technology" 323 o="TATTILE SRL" 324 o="Thales Nederland BV" 325 o="BlueMark Innovations BV" 326 o="NEMEUS-SAS" 327 o="Seneco A/S" 328 o="HIPODROMO DE AGUA CALIENTE SA CV" 329 o="Primalucelab isrl" 32A o="Wuhan Xingtuxinke ELectronic Co.,Ltd" 32C o="ATION Corporation" 32D o="Hanwell Technology Co., Ltd." 32E o="A&T Corporation" 32F o="Movidius SRL" 330 o="iOne" 332 o="InnoSenT" 334 o="Dokuen Co. Ltd." 335 o="Jonsa Australia Pty Ltd" 336 o="Synaccess Networks Inc." 337 o="Laborie" 338 o="Opti-Sciences, Inc." 339 o="Sierra Nevada Corporation" 33B o="Seal Shield, LLC" 33C o="Videri Inc." 33E o="Dynamic Connect (Suzhou) Hi-Tech Electronic Co.,Ltd." 33F o="XANTIA SA" 340 o="Renesas Electronics" 341 o="Vtron Pty Ltd" 342 o="Solectrix" 343 o="Elektro-System s.c." 344 o="IHI Inspection & Instrumentation Co., Ltd." 345 o="AT-Automation Technology GmbH" 346 o="Ultamation Limited" 347 o="OAS Sweden AB" 348 o="BÄR Bahnsicherung AG" 349 o="SLAT" 34A o="PAVO TASARIM ÜRETİM TİC A.Ş." 34B o="LEAFF ENGINEERING SRL" 34C o="GLT Exports Ltd" 34D o="Equos Research Co., Ltd" 34E o="Risk Expert sarl" 350 o="Tickster AB" 351 o="KST technology" 352 o="Globalcom Engineering SPA" 353 o="Digital Outfit" 354 o="IMP-Computer Systems" 355 o="Hongin., Ltd" 356 o="BRS Sistemas Eletrônicos" 357 o="Movimento Group AB" 358 o="Nevotek" 359 o="Boutronic" 35A o="Applied Radar, Inc." 35C o="ACS electronics srl" 35D o="Fresh Idea Factory BV" 35E o="EIDOS s.p.a." 35F o="Aplex Technology Inc." 360 o="PT. Emsonic Indonesia" 361 o="Parent Power" 362 o="Asiga" 363 o="Contec Americas Inc." 364 o="ADAMCZEWSKI elektronische Messtechnik GmbH" 365 o="CircuitMeter Inc." 366 o="Solarlytics, Inc." 367 o="Living Water" 368 o="White Matter LLC" 36A o="Becton Dickinson" 36C o="Sicon srl" 36D o="Cyberteam Sp z o o" 36E o="Electrónica Falcón S.A.U" 36F o="BuddyGuard GmbH" 370 o="Inphi Corporation" 371 o="BEDEROV GmbH" 372 o="MATELEX" 374 o="OOO NPP Mars-Energo" 375 o="Adel System srl" 377 o="Monnit Corporation" 378 o="synchrotron SOLEIL" 379 o="Vensi, Inc." 37A o="APG Cash Drawer, LLC" 37B o="Power Ltd." 37C o="Merus Power Dynamics Ltd." 37D o="The DX Shop Limited" 37E o="ELINKGATE JSC" 37F o="IDS Innomic GmbH" 381 o="CRDE" 382 o="Naval Group" 383 o="LPA Excil Electronics" 384 o="Sensohive Technologies" 385 o="Kamacho Scale Co., Ltd." 387 o="GWF MessSysteme AG" 388 o="Xitron" 38A o="KSE GmbH" 38B o="Lookman Electroplast Industries Ltd" 38C o="MiraeSignal Co., Ltd" 38D o="IMP-TELEKOMUNIKACIJE DOO" 38F o="Sorynorydotcom Inc" 391 o="Changshu Ruite Electric Co.,Ltd." 392 o="Contec Americas Inc." 394 o="Romteck Australia" 396 o="CTG sp. z o. o." 397 o="Guangxi Hunter Information Industry Co.,Ltd" 398 o="SIPRO s.r.l." 39A o="Videotrend srl" 39B o="IROC AB" 39C o="GD Mission Systems" 39D o="Comark Interactive Solutions" 39E o="Lanmark Controls Inc." 3A0 o="chiconypower" 3A1 o="Reckeen HDP Media sp. z o.o. sp. k." 3A4 o="Ascenix Corporation" 3A5 o="KMtronic ltd" 3A7 o="Varikorea" 3A8 o="JamHub Corp." 3A9 o="Vivalnk" 3AA o="RCATSONE" 3AD o="CT Company" 3AE o="Exicom Technologies fze" 3AF o="Turbo Technologies Corporation" 3B0 o="Millennial Net, Inc." 3B2 o="Sicon srl" 3B5 o="Preston Industries dba PolyScience" 3B7 o="Paul Scherrer Institut (PSI)" 3B8 o="nVideon, Inc." 3BA o="Silex Inside" 3BB o="A-M Systems" 3BC o="SciTronix" 3BD o="DAO QIN TECHNOLOGY CO.LTD." 3BE o="MyDefence Communication ApS" 3BF o="Star Electronics GmbH & Co. KG" 3C0 o="DK-Technologies A/S" 3C2 o="Cellular Specialties, Inc." 3C3 o="AIMCO" 3C4 o="Hagiwara Solutions Co., Ltd." 3C5 o="P4Q ELECTRONICS, S.L." 3C6 o="ACD Elekronik GmbH" 3C7 o="SOFTCREATE CORP." 3C9 o="Duerkopp-Adler" 3CA o="TTI Ltd" 3CB o="GeoSpectrum Technologies Inc" 3CC o="TerOpta Ltd" 3CE o="Aditec GmbH" 3CF o="Systems Engineering Arts Pty Ltd" 3D0 o="ORtek Technology, Inc." 3D2 o="Imagine Inc." 3D4 o="Sanmina Israel" 3D5 o="oxynet Solutions" 3D7 o="Remote Sensing Solutions, Inc." 3D8 o="Abitsoftware, Ltd." 3D9 o="Aplex Technology Inc." 3DA o="Loop Labs, Inc." 3DB o="KST technology" 3DD o="Kniggendorf + Kögler Security GmbH" 3DE o="ELOMAC Elektronik GmbH" 3DF o="MultiDyne" 3E1 o="Barnstormer Softworks" 3E2 o="AVI Pty Ltd" 3E3 o="Head" 3E4 o="Neptec Technologies Corp." 3E5 o="ATEME" 3E6 o="machineQ" 3E7 o="JNR Sports Holdings, LLC" 3E8 o="COSMOS web Co., Ltd." 3E9 o="APOLLO GIKEN Co.,Ltd." 3EA o="DAVE SRL" 3EB o="Grossenbacher Systeme AG" 3EC o="Outsight SA" 3ED o="Ultra Electronics Sonar System Division" 3EF o="Vtron Pty Ltd" 3F0 o="Intervala" 3F1 o="Olympus NDT Canada" 3F2 o="H3D, Inc." 3F3 o="SPEA SPA" 3F4 o="Wincode Technology Co., Ltd." 3F5 o="DOLBY LABORATORIES, INC." 3F6 o="Sycomp Electronic GmbH" 3F7 o="Advansid" 3F8 o="The Fire Horn, Inc." 3F9 o="Herrick Tech Labs" 3FA o="Zaklad Energoelektroniki Twerd" 3FB o="Liberty Reach" 3FE o="Mentor Graphics" 3FF o="Hydra Controls" 400 o="Vtron Pty Ltd" 402 o="AKIS technologies" 403 o="Mighty Cube Co., Ltd." 404 o="RANIX,Inc." 405 o="MG s.r.l." 406 o="Acrodea, Inc." 407 o="IDOSENS" 408 o="Comrod AS" 409 o="Beijing Yutian Technology Co., Ltd." 40A o="Monroe Electronics, Inc." 40B o="QUERCUS TECHNOLOGIES, S.L." 40E o="Liaoyun Information Technology Co., Ltd." 40F o="NEXELEC" 410 o="Avant Technologies, Inc" 412 o="TATTILE SRL" 413 o="Axess AG" 414 o="Smith Meter, Inc." 415 o="IDEA SPA" 417 o="Figment Design Laboratories" 418 o="DEV Systemtechnik GmbH& Co KG" 41A o="HYOSUNG Power & Industrial Systems" 41B o="SYS TEC electronic GmbH" 41D o="Azmoon Keifiat" 41E o="Redler Computers" 41F o="Orion S.r.l." 420 o="ECOINET" 421 o="North Star Bestech Co.," 422 o="SUS Corporation" 425 o="SinterCast" 426 o="Zehnder Group Nederland" 427 o="Key Chemical & Equipment Company" 428 o="Presentation Switchers, Inc." 429 o="Redco Audio Inc" 42A o="Critical Link LLC" 42B o="Guangzhou Haoxiang Computer Technology Co.,Ltd." 42C o="D.Marchiori Srl" 42D o="RCH ITALIA SPA" 42E o="Dr. Zinngrebe GmbH" 42F o="SINTOKOGIO, LTD" 430 o="Algodue Elettronica Srl" 431 o="Power Electronics Espana, S.L." 432 o="DEUTA-WERKE GmbH" 433 o="Flexsolution APS" 434 o="Wit.com Inc" 435 o="Wuhan Xingtuxinke ELectronic Co.,Ltd" 436 o="Henrich Electronics Corporation" 437 o="Digital Way" 439 o="TriLED" 43B o="Kalycito Infotech Private Limited" 43D o="Veryx Technologies Private Limited" 43E o="Peloton Technology" 43F o="biosilver .co.,ltd" 440 o="Discover Video" 441 o="Videoport S.A." 442 o="Blair Companies" 443 o="Slot3 GmbH" 444 o="AMS Controls, Inc." 445 o="Advanced Devices SpA" 446 o="Santa Barbara Imaging Systems" 447 o="Avid Controls Inc" 448 o="B/E Aerospace, Inc." 449 o="Edgeware AB" 44B o="Open System Solutions Limited" 44D o="Vessel Technology Ltd" 44E o="Solace Systems Inc." 454 o="Golding Audio Ltd" 455 o="Heartlandmicropayments" 456 o="Technological Application and Production One Member Liability Company (Tecapro company)" 457 o="Vivaldi Clima Srl" 458 o="Ongisul Co.,Ltd." 459 o="Protium Technologies, Inc." 45A o="Palarum LLC" 45B o="KOMZ - IZMERENIYA" 45C o="AlyTech" 45D o="Sensapex Oy" 45E o="eSOL Co.,Ltd." 45F o="Cloud4Wi" 460 o="Guilin Tryin Technology Co.,Ltd" 461 o="TESEC Corporation" 462 o="EarTex" 463 o="WARECUBE,INC" 465 o="ENERGISME" 466 o="SYLink Technologie" 467 o="GreenWake Technologies" 469 o="Gentec Systems Co." 46B o="Airborne Engineering Limited" 46C o="SHANGHAI CHENZHU INSTRUMENT CO., LTD." 46E o="Zamir Recognition Systems Ltd." 46F o="serva transport systems GmbH" 470 o="KITRON UAB" 471 o="SYSCO Sicherheitssysteme GmbH" 472 o="Quadio Devices Private Limited" 475 o="EWATTCH" 476 o="FR-Team International SA" 477 o="digitrol limited" 478 o="Touchnet/OneCard" 479 o="LINEAGE POWER PVT LTD.," 47A o="GlooVir Inc." 47B o="Monixo" 47C o="Par-Tech, Inc." 47E o="Fiber Optika Technologies Pvt. Ltd." 47F o="ASE GmbH" 480 o="Emergency Lighting Products Limited" 482 o="Aeryon Labs Inc" 486 o="ChongQing JianTao Technology Co., Ltd." 487 o="ECS s.r.l." 488 o="Cardinal Scale Mfg Co" 489 o="ard sa" 48A o="George Wilson Industries Ltd" 48B o="TATTILE SRL" 48C o="Integrated Systems Engineering, Inc." 48D o="OMEGA BILANCE SRL SOCIETA' UNIPERSONALE" 48E o="Allim System Co,.Ltd." 48F o="Seiwa Giken" 490 o="Xiamen Beogold Technology Co. Ltd." 492 o="Jiangsu Jinheng Information Technology Co.,Ltd." 493 o="Impulse Networks Pte Ltd" 494 o="Schildknecht AG" 495 o="Fiem Industries Ltd." 496 o="Profcon AB" 497 o="ALBIRAL DISPLAY SOLUTIONS SL" 498 o="XGEM SAS" 499 o="Pycom Ltd" 49A o="HAXE SYSTEME" 49B o="Algodue Elettronica Srl" 49D o="Shenzhen Chanslink Network Technology Co., Ltd" 49E o="CAPTEMP, Lda" 49F o="B.P.A. SRL" 4A0 o="FLUDIA" 4A1 o="Herholdt Controls srl" 4A2 o="DEVAU Lemppenau GmbH" 4A4 o="DEUTA-WERKE GmbH" 4A5 o="Intermind Inc." 4A6 o="HZHY TECHNOLOGY" 4A7 o="aelettronica group srl" 4A8 o="Acrodea, Inc." 4A9 o="WARECUBE,INC" 4AA o="Twoway Communications, Inc." 4AB o="TruTeq Wireless (Pty) Ltd" 4AC o="Microsoft Research" 4AD o="GACI" 4AE o="Reinhardt System- und Messelectronic GmbH" 4AF o="Agramkow Fluid Systems A/S" 4B0 o="Tecogen Inc." 4B1 o="LACE LLC." 4B2 o="Certus Operations Ltd" 4B3 o="Bacsoft" 4B4 o="Hi Tech Systems Ltd" 4B6 o="VEILUX INC." 4B7 o="Aplex Technology Inc." 4B8 o="International Roll-Call Corporation" 4B9 o="SHEN ZHEN TTK TECHNOLOGY CO,LTD" 4BA o="Sinftech LLC" 4BB o="Plazma-T" 4BC o="TIAMA" 4BD o="Boulder Amplifiers, Inc." 4BE o="GY-FX SAS" 4BF o="Exsom Computers LLC" 4C0 o="Technica Engineering GmbH" 4C1 o="QUERCUS TECHNOLOGIES, S. L." 4C2 o="hera Laborsysteme GmbH" 4C4 o="OOO Research and Production Center %Computer Technologies%" 4C5 o="Moving iMage Technologies LLC" 4C6 o="BlueBox Video Limited" 4C7 o="SOLVERIS sp. z o.o." 4C8 o="Hosokawa Micron Powder Systems" 4C9 o="Elsist Srl" 4CC o="FRESENIUS MEDICAL CARE" 4CD o="Power Electronics Espana, S.L." 4CE o="Agilack" 4CF o="GREEN HOUSE CO., LTD." 4D1 o="Contraves Advanced Devices Sdn. Bhd." 4D2 o="Biotage Sweden AB" 4D3 o="Hefei STAROT Technology Co.,Ltd" 4D4 o="Nortek Global HVAC" 4D5 o="Moog Rekofa GmbH" 4D6 o="Operational Technology Solutions" 4D8 o="Versilis Inc." 4DB o="Temperature@lert" 4DC o="JK DEVICE CORPORATION" 4DD o="Road-iQ, LLC" 4DE o="Oso Technologies, Inc." 4DF o="Nidec Avtron Automation Corp" 4E0 o="Microvideo" 4E1 o="Grupo Epelsa S.L." 4E4 o="W.A. Benjamin Electric Co." 4E5 o="viZaar industrial imaging AG" 4E7 o="Digital Domain" 4E8 o="Copious Imaging LLC" 4E9 o="ADETEC SAS" 4EA o="Vocality international T/A Cubic" 4EB o="INFOSOFT DIGITAL DESIGN & SERVICES PRIVATE LIMITED" 4EC o="Hangzhou Youshi Industry Co., Ltd." 4EE o="NOA Co., Ltd." 4EF o="CMI, Inc." 4F0 o="Li Seng Technology Ltd.," 4F1 o="LG Electronics" 4F2 o="COMPAL ELECTRONICS, INC." 4F4 o="WiTagg, Inc" 4F6 o="DORLET SAU" 4F7 o="Foxtel srl" 4F9 o="OptoPrecision GmbH" 4FA o="Thruvision Limited" 4FC o="Mettler Toledo" 4FD o="ENLESS WIRELESS" 4FE o="WiTagg, Inc" 4FF o="Shanghai AiGentoo Information Technology Co.,Ltd." 500 o="Mistral Solutions Pvt. LTD" 501 o="Peek Traffic" 502 o="Glidewell Laboratories" 503 o="Itest communication Tech Co., LTD" 504 o="Xsight Systems Ltd." 505 o="MC2-Technologies" 506 o="Tonbo Imaging Pte Ltd" 507 o="Human Oriented Technology, Inc." 508 o="INSEVIS GmbH" 50A o="AMEDTEC Medizintechnik Aue GmbH" 50C o="Hangzhou landesker digital technology co. LTD" 50D o="CT Company" 50E o="Micro Trend Automation Co., LTD" 510 o="PSL ELEKTRONİK SANAYİ VE TİCARET A.S." 511 o="Next Sight srl" 512 o="Techno Broad,Inc" 513 o="MB connect line GmbH Fernwartungssysteme" 514 o="Intelligent Security Systems (ISS)" 515 o="PCSC" 516 o="LINEAGE POWER PVT LTD.," 517 o="ISPHER" 518 o="CRUXELL Corp." 519 o="MB connect line GmbH Fernwartungssysteme" 51A o="Shachihata Inc." 51B o="Vitrea Smart Home Technologies" 51C o="ATX Networks Corp" 51D o="Tecnint HTE SRL" 51E o="Fundación Cardiovascular de Colombia" 521 o="Selex ES Inc." 522 o="Syncopated Engineering Inc" 523 o="Tibit Communications" 524 o="Wuxi New Optical Communication Co.,Ltd." 525 o="Plantiga Technologies Inc" 526 o="FlowNet LLC" 528 o="Aplex Technology Inc." 52A o="Dataflex International BV" 52B o="GE Aviation Cheltenham" 52C o="Centuryarks Ltd.," 52D o="Tanaka Electric Industry Co., Ltd." 52E o="Swissponic Sagl" 52F o="R.C. Systems Inc" 530 o="iSiS-Ex Limited" 531 o="ATEME" 532 o="Talleres de Escoriaza SA" 533 o="Nippon Marine Enterprises, Ltd." 535 o="SITA Messtechnik GmbH" 537 o="Biennebi s.r.l." 538 o="sydetion UG (h.b.)" 539 o="Tempris GmbH" 53A o="Pano0ramic Power" 53B o="Mr.Loop" 53C o="Airthings" 53D o="ACCEL CORP" 542 o="RTDS Technologies Inc." 543 o="wallbe GmbH" 544 o="Silicon Safe Ltd" 545 o="Airity Technologies Inc." 546 o="Sensefarm AB" 547 o="CE LINK LIMITED" 548 o="DIGIVERV INC" 549 o="Procon automatic systems GmbH" 54A o="Digital Instrument Transformers" 54B o="Brakels IT" 54C o="Husty M.Styczen J.Hupert Sp.J." 54D o="Qingdao Haitian Weiye Automation Control System Co., Ltd" 54E o="RFL Electronics, Inc." 54F o="Assembly Contracts Limited" 550 o="Merten GmbH&CoKG" 551 o="infrachip" 553 o="TAALEX Systemtechnik GmbH" 554 o="Teletypes Manufacturing Plant" 555 o="SoftLab-NSK" 556 o="OHASHI ENGINEERING CO.,LTD." 557 o="HEITEC AG" 558 o="Multiple Access Communications Ltd" 559 o="Eagle Mountain Technology" 55A o="Sontay Ltd." 55B o="Procon Electronics Pty Ltd" 55C o="Saratoga Speed, Inc." 55D o="LunaNexus Inc" 55E o="BRS Sistemas Eletrônicos" 55F o="Deep BV" 563 o="Zhejiang Hao Teng Electronic Technology Co., Ltd." 564 o="christmann informationstechnik + medien GmbH & Co. KG" 565 o="Clecell" 566 o="Data Informs LLC" 568 o="Small Data Garden Oy" 569 o="Nuance Hearing Ltd." 56A o="Harvard Technology Ltd" 56B o="S.E.I. CO.,LTD." 56C o="Telensa Ltd" 56D o="Pro-Digital Projetos Eletronicos Ltda" 56E o="Power Electronics Espana, S.L." 56F o="Radikal d.o.o." 570 o="Bayern Engineering GmbH & Co. KG" 571 o="Echogear" 572 o="CRDE" 574 o="Cloud Intelligence Pty Ltd" 575 o="Konrad GmbH" 576 o="Shandong Hospot IOT Technology Co.,Ltd." 577 o="DSILOG" 578 o="IMAGE TECH CO.,LTD" 579 o="Chelsea Technologies Group Ltd" 57A o="Rhythm Engineering, LLC." 57B o="ELAMAKATO GmbH" 57C o="Automata GmbH & Co. KG" 57D o="WICOM1 GmbH" 57E o="Ascon Tecnologic S.r.l." 57F o="MBio Diagnostics, Inc." 582 o="VAGLER International Sdn Bhd" 583 o="Ducommun Inc." 584 o="Sertone, a division of Opti-Knights Ltd" 585 o="Nefteavtomatika" 587 o="INCAA Computers" 588 o="LLC NPO Svyazkomplektservis" 589 o="Cityntel OU" 58A o="ITK Dr. Kassen GmbH" 58C o="OPTSYS" 58D o="DORLET SAU" 58E o="VEILUX INC." 58F o="LSL systems" 590 o="812th AITS" 592 o="CRDE" 593 o="Asis Pro" 594 o="ATE Systems Inc" 595 o="PLR Prueftechnik Linke und Ruehe GmbH" 596 o="Mencom Corporation" 597 o="VAPE RAIL INTERNATIONAL" 598 o="Ruag Defence France SAS" 599 o="LECO Corporation" 59A o="Wagner Group GmbH" 59B o="AUTOMATIZACION Y CONECTIVIDAD SA DE CV" 59C o="DAVE SRL" 59D o="servicios de consultoria independiente S.L." 5A0 o="Ascon Tecnologic S.r.l." 5A2 o="Wallner Automation GmbH" 5A3 o="CT Company" 5A5 o="Rehwork GmbH" 5A6 o="TimeMachines Inc." 5A7 o="ABB S.p.A." 5A8 o="Farmobile" 5A9 o="Bunka Shutter Co., Ltd." 5AA o="Chugoku Electric Manufacturing Co.,Inc" 5AB o="Sea Air and Land Communications Ltd" 5AD o="Profotech" 5AE o="TinTec Co., Ltd." 5AF o="JENG IoT BV" 5B0 o="Qxperts Italia S.r.l." 5B1 o="EPD Electronics" 5B2 o="Peter Huber Kaeltemaschinenbau AG" 5B4 o="Systems Technologies" 5B5 o="Lehigh Electric Products Co" 5B6 o="Ethical Lighting and Sensor Solutions Limited" 5B8 o="Hella Gutmann Solutions GmbH" 5BA o="INFRASAFE/ ADVANTOR SYSTEMS" 5BB o="Olympus NDT Canada" 5BC o="LAMTEC Meß- und Regeltechnik für Feuerungen GmbH & Co. KG" 5BE o="CASWA" 5BF o="Aton srl" 5C1 o="Shanghai JaWay Information Technology Co., Ltd." 5C4 o="TATTILE SRL" 5C5 o="Haag-Streit AG" 5C8 o="YUYAMA MFG Co.,Ltd" 5CA o="ACD Elekronik GmbH" 5CC o="Akse srl" 5CD o="MVT Video Technologies R + H Maedler GbR" 5CF o="PROEL TSI s.r.l." 5D0 o="InterTalk Critical Information Systems" 5D1 o="Software Motor Corp" 5D2 o="Contec Americas Inc." 5D3 o="Supracon AG" 5D4 o="RCH ITALIA SPA" 5D5 o="CT Company" 5D6 o="BMT Messtechnik Gmbh" 5D8 o="LYNX Technik AG" 5DA o="Valk Welding B.V." 5DB o="Movicom LLC" 5DC o="FactoryLab B.V." 5DD o="Theatrixx Technologies, Inc." 5DE o="Hangzhou AwareTec Technology Co., Ltd" 5DF o="Semacon Business Machines" 5E0 o="Hexagon Metrology SAS" 5E1 o="Arevita" 5E2 o="Grossenbacher Systeme AG" 5E3 o="Imecon Engineering SrL" 5E4 o="DSP DESIGN" 5E5 o="HAIYANG OLIX CO.,LTD." 5E6 o="Mechatronics Systems Private Limited" 5E7 o="Heroic Technologies Inc." 5E8 o="VITEC" 5E9 o="Zehetner-Elektronik GmbH" 5EA o="KYS,INC" 5EB o="Loma Systems s.r.o." 5EC o="Creative Electronics Ltd" 5ED o="EA Elektroautomatik GmbH & Co. KG" 5EE o="Mikrotron Mikrocomputer, Digital- und Analogtechnik GmbH" 5EF o="Star Systems International" 5F0 o="managee GmbH & Co KG" 5F1 o="Fater Rasa Noor" 5F2 o="Invisible Systems Limited" 5F3 o="Rtone" 5F4 o="FDSTiming" 5F6 o="FreeFlight Systems" 5F7 o="JFA Electronics Industry and Commerce EIRELI" 5F8 o="Forcite Helmet Systems Pty Ltd" 5F9 o="MB connect line GmbH Fernwartungssysteme" 5FA o="TEX COMPUTER SRL" 5FB o="TELEPLATFORMS" 5FC o="SURTEC" 5FD o="Windar Photonics" 5FF o="Vaisala Oyj" 600 o="Stellwerk GmbH" 602 o="Quantum Opus, LLC" 603 o="EGISTECH CO.,LTD." 605 o="Aplex Technology Inc." 606 o="OOO Research and Production Center %Computer Technologies%" 607 o="ATEME" 608 o="EIIT SA" 609 o="PBSI Group Limited" 60A o="TATA POWER SED" 60B o="Edgeware AB" 60C o="IST ElektronikgesmbH" 60D o="Link Electric & Safety Control Co." 60E o="HDANYWHERE" 60F o="Tanaka Information System, LLC." 610 o="POLVISION" 611 o="Avionica" 613 o="Suprock Technologies" 614 o="QUALITTEQ LLC" 615 o="JSC %OTZVUK%" 616 o="Axxess Identification Ltd" 617 o="Cominfo, Inc." 618 o="Motec Pty Ltd" 61A o="Rocket Lab Ltd." 61B o="Nubewell Networks Pvt Ltd" 61C o="Earth Works" 61D o="Telonic Berkeley Inc" 61E o="PKE Electronics AG" 61F o="Labotect Labor-Technik-Göttingen GmbH" 620 o="Orlaco Products B.V." 623 o="Beijing HuaLian Technology Co, Ltd." 625 o="VX Instruments GmbH" 628 o="MECT SRL" 62B o="Silicann Systems GmbH" 62C o="OOO %NTC Rotek%" 62D o="elements" 62F o="BARCO, s.r.o." 630 o="LGE" 631 o="SENSO2ME" 633 o="OBSERVER FOUNDATION" 634 o="idaqs Co.,Ltd." 635 o="Cosylab d.d." 636 o="Globalcom Engineering SPA" 637 o="INEO-SENSE" 638 o="Parkalot Denmark ApS" 63A o="DAVE SRL" 63B o="Lazer Safe Pty Ltd" 63C o="Pivothead" 63D o="Storbyte, Inc." 63E o="RIKEN OPTECH CORPORATION" 63F o="YG COMPANY CO., LTD" 640 o="Electronic Equipment Company Pvt. Ltd." 641 o="Burk Technology" 642 o="MB connect line GmbH Fernwartungssysteme" 643 o="Marques,S.A." 644 o="ATX Networks Corp" 645 o="Project Decibel, Inc." 647 o="KZTA" 648 o="Magnamed Tecnologia Medica S/A" 649 o="swissled technologies AG" 64A o="Netbric Technology Co.,Ltd." 64B o="Kalfire" 64C o="ACEMIS FRANCE" 64E o="BigStuff3, Inc." 650 o="GIFAS-ELECTRIC GmbH" 651 o="Roxford" 652 o="Robert Bosch, LLC" 653 o="Luxar Tech, Inc." 654 o="EMAC, Inc." 655 o="AOT System GmbH" 656 o="SonoSound ApS" 658 o="emperor brands" 659 o="E2G srl" 65A o="Aplex Technology Inc." 65B o="Roush" 65C o="Aplex Technology Inc." 65D o="GEGA ELECTRONIQUE" 65E o="Season Electronics Ltd" 660 o="Smart Service Technologies CO., LTD" 661 o="DesignA Electronics Limited" 662 o="Icon Industrial Engineering" 664 o="Sankyo Intec co.,ltd" 665 o="CertUsus GmbH" 666 o="Aplex Technology Inc." 667 o="CT Company" 669 o="Pano0ramic Power" 66B o="Innitive B.V." 66C o="KRISTECH Krzysztof Kajstura" 66D o="Sanmina Israel" 670 o="Particle sizing systems" 671 o="Sea Shell Corporation" 672 o="KLEIBER Infrared GmbH" 673 o="ACD Elekronik GmbH" 674 o="Fortress Cyber Security" 675 o="alfamation spa" 676 o="samwooeleco" 677 o="Fraunhofer-Institut IIS" 678 o="The Dini Group, La Jolla inc." 679 o="EMAC, Inc." 67A o="Micatu" 67B o="Stesalit Systems Ltd" 67D o="Acrodea, Inc." 67E o="Season Electronics Ltd" 67F o="IAAN Co., Ltd" 680 o="BASF Corporation" 682 o="Rosslare Enterprises Limited" 684 o="LECO Corporation" 686 o="Access Protocol Pty Ltd" 688 o="MG s.r.l." 689 o="Prisma Telecom Testing Srl" 68B o="Sadel S.p.A." 68C o="ND METER" 68D o="%Meta-chrom% Co. Ltd." 68E o="CEA Technologies Pty Ltd" 68F o="PEEK TRAFFIC" 691 o="PEEK TRAFFIC" 692 o="HOSIN INDUSTRIAL LIMITED" 693 o="Altron, a.s." 694 o="MoviTHERM" 695 o="GSP Sprachtechnologie GmbH" 696 o="Open Grow" 697 o="Alazar Technologies Inc." 699 o="Flextronics International Kft" 69A o="Altaneos" 69B o="TAIYO SEIKI CO.,LTD." 69C o="Keepen" 69E o="PTYPE Co., LTD." 69F o="T+A elektroakustik GmbH & Co.KG" 6A0 o="Active Research Limited" 6A1 o="GLIAL TECHNOLOGY" 6A2 o="Root Automation" 6A3 o="OutdoorLink" 6A4 o="Acrodea, Inc." 6A5 o="Akenori PTE LTD" 6A6 o="WOW System" 6A8 o="Vitsch Electronics" 6A9 o="OHMORI ELECTRIC INDUSTRIES CO.LTD" 6AB o="ARROW (CHINA) ELECTRONICS TRADING CO., LTD." 6AD o="CONNIT" 6AE o="Hangzhou Weimu Technology Co,.Ltd." 6AF o="Sensorberg GmbH" 6B0 o="PTYPE Co., LTD." 6B1 o="TTC TELEKOMUNIKACE, s.r.o." 6B2 o="CRDE" 6B3 o="DuraComm Corporation" 6B5 o="ART SPA" 6B6 o="INRADIOS GmbH" 6B7 o="Grossenbacher Systeme AG" 6B8 o="BT9" 6B9 o="Becton Dickinson" 6BA o="Integrotech sp. z o.o." 6BB o="LUCEO" 6BC o="EA Elektroautomatik GmbH & Co. KG" 6BD o="RCH Vietnam Limited Liability Company" 6BE o="VANTAGE INTEGRATED SECURITY SOLUTIONS PVT LTD" 6BF o="Otto Bihler Maschinenfabrik GmbH & Co. KG" 6C1 o="Labtronik s.r.l." 6C2 o="TEX COMPUTER SRL" 6C3 o="BEIJING ZGH SECURITY RESEARCH INSTITUTE CO., LTD" 6C5 o="CJSC «Russian telecom equipment company» (CJSC RTEC)" 6C6 o="Abbott Diagnostics Technologies AS" 6C7 o="Becton Dickinson" 6CA o="LINEAGE POWER PVT LTD.," 6CB o="NAJIN automation" 6CD o="NORTHBOUND NETWORKS PTY. LTD." 6CE o="Eredi Giuseppe Mercuri SPA" 6D0 o="Code Blue Corporation" 6D1 o="Visual Engineering Technologies Ltd" 6D2 o="Ahrens & Birner Company GmbH" 6D3 o="DEUTA-WERKE GmbH" 6D6 o="KMtronic Ltd." 6D8 o="Shanghai YuanAn Environmental Protection Technology Co.,Ltd" 6D9 o="VECTARE Inc" 6DA o="Enovative Networks, Inc." 6DD o="Abbott Diagnostics Technologies AS" 6DE o="Ametek Solidstate Controls" 6DF o="Mango DSP, Inc." 6E0 o="ABB SPA - DMPC" 6E1 o="Shanghai Holystar Information Technology Co.,Ltd" 6E3 o="SHEN ZHEN QLS ELECTRONIC TECHNOLOGY CO.,LTD." 6E4 o="Institute of Power Engineering, Gdansk Division" 6E5 o="DEUTA-WERKE GmbH" 6E6 o="Eleven Engineering Incorporated" 6E7 o="AML" 6E8 o="Blu Wireless Technology Ltd" 6E9 o="Krontech" 6EA o="Edgeware AB" 6EB o="QUANTAFLOW" 6EC o="CRDE" 6ED o="Wiingtech International Co. LTD." 6EE o="HANKOOK CTEC CO,. LTD." 6F0 o="iTelaSoft Pvt Ltd" 6F1 o="Discover Battery" 6F2 o="P&C Micro's Pty Ltd" 6F3 o="iungo" 6F6 o="Acco Brands Europe" 6F7 o="EGICON SRL" 6F8 o="SENSEON Corporation" 6F9 o="ENVItech s.r.o." 6FA o="Dataforth Corporation" 6FB o="Shachihata Inc." 6FC o="MI Inc." 6FD o="Core Akıllı Ev Sistemleri" 6FE o="NTO IRE-POLUS" 6FF o="AKEO PLUS" 700 o="University Of Groningen" 701 o="COMPAR Computer GmbH" 702 o="Sensor Highway Ltd" 703 o="StromIdee GmbH" 704 o="Melecs EWS GmbH" 705 o="Digital Matter Pty Ltd" 706 o="Smith Meter, Inc." 707 o="Koco Motion US LLC" 708 o="IBM Research GmbH" 709 o="AML" 70A o="PULLNET TECHNOLOGY, SA DE CV SSC1012302S73" 70B o="Alere Technologies AS" 70E o="Wuhan Xingtuxinke ELectronic Co.,Ltd" 70F o="Alion Science & Technology" 710 o="Guardian Controls International Ltd" 711 o="X-Laser LLC" 712 o="APG Cash Drawer, LLC" 714 o="Alturna Networks" 715 o="RIOT" 716 o="Lode BV" 717 o="Secure Systems & Services" 718 o="PEEK TRAFFIC" 719 o="2M Technology" 71B o="elsys" 71E o="Motec Pty Ltd" 721 o="Zoe Medical" 722 o="UMAN" 723 o="LG Electronics" 724 o="Quan International Co., Ltd." 726 o="ATGS" 727 o="LP Technologies Inc." 728 o="BCD Audio" 729 o="EMAC, Inc." 72A o="MRC Systems GmbH" 72C o="NuRi&G Engineering co,.Ltd." 72D o="Kron Medidores" 72E o="Maharsystem" 72F o="AVA Technologies Inc." 730 o="Videogenix" 731 o="Phoniro Systems AB" 732 o="TOFWERK AG" 733 o="SA Instrumentation Limited" 734 o="MANSION INDUSTRY CO., LTD." 735 o="Swiss Audio" 737 o="SD Biosensor" 739 o="Zigencorp, Inc" 73B o="S-I-C" 73C o="Centro de Ingenieria y Desarrollo industrial" 73D o="NETWAYS GmbH" 73E o="Trident RFID Pty Ltd" 740 o="Prisma Telecom Testing Srl" 741 o="HOW-E" 742 o="YUYAMA MFG Co.,Ltd" 743 o="EA Elektroautomatik GmbH & Co. KG" 745 o="TMSI LLC" 747 o="Eva Automation" 748 o="KDT" 749 o="Granite River Labs Inc" 74A o="Mettler Toledo" 74B o="Code Blue Corporation" 74C o="Kwant Controls BV" 74D o="SPEECH TECHNOLOGY CENTER LIMITED" 74E o="PushCorp, Inc." 74F o="United States Technologies Inc." 750 o="Neurio Technology Inc." 751 o="GNF" 752 o="Guan Show Technologe Co., Ltd." 753 o="HCH. Kündig & CIE. AG" 754 o="COSMOIT.CO.LTD" 755 o="LandmarkTech Systems Technology Co.,Ltd." 757 o="GABO" 758 o="Grossenbacher Systeme AG" 759 o="AML" 75A o="Standard Backhaul Communications" 75B o="Netool LLC" 75C o="UPM Technology, Inc" 75D o="Nanjing Magewell Electronics Co., Ltd." 75E o="Cardinal Health" 75F o="Vocality international T/A Cubic" 760 o="QUALITTEQ LLC" 761 o="Critical Link LLC" 763 o="A Trap, USA" 764 o="SCHMID electronic" 765 o="LG Electronics" 766 o="Tirasoft Nederland" 767 o="FRANKLIN FRANCE" 768 o="Kazan Networks Corporation" 76A o="Swiftnet SOC Ltd" 76B o="EMPELOR GmbH" 76C o="Aural Ltd" 76D o="Trimble" 76E o="Grupo Epelsa S.L." 76F o="OTI LTD" 770 o="STREGA" 771 o="Apator Miitors ApS" 772 o="enModus" 773 o="Rugged Science" 774 o="Micram Instruments Ltd" 775 o="Sonel S.A." 776 o="Power Ltd." 777 o="QUERCUS TECHNOLOGIES, S.L." 778 o="Lumacron Technology Ltd." 779 o="DR.BRIDGE AQUATECH" 77A o="Tecsag Innovation AG" 77B o="AeroVision Avionics, Inc." 77C o="HUSTY M.Styczen J.Hupert Sp.J." 77D o="APG Cash Drawer, LLC" 77E o="Blue Marble Communications, Inc." 780 o="NIDEC LEROY-SOMER" 781 o="Project Service S.a.s." 782 o="thou&tech" 783 o="CHIeru., CO., Ltd." 784 o="Shenzhen bayue software co. LTD" 785 o="Density Inc." 786 o="RCH Vietnam Limited Liability Company" 787 o="Den Automation" 788 o="Slan" 789 o="SEMEX-EngCon GmbH" 78A o="Hills Health Solutions" 78B o="Jingtu Printing Systems Co., Ltd" 78C o="Survalent Technology Corporation" 78E o="effectas GmbH" 78F o="SoFiHa" 790 o="AVI Pty Ltd" 791 o="Romteck Australia" 793 o="Gastech Australia Pty Ltd" 794 o="Shadin Avionics" 795 o="TIECHE Engineered Systems" 796 o="GAMPT mbH" 797 o="Mitsubishi Electric India Pvt. Ltd." 799 o="Vitec System Engineering Inc." 79A o="Innerspec Technologies Inc." 79B o="Soniclean Pty Ltd" 79D o="Editech Co., Ltd" 79E o="CW2. Gmbh & Co. KG" 79F o="Green Instruments A/S" 7A0 o="Reactec Ltd" 7A1 o="Excelfore Corporation" 7A2 o="Alpha ESS Co., Ltd." 7A3 o="Impulse Automation" 7A4 o="Potter Electric Signal Co. LLC" 7A5 o="Triton Electronics Ltd" 7A6 o="Electrolux" 7A7 o="Symbicon Ltd" 7A8 o="dieEntwickler Elektronik GmbH" 7A9 o="adidas AG" 7AA o="Sadel S.p.A." 7AB o="Microgate Srl" 7AC o="Verity Studios AG" 7AD o="Insitu, Inc" 7AE o="Exi Flow Measurement Ltd" 7AF o="Hessware GmbH" 7B0 o="Medisafe International" 7B2 o="Rail Power Systems GmbH" 7B3 o="BroadSoft Inc" 7B4 o="Zumbach Electronic AG" 7B6 o="Amada Miyachi America Inc." 7B7 o="LSB - LA SALLE BLANCHE" 7B8 o="SerEnergy A/S" 7B9 o="QIAGEN Instruments AG" 7BA o="Decentlab GmbH" 7BB o="Aloxy" 7BC o="FIRST RF Corporation" 7BE o="Phytron GmbH" 7BF o="Stone Three" 7C0 o="TORGOVYY DOM TEHNOLOGIY LLC" 7C1 o="Data Sciences International" 7C2 o="Morgan Schaffer Inc." 7C3 o="Flexim Security Oy" 7C4 o="MECT SRL" 7C6 o="Utrend Technology (Shanghai) Co., Ltd" 7C7 o="Sicon srl" 7C8 o="CRDE" 7C9 o="Council Rock" 7CA o="Hunan Shengyun Photoelectric Technology Co., Ltd." 7CB o="KeyW Corporation" 7CD o="Molekuler Goruntuleme A.S." 7CE o="Aplex Technology Inc." 7CF o="ORCA Technologies, LLC" 7D0 o="Cubitech" 7D1 o="Schneider Electric Motion USA" 7D2 o="SDK Kristall" 7D5 o="SICS Swedish ICT" 7D6 o="Yukilab" 7D7 o="Gedomo GmbH" 7D9 o="ATOM GIKEN Co.,Ltd." 7DA o="Grupo Epelsa S.L." 7DB o="aquila biolabs GmbH" 7DC o="Software Systems Plus" 7DD o="Excel Medical Electronics LLC" 7DE o="Telaeris, Inc." 7DF o="RDT Ltd" 7E0 o="Sanko-sha,inc." 7E1 o="Applied Materials" 7E2 o="Depro Électronique inc" 7E3 o="RedLeaf Security" 7E4 o="C21 Systems Ltd" 7E5 o="Megaflex Oy" 7E7 o="Atessa, Inc." 7E8 o="Mannkind Corporation" 7E9 o="Mecsel Oy" 7EA o="Waterkotte GmbH" 7EB o="Xerox International Partners" 7EC o="GRIDSMART Technologies" 7ED o="The Things Network Foundation" 7EE o="ADVEEZ" 7EF o="CRAVIS CO., LIMITED" 7F1 o="AeroVision Avionics, Inc." 7F2 o="TCI" 7F3 o="Shenzhen Virtual Clusters Information Technology Co.,Ltd." 7F4 o="KST technology" 7F5 o="Incusense" 7F7 o="JASCO Applied Sciences Canada Ltd" 7F8 o="Solvera Lynx d.d." 7F9 o="Communication Systems Solutions" 7FB o="db Broadcast Products Ltd" 7FD o="SYS TEC electronic GmbH" 7FE o="RCH ITALIA SPA" 7FF o="eumig industrie-TV GmbH." 800 o="HeadsafeIP PTY LTD" 802 o="Qingdao CNR HITACH Railway Signal&communication co.,ltd" 803 o="Grossenbacher Systeme AG" 804 o="PMT Corporation" 805 o="Eurotronik Kranj d.o.o." 807 o="Camsat Przemysław Gralak" 808 o="Becton Dickinson" 809 o="Tecnint HTE SRL" 80A o="SENSING LABS" 80B o="Fischer Block, Inc." 80D o="Data Physics Corporation" 80F o="Quickware Eng & Des LLC" 810 o="Advice" 811 o="CJSC «INTERSET»" 813 o="Wavemed srl" 814 o="Ingenieurbuero SOMTRONIK" 815 o="Waco Giken Co., Ltd." 816 o="Smith Meter, Inc." 817 o="Aplex Technology Inc." 818 o="CRDE" 819 o="«Intellect module» LLC" 81A o="Joehl & Koeferli AG" 81B o="bobz GmbH" 81D o="DEUTA-WERKE GmbH" 81E o="Novathings" 820 o="Becker Nachrichtentechnik GmbH" 821 o="HL2 group" 822 o="Angora Networks" 823 o="SP Controls" 824 o="Songwoo Information & Technology Co., Ltd" 825 o="TATTILE SRL" 826 o="Elbit Systems of America" 827 o="Metromatics Pty Ltd" 828 o="Xacti Corporation" 82C o="NELS Ltd." 82D o="Elektronik Art S.C." 82E o="PlayAlive A/S" 830 o="Nordson Corporation" 831 o="Arnouse Digital Devices Corp" 832 o="Potter Electric Signal Co. LLC" 833 o="Alpiq InTec Management AG" 834 o="NCE Network Consulting Engineering srl" 835 o="CommBox P/L" 836 o="Authenticdata" 837 o="HiDes, Inc." 838 o="Tofino" 839 o="Rockwell Collins Canada" 83A o="EMDEP CENTRO TECNOLOGICO MEXICO" 83B o="Telefonix Incorporated" 83C o="Sinoembed" 83E o="The Dini Group, La Jolla inc." 83F o="Lumine Lighting Solutions Oy" 840 o="xm" 841 o="Stanet Co.,Ltd" 842 o="PLUTO Solution co.,ltd." 843 o="OOO Research and Production Center %Computer Technologies%" 844 o="SANSFIL Technologies" 845 o="Harborside Technology" 847 o="Ai-Lynx" 848 o="Aldridge Electrical Industries" 849 o="RF-Tuote Oy" 84A o="MOG Laboratories Pty Ltd" 84B o="QuestHouse, Inc." 84C o="CoreKinect" 84D o="Quantum Design Inc." 84E o="Chromalox, Inc." 84F o="Mettler Toledo" 850 o="REO AG" 851 o="EXASCEND (Wuhan) Co., Ltd" 852 o="NetBoxSC, LLC" 853 o="HGH SYSTEMES INFRAROUGES" 854 o="Adimec Advanced Image Systems" 855 o="CRDE" 857 o="RCH ITALIA SPA" 858 o="Hubbell Power Systems" 85A o="BRUSHIES" 85B o="TSUBAKIMOTO CHAIN CO." 85C o="Robot Pub Group" 85D o="ATHREYA INC" 85E o="XLOGIC srl" 85F o="YUYAMA MFG Co.,Ltd" 860 o="KBS Industrieelektronik GmbH" 861 o="KST technology" 862 o="TripleOre" 863 o="Shenzhen Wesion Technology Co., Ltd" 865 o="Insitu, Inc." 866 o="MEPS Realtime" 868 o="U-JIN Mesco Co., Ltd." 86A o="Stealth Communications" 86B o="AVL DiTEST" 86C o="eeas gmbh" 86D o="Census Digital Incorporated" 86E o="Profcon AB" 86F o="LLC %NTC ACTOR%" 870 o="bentrup Industriesteuerungen" 871 o="Oso Technologies" 873 o="Vishay Nobel AB" 874 o="NORTHBOUND NETWORKS PTY. LTD." 875 o="Peek Traffic" 876 o="IONETECH" 877 o="Polynet Telecommunications Consulting and Contractor Ltd." 878 o="Package Guard, Inc" 879 o="ZIGPOS GmbH" 87B o="Liquid Instruments Pty Ltd" 87C o="Nautel Limited" 87D o="INVIXIUM ACCESS INC." 87E o="Septentrio NV" 87F o="NAC Planning Co., Ltd." 880 o="Skopei B.V." 881 o="TATTILE SRL" 882 o="SIMON TECH, S.L." 884 o="LG Electronics" 885 o="QuirkLogic" 888 o="Zetechtics Ltd" 889 o="Innovative Circuit Technology" 88A o="Perceptics, LLC" 88B o="WUHAN EASYLINKIN TECHNOLOGY co.,LTD" 88D o="LG Electronics" 88E o="RCH Vietnam Limited Liability Company" 88F o="Quaesta Instruments, LLC" 890 o="EIDOS s.r.l." 891 o="neocontrol soluções em automação" 892 o="ABB" 893 o="Cubitech" 894 o="UnI Systech Co.,Ltd" 895 o="Integrated Control Corp." 896 o="Shanghai Longpal Communication Equipment Co., Ltd." 897 o="EFG CZ spol. s r.o." 899 o="Viotec USA" 89A o="Algodue Elettronica Srl" 89B o="ControlWorks, Inc." 89C o="IHI Rotating Machinery Engineering Co.,Ltd." 89D o="e-Matix Corporation" 89E o="Innovative Control Systems, LP" 8A0 o="DM RADIOCOM" 8A2 o="WINNERS DIGITAL CORPORATION" 8A4 o="Phyton, Inc. Microsystems and Development Tools" 8A5 o="KST technology" 8A6 o="CRDE" 8A7 o="Tucsen Photonics Co., Ltd." 8A8 o="megatec electronic GmbH" 8A9 o="WoKa-Elektronik GmbH" 8AA o="TATTILE SRL" 8AB o="EMAC, Inc." 8AC o="​ASUNG TECHNO CO.,Ltd" 8AD o="Global Communications Technology LLC" 8AE o="FARECO" 8AF o="QBIC COMMUNICATIONS DMCC" 8B0 o="IES S.r.l." 8B1 o="M-Tech Innovations Limited" 8B2 o="NPF Modem, LLC" 8B3 o="Firefly RFID Solutions" 8B4 o="Scenario Automation" 8B7 o="Contec Americas Inc." 8B8 o="GDI Technology Inc" 8B9 o="Toptech Systems, Inc." 8BA o="TIAMA" 8BB o="KST technology" 8BC o="GSI GeoSolutions International Ltd" 8BE o="Connoiseur Electronics Private Limited" 8BF o="Hangzhou Leaper Technology Co. Ltd." 8C0 o="SenseNL" 8C1 o="Rievtech Electronic Co.,Ltd" 8C2 o="F-domain corporation" 8C3 o="Wyebot, Inc." 8C4 o="APE GmbH" 8C5 o="HMicro Inc" 8C6 o="Onosokki Co.,Ltd" 8C7 o="Henschel-Robotics GmbH" 8C8 o="KRONOTECH SRL" 8CA o="Allied Data Systems" 8CB o="WELT Corporation" 8CC o="Piranha EMS Inc." 8CD o="EA Elektroautomatik GmbH & Co. KG" 8CE o="CORES Corporation" 8CF o="Dainichi Denshi Co.,LTD" 8D0 o="Raft Technologies" 8D3 o="PERFORMANCE CONTROLS, INC." 8D7 o="Schneider Electric Motion USA" 8D8 o="VNG Corporation" 8D9 o="MB connect line GmbH Fernwartungssysteme" 8DA o="MicroElectronics System Co.Ltd" 8DB o="Kratos Analytical Ltd" 8DC o="Niveo International BV" 8DF o="DORLET SAU" 8E0 o="SOUDAX EQUIPEMENTS" 8E1 o="WoKa-Elektronik GmbH" 8E2 o="Zhiye Electronics Co., Ltd." 8E3 o="DORLET SAU" 8E4 o="Aplex Technology Inc." 8E6 o="Mothonic AB" 8EA o="JLCooper Electronics" 8EB o="Procon Electronics Pty Ltd" 8EC o="Rudy Tellert" 8ED o="NanoSense" 8EE o="Network Additions" 8EF o="Beeper Communications Ltd." 8F0 o="ERAESEEDS co.,ltd." 8F2 o="Rimota Limited" 8F3 o="TATTILE SRL" 8F4 o="ACQUA-SYSTEMS srls" 8F5 o="Stmovic" 8F6 o="Dofuntech Co.,LTD." 8F7 o="I.E. Sevko A.V." 8F8 o="Wi6labs" 8FA o="DEA SYSTEM SPA" 8FF o="IMST GmbH" 901 o="ATS-CONVERS" 902 o="Unlimiterhear co.,ltd. taiwan branch" 903 o="Cymtec Ltd" 904 o="PHB Eletronica Ltda." 906 o="Aplex Technology Inc." 907 o="NINGBO CRRC TIMES TRANSDUCER TECHNOLOGY CO., LTD" 908 o="Accusonic" 90A o="Hangzhou SunTown Intelligent Science & Technology Co.,Ltd." 90B o="Matrix Switch Corporation" 90C o="ANTEK GmbH" 90D o="Modtronix Engineering" 90E o="Maytronics Ltd." 90F o="DTRON Communications (Pty) Ltd" 910 o="Eginity, Inc." 911 o="Equatel" 913 o="Shenzhen Riitek Technology Co.,Ltd" 914 o="Contec Americas Inc." 916 o="Techno Mathematical Co.,Ltd" 917 o="KSJ Co.Ltd" 918 o="Glova Rail A/S" 91A o="Fujian Landfone Information Technology Co.,Ltd" 91B o="Dolotron d.o.o." 91C o="Alere Technologies AS" 91D o="Cubitech" 91E o="Creotech Instruments S.A." 91F o="JSC %InformInvestGroup%" 920 o="SLAT" 922 o="Adcole Maryland Aerospace" 923 o="eumig industrie-tv GmbH" 924 o="Meridian Technologies Inc" 925 o="Diamante Lighting Srl" 926 o="Advice" 927 o="LG Electronics" 929 o="OutSys" 92A o="Miravue" 92B o="ENTEC Electric & Electronic Co., LTD." 92C o="DISMUNTEL SAL" 92D o="Suzhou Wansong Electric Co.,Ltd" 92E o="Medical Monitoring Center OOD" 92F o="SiFive" 930 o="The Institute of Mine Seismology" 931 o="MARINE INSTRUMENTS, S.A." 932 o="Rohde&Schwarz Topex SA" 933 o="SARL S@TIS" 934 o="RBS Netkom GmbH" 935 o="Sensor Developments" 936 o="FARO TECHNOLOGIES, INC." 937 o="TATTILE SRL" 938 o="JETI Technische Instrumente GmbH" 939 o="Invertek Drives Ltd" 93A o="Braemar Manufacturing, LLC" 93B o="Changchun FAW Yanfeng Visteon Automotive Electronics.,Ltd." 93E o="Systems With Intelligence Inc." 940 o="Paradigm Technology Services B.V." 941 o="Triax A/S" 942 o="TruTeq Devices (Pty) Ltd" 943 o="Abbott Medical Optics Inc." 945 o="Symboticware Incorporated" 946 o="GREATWALL Infotech Co., Ltd." 947 o="Checkbill Co,Ltd." 948 o="VISION SYSTEMS AURTOMOTIVE (SAFETY TECH)" 949 o="National Radio & Telecommunication Corporation - NRTC" 94A o="SHENZHEN WISEWING INTERNET TECHNOLOGY CO.,LTD" 94B o="RF Code" 94D o="SEASON DESIGN TECHNOLOGY" 94E o="BP Lubricants USA, Inc." 94F o="MART NETWORK SOLUTIONS LTD" 950 o="CMT Medical technologies" 951 o="Trident Systems Inc" 952 o="REQUEA" 953 o="Spectrum Techniques, LLC" 954 o="Dot System S.r.l." 955 o="Dynacard Co., Ltd." 956 o="AeroVision Avionics, Inc." 957 o="EA Elektroautomatik GmbH & Co. KG" 958 o="pureLiFi Ltd" 959 o="Zulex International Co.,Ltd." 95A o="Sigmann Elektronik GmbH" 95B o="SRS Group s.r.o." 95C o="Wilson Electronics" 95E o="BLOCKSI LLC" 95F o="WiFi Nation Ltd" 960 o="HORIZON TELECOM" 961 o="TASK SISTEMAS DE COMPUTACAO LTDA" 963 o="Triax A/S" 964 o="Visility" 966 o="dA Tomato Limited" 967 o="TATTILE SRL" 968 o="LGM Ingénierie" 969 o="Emtel System Sp. z o.o." 96B o="FOCAL-JMLab" 96D o="MSB Elektronik und Gerätebau GmbH" 96E o="Myostat Motion Control Inc" 96F o="4CAM GmbH" 970 o="Bintel AB" 971 o="RCH ITALIA SPA" 972 o="AixControl GmbH" 973 o="Autonomic Controls, Inc." 974 o="Jireh Industries Ltd." 975 o="Coester Automação Ltda" 976 o="Atonarp Micro-Systems India Pvt. Ltd." 977 o="Engage Technologies" 978 o="Satixfy Israel Ltd." 979 o="eSMART Technologies SA" 97A o="Orion Corporation" 97B o="WIKA Alexander Wiegand SE & Co. KG" 97C o="Nu-Tek Power Controls and Automation" 97D o="RCH Vietnam Limited Liability Company" 97E o="Public Joint Stock Company Morion" 97F o="BISTOS.,Co.,Ltd" 980 o="Beijing Yourong Runda Rechnology Development Co.Ltd." 981 o="Zamir Recognition Systems Ltd." 982 o="3S - Sensors, Signal Processing, Systems GmbH" 983 o="ENS Engineered Network Systems" 984 o="Sanmina Israel" 985 o="Burk Technology" 986 o="Aplex Technology Inc." 987 o="AXIS CORPORATION" 989 o="DCNS" 98A o="vision systems safety tech" 98B o="Richard Paul Russell Ltd" 98C o="University of Wisconsin Madison - Department of High Energy Physics" 98E o="Autocom Diagnostic Partner AB" 98F o="Spaceflight Industries" 990 o="Energy Wall" 991 o="Javasparrow Inc." 993 o="ioThings" 994 o="KeFF Networks" 995 o="LayTec AG" 996 o="XpertSea Solutions inc." 997 o="ProTom International" 999 o="LOGICUBE INC" 99A o="KEVIC. inc," 99B o="RCH ITALIA SPA" 99C o="Enerwise Solutions Ltd." 99E o="Trinity College Dublin" 99F o="Confed Holding B.V." 9A0 o="ELDES" 9A1 o="ITS Industrial Turbine Services GmbH" 9A2 o="O-Net Communications(Shenzhen)Limited" 9A4 o="Nordmann International GmbH" 9A5 o="Softel" 9A7 o="Honeywell" 9A9 o="PABLO AIR Co., LTD" 9AA o="Tecsys do Brasil Industrial Ltda" 9AB o="Groupe Paris-Turf" 9AC o="Suzhou Sapa Automotive Technology Co.,Ltd" 9AD o="Fortuna Impex Pvt ltd" 9AE o="Volansys technologies pvt ltd" 9AF o="Shanghai Brellet Telecommunication Technology Co., Ltd." 9B0 o="Clearly IP Inc" 9B1 o="Aplex Technology Inc." 9B2 o="CONTINENT, Ltd" 9B3 o="K&J Schmittschneider AG" 9B4 o="MyoungSung System" 9B5 o="Ideetron b.v." 9B6 o="Intercomp S.p.A." 9B7 o="Itronics Ltd" 9B8 o="Loma Systems s.r.o." 9B9 o="Aethera Technologies" 9BA o="ATIM Radiocommunication" 9BD o="Signal Processing Devices Sweden AB" 9BE o="Izome" 9BF o="Xiris Automation Inc." 9C0 o="Schneider Displaytechnik GmbH" 9C1 o="Zeroplus Technology Co.,Ltd." 9C3 o="Sevensense Robotics AG" 9C4 o="aelettronica group srl" 9C5 o="LINEAGE POWER PVT LTD.," 9C6 o="Overspeed SARL" 9C7 o="YUYAMA MFG Co.,Ltd" 9C8 o="Applied Systems Engineering, Inc." 9C9 o="PK Sound" 9CA o="KOMSIS ELEKTRONIK SISTEMLERI SAN. TIC. LTD.STI" 9CB o="Alligator Communications" 9CC o="Zaxcom Inc" 9CE o="Terragene S.A" 9CF o="IOTIZE" 9D0 o="RJ45 Technologies" 9D1 o="OS42 UG (haftungsbeschraenkt)" 9D2 o="ACS MOTION CONTROL" 9D3 o="Communication Technology Ltd." 9D4 o="Wartsila Voyage Limited" 9D5 o="Southern Tier Technologies" 9D6 o="Crown Solar Power Fencing Systems" 9D7 o="KM OptoElektronik GmbH" 9D9 o="ATX Networks Corp" 9DA o="Blake UK" 9DB o="CAS Medical Systems, Inc" 9DC o="Shanghai Daorech Industry Developmnet Co.,Ltd" 9DD o="HumanEyes Technologies Ltd." 9DE o="System 11 Sp. z o.o." 9DF o="DOBE Computing" 9E0 o="ES Industrial Systems Co., Ltd." 9E1 o="Bolide Technology Group, Inc." 9E2 o="Ofil USA" 9E3 o="LG Electronics" 9E6 o="BLOCKSI LLC" 9E7 o="Xiamen Maxincom Technologies Co., Ltd." 9E8 o="Zerospace ICT Services B.V." 9EA o="Blue Storm Associates, Inc." 9EB o="Preston Industries dba PolyScience" 9EC o="eSoftThings" 9ED o="Benchmark Electronics BV" 9EF o="Cottonwood Creek Technologies, Inc." 9F0 o="FUJICOM Co.,Ltd." 9F1 o="RFEL Ltd" 9F2 o="Acorde Technologies" 9F4 o="Tband srl" 9F5 o="Vickers Electronics Ltd" 9F6 o="Edgeware AB" 9F7 o="Foerster-Technik GmbH" 9F8 o="Asymmetric Technologies" 9F9 o="Fluid Components Intl" 9FA o="Ideas srl" 9FB o="Unicom Global, Inc." 9FC o="Truecom Telesoft Private Limited" 9FD o="amakidenki" 9FE o="SURUGA SEIKI CO., LTD." A00 o="ATX NETWORKS LTD" A01 o="FeldTech GmbH" A04 o="Galea Electric S.L." A05 o="Wartsila Voyage Limited" A06 o="Kopis Mobile LLC" A07 o="IoTrek Technology Private Limited" A08 o="BioBusiness" A0A o="CAPSYS" A0B o="ambiHome GmbH" A0D o="Globalcom Engineering SPA" A0E o="Vetaphone A/S" A0F o="OSAKI DATATECH CO., LTD." A10 o="w-tec AG" A12 o="QUERCUS TECHNOLOGIES, S.L." A13 o="Uplevel Systems Inc" A15 o="Intercore GmbH" A17 o="Tunstall A/S" A18 o="Embedded Systems Lukasz Panasiuk" A19 o="Qualitronix Madrass Pvt Ltd" A1B o="Potter Electric Signal Co. LLC" A1C o="MECA SYSTEM" A1D o="Fluid Components International" A1F o="GlobalTest LLC" A20 o="Design For Life Systems" A21 o="PPI Inc." A22 o="eSys Solutions Sweden AB" A24 o="Booz Allen Hamilton" A25 o="PulseTor LLC" A26 o="Hear Gear, Inc." A27 o="HDL da Amazônia Industria Eletrônica Ltda" A28 o="PEEK TRAFFIC" A29 o="QIAGEN Instruments AG" A2A o="Redwood Systems" A2B o="Clever Devices" A2C o="TLV CO., LTD." A2D o="Project Service S.r.l." A2E o="Kokam Co., Ltd" A2F o="Botek Systems AB" A30 o="SHEN ZHEN HUAWANG TECHNOLOGY CO; LTD" A32 o="Toughdog Security Systems" A33 o="TIAMA" A34 o="RCH ITALIA SPA" A35 o="Sicon srl" A36 o="Beijing DamingWuzhou Science&Technology Co., Ltd." A37 o="MITSUBISHI HEAVY INDUSTRIES THERMAL SYSTEMS, LTD." A38 o="Aditec GmbH" A39 o="SPETSSTROY-SVYAZ Ltd" A3A o="EPSOFT Co., Ltd" A3B o="Grace Design/Lunatec LLC" A3C o="Wave Music Ltd" A3D o="SMART IN OVATION GmbH" A3F o="PHPower Srl" A40 o="STRACK LIFT AUTOMATION GmbH" A41 o="THELIGHT Luminary for Cine and TV S.L." A42 o="iMAR Navigation GmbH" A43 o="OLEDCOMM" A44 o="FSR, INC." A45 o="Viper Innovations Ltd" A46 o="Foxconn 4Tech" A47 o="KANOA INC" A48 o="Applied Satellite Engineering" A49 o="Unipower AB" A4A o="Beijing Arrow SEED Technology Co,.Ltd." A4B o="McKay Brothers LLC" A4C o="Alere Technologies AS" A4D o="LANSITEC TECHNOLOGY CO., LTD" A4E o="Array Technologies Inc." A4F o="Weltek Technologies Co. Ltd." A50 o="LECIP CORPORATION" A51 o="RF Code" A52 o="APEX Stabilizations GmbH" A53 o="GS Industrie-Elektronik GmbH" A54 o="provedo" A55 o="Embest Technology Co., Ltd" A56 o="DORLET SAU" A57 o="PCSC" A58 o="MCQ TECH GmbH" A59 o="Muuntosähkö Oy - Trafox" A5A o="RCS Energy Management Ltd" A5B o="Christ Elektronik GmbH" A5C o="Molekule" A5D o="Position Imaging" A5E o="ConectaIP Tecnologia S.L." A5F o="Daatrics LTD" A60 o="Pneumax S.p.A." A62 o="Environexus" A64 o="Newshine" A66 o="Trapeze Software Group Inc" A67 o="Gstar Creation Co .,Ltd" A68 o="Zhejiang Zhaolong Interconnect Technology Co.,Ltd" A69 o="Leviathan Solutions Ltd." A6A o="Privafy, Inc" A6B o="xmi systems" A6C o="Controles S.A." A6D o="Metek Meteorologische Messtechnik GmbH" A6E o="JSC Electrical Equipment Factory" A6F o="8Cups" A70 o="Gateview Technologies" A71 o="Samwell International Inc" A72 o="Business Marketers Group, Inc." A73 o="MobiPromo" A74 o="Sadel S.p.A." A75 o="Taejin InforTech" A76 o="Pietro Fiorentini" A78 o="Bionics co.,ltd." A7A o="Fluid Management Technology" A7B o="SmartSafe" A7C o="Transelektronik Messgeräte GmbH" A7D o="Prior Scientific Instruments Ltd" A7E o="QUICCO SOUND Corporation" A7F o="AUDIO VISUAL DIGITAL SYSTEMS" A80 o="EVCO SPA" A81 o="Sienda New Media Technologies GmbH" A82 o="Telefrank GmbH" A83 o="SHENZHEN HUINENGYUAN Technology Co., Ltd" A84 o="SOREL GmbH Mikroelektronik" A85 o="exceet electronics GesmbH" A86 o="Divigraph (Pty) LTD" A87 o="Tornado Modular Systems" A88 o="Shangdong Bosure Automation Technology Ltd" A89 o="GBS COMMUNICATIONS, LLC" A8A o="JSC VIST Group" A8B o="Giant Power Technology Biomedical Corporation" A8D o="Code Blue Corporation" A8E o="OMESH CITY GROUP" A90 o="ERA a.s." A91 o="IDEAL INDUSTRIES Ltd t/a Casella" A92 o="Grossenbacher Systeme AG" A93 o="Mes Communication Co., Ltd" A94 o="ETA Technology Pvt Ltd" A95 o="DEUTA-WERKE GmbH" A96 o="Östling Marking Systems GmbH" A97 o="Bizwerks, LLC" A98 o="Pantec AG" A99 o="Bandelin electronic GmbH & Co. KG" A9A o="Amphenol Advanced Sensors" A9B o="OSMOZIS" A9C o="Veo Technologies" A9D o="VITEC MULTIMEDIA" A9E o="Argon ST" AA0 o="Simple Works, Inc." AA1 o="Shenzhen Weema TV Technology Co.,Ltd." AA2 o="eumig industrie-TV GmbH." AA3 o="LINEAGE POWER PVT LTD.," AA4 o="Pullnet Technology,S.L." AA5 o="MB connect line GmbH Fernwartungssysteme" AA6 o="Proximus" AA7 o="ATEME" AA8 o="West-Com Nurse Call Systems, Inc." AA9 o="Datamars SA" AAA o="Xemex NV" AAC o="SensoTec GmbH" AAD o="Bartec GmbH" AAE o="Nuviz Oy" AAF o="Exi Flow Measurement Ltd" AB0 o="OSR R&D ISRAEL LTD" AB2 o="Power Electronics Espana, S.L." AB3 o="MICAS AG" AB4 o="SYS TEC electronic GmbH" AB5 o="BroadSoft Inc" AB6 o="SmartD Technologies Inc" AB7 o="SIGLEAD INC" AB8 o="HORIBA ABX SAS" AB9 o="Dynamic Controls" ABA o="CL International" ABB o="David Horn Communications Ltd" ABC o="BKM-Micronic Richtfunkanlagen GmbH" ABD o="wtec GmbH" ABE o="MART NETWORK SOLUTIONS LTD" ABF o="AGR International" AC0 o="RITEC" AC1 o="AEM Singapore Pte. Ltd." AC3 o="Novoptel GmbH" AC4 o="Lexi Devices, Inc." AC5 o="ATOM GIKEN Co.,Ltd." AC6 o="SMTC Corporation" AC7 o="vivaMOS" AC8 o="Heartland.Data Inc." AC9 o="Trinity Solutions LLC" ACA o="Tecnint HTE SRL" ACB o="TATTILE SRL" ACC o="Schneider Electric Motion USA" ACD o="CRDE" ACF o="APG Cash Drawer, LLC" AD1 o="Sensile Technologies SA" AD2 o="Wart-Elektronik" AD5 o="Birdland Audio" AD6 o="Lemonade Lab Inc" AD8 o="Euklis by GSG International" ADB o="RF Code" ADC o="SODAQ" ADD o="GHL Systems Berhad" ADE o="ISAC SRL" ADF o="Seraphim Optronics Ltd" AE0 o="AnyComm.Co.,Ltd." AE1 o="DimoCore Corporation" AE2 o="Wartsila Voyage Limited" AE3 o="Zhejiang Wellsun Electric Meter Co.,Ltd" AE5 o="BeatCraft, Inc." AE6 o="Ya Batho Trading (Pty) Ltd" AE7 o="E-T-A Elektrotechnische Apparate GmbH" AE9 o="Cari Electronic" AEA o="BBR Verkehrstechnik GmbH" AEB o="Association Romandix" AEC o="Paratec Ltd." AED o="Cubitech" AEE o="DiTEST Fahrzeugdiagnose GmbH" AEF o="Baumtec GmbH" AF0 o="SEASON DESIGN TECHNOLOGY" AF1 o="Emka Technologies" AF2 o="True Networks Ltd." AF3 o="New Japan Radio Co., Ltd" AF4 o="TATTILE SRL" AF5 o="Net And Print Inc." AF6 o="S.C.E. srl" AF7 o="DimoSystems BV" AF8 o="boekel" AF9 o="Critical Link LLC" AFA o="Power Security Systems Ltd." AFB o="Shanghai Tianhe Automation Instrumentation Co., Ltd." AFE o="MESOTECHNIC" AFF o="digital-spice" B00 o="HORIBA ABX SAS" B02 o="Nordic Automation Systems AS" B04 o="Herrmann Datensysteme GmbH" B05 o="E-PLUS TECHNOLOGY CO., LTD" B06 o="MULTIVOICE LLC" B07 o="Arrowvale Electronics" B08 o="Secuinfo Co. Ltd" B09 o="FIRST LIGHT IMAGING" B0B o="INTERNET PROTOCOLO LOGICA SL" B0C o="Vigilate srl" B0F o="merkur Funksysteme AG" B10 o="Zumbach Electronic AG" B11 o="CAB S.R.L." B12 o="SFR" B13 o="Omwave" B15 o="Eta Beta Srl" B16 o="XI'AN SHENMING ELECTRON TECHNOLOGY CO.,LTD" B17 o="Intesens" B18 o="Abbas, a.s." B19 o="Brayden Automation Corp" B1A o="Aaronia AG" B1B o="Technology Link Corporation" B1D o="Safelet BV" B1E o="Fen Systems Ltd" B1F o="TECNOWATT" B20 o="ICT BUSINESS GROUP of Humanrights Center for disabled people" B21 o="TATTILE SRL" B23 o="Supervision Test et Pilotage" B24 o="Datasat Digital Entertainment" B25 o="Hifocus Electronics India Private Limited" B26 o="INTEC International GmbH" B28 o="HUSTY M.Styczen J.Hupert sp.j." B29 o="WiViCom Co., Ltd." B2A o="Myro Control, LLC" B2B o="Vtron Pty Ltd" B2D o="Plexus" B2E o="Green Access Ltd" B2F o="Hermann Automation GmbH" B30 o="Systolé Hardware B.V." B31 o="Qwave Inc" B33 o="Aplex Technology Inc." B34 o="Medtronic" B35 o="Rexxam Co.,Ltd." B36 o="Cetitec GmbH" B37 o="CODEC Co., Ltd." B38 o="GoTrustID Inc." B39 o="MB connect line GmbH Fernwartungssysteme" B3A o="Adigitalmedia" B3B o="Insitu, Inc" B3C o="DORLET SAU" B3D o="Inras GmbH" B3E o="Paradigm Communication Systems Ltd" B3F o="Orbit International" B40 o="Wuhan Xingtuxinke ELectronic Co.,Ltd" B41 o="T&M Media Pty Ltd" B43 o="ZAO ZEO" B44 o="ENTEC Electric & Electronic Co., LTD." B46 o="FAS Electronics (Fujian) Co.,LTD." B47 o="DSIT Solutions LTD" B48 o="DWQ Informatikai Tanacsado es Vezerlestechnikai KFT" B49 o="ANALOGICS TECH INDIA LTD" B4A o="MEDEX" B4D o="Avidbots Corporation" B4F o="AvMap srlu" B50 o="iGrid T&D" B51 o="Critical Link LLC" B52 o="AEye, Inc." B53 o="Revolution Retail Systems, LLC" B55 o="CTAG - ESG36871424" B56 o="Power Electronics Espana, S.L." B58 o="INTERNET PROTOCOLO LOGICA SL" B59 o="FutureTechnologyLaboratories INC." B5A o="GTI Technologies Inc" B5B o="DynaMount LLC" B5C o="Prozess Technologie" B5D o="SHANDHAI LANDLEAF ARCHITECTURE TECHNOLOGY CO.,LTD" B5E o="Dynics" B5F o="CRDMDEVEOPPEMENTS" B60 o="ZAO ZEO" B62 o="Sakura Seiki Co.,Ltd." B64 o="OSUNG LST CO.,LTD." B65 o="Rotem Industry LTD" B66 o="Silent Gliss International Ltd" B67 o="RedWave Labs Ltd" B6A o="YUYAMA MFG Co.,Ltd" B6B o="Cambria Corporation" B6C o="GHM-Messtechnik GmbH (Standort IMTRON)" B6D o="Movis" B6E o="Edgeware AB" B72 o="UB330.net d.o.o." B73 o="Cetto Industries" B74 o="OnYield Inc Ltd" B75 o="Grossenbacher Systeme AG" B76 o="ATL-SD" B77 o="Motec Pty Ltd" B78 o="HOERMANN GmbH" B7A o="MAHLE" B7C o="Electronic Navigation Ltd" B7D o="LOGIX ITS Inc" B7E o="Elbit Systems of America" B7F o="JSK System" B80 o="BIGHOUSE.,INC." B81 o="Instro Precision Limited" B82 o="Lookout Portable Security" B84 o="OOO Research and Production Center %Computer Technologies%" B85 o="Fenotech Inc." B87 o="CAITRON GmbH" B88 o="ARP Corporation" B89 o="IDA" B8A o="Nexus Tech. VN" B8B o="Profound Medical Inc." B8C o="ePOINT Embedded Computing Limited" B8D o="JungwooEng Co., Ltd" B8E o="UR FOG S.R.L." B8F o="Assembly Contracts Ltd" B91 o="Dynetics, Inc." B93 o="INTERNET PROTOCOLO LOGICA SL" B94 o="Cygnetic Technologies (Pty) Ltd" B97 o="Canam Technology, Inc." B98 o="GSF Corporation Pte Ltd" B99 o="DomoSafety S.A." B9A o="Potter Electric Signal Co. LLC" B9B o="Elektronik Art" B9C o="EDCO Technology 1993 ltd" B9D o="Conclusive Engineering" B9E o="POLSYSTEM SI SP. Z O.O., S.K.A." B9F o="Yuksek Kapasite Radyolink Sistemleri San. ve Tic. A.S." BA1 o="Cathwell AS" BA2 o="MAMAC Systems, Inc." BA3 o="TIAMA" BA4 o="EIWA GIKEN INC." BA5 o="fpgalabs.com" BA6 o="Gluon Solutions Inc." BA7 o="Digital Yacht Ltd" BA8 o="Controlled Power Company" BA9 o="Alma" BAA o="Device Solutions Ltd" BAB o="Axotec Technologies GmbH" BAC o="AdInte, inc." BAD o="Technik & Design GmbH" BAE o="WARECUBE,INC" BAF o="SYS TEC electronic GmbH" BB0 o="WICELL TECHNOLOGY" BB1 o="Lumiplan Duhamel" BB2 o="Mettler Toledo" BB3 o="APG Cash Drawer, LLC" BB4 o="Integritech" BB5 o="Grossenbacher Systeme AG" BB6 o="Franke Aquarotter GmbH" BB7 o="Innoflight, Inc." BB8 o="Al Kamel Systems S.L." BB9 o="KOSMEK.Ltd" BBA o="Samriddi Automations Pvt. Ltd." BBB o="YUYAMA MFG Co.,Ltd" BBD o="Providius Corp" BBE o="Sunrise Systems Electronics Co. Inc." BBF o="Ensys srl" BC0 o="SENSO2ME" BC1 o="Abionic" BC2 o="DWEWOONG ELECTRIC Co., Ltd." BC3 o="eWireless" BC4 o="Digital Media Professionals" BC5 o="U&R GmbH Hardware- und Systemdesign" BC6 o="Hatteland Display AS" BC9 o="Yite technology" BCA o="Deymed Diagnostic" BCB o="Smart Vision Lights" BCC o="MB connect line GmbH Fernwartungssysteme" BCD o="Sasken Technologies Ltd" BCE o="YAWATA ELECTRIC INDUSTRIAL CO.,LTD." BCF o="APG Cash Drawer, LLC" BD0 o="SHS SRL" BD1 o="CableLabs" BD2 o="Burk Technology" BD3 o="FOTONA D.D." BD4 o="YUYAMA MFG Co.,Ltd" BD5 o="Synics AG" BD6 o="Consarc Corporation" BD8 o="MB connect line GmbH Fernwartungssysteme" BD9 o="SolwayTech" BDA o="5-D Systems, Inc." BDD o="CDR SRL" BDF o="H2O-YUG LLC" BE0 o="Cognosos, Inc." BE1 o="FeCon GmbH" BE3 o="Saratov Electrounit Production Plant named after Sergo Ordzhonikidze, OJSC" BE4 o="Kunshan excellent Intelligent Technology Co., Ltd." BE5 o="Pantec Engineering AG" BE6 o="CCII Systems (Pty) Ltd" BE7 o="Syscom Instruments SA" BE8 o="AndFun Co.,Ltd." BE9 o="Telecast Inc." BEA o="Virtuosys Ltd" BEC o="Tokyo Communication Equipment MFG Co.,ltd." BED o="Itrinegy Ltd." BEE o="Sicon srl" BEF o="Sensortech Systems Inc." BF1 o="Flashnet SRL" BF2 o="TWIN DEVELOPMENT" BF3 o="CG-WIRELESS" BF5 o="Acacia Research" BF6 o="comtac AG" BF8 o="RCH ITALIA SPA" BF9 o="Okolab Srl" BFA o="NESA SRL" BFB o="Sensor 42" BFC o="Vishay Nobel AB" BFD o="Lumentum" BFE o="Aplex Technology Inc." BFF o="Sunsa, Inc" C00 o="BESO sp. z o.o." C01 o="SmartGuard LLC" C03 o="XAVi Technologies Corp." C04 o="Prolan Zrt." C05 o="KST technology" C06 o="XotonicsMED GmbH" C07 o="ARECO" C08 o="Talleres de Escoriaza SA" C09 o="RCH Vietnam Limited Liability Company" C0A o="Infosocket Co., Ltd." C0B o="FSTUDIO CO LTD" C0C o="Tech4Race" C0E o="SYSDEV Srl" C0F o="Honeywell Safety Products USA, Inc" C10 o="Scanvaegt Systems A/S" C11 o="Ariston Thermo s.p.a." C12 o="Beijing Wisetone Information Technology Co.,Ltd." C14 o="Grupo Epelsa S.L." C15 o="Sensobox GmbH" C16 o="Southern Innovation" C17 o="Potter Electric Signal Co. LLC" C1A o="Xylon" C1B o="Labinvent JSC" C1C o="D.E.M. SPA" C1D o="Kranze Technology Solutions" C1F o="Behr Technologies Inc" C20 o="Mipot S.p.a." C21 o="Aplex Technology Inc." C22 o="Skyriver Communications Inc." C24 o="Elbit Systems of America" C25 o="speedsignal GmbH" C26 o="Triple Play Communications" C27 o="GD Mission Systems" C29 o="SOFTLAND INDIA LTD" C2A o="Array Telepresence" C2B o="YUYAMA MFG Co.,Ltd" C2C o="Dromont S.p.A." C2D o="Ensotech Limited" C2E o="Triax A/S" C2F o="ATBiS Co.,Ltd" C31 o="German Power GmbH" C32 o="INFRASAFE/ ADVANTOR SYSTEMS" C33 o="Dandong Dongfang Measurement & Control Technology Co., Ltd." C34 o="Technical Panels Co. Ltd." C35 o="Vibrationmaster" C37 o="Keycom Corp." C38 o="CRESPRIT INC." C39 o="MeshWorks Wireless Oy" C3A o="HAN CHANG" C3B o="Vironova AB" C3C o="PEEK TRAFFIC" C3D o="CISTECH Solutions" C3E o="DOSADORES ALLTRONIC" C3F o="Code Blue Corporation" C40 o="HongSeok Ltd." C41 o="Merlin CSI" C42 o="CRDE" C43 o="Future Skies" C44 o="Franz Kessler GmbH" C45 o="Stiebel Eltron GmbH" C49 o="BTG Instruments AB" C4A o="TIAMA" C4B o="ANKER-EAST" C4C o="VTC Digicom" C4D o="RADA Electronics Industries Ltd." C4E o="ARKRAY, Inc. Kyoto Laboratory" C4F o="AE Van de Vliet BVBA" C50 o="Combilent" C51 o="Innotas Elektronik GmbH" C52 o="sensorway" C53 o="S Labs sp. z o.o." C54 o="Flexsolution APS" C55 o="Intelligent Energy Ltd" C56 o="TELETASK" C58 o="RMI Laser LLC" C59 o="R Cubed Engineering, LLC" C5A o="Commsignia Ltd." C5B o="ACD Elektronik GmbH" C5C o="Layer Logic Inc" C5D o="FOSHAN SHILANTIAN NETWORK S.T. CO., LTD." C5F o="Clean-Lasersysteme GmbH" C60 o="Gogo BA" C61 o="JC HUNTER TECHNOLOGIES" C62 o="WIZNOVA" C63 o="Xentech Solutions Limited" C64 o="SYS TEC electronic GmbH" C65 o="PEEK TRAFFIC" C66 o="Blue Access Inc" C67 o="Collini Dienstleistungs GmbH" C68 o="Mini Solution Co. Ltd." C69 o="AZ-TECHNOLOGY SDN BHD" C6C o="McQ Inc" C6D o="Cyviz AS" C6E o="Orion Technologies, LLC" C6F o="nyantec GmbH" C70 o="Magnetek" C73 o="C.D.N.CORPORATION" C74 o="Qtechnology A/S" C76 o="ELA INNOVATION" C77 o="Yönnet Akıllı Bina ve Otomasyon Sistemleri" C78 o="NETA Elektronik AS" C79 o="MB connect line GmbH Fernwartungssysteme" C7A o="ENTEC Electric & Electronic Co., LTD." C7B o="EM Clarity Pty Ltd" C7D o="Metatronics B.V." C7E o="BirdDog Australia" C7F o="TATTILE SRL" C80 o="Link Care Services" C81 o="DSP DESIGN" C82 o="Sicon srl" C83 o="CertusNet Inc." C84 o="Linc Technology Corporation dba Data-Linc Group" C85 o="Solid State Disks Ltd" C86 o="Woodam Co., Ltd." C87 o="Siemens AG" C88 o="SINED srl" C89 o="ARD" C8A o="WTE Limited" C8B o="Asia Pacific Satellite Coummunication Inc." C8C o="Rollogo Limited" C8D o="KST technology" C8E o="Coral Telecom Limited" C8F o="TRIDENT INFOSOL PVT LTD" C91 o="Grossenbacher Systeme AG" C92 o="Unitro Fleischmann" C93 o="GMI Ltd" C94 o="Vars Technology" C95 o="Chengdu Meihuan Technology Co., Ltd" C96 o="UNI DIMENXI SDN BHD" C97 o="CSINFOTEL" C98 o="Trust Automation" C9A o="Todd Digital Limited" C9B o="Tieto Sweden AB" C9C o="Connected Response" C9D o="APG Cash Drawer, LLC" C9E o="FUKUDA SANGYO CO., LTD." C9F o="Triax A/S" CA1 o="Waldo System" CA2 o="De Haardt bv" CA3 o="Saankhya Labs Private Limited" CA4 o="Netemera Sp. z o.o." CA5 o="PTS Technologies Pte Ltd" CA7 o="i-View Communication Inc." CA8 o="Grupo Epelsa S.L." CA9 o="Nxcontrol system Co., Ltd." CAA o="Bel Power Solutions GmbH" CAB o="NOTICE Co., Ltd." CAC o="CRDE" CAE o="THEMA" CAF o="DAVE SRL" CB0 o="Ossiaco" CB1 o="RADAR" CB2 o="SECLAB" CB3 o="KST technology" CB4 o="Planewave Instruments" CB6 o="Kuebrich Ingeniergesellschaft mbh & Co. KG" CB7 o="HKC Limited" CB8 o="Verti Tecnologia" CB9 o="JSC «SATIS-TL-94»" CBA o="YUYAMA MFG Co.,Ltd" CBC o="Procon Electronics Pty Ltd" CBD o="Preo Industries Far East Limited" CBE o="Ensura Solutions BV" CC1 o="BEEcube Inc." CC2 o="LSC Lighting Systems (Aust) Pty Ltd" CC3 o="Fidalia Networks Inc" CC4 o="Benchmark Electronics BV" CC5 o="Intecom" CC6 o="MB connect line GmbH Fernwartungssysteme" CC8 o="PROFEN COMMUNICATIONS" CC9 o="Rapiscan Systems" CCA o="SIEMENS AS" CCB o="RealD" CCC o="AEC s.r.l." CCD o="Suzhou PowerCore Technology Co.,Ltd." CCE o="Proconex 2010 Inc." CCF o="Netberg" CD0 o="Ellenex Pty Ltd" CD1 o="Cannex Technology Inc." CD2 o="HBH Microwave GmbH" CD3 o="Controlrad" CD4 o="Southern Ground Audio LLC" CD5 o="Apantac LLC" CD6 o="VideoRay LLC" CD7 o="AutomationX GmbH" CD9 o="Peter Huber Kaeltemaschinenbau GmbH" CDA o="VITEC" CDB o="Wuhan Xingtuxinke ELectronic Co.,Ltd" CDC o="Dat-Con d.o.o." CDE o="Multipure International" CDF o="3D Printing Specialists" CE1 o="EA Elektroautomatik GmbH & Co. KG" CE2 o="Centero" CE3 o="Dalcnet srl" CE4 o="WAVES SYSTEM" CE5 o="GridBridge Inc" CE7 o="June Automation Singapore Pte. Ltd." CE9 o="KINEMETRICS" CEA o="Computerwise, Inc." CED o="Advanced Products Corporation Pte Ltd" CEF o="Ellego Powertec Oy" CF0 o="SHENZHEN WITLINK CO.,LTD." CF1 o="LightDec GmbH & Co. KG" CF2 o="tinnos" CF3 o="Mesh Motion Inc" CF4 o="Harbin Cheng Tian Technology Development Co., Ltd." CF5 o="Petring Energietechnik GmbH" CF6 o="Tornado Modular Systems" CF7 o="GENTEC ELECTRO-OPTICS" CF8 o="Idneo Technologies S.A.U." CFB o="Screen Innovations" CFC o="VEILUX INC." CFD o="iLOQ Oy" CFE o="Secturion Systems" CFF o="DTECH Labs, Inc." D00 o="DKI Technology Co., Ltd" D01 o="Vision4ce Ltd" D02 o="Arctos Showlasertechnik GmbH" D05 o="Colmek" D07 o="Waversa Systems" D08 o="Veeco Instruments" D09 o="Rishaad Brown" D0C o="Connor Winfield LTD" D0D o="Logiwaste AB" D0E o="Beijing Aumiwalker technology CO.,LTD" D10 o="Contec Americas Inc." D11 o="EREE Electronique" D12 o="FIDELTRONIK POLAND SP. Z O.O." D15 o="3DGence sp. z o.o." D16 o="Monnit Corporation" D1A o="Monnit Corporation" D1B o="Grupo Epelsa S.L." D1C o="Specialised Imaging Limited" D1E o="Houston Radar LLC" D1F o="Embsec AB" D20 o="Rheonics GmbH" D22 o="DEK Technologies" D23 o="COTT Electronics" D24 o="Microtronics Engineering GmbH" D25 o="ENGenesis" D26 o="MI Inc." D27 o="Light field Lab" D28 o="Toshiba Electron Tubes & Devices Co., Ltd." D29 o="Sportzcast" D2A o="ITsynergy Ltd" D2B o="StreamPlay Oy Ltd" D2D o="Evolute Systems Private Limited" D2E o="Coheros Oy" D2F o="L.I.F.E. Corporation SA" D30 o="Leica Microsystems Ltd. Shanghai" D31 o="Solace Systems Inc." D32 o="Euklis by GSG International" D33 o="VECTOR.CO.,LTD." D34 o="G-PHILOS CO.,LTD" D36 o="Insitu Inc." D37 o="Sicon srl" D38 o="Vista Research, Inc." D39 o="ASHIDA Electronics Pvt. Ltd" D3A o="PROMOMED RUS LLC" D3B o="NimbeLink Corp" D3C o="HRT" D3D o="Netzikon GmbH" D3F o="GLOBALCOM ENGINEERING SPA" D40 o="CRDE" D41 o="KSE GmbH" D42 o="DSP DESIGN" D43 o="EZSYS Co., Ltd." D44 o="ic-automation GmbH" D46 o="Contineo s.r.o." D47 o="YotaScope Technologies Co., Ltd." D48 o="HEADROOM Broadcast GmbH" D49 o="Sicon srl" D4A o="OÜ ELIKO Tehnoloogia Arenduskeskus" D4B o="Hermann Lümmen GmbH" D4C o="Elystec Technology Co., Ltd" D4D o="The Morey Corporation" D4E o="FLSmidth" D4F o="C-COM Satellite Systems Inc." D50 o="GRIDSMART Technologies" D51 o="Azcom Technology S.r.l." D54 o="JL World Corporation Limited" D55 o="WM Design s.r.o" D56 o="KRONOTECH SRL" D57 o="TRIUMPH BOARD a.s." D58 o="Idyllic Engineering Pte Ltd" D59 o="WyreStorm Technologies Ltd" D5A o="WyreStorm Technologies Ltd" D5B o="WyreStorm Technologies Ltd" D5C o="Critical Link LLC" D5F o="Core Balance Co., Ltd." D60 o="Flintab AB" D61 o="VITEC" D62 o="Andasis Elektronik San. ve Tic. A.Ş." D63 o="CRDE" D64 o="Mettler Toledo" D65 o="CRDE" D66 o="Ascendent Technology Group" D67 o="ALPHA Corporation" D69 o="Thermo Fisher Scientific" D6A o="KnowRoaming" D6B o="Uwinloc" D6C o="GP Systems GmbH" D6E o="ard sa" D6F o="X-SPEX GmbH" D70 o="Rational Production srl Unipersonale" D71 o="RZB Rudolf Zimmermann, Bamberg GmbH" D72 o="OnYield Inc Ltd" D73 o="ERMINE Corporation" D74 o="Sandia National Laboratories" D75 o="Hyundai MNSOFT" D76 o="attocube systems AG" D79 o="GOMA ELETTRONICA SpA" D7A o="Speedifi Inc" D7B o="Peter Huber Kaeltemaschinenbau AG" D7C o="D.T.S Illuminazione Srl" D7E o="Triax A/S" D7F o="ConectaIP Tecnologia S.L." D80 o="AMMT GmbH" D81 o="PDD Group Ltd" D84 o="Sentry360" D86 o="WPGSYS Pte Ltd" D87 o="Zigen Corp" D89 o="Resolution Systems" D8A o="JIANGSU HORAINTEL CO.,LTD" D8B o="Lenoxi Automation s.r.o." D8C o="Damerell Design Limited (DCL)" D8D o="Pullnet Technology,S.L." D8E o="Axatel SrL" D8F o="Molu Technology Inc., LTD." D90 o="Aplex Technology Inc." D91 o="FoodALYT GmbH" D92 o="Zamir Recognition Systems Ltd." D93 o="PAMIR Inc" D94 o="Dewetron GmbH" D95 o="SANO SERVICE Co.,Ltd" D97 o="BRS Sistemas Eletronicos" D98 o="ACD Elekronik GmbH" D9A o="Wuhan Xingtuxinke ELectronic Co.,Ltd" D9B o="Russian Telecom Equipment Company" D9C o="Subinitial LLC" D9D o="Electroimpact, Inc." D9E o="Grupo Epelsa S.L." DA1 o="Qprel srl" DA2 o="ACD Elekronik GmbH" DA3 o="Voleatech GmbH" DA4 o="CRDE" DA5 o="Roboteq" DA6 o="Redfish Group Pty Ltd" DA8 o="Tagarno AS" DA9 o="RCH Vietnam Limited Liability Company" DAA o="AmTote Australasia" DAB o="SET Power Systems GmbH" DAC o="Dalian Laike Technology Development Co., Ltd" DAD o="GD Mission Systems" DAE o="LGE" DAF o="INNOVATIVE CONCEPTS AND DESIGN LLC" DB0 o="Arnouse Digital Devices Corp" DB1 o="Biovigil Hygiene Technologies" DB2 o="Micro Electroninc Products" DB4 o="YUYAMA MFG Co.,Ltd" DB5 o="Xiamen Point Circle Technologh Co,ltd" DB6 o="csintech" DB7 o="Pengo Technology Co., Ltd" DB8 o="SISTEM SA" DBC o="Gamber Johnson-LLC" DBD o="TRANSLITE GLOBAL LLC" DBE o="Hiber" DBF o="Infodev Electronic Designers Intl." DC0 o="ATEME" DC1 o="Metralight, Inc." DC2 o="SwineTech, Inc." DC3 o="Fath Mechatronics" DC5 o="Excel Medical Electronics LLC" DC6 o="IDEM INC." DC8 o="Enertex Bayern GmbH" DC9 o="Sensoterra BV" DCA o="DSan Corporation" DCC o="Eutron SPA" DCD o="C Tech Bilişim Teknolojileri San. ve Tic. AŞ" DCE o="Stahl GmbH" DCF o="KLS Netherlands B.V." DD1 o="em-tec GmbH" DD2 o="Insitu, Inc" DD3 o="VITEC" DD4 o="ResIOT UBLSOFTWARE SRL" DD5 o="Cooltera Limited" DD6 o="Umweltanalytik Holbach GmbH" DD7 o="DETECT Australia" DD8 o="EMSCAN Corp." DD9 o="MaNima Technologies BV" DDB o="Intra Corporation" DDC o="Syscom Instruments SA" DDD o="BIO RAD LABORATORIES" DDF o="AeroVision Avionics, Inc." DE0 o="eCozy GmbH" DE2 o="ACD Elekronik GmbH" DE3 o="ETL Elektrotechnik Lauter GmbH" DE4 o="MAVILI ELEKTRONIK TIC. VE SAN. A.S." DE5 o="ASML" DE6 o="MB connect line GmbH Fernwartungssysteme" DE7 o="Innominds Software Private Limited" DE8 o="Nation-E Ltd." DEA o="Advanced Ventilation Applications, Inc." DEC o="Condev-Automation GmbH" DED o="Simpulse" DEE o="CRDE" DF0 o="astozi consulting Tomasz Zieba" DF1 o="CoXlab Inc." DF2 o="AML" DF3 o="SPC Bioclinicum" DF4 o="Heim- & Bürokommunikation Ilmert e.K." DF5 o="Beijing Huanyu Zhilian Science &Technology Co., Ltd." DF6 o="Tiab Limited" DF7 o="Refecor Oy" DF8 o="RMA Mess- und Regeltechnik GmbH & Co.KG" DF9 o="Korea Plant Maintenance" DFA o="Newtouch Electronics (Shanghai) Co.,Ltd." DFB o="Yamamoto Works Ltd." DFC o="ELECTRONIC SYSTEMS DESIGN SPRL" DFD o="Contiweb" DFE o="microtec Sicherheitstechnik GmbH" DFF o="Spanawave Corporation" E00 o="Jeaway CCTV Security Ltd,." E02 o="YEHL & JORDAN LLC" E04 o="Combilent" E06 o="System West dba ICS Electronics" E07 o="Baader Planetarium GmbH" E08 o="Olssen" E09 o="L-3 communications ComCept Division" E0A o="Acouva, Inc." E0B o="ENTEC Electric & Electronic Co., LTD." E0C o="Communication Systems Solutions" E0D o="Sigma Connectivity AB" E0F o="Vtron Pty Ltd" E10 o="Leidos" E12 o="SNK, Inc." E14 o="Automata Spa" E15 o="Benetel" E16 o="China Entropy Co., Ltd." E17 o="SA Photonics" E18 o="Plasmapp Co.,Ltd." E1A o="BIZERBA LUCEO" E1B o="Neuron GmbH" E1C o="Xcenter AS" E1E o="Umano Medical Inc." E1F o="THETA432" E20 o="Signature Control Systems, LLC." E21 o="LLVISION TECHNOLOGY CO.,LTD" E23 o="Smith Meter, Inc." E25 o="GJD Manufacturing" E26 o="FEITIAN CO.,LTD." E27 o="Woodside Electronics" E28 o="iotec GmbH" E29 o="Invent Vision - iVision Sistemas de Imagem e Visão S.A." E2A o="CONTES, spol. s r.o." E2B o="Guan Show Technologe Co., Ltd." E2C o="Fourth Frontier Technologies Private Limited" E2E o="Merz s.r.o." E30 o="QUISS AG" E32 o="HERUTU ELECTRONICS CORPORATION" E33 o="DEUTA-WERKE GmbH" E34 o="Gamber Johnson-LLC" E35 o="Nanospeed Technologies Limited" E36 o="Guidance Navigation Limited" E38 o="Cursor Systems NV" E39 o="Thinnect, Inc," E3A o="Cyanview" E3B o="ComNav Technology Ltd." E3C o="Densitron Technologies Ltd" E3D o="Leo Bodnar Electronics Ltd" E3E o="Sol Welding srl" E3F o="BESTCODE LLC" E40 o="Siemens Mobility GmbH - MO TI SPA" E43 o="SL Audio A/S" E45 o="Momentum Data Systems" E47 o="DEUTA-WERKE GmbH" E48 o="TDI. Co., LTD" E49 o="Kendrion Mechatronics Center GmbH" E4A o="ICP NewTech Ltd" E4B o="DELTA" E4C o="IAI-Israel Aerospace Industries MBT" E4D o="Vulcan Wireless Inc." E4E o="Midfin Systems" E4F o="RWS Automation GmbH" E50 o="Advanced Vision Technology Ltd" E52 o="Guangzhou Moblin Technology Co., Ltd." E53 o="MI INC." E54 o="Beijing PanGu Company" E55 o="BELT S.r.l." E56 o="HIPODROMO DE AGUA CALIENTE, S.A. DE C.V." E57 o="Iradimed" E58 o="Thurlby Thandar Instruments LTD" E59 o="Fracarro srl" E5B o="Argosy Labs Inc." E5C o="Walton Hi-Tech Industries Ltd." E5D o="Boffins Technologies AB" E5E o="Critical Link LLC" E61 o="Adeli" E63 o="Potomac Electric Corporation" E67 o="APPLIED PROCESSING" E69 o="Fire4 Systems UK Ltd" E6A o="MAC Solutions (UK) Ltd" E6C o="Fusar Technologies inc" E6D o="Domus S.C." E6E o="Lieron BVBA" E6F o="Amazon Technologies Inc." E70 o="DISK Multimedia s.r.o." E71 o="SiS Technology" E72 o="KDT Corp." E74 o="Exfrontier Co., Ltd." E75 o="Nke" E76 o="Dorsett Technologies, Inc." E77 o="OPTIX JSC" E78 o="Camwell India LLP" E79 o="Acrodea, Inc." E7A o="ART SPA" E7B o="Shenzhen SanYeCao Electronics Co.,Ltd" E7C o="Aplex Technology Inc." E7D o="Nanjing Dandick Science&technology development co., LTD" E7E o="Groupe Citypassenger Inc" E80 o="Changzhou Rapid Information Technology Co,Ltd" E81 o="SLAT" E82 o="RF Track" E84 o="ENTEC Electric & Electronic Co., LTD." E85 o="Explorer Inc." E86 o="YUYAMA MFG Co.,Ltd" E88 o="Breas Medical AB" E89 o="JSC Kaluga Astral" E8A o="Melecs EWS GmbH" E8B o="Dream D&S Co.,Ltd" E8C o="Fracarro srl" E8D o="Natav Services Ltd." E8E o="Macnica Technology" E8F o="DISMUNTEL, S.A." E90 o="Getein Biotechnology Co.,ltd" E91 o="NAS Australia P/L" E92 o="FUJI DATA SYSTEM CO.,LTD." E93 o="ECON Technology Co.Ltd" E94 o="Lumiplan Duhamel" E95 o="BroadSoft Inc" E96 o="Cellier Domesticus inc" E97 o="Toptech Systems, Inc." E98 o="JSC Kaluga Astral" E99 o="Advitronics telecom bv" E9A o="Meta Computing Services, Corp" E9B o="NUMATA R&D Co.,Ltd" E9C o="ATG UV Technology" E9D o="INTECH" E9E o="MSB Elektronik und Gerätebau GmbH" EA0 o="PARK24" EA1 o="Qntra Technology" EA2 o="Transportal Solutions Ltd" EA3 o="Gridless Power Corperation" EA4 o="Grupo Epelsa S.L." EA6 o="Galios" EA7 o="S.I.C.E.S. srl" EA8 o="Dia-Stron Limited" EA9 o="Zhuhai Lonl electric Co.,Ltd." EAB o="APEN GROUP SpA (VAT IT08767740155)" EAC o="Kentech Instruments Limited" EAD o="Cobo, Inc." EAE o="Orlaco Products B.V." EB0 o="Nautel Limted" EB1 o="CP contech electronic GmbH" EB2 o="Shooter Detection Systems" EB3 o="KWS-Electronic GmbH" EB4 o="Robotic Research, LLC" EB5 o="JUSTEK INC" EB7 o="Skreens" EB8 o="Emporia Renewable Energy Corp" EB9 o="Thiel Audio Products Company, LLC" EBA o="Last Mile Gear" EBB o="Beijing Wing ICT Technology Co., Ltd." EBC o="Refine Technology, LLC" EBD o="midBit Technologies, LLC" EBE o="Sierra Pacific Innovations Corp" EBF o="AUTOMATICA Y REGULACION S.A." EC1 o="Xafax Nederland bv" EC3 o="Virtual Control Systems Ltd" EC4 o="hmt telematik GmbH" EC5 o="TATTILE SRL" EC6 o="ESII" EC7 o="Neoptix Inc." EC8 o="Viko Elektrik-Elektronik A.Ş." ECA o="Transtronic AB" ECB o="Re spa - Controlli Industriali - IT01782300154" ECC o="Digifocus Technology Inc." ECD o="SBS-Feintechnik GmbH & Co. KG" ECE o="COMM-connect A/S" ECF o="Ipitek" ED0 o="shanghai qiaoqi zhinengkeji" ED1 o="Przemyslowy Instytut Automatyki i Pomiarow" ED5 o="hangzhou battle link technology Co.,Ltd" ED7 o="WAVE" ED8 o="Wartsila Voyage Limited" EDB o="Netfort Solutions" EDC o="J.D. Koftinoff Software, Ltd." EDD o="Solar Network & Partners" EDE o="Agrident GmbH" EDF o="GridNavigator" EE1 o="allora Factory BVBA" EE2 o="MONTRADE SPA" EE3 o="Lithe Technology, LLC" EE4 o="O-Net Automation Technology (Shenzhen)Limited" EE5 o="Beijing Hzhytech Technology Co.Ltd" EE7 o="BLUE-SOLUTIONS CANADA INC." EE8 o="robert juliat" EE9 o="SC3 Automation" EEA o="Dameca a/s" EEB o="shenzhen suofeixiang technology Co.,Ltd" EEC o="Impolux GmbH" EED o="COMM-connect A/S" EEE o="SOCIEDAD IBERICA DE CONSTRUCCIONES ELECTRICAS, S.A. (SICE)" EEF o="TATTILE SRL" EF1 o="Nanotok LLC" EF2 o="Kongsberg Intergrated Tactical Systems" EF3 o="octoScope" EF4 o="Orange Tree Technologies Ltd" EF5 o="DEUTA-WERKE GmbH" EF6 o="CHARGELIB" EF7 o="DAVE SRL" EF8 o="DKS Dienstl.ges. f. Komm.anl. d. Stadt- u. Reg.verk. mbH" EF9 o="Critical Link LLC" EFA o="NextEra Energy Resources, LLC" EFB o="PXM sp.k." EFC o="Absolent AB" EFD o="Cambridge Technology, Inc." EFE o="MEIDEN SYSTEM SOLUTIONS" EFF o="Carlo Gavazzi Industri" F00 o="Aplex Technology Inc." F01 o="Software Systems Plus" F03 o="GMI Ltd" F04 o="Scame Sistemi srl" F05 o="Motomuto Aps" F06 o="WARECUBE,INC" F07 o="DUVAL MESSIEN" F08 o="Szabo Software & Engineering UK Ltd" F0A o="Neuronal Innovation Control S.L." F0B o="RF Industries" F0C o="ModulaTeam GmbH" F0D o="MeQ Inc." F0F o="Kyoto Denkiki" F10 o="Riegl Laser Measurement Systems GmbH" F11 o="BroadSoft Inc" F12 o="Incoil Induktion AB" F13 o="MEDIAM Sp. z o.o." F14 o="SANYU SWITCH CO., LTD." F16 o="BRS Sistemas Eletrônicos" F17 o="VITEC" F18 o="HD Vision Systems GmbH" F19 o="Vitro Technology Corporation" F1A o="Sator Controls s.r.o." F1C o="Bavaria Digital Technik GmbH" F1D o="Critical Link LLC" F1E o="ATX NETWORKS LTD" F1F o="HKC Limited" F21 o="dds" F22 o="Shengli Financial Software Development" F23 o="Lyse AS" F24 o="Daavlin" F25 o="JSC “Scientific Industrial Enterprise %Rubin%" F27 o="NIRIT- Xinwei Telecom Technology Co., Ltd." F29 o="SamabaNova Systems" F2A o="WIBOND Informationssysteme GmbH" F2B o="SENSYS GmbH" F2C o="Hengen Technologies GmbH" F2D o="ID Lock AS" F2E o="Shanghai JCY Technology Company" F2F o="TELEPLATFORMS" F30 o="ADE Technology Inc." F34 o="MacGray Services" F35 o="carbonTRACK" F36 o="dinosys" F37 o="Mitsubishi Electric Micro-Computer Application Software Co.,Ltd." F38 o="Scanvaegt Nordic A/S" F39 o="Zenros ApS" F3A o="OOO Research and Production Center %Computer Technologies%" F3B o="Epdm Pty Ltd" F3C o="Gigaray" F3E o="ООО %РОНЕКС%" F3F o="comtac AG" F42 o="Matsuhisa Corporation" F43 o="Divelbiss Corporation" F44 o="Magneti Marelli S.p.A. Electronics" F45 o="Norbit ODM AS" F47 o="TXMission Ltd." F48 o="HEITEC AG" F4B o="Chengdu Lingya Technology Co., Ltd." F4C o="PolyTech A/S" F4D o="Honeywell" F4F o="Power Electronics Espana, S.L." F50 o="Vectology,Inc" F51 o="IoT Routers Limited" F52 o="Alere Technologies AS" F53 o="HighTechSystem Co.,Ltd." F54 o="Revolution Retail Systems" F55 o="Kohler Mira Ltd" F56 o="VirtualHere Pty. Ltd." F57 o="Aplex Technology Inc." F58 o="CDR SRL" F5A o="HAMEG GmbH" F5B o="A.F.MENSAH, INC" F5C o="Nable Communications, Inc." F5D o="Potter Electric Signal Co. LLC" F5E o="Selex ES Inc." F5F o="RFRain LLC" F61 o="Power Diagnostic Service" F62 o="FRS GmbH & Co. KG" F63 o="Ars Products" F64 o="silicom" F65 o="MARKUS LABS" F67 o="winsun AG" F68 o="AL ZAJEL MODERN TELECOMM" F69 o="Copper Labs, Inc." F6C o="VisioGreen" F6D o="Qowisio" F6E o="Streambox Inc" F6F o="Smashtag Ltd" F70 o="Honeywell" F71 o="Sonel S.A." F72 o="Hanshin Electronics" F73 o="ASL Holdings" F75 o="Enlaps" F76 o="Thermo Fisher Scientific" F77 o="Satcube AB" F78 o="Manvish eTech Pvt. Ltd." F79 o="Firehose Labs, Inc." F7A o="SENSO2ME" F7B o="KST technology" F7E o="Alpha Elettronica s.r.l." F80 o="Guan Show Technologe Co., Ltd." F81 o="Littlemore Scientific" F82 o="Preston Industries dba PolyScience" F83 o="Tata Communications Ltd." F84 o="DEUTA-WERKE GmbH" F85 o="Solystic" F86 o="Wireless Systems Solutions LLC" F87 o="SHINWA INDUSTRIES, INC." F88 o="ODAWARAKIKI AUTO-MACHINE MFG.CO.,LTD" F89 o="Soehnle Industrial Solutions GmbH" F8A o="FRS GmbH & Co. KG" F8B o="IOOOTA Srl" F8C o="EUROPEAN ADVANCED TECHNOLOGIES" F8D o="Flextronics Canafa Design Services" F8E o="Isabellenhütte Heusler Gmbh &Co KG" F8F o="DIMASTEC GESTAO DE PONTO E ACESSO EIRELI-ME" F91 o="Solid State Disks Ltd" F92 o="TechOne" F93 o="Hella Gutmann Solutions GmbH" F94 o="MB connect line GmbH Fernwartungssysteme" F95 o="Get SAT" F96 o="Ecologicsense" F97 o="Typhon Treatment Systems Ltd" F98 o="Metrum Sweden AB" F99 o="TEX COMPUTER SRL" F9A o="Krabbenhøft og Ingolfsson" F9B o="EvoLogics GmbH" F9C o="SureFlap Ltd" F9E o="International Center for Elementary Particle Physics, The University of Tokyo" F9F o="M.A.C. Solutions (UK) Ltd" FA0 o="TIAMA" FA1 o="BBI Engineering, Inc." FA2 o="Sarokal Test Systems Oy" FA3 o="ELVA-1 MICROWAVE HANDELSBOLAG" FA4 o="Energybox Limited" FA5 o="Shenzhen Hui Rui Tianyan Technology Co., Ltd." FA6 o="RFL Electronics, Inc." FA7 o="Nordson Corporation" FA8 o="Munters" FA9 o="CorDes, LLC" FAA o="LogiM GmbH Software und Entwicklung" FAB o="Open System Solutions Limited" FAD o="ARC Technology Solutions, LLC" FAE o="Silixa Ltd" FAF o="Radig Hard & Software" FB0 o="Rohde&Schwarz Topex SA" FB1 o="TOMEI TSUSHIN KOGYO CO,.LTD" FB2 o="KJ3 Elektronik AB" FB3 o="3PS Inc" FB5 o="Orange Tree Technologies Ltd" FB6 o="KRONOTECH SRL" FB7 o="SAICE" FB8 o="Hyannis Port Research" FB9 o="EYEDEA" FBA o="Apogee Applied Research, Inc." FBB o="Vena Engineering Corporation" FBC o="Twoway Communications, Inc." FBD o="MB connect line GmbH Fernwartungssysteme" FBE o="Hanbat National University" FBF o="SenSys (Design Electronics Ltd)" FC0 o="CODESYSTEM Co.,Ltd" FC1 o="InDiCor" FC2 o="HUNTER LIBERTY CORPORATION" FC5 o="Eltwin A/S" FC6 o="Tecnint HTE SRL" FC8 o="Moduware PTY LTD" FC9 o="Shanghai EICT Global Service Co., Ltd" FCA o="M2M Cybernetics Pvt Ltd" FCB o="Tieline Research Pty Ltd" FCC o="DIgSILENT GmbH" FCD o="Engage Technologies" FCE o="FX TECHNOLOGY LIMITED" FCF o="Acc+Ess Ltd" FD0 o="Alcohol Countermeasure Systems" FD1 o="RedRat Ltd" FD2 o="DALIAN LEVEAR ELECTRIC CO., LTD" FD3 o="AKIS technologies" FD4 o="GETRALINE" FD5 o="OCEANCCTV LTD" FD6 o="Visual Fan" FD7 o="Centum Adetel Group" FD8 o="MB connect line GmbH Fernwartungssysteme" FDA o="ACD Elektronik GmbH" FDB o="Design SHIFT" FDC o="Tapdn" FDD o="Laser Imagineering Vertriebs GmbH" FDE o="AERONAUTICAL & GENERAL INSTRUMENTS LTD." FDF o="NARA CONTROLS INC." FE2 o="Galileo Tıp Teknolojileri San. ve Tic. A.S." FE3 o="CSM MACHINERY srl" FE4 o="CARE PVT LTD" FE6 o="SHIZUKI ELECTRIC CO.,INC" FE7 o="VEILUX INC." FE8 o="PCME Ltd." FE9 o="Camsat Przemysław Gralak" FEA o="Heng Dian Technology Co., Ltd" FEB o="Les distributions Multi-Secure incorporee" FEC o="Finder SpA" FED o="Niron systems & Projects" FEE o="Kawasaki Robot Service,Ltd." FEF o="HANGZHOU HUALAN MICROELECTRONIQUE CO.,LTD" FF0 o="E-MetroTel" FF1 o="Data Strategy Limited" FF2 o="tiga.eleven GmbH" FF3 o="Aplex Technology Inc." FF4 o="Serveron Corporation" FF5 o="Prolan Process Control Co." FF6 o="Elektro Adrian" FF7 o="Cybercom AB" FF8 o="Dutile, Glines and Higgins Corporation" FF9 o="InOut Communication Systems" FFA o="Barracuda Measurement Solutions" FFC o="Symetrics Industries d.b.a. Extant Aerospace" 70F8E7 0 o="SHENZHEN Xin JiuNing Electronics Co Ltd" 1 o="System Level Solutions (India) Pvt." 2 o="VOXX International" 3 o="Dr. Simon Consulting GmbH" 4 o="CLIP Inc." 5 o="Beijing Eehuu Technology Co.,Ltd." 6 o="Flexim Security Oy" 7 o="NST Technology Limited Co.,Ltd." 8 o="Eclipse Security" 9 o="Kontech Electronics Co., Ltd" A o="TiVACI CORPORATION PTE LTD" B o="Photonfocus AG" C o="Fixstars Corporation" D o="System-on-Chip engineering" E o="CUAV" 7419F8 0 o="Marmitek" 1 o="Trend-tech Technology Co., Limited" 2 o="Symtop Instrument Co." 3 o="Essential Trading Systems Corp" 4 o="Cloudvue Technologies Corporation" 5 o="Starcor Beijing Co.,Limited" 6 o="Baudisch Electronic GmbH" 7 o="Heptagon Systems PTY. LTD." 8 o="Quest Payment Systems" 9 o="Princip a.s." A o="Tanjarine" B o="IDEXX Laboratories, Inc" C o="Bach Icon ApS" D o="Ansjer Electronics Co., Ltd." E o="Volacomm Co., Ltd" 741AE0 0 o="Huano International Technology Limited" 1 o="Socionext Inc." 2 o="NURA HOLDINGS PTY LTD" 3 o="Philips Personal Health Solutions" 4 o="Revl Inc." 5 o="FUJIAN TAILI COMMUNICATION TECHNOLOGY CO.,LTD" 6 o="Blocks Wearables Inc." 7 o="BÄR Bahnsicherung AG" 8 o="Broadcast Wireless Systems Ltd" A o="SAIERCOM CORPORATION" B o="SHEN ZHEN YINGJIACHUANG ELECTRONICS TECHNOLOGY CO.,LTD." C o="bistos.co.ltd" D o="Voltaware Services Limited" E o="ITS Partner (O.B.S) S.L." 745BC5 0 o="IRS Systementwicklung GmbH" 1 o="Beijing Inspiry Technology Co., Ltd." 2 o="SIGLENT TECHNOLOGIES CO., LTD." 3 o="OXON AG" 4 o="uGrid Network Inc." 5 o="SpringCard" 6 o="Yekani Manufacturing PTY Ltd" 7 o="SHENZHEN ATX TECHNOLOGY CO.,LTD" 8 o="EDOMO Systems GmbH" 9 o="Haikou Frun Flash&Mcu Microcontrol Technology Development Co.,Ltd" A o="Fournie Grospaud Energie SASU" B o="Smartiply Inc." C o="ComNot" D o="CELYSS SAS" E o="Qingdao Wintec System Co., Ltd" 74E14A 0 o="Altenburger Electronic GmbH" 1 o="Cerevo Inc." 2 o="KLIMAT SOLEC Sp. z o.o." 3 o="emz-Hanauer GmbH & Co. KGaA" 4 o="open joint stock company %YUG-SISTEMA plus%" 5 o="UTU Oy" 6 o="Emerging Technology (Holdings) Ltd." 7 o="APM Technologies (DongGuan) Ltd" 8 o="aritec gmbh" 9 o="Kanto Aircraft Instrument Co., Ltd." A o="AStar Design Service Technologies Co., Ltd." B o="Loctek Visual Technology Corp." C o="Wuhan Shenghong Laser Projection Technology Co.,LTD" D o="Knog Pty Ltd" E o="Diamond Kinetics" 74F8DB 0 o="Enercon Technologies" 1 o="GHL Advanced Technology GmbH & Co. KG" 2 o="Shenzhen Ruishi Information Technology Co.,Ltd." 3 o="InnoTrans Communications" 4 o="WiFi Hotspots, SL" 5 o="Provision-ISR" 6 o="Shenzhen Melon Electronics Co.,Ltd" 7 o="Wuhan Tianyu Information Industry Co., Ltd." 8 o="Songam Syscom Co. LTD." 9 o="Avantree Corporation" A o="Ballard Technology, Inc," B o="Capwave Technologies Inc" C o="TBM CO., LTD." D o="Simon Electric (China) Co.,ltd" E o="Bernard Krone Holding GmbH & Co. KG" 78C2C0 0 o="Shenzhen ELI Technology co.,ltd" 1 o="XRONOS-INC" 2 o="RONIX incorporated" 3 o="Ningbo Sanxing Electric Co., Ltd." 4 o="Ory Laboratory Co., Ltd." 5 o="ShenZhen TuLing Robot CO.,LTD" 6 o="SICHUAN TIANYI COMHEART TELECOMCO.,LTD" 7 o="Guangzhou Hongcai Stage Equipment co.,ltd" 8 o="Beijing Coilabs technology co.,ltd" 9 o="SES" A o="Ombitron, Inc." B o="Wan Chao An (Beijing) Technology Co., Ltd." C o="Shanghai Hanyi Technologies Co,.Ltd." D o="KORF Inc." E o="Huwomobility" 78CA83 0 o="DAINCUBE" 1 o="Excelocity Inc." 2 o="APC" 3 o="Neofon GmbH" 4 o="Pinhole (Beijing) Technology Co., Ltd." 5 o="Huatune Technology (Shanghai) Co., Ltd." 6 o="Nomiku" 7 o="Beijing CarePulse Electronic Technology" 8 o="IHM" 9 o="Louroe Electronics" A o="Eksagate Elektronik Mühendislik ve Bilgisayar San. Tic. A.Ş." B o="Zhejiang Science Electronic Tech Co., Ltd" C o="Elanview Technology Co.,Ltd" D o="Hubei Boyuan Zhijia Network Media Co. Ltd." E o="Konecranes" 78D800 0 o="Kverneland Group Mechatronics" 1 o="Shenzhen Envicool Information Technology Co., Ltd" 2 o="Shanghai Espacetime Technology Co.,Ltd." 3 o="Shenzhen Scodeno Technology Co,. Ltd." 4 o="CS Instruments GmbH" 5 o="Björkviks Consulting AB" 6 o="Alango Technologies Ltd" 7 o="NimbeLink Corp" 8 o="Salunda Ltd" 9 o="SightLine Applications" A o="Insignal Co., Ltd." B o="Maddalena S.p.A." C o="Shenzhen Chenzhuo Technology Co., Ltd." D o="Korea Micro Wireless Co.,Ltd." E o="CL International" 7C477C 0 o="BungBungame Inc" 1 o="Photosynth Inc." 2 o="POWERLAND LIMITED" 3 o="EyeLock LLC" 4 o="RLC Electronics Systems" 5 o="Midwest Microwave Solutions" 6 o="Zerosystem LTD.Co" 7 o="BlueSmart Technology Corporation" 8 o="Shenzhen Eunicum Electric Co.,Ltd." 9 o="DaLian Cheering Tech Co.,Ltd" A o="Dspread Technology (Beijing) Inc." B o="Hangzhou Yiyitaidi Information Technology Co., Ltd." C o="Annapurna labs" D o="Speedifi Inc" E o="I-Convergence.com" 7C70BC 0 o="Shanghai magcomm communication technology co ltd" 1 o="XD-GE Automation CO.,LTD" 2 o="Digital Lumens" 3 o="FLEXIM GmbH" 4 o="K-Vision Technology (Shanghai), Ltd" 5 o="Canary Connect, Inc." 6 o="Bidgely" 7 o="Nomad Digital Ltd." 8 o="Mennekes Elektrotechnik GmbH & Co. KG" 9 o="dogtra" A o="Ametek VIS" B o="Tohan Engineering Corporation" C o="Lukup Media" D o="mk-messtechnik GmbH" E o="HOPERUN MMAX DIGITAL PTE. LTD." 7CBACC 0 o="TGT Limited" 1 o="Changsha SUNYE Electric Co., Ltd." 2 o="Maco Lighting Pty. Ltd." 3 o="Izkare" 4 o="Sun Asia Trade Co." 5 o="Fortem Technologies, Inc." 6 o="Fossil Power Systems Inc" 7 o="Virgin Orbit" 8 o="Collinear Networks Inc." 9 o="Yongguan Electronic Technology (D.G)LTD" A o="Annapurna labs" B o="Briowireless Inc." C o="Flying Loft Inc." D o="SIGMA-ELEKTRO GmbH" E o="ALPHA TECHNOLOGIES, LLC" 7CBC84 0 o="AG Neovo" 1 o="Xiamen Mage Information Technology Co.,Ltd." 2 o="3S Technology Co., Ltd." 3 o="Shanghai Yitu Technology Co. Ltd" 4 o="CONTINENTAL" 5 o="Nanning auto digital technology co.,LTD" 6 o="Société de Transport de Montréal" 7 o="Xuji Changnan Communication Equipment Co., Ltd." 8 o="Shenzhen Kuang-chi Space Technology Co., Ltd." 9 o="HITIQ LIMITED" A o="OPNT BV" B o="Guangzhou Puppyrobot Technology Co.Ltd Beijing Branch" C o="Tibit Communications" D o="VANTAGE INTEGRATED SECURITY SOLUTIONS PVT LTD" E o="Beijing Topnew Group Co., Ltd" 7CCBE2 0 o="Heyuan Yongyida Technology Holdings Co.,Ltd." 1 o="CeoTronics AG" 2 o="1000eyes GmbH" 3 o="Astrum Technologies CC" 4 o="Ningbo bird sales co.,LTD" 5 o="DTECH Labs, Inc." 6 o="SY Electronics Limited" 7 o="Hangzhou Kaicom Communication Co.,Ltd" 8 o="Polarteknik Oy" 9 o="Hangzhou Haohaokaiche Technology Co.,Ltd." A o="Shanghai Institute of Applied Physics, Chinese Academy of Sciences" B o="Easy Broadband Technology Co., Ltd." C o="mirakonta s.l." D o="optilink networks pvt ltd" E o="Aplex Technology Inc." 800A80 0 o="Golana Technology (Shenzhen) Co., Ltd." 1 o="Dongguan I-Chime electrinics Co.,Ltd" 2 o="Sumitomo Wiring Systems, Ltd." 3 o="Beijing VControl Technology Co., Ltd." 4 o="LLVISION TECHNOLOGY CO.,LTD" 5 o="Shenzhen Zidoo Technology Co., Ltd." 6 o="Beijing Gooagoo Technical Service Co.,Ltd." 807B85 0 o="Shiroshita Industrial Co., Ltd." 1 o="Hangzhou Synway Information Engineering Co., Ltd" 2 o="Phoenix Co.,Ltd." 3 o="Zhuhai TOP Intelligence Electric Co., Ltd." 4 o="Quantel USA, Inc." 5 o="EFCO" 6 o="Quickte Technology Co.,Ltd" 7 o="Chendu Ningshui Technology Co.,Ltd" 8 o="IDair, LLC" 9 o="SMART ELECTRONICS NZ LIMITED" A o="Interplan Co., Ltd." B o="Oliotalo Oy" C o="Ningbo Plus and Popscreens electronic Technology Co.,LTD" D o="Kaynes Technology India Pvt Ltd" E o="Mersen" 80E4DA 0 o="Wheatstone Corporation" 1 o="Guangzhou Pinzhong Electronic Technology CO., LTD" 2 o="Thurlby Thandar Instruments LTD" 3 o="Beijing Gaokezhongtian Technology Co Ltd" 4 o="Beijing Yuantel Technolgy Co.,Ltd-Shenzhen Branch" 5 o="CAVALRY STORAGE INC" 6 o="BroadMedia Co., Ltd." 7 o="Shortcut Labs" 8 o="Krizer international Co,. Ltd." 9 o="Elcus" A o="Neutronics" B o="Nanjing LILO Technology Co. Ltd." C o="EVER Sp. z o.o." D o="Dalian Roiland Technology Co.,Ltd" E o="Akenori PTE LTD" 8439BE 0 o="HINO ENGINEERING, INC" 1 o="Guangzhou Heygears Technology Ltd" 2 o="Cheng Du virtual world Technology Limited." 3 o="ShenZhen Fudeyu Technology co.,Ltd" 4 o="Shenzhen Ramos Digital Technology Co,.Ltd." 5 o="Neat S.r.l." 6 o="Shenzhen IP3 Century Intelligent Technology Co., Ltd" 8 o="Diamond Products LLC" 9 o="Guangdong SunMeng Information Technology Co. Ltd." A o="Emotiq s.r.l." B o="Shenzhen Horn Audio Co.,Ltd." C o="EDC Electronic Design Chemnitz GmbH" D o="Shenzhen Lidaxun Digital Technology Co.,Ltd" 8489EC 0 o="SmartGiant Technology" 1 o="Research Electronics International, LLC." 2 o="thousand star tech LTD." 3 o="Aerionics Inc." 4 o="Vayyar Imaging Ltd." 5 o="Zephyr Engineering, Inc." 6 o="POCT biotechnology" 7 o="BYDA Co. Ltd.," 8 o="Arts Digital Technology (HK) Ltd." 9 o="Shenzhen Xtooltech Co., Ltd" A o="Newell Brands" B o="EPSa Elektronik & Präzisionsbau Saalfeld GmbH" C o="SHINKAWA LTD." D o="Price Industries Limited" E o="Shenzhen Intellifusion Technologies Co., Ltd." 848BCD 0 o="SouXin Corporate" 1 o="Shenzhen LTIME In-Vehicle Entertainment System Company Limited" 2 o="CCX Technologies Inc." 3 o="Annapurna labs" 4 o="Logic Supply" 5 o="exodraft a/s" 6 o="TWTG R&D B.V." 7 o="Smart Code (Shenzhen) Technology Co.,Ltd" 8 o="Dunst tronic GmbH" 9 o="NORALSY" A o="Sphera Telecom" B o="CHONGQING HUAYI KANGDAO TECHNOLOGY CO.,LTD." C o="WORMIT" D o="ENGISAT LDA" E o="Emotiv Inc" 84E0F4 0 o="ShenZhen Panrich Technology Limited" 1 o="MedicusTek Inc." 2 o="Hangzhou Uni-Ubi Co.,Ltd." 3 o="ASL Intercom B.V." 4 o="PetroInTrade" 5 o="Hangzhou Nationalchip Science & Technology Co.,Ltd." 6 o="Liaoning IK'SONYA Science and Technology Co., Ltd." 7 o="Dantherm" 8 o="RAY Co.,LTD" 9 o="SHENZHEN HCN.ELECTRONICS CO.,LTD." A o="iSolution Technologies Co.,Ltd." B o="Orchard Electronics Co., Ltd." C o="AIMTRON CORPORATION" D o="Logos01 Srl" E o="Scale-Tec Ltd." 885D90 0 o="FOSHAN HUAGUO OPTICAL CO.,LTD" 1 o="ShenZhen Yuyangsheng technology company LTD" 2 o="DAIDONG Industrial System Co., Ltd." 3 o="CPAC Systems" 4 o="Wuhan Strong Electronics Co., Ltd" 5 o="Shenzhen JingHanDa Electronics Co.Ltd" 6 o="Hi-Profile Achievement (M) Sdn Bhd" 7 o="Schmidt & Co.,(H.K.)Ltd." 8 o="Creative Sensor Inc." 9 o="Gigatech R&D Corp." A o="Shenzhen Speedrun Technologies Co.,Ltd." B o="Premier Merchandises Limited" C o="iRoom GmbH" D o="Hexaglobe" E o="Unitac Technology Limited" 885FE8 0 o="Jungheinrich Norderstedt AG & Co. KG" 1 o="Apoidea Technology Co., Ltd." 2 o="Opto Engineering" 3 o="Sonnet Labs Inc." 4 o="Beijing laiwei Technology Co.,Ltd" 5 o="Hauch & Bach ApS" 6 o="Shenzhen Xin Kingbrand Enterprises Co.,Ltd" 7 o="Red Technologies, LLC." 8 o="Changsha Xiangji-Haidun Technology Co., Ltd" 9 o="Sowee" A o="Lisle Design Ltd" B o="Shenzhen ORVIBO Technology Co., Ltd" C o="Inor Process AB" D o="zhejiang yuanwang communication technolgy co.,ltd" E o="Unicom Global, Inc." 88A9A7 0 o="Shenzhenshi kechuangzhixian technology Co.LTD" 1 o="Solaredge LTD." 2 o="Honeywell spol. s.r.o. HTS CZ o.z." 3 o="Mikroelektronika" 4 o="Thomas & Darden, Inc" 5 o="Volterman Inc." 6 o="Sieper Lüdenscheid GmbH & Co. KG" 7 o="kimura giken corporation" 8 o="psb intralogistics GmbH" 9 o="FlashForge Corporation" A o="Zhejiang Haoteng Electronic Technology Co.,Ltd." B o="TWK-ELEKTRONIK" C o="AndroVideo Inc." D o="AVLINK INDUSTRIAL CO., LTD" E o="Impact Distribution" 8C147D 0 o="Nio" 2 o="Agilent S.p.A" 3 o="Remotec Technology Limited" 4 o="Nanjing bilian information Technology Co.,Ltd." 5 o="Unwired Networks" 6 o="Shenzhen Meidou Technology Co, Ltd." 7 o="UrbanHello" 8 o="V2 S.p.A." 9 o="Anyware Solutions ApS" A o="Bluemega Document & Print Services" B o="Bausch Datacom NV/SA" C o="Reynaers Aluminium" D o="Shenzhen Lanxus technology Co. Ltd." E o="Electrical & Automation Larsen & Toubro Limited" 8C192D 0 o="Noritsu Precision Co., Ltd." 1 o="Shenzhen Huanuo Internet Technology Co.,Ltd" 2 o="DataRemote Inc." 3 o="Greenfield Technology" 4 o="Charmlink Tech(HK) Co.,Limited" 5 o="ELCO(TIANJIN)ELECTRONICS CO.,LTD." 6 o="smartHome Partner GmbH" 7 o="SRETT" 8 o="Shenzhen Cylan Technology Co.,Ltd" 9 o="ViaWear, Inc." A o="TeleAlarm SA" B o="Abside Networks, Inc." C o="You Zhengcheng co.,ltd" D o="Pyras Technology Inc." E o="Elcon AB" 8C1CDA 0 o="CEOS Pty Ltd" 1 o="GESAS GmbH" 2 o="GEOMC" 3 o="Structura Technology & Innovation" 4 o="Anntec (Beijing) Technology Co.,Ltd." 5 o="Septentrio NV" 6 o="LocoLabs LLC" 7 o="K Technology Corporation" 8 o="ATOL LLC" 9 o="Raychem RPG PVT. LTD." A o="China Potevio Co., Ltd" B o="T+A elektroakustik GmbH & Co.KG" C o="Alcidae Inc" D o="Riegl Laser Measurement Systems GmbH" E o="Electronic Controlled Systems, Inc." 8C593C 0 o="Fujian Chaozhi Group Co., Ltd." 1 o="Future Robot Technology Co., Limited" 2 o="Beida Jade Bird Universal Fire Alarm Device CO.,LTD." 3 o="Chongqing beimoting technology co.ltd" 4 o="Guralp Systems Limited" 5 o="Spectranetix" 6 o="Qbic Technology Co., Ltd" 7 o="OBO Pro.2 Inc." 8 o="Nanonord A/S" 9 o="GENIS" A o="ecom instruments GmbH" B o="Scharfe-Sicht GmbH" C o="Dantherm Cooling Inc." D o="IDRO-ELETTRICA S.P.A." E o="Shenzhen Tian-Power Technology Co.,Ltd." 8CC8F4 0 o="Guardtec,Inc" 1 o="Lanhomex Technology(Shen Zhen)Co.,Ltd." 2 o="Dark Horse Connect LLC" 3 o="TOHO DENKI IND.CO.,LTD" 4 o="ITECH Electronic Co.,ltd." 5 o="Beijing KXWELL Technology CO., LTD" 6 o="SHENZHEN D-light Technolgy Limited" 8 o="Strongbyte Solutions Limited" 9 o="Swift Navigation Inc" A o="Trilux Group Management GmbH" B o="PTYPE Co., LTD." C o="Shenzhen KSTAR Science and Technology Co., Ltd" D o="Beijing Xinxunxintong Eletronics Co.,Ltd" E o="Evaporcool Solutions" 904E91 0 o="Spirtech" 1 o="Apollo Video Technology" 2 o="North Pole Engineering, Inc." 3 o="Teleepoch Ltd" 4 o="Wrtnode technology Inc." 5 o="mcf88 SRL" 6 o="Nuwa Robotics (HK) Limited Taiwan Branch" 7 o="IBM" 8 o="CommandScape, Inc." 9 o="CUTTER Systems spol. s r.o." A o="Kaertech Limited" B o="Shanghai JaWay Information Technology Co., Ltd." C o="Showtacle s.r.o." D o="SKODA ELECTRIC a.s." E o="Shenzhen Cloudynamo Internet Technologies Co.,LTD." 90C682 0 o="Shenzhen Lencotion Technology Co.,Ltd" 1 o="Shenzhen Photon Broadband Technology CO., LTD" 2 o="ekey biometric systems gmbh" 3 o="Innovative Electronic Technology" 4 o="Neone, Inc." 5 o="S.A.E.T. S.R.L." 6 o="Nanjing Jiexi Technologies Co., Ltd." 7 o="Cinet Inc" 8 o="Teletek Electronics" 9 o="ACT" A o="Beijing Acorn Networks Corporation" B o="Lachmann & Rink GmbH" C o="Li Seng Technology Ltd." D o="PowerShield Limited" E o="Shanghai HuRong Communication Technology Development Co., Ltd." 90E2FC 0 o="Pars Ertebat Afzar Co." 1 o="Yite technology" 2 o="ShenZhen Temwey Innovation Technology Co.,Ltd." 3 o="Shenzhen Hisource Technology Development CO.,Ltd." 4 o="Dongguan Kangyong electronics technology Co. Ltd" 5 o="TOTALONE TECHNOLOGY CO., LTD." 6 o="Sindoh Techno Co., Ltd." 7 o="Fair Winds Digital srl" 8 o="bitsensing Inc." 9 o="Huddly AS" A o="Power Engineering & Manufacturing, Inc." B o="Shenzhen Dingsheng Intelligent Technology Co., Ltd" C o="Stanley Security" D o="Beijing Lanxum Computer Technology CO.,LTD." E o="DevCom spol. s r.o." 9405BB 0 o="Qingdao Maotran Electronics co., ltd" 1 o="Dongguan Kingtron Electronics Tech Co., Ltd" 2 o="Dongguan CXWE Technology Co.,Ltd." 3 o="Neurik AG" 4 o="Shenzhen Baolijie Technology Co., Ltd." 5 o="Chengdu Zhongheng Network Co.,Ltd." 6 o="ZIGPOS GmbH" 7 o="LTE-X, Inc" 8 o="iungo" 9 o="Zimmer GmbH" A o="SolarEdge Technologies" B o="AUSTAR HEARING SCIENCE AND TECHNILIGY(XIAMEN)CO.,LTD" C o="LAO INDUSTRIA LTDA" D o="Sunthink S&T Development Co.,Ltd" E o="BAE Systems" 94CC04 0 o="Hangzhou Yongkong Technology Co., Ltd." 1 o="GOCOAX, INC" 2 o="Nanjing Yacer Communication Technology Co. Ltd." 3 o="Shenzhen Link technology Co.,Ltd" 4 o="ProConnections, Inc." 5 o="SHENZHEN SANRAY TECHNOLOGY CO.,LTD" 6 o="Sam Nazarko Trading Ltd" 7 o="Gowing Business And Contracting Wenzhou Co., LTD" 8 o="CircuitWerkes, Inc." 9 o="ENTEC Electric & Electronic Co., LTD." A o="hyBee Inc." B o="Shandong free optical technology co., ltd." C o="Shanxi Baixin Information Technology Co., Ltd." D o="Hanzhuo Information Technology(Shanghai) Ltd." E o="SynchronicIT BV" 9802D8 0 o="Stoerk-Tronic, Stoerk GmbH & Co.KG" 1 o="SHENZHEN ATEKO PHOTOELECTRICITY CO LTD" 2 o="United Power Research Technology Corp." 3 o="Grammer EiA Electronics nv" 4 o="Zedi, Inc." 5 o="EBI Ltd." 6 o="Fritz Kuebler GmbH" 7 o="Ormazabal Protection&Automation" 8 o="Simplo Technology Co.,LTD" 9 o="Navroom Beijing, China" A o="HySecurity" B o="HANSHIN MEDICAL CO., LTD." C o="AGV spa" D o="Promicon Elektronik GmbH + Co.KG" 980637 0 o="Zoleo Inc." 1 o="E. P. Schlumberger" 2 o="Summa nv" 3 o="Hangzhou Sanxin Network Technology Co.,Ltd" 4 o="Chengdu Shuwei Communication Technology Co.,Ltd" 5 o="GS GLOBAL SECURITY INC" 6 o="BOEING SSG" 7 o="SAMWONTECH" 8 o="Shenzhen Y&D Electronics Information Co., Ltd" 9 o="NAB co,.LTD" A o="Angora Networks" B o="Petersime" C o="HwaCom Systems Inc." D o="VR Technology(Shenzhen) Limited" E o="Shanghai Jinnian information technology Co. Ltd" 986D35 0 o="Shenzhen MALATA Mobile Communication Co.,LTD" 1 o="Shenzhen cositea electronics technology co.,LTD" 2 o="SHENZHEN FISE TECHNOLOGY HOLDING CO.,LTD." 3 o="DH Mechatronic AG" 4 o="blossom communications corp." 5 o="PDAHL" 6 o="Vitronic Dr.-Ing. Stein Bildverarbeitungssysteme GmbH" 7 o="Zhejiang Hanshow Technology Co., Ltd." 8 o="Beijing 3CAVI Tech Co.,Ltd" A o="iWave Japan, Inc." B o="INTECH" C o="my-PV GmbH" D o="Praesideo B.V." E o="BAYCOM OPTO-ELECTRONICS TECHNOLGY CO., LTD." 98AAFC 0 o="Dalian Eastern Display Co., Ltd." 1 o="SURTEC" 2 o="Shenzhen UniStrong Science & Technology Co., Ltd" 3 o="Nexus Electrical(Jiaxing) Limited" 4 o="RPE %RADICO%" 5 o="SPM Instrument AB" 6 o="Mekotronics Co., Ltd" 7 o="Shenzhen Hubsan Technology Co.,LTD." 8 o="Beijing Tiandi-Marco Electro-Hydraulic Control System Company Ltd." 9 o="BEAM Authentic" A o="SENKO Co.,Ltd." B o="Resonant Systems Inc." C o="dots Inc." D o="MCS Micronic Computer Systeme GmbH" E o="Comarch S.A." 98F9C7 0 o="SHENZHEN HUNTKEY ELECTRIC CO., LTD." 1 o="HighSecLabs" 2 o="Pozyx NV" 3 o="Beijing Horizon Information Technology Co., Ltd" 4 o="Promess GmbH" 5 o="Tonycore Technology Co.,Ltd." 6 o="GoodBox" 7 o="ARIMA Communications Corp." 8 o="Renalsense" 9 o="Koala Technology CO., LTD." A o="MSB Elektronik und Gerätebau GmbH" B o="HIROIA Communications Pte. Ltd. Taiwan Branch" C o="ShenZhen Chuangwei Electronic Appliance Co.,Ltd" D o="hangzhou soar security technologies limited liability company" E o="NC-LINK Technology Co., Ltd." 9C431E 0 o="Antailiye Technology Co.,Ltd" 1 o="Symfun Telecom Ltd" 2 o="HAESUNG DS" 3 o="Advanced Logic Technology (ALT) sa" 4 o="Wireless Environment, LLC" 5 o="ProMOS Technologies Inc." 6 o="R-S-I Elektrotechnik GmbH CO KG" 7 o="Optris GmbH" 8 o="Wunda Group plc" 9 o="%CONTINENT% Co. Ltd" A o="ST Access Control System Corp." B o="JNL Technologies Inc" C o="SuZhou Jinruiyang Information Technology CO.,LTD" D o="HK ELEPHONE Communication Tech Co.,Limited" E o="Midas Technology DBA Phoenix Audio Technologies" 9C69B4 0 o="Suzhou Fitcan Technology Co.,LTD" 1 o="EA Technology Ltd" 2 o="MOZI (Shenzhen) Artificial Intelligence Technology Co., Ltd." 3 o="Appareo Systems, LLC" 4 o="Globalcom Engineering SPA" 5 o="Elesta GmbH" 6 o="Shenzhen jiahua zhongli technology co.LTD" 7 o="PCI Limited" 8 o="Skydock do Brasil Ltda" 9 o="Teptron AB" A o="BEIJING PICOHOOD TECHNOLOGY CO.,LTD" B o="Toughdog Security Systems" C o="Guangdong Hanwei intergration Co.,Ltd" D o="%Intellect module% LLC" E o="NINGBO SHEN LINK COMMUNICATION TECHNOLOGY CO., LTD" 9CF6DD 0 o="Annapurna labs" 1 o="Ithor IT Co.,Ltd." 2 o="Beijing Sifang Automation Co., Ltd." 3 o="RYEEX Technology Co.,Ltd." 4 o="Capital Engineering & Research Incorporation Ltd." 5 o="b8ta Inc." 6 o="Shenzhen Xtooltech Co., Ltd" 7 o="KXT Technology Co., Ltd." 8 o="Savari Inc" 9 o="CAMA(Luoyang)Electronics Co.,Ltd" A o="AVI Pty Ltd" B o="Guangzhou LANGO Electronics Technology Co., Ltd." C o="Lighting New Energy Technology Co., Ltd." D o="Foshan Synwit Technology Co.,Ltd." E o="Shanxi ZhuoZhi fei High Electronic Technology Co. Ltd." A019B2 0 o="Vast Production Services" 1 o="El Sewedy Electrometer Egypt S.A.E." 2 o="Beijing Deephi Intelligent Technology Co., Ltd" 3 o="Power Diagnostic Service Co., LTD." 4 o="Osatec" 5 o="SZBROAD TECHNOLOGY (HK) CO.,LTMITED" 6 o="GfG mbH" 7 o="ARIMA Communications Corp." 8 o="MIS Industrie Systeme GmbH & Co. KG" 9 o="Lon Microsystems Inc." A o="Adomi" B o="HangZhou iMagic Technology Co., Ltd" C o="LDA Technologies" D o="RYD Electronic Technology Co.,Ltd." E o="Ahgora Sistemas SA" A0224E 0 o="Kyung In Electronics" 1 o="rNET Controls" 2 o="Closed Joint-Stock Company %NORSI-TRANS%" 3 o="ProPhotonix" 4 o="TMGcore LLC" 5 o="Zhuhai Cheer Technology Co., LTD." 6 o="MESIT asd, s.r.o." 7 o="Applied Information, Inc." 8 o="EISST International Ltd" 9 o="Delta Tau Data Systems, Inc." A o="IST ElektronikgesmbH" B o="All Inspire Health Inc." C o="Standartoptic, Limited Liability Company" D o="Digifocus Technology Inc." E o="Hunan Youmei Science&Technology Development Co.,Ltd." A02833 0 o="GERSYS GmbH" 1 o="Ordercube GmbH" 2 o="Shanghai Nohmi Secom Fire Protection Equipment Co.,Ltd." 3 o="SHANGHAI XUNTAI INFORMATION TECHNOLOGY CO.,LTD." 4 o="Firm INFORMTEST Ltd." 5 o="JGR Optics Inc" 6 o="Xiamen Caimore Communication Technology Co.,Ltd." 7 o="Kryptus Information Security S/A" 8 o="HZHY TECHNOLOGY" 9 o="IMESHX CORPORATION LIMITED" A o="Medical Evolution Kft" B o="FlexLink AB" C o="Kalray S.A." D o="Audix" E o="Precision Planting, LLC." A03E6B 0 o="s&t embedded GmbH" 1 o="Business Support Consultant Co.,Ltd" 2 o="Videx Electronics S.p.A." 3 o="iLoda Solutions Limited" 4 o="Shenzhen Nufilo Inc." 5 o="Friday Lab, UAB" 6 o="Wuhan Rui Ying Tong Network Technology Co., Ltd(China)" 7 o="SinoGrid Software Systems Inc." 8 o="718th Research Institute of CSIC" 9 o="Incogniteam Ltd." A o="Shenzhen Neostra Technology Co.Ltd" B o="KoCoS Messtechnik AG" C o="Qunar.com" D o="Jining SmartCity Infotech Co.Ltd." E o="Nanjing zhanyi software technology co., LTD" A0BB3E 0 o="Link Labs" 1 o="IVision Electronics Co.,Ltd" 2 o="DirectOut GmbH" 3 o="WiteRiver Technology LLC" 4 o="COMSYS Communications Systems Service GmbH" 5 o="ManTech International Corporation" 6 o="Xiamen Kehua Hengsheng Co.,Ltd" 7 o="SIMTEC Elektronik GmbH" 8 o="AutarcTech GmbH" 9 o="Sandal Plc" A o="Filo SRL" B o="Beijing Techshino Technology Co., Ltd." C o="Ewig Industries Macao Commercial Offshore Ltd" D o="Shenzhen Talent Technology company limited" E o="Messtechnik Sachs GmbH" A0C5F2 0 o="Quantlab Financial, LLC" 1 o="KNS Group LLC (YADRO Company)" 2 o="Speedgoat GmbH" 3 o="Shenzhen Feima Robotics Technology Co.,Ltd" 4 o="AiCare Corp." 5 o="Spacepath Communications Ltd" 6 o="ShenZhen JuWangShi Tech" 7 o="Viettronimex JSC" 8 o="CoolR Group Inc" 9 o="Impulse Networks Pte Ltd" A o="Serious Integrated, Inc." B o="Oray.com co., LTD." C o="Glooko inc" D o="UnaliWear, Inc." E o="Synapsys Solutions Ltd." A41163 0 o="Adetel Equipment" 1 o="INTER CONTROL Hermann Köhler Elektrik GmbH & Co.KG" 2 o="Allgo Tech. (Beijing) Co.,Ltd" 3 o="Pax" 4 o="AlterG, Inc." 5 o="Carbon, Inc." 6 o="Beijing XiaoRui Technology Co., Ltd" 7 o="SHENZHEN YIWANJIA INFORMATION TECHNOLOGY CO.,LTD" 8 o="Dspread Technology (Beijing) Inc." 9 o="accesso Technology Group" A o="ISE GmbH" B o="Moog Music Inc." C o="Viloc" D o="SHENZHEN ZHISHI TECHNOLOGY CO., LTD." E o="tinylogics" A43BFA 0 o="Chengdu Territory Technology Co.,Ltd" 1 o="Beijing Uniwill Science and Technology Co,Ltd" 2 o="Powell Industries" 3 o="Circus World Displays Ltd" 4 o="Maxon Australia" 5 o="BOI Solutions" 6 o="Recognition Systems LLC" 7 o="Deatronic srl" 8 o="Alpwise" 9 o="SHEN ZHEN PASUN TECH CO.LTD." A o="Plus One Japan Ltd." B o="ALSTOM Strongwish (Shenzhen) Co., Ltd" C o="SHANGHAI XIETONG TECHNOLOGY INC." D o="JSC “Component-ASU”" E o="The Magstim Company Ltd." A44F29 0 o="Dermalog Identification Systems GmbH" 1 o="Olssen B.V." 2 o="LUCEOR" 3 o="Comsel System Ltd" 4 o="DGC Access AB" 5 o="Shanghai KuanYu Industrial Network Equipment Co.,Ltd" 6 o="Selektro Power Inc" 7 o="Protean Payment" 8 o="Innovations in Optics, Inc." 9 o="Certi Networks Sdn Bhd" A o="HTD" B o="GUANGDONG REAL-DESIGN INTELLIGENT TECHNOLOGY CO.,LTD" C o="Shenzhen Huadoo Bright Group Limitied" D o="HALLIBURTON" E o="Neotech Systems Pvt. Ltd." A4580F 0 o="INNOPRO" 1 o="Stone Lock Global, Inc." 2 o="BLOKS. GmbH" 3 o="Engineered SA" 4 o="Shenzhen City billion Leiden science and Technology Co., Ltd." 5 o="CoAsia Microelectronics Corp." 6 o="Astro, Inc" 7 o="Changsha Tai Hui Network Technology Co.,Ltd" 8 o="AIR LIQUIDE MEDICAL SYSTEMS" 9 o="Ksenia Security srl" A o="GUANGZHOU OPTICAL BRIDGE COMMUNICATION EQUIPMENT CO.,LTD." B o="ABB AB PGHV" C o="Homebeaver" D o="EYE IO, LLC" E o="Finetree Communications Inc" A4DA22 0 o="General Electric Company" 1 o="T2T System" 2 o="Wyze Labs Inc" 3 o="DURATECH Enterprise,LLC" 4 o="LORIOT AG" 5 o="Original Products Pvt. Ltd." 6 o="AURANEXT" 7 o="Hydro Electronic Devices, Inc." 8 o="SolidPro Technology Corporation" 9 o="Malldon Technology Limited" A o="Abetechs GmbH" B o="Klashwerks Inc." C o="EHO.LINK" D o="Shen Zhen City YaKun Electronics Co., Ltd" E o="Quuppa Oy" A4ED43 0 o="Sweam AB" 1 o="INGELABS S.L." 2 o="Shanghai Mission Information Technologies (Group) Co.,Ltd" 3 o="Dongguan Mingji Electronics technology Group Co., Ltd." 4 o="NETAS TELEKOMUNIKASYON A.S." 5 o="Beijing ICPC CO.,Ltd." 6 o="Shanghai Facom Electronics Technology Co, ltd." 7 o="Wuxi Junction Infomation Technology Incorporated Company" 8 o="Linseis Messgeraete GmbH" 9 o="Heyuan intelligence technology CO.,Ltd" A o="Guangzhou Maxfaith Communication Technology Co.,LTD." B o="Paragon Business Solutions Ltd." C o="leakSMART" D o="Brand New Brand Nordic AB" E o="TOEC TECHNOLOGY CO.,LTD." A83FA1 0 o="Imecon Engineering SrL" 1 o="GTDevice LLC" 2 o="MEDCAPTAIN MEDICAL TECHNOLOGY CO., LTD." 3 o="Guangzhou Tupu Internet Technology Co., Ltd." 4 o="Zhejiang Wellsun Intelligent Technology Co.,Ltd." 5 o="Sercomm Corporation." 6 o="BEGLEC" 7 o="Plejd AB" 8 o="Neos Ventures Limited" 9 o="Shenzhen ITLONG Intelligent Technology Co.,Ltd" A o="Shanghai East China Computer Co., Ltd" B o="Exel s.r.l. unipersonale" C o="Laonz Co.,Ltd" D o="Shenzhen BIO I/E Co.,Ltd" E o="Guangzhou Navigateworx Technologies Co., Limited" AC1DDF 0 o="PiOctave Solutions Pvt Ltd" 1 o="HellaStorm, Inc." 2 o="ConectaIP Tecnologia S.L." 3 o="CRDE" 4 o="Motec Pty Ltd" 5 o="Shenzhen Ouzheng Electronic Tech Co,.Ltd" 6 o="Shenzheng SenseTime Technology Co. Ltd" 7 o="Green IT Korea Co., Ltd." 8 o="Sichuan Odot Automation System Co.,Ltd." 9 o="Solare Datensysteme GmbH" A o="WESCO INTEGRATED SUPPLY" B o="Fine Inc." C o="Beijing Chunhong Technology Co., Ltd." D o="Elekon AG" E o="Duravit AG" AC64DD 0 o="Jia-Teng" 1 o="JSC InfoTeCS" 2 o="Shenzhen PuHua Technology Co., Ltd" 3 o="infypower Co., Ltd" 4 o="8Cups" 5 o="SHANGHAI ZTE TECHNOLOGIES CO.,LTD" 6 o="Kpnetworks Ltd." 7 o="Wittmann Kunststoffgeräte GmbH" 8 o="PFDC ELANCYL" 9 o="Micro Connect Pty Ltd" A o="Bluewave Global Manufacturing Limited" B o="Groupe Citypassenger Inc" C o="Beijing Hamigua Technology Co., Ltd." D o="HMicro Inc" E o="DIGIBIRD TECHNOLOGY CO., LTD." B01F81 0 o="Dalian GigaTec Electronics Co.,Ltd" 1 o="Uvax Concepts" 3 o="Sound United" 4 o="SHENZHEN YIFANG DIGITAL TECHNOLOGY CO.,LTD." 5 o="SHENZHEN GRID TECHNOLOGY CO.,LTD" 6 o="COMOTA Co., Ltd." 7 o="Aether Services, Inc." 8 o="Technion Oy" 9 o="CIDE Interactive" A o="Steffens Systems GmbH" B o="Rademacher Geraete-Elektronik GmbH" C o="Access Device Integrated Communications Corp." D o="TAIWAN Anjie Electronics Co.,Ltd." E o="Advanced & Wise Technology Corp." B0B353 0 o="Blake UK" 1 o="Sprocomm Technologies CO.,LTD." 2 o="Rizhao SUNWAM International Co., Ltd." 3 o="AD HOC DEVELOPMENTS S.L" 4 o="Innotas Elektronik GmbH" 5 o="Zenlayer" 6 o="Hangzhou Hikrobot Technology Co., Ltd." 7 o="WUUK LABS CORP." 8 o="VOXISCOM" 9 o="HANMECIPS CO." A o="Ledger" B o="Zoox" C o="Beijing Geekplus Technology Co.,Ltd." D o="IPvideo Corporation" E o="Nanjing Yining Intelligent Technology Co., Ltd." B0C5CA 0 o="EM-Tech" 1 o="IVK-SAYANY" 2 o="LOWOTEC GmbH" 3 o="abode systems, inc." 4 o="shanghai University Ding-Tech software Corp.,ltd" 5 o="SYSTOVI" 6 o="SunTech Medical, Inc." 7 o="SHENZHEN KTC TECHNOLOGY GROUP" 8 o="Astyx GmbH" 9 o="D&T Inc." A o="TEM Mobile Limited" B o="RISECOMM (HK) TECHNOLOGY CO. LIMITED" C o="XMetrics" E o="Audio Elektronik İthalat İhracat San ve Tic A.Ş." B0FD0B 0 o="TAE HYUNG Industrial Electronics Co., Ltd." 1 o="IDspire Corporation Ltd." 2 o="Vista Manufacturing" 3 o="DMAC Security LLC" 4 o="Fasii Information Technology (Shanghai) Ltd." 5 o="Taian Yuqi Communication Technology Co., Ltd" 6 o="DNESO TEN Ltd." 7 o="Everynet Oy" 8 o="eSenseLab Ltd." 9 o="Eagle Acoustics Manufacturing, LLC" A o="TEMCO JAPAN CO., LTD." B o="MartinLogan, Ltd." C o="Haltian Products Oy" D o="Habana Labs LTD" E o="Shenzhen FEIBIT Electronic Technology Co.,LTD" B437D1 0 o="Lezyne INC USA" 1 o="Alturna Networks" 2 o="Fibersystem AB" 3 o="DIMTON CO.,LTD." 4 o="KOMSIS ELEKTRONIK SISTEMLERI SAN. TIC. LTD.STI" 5 o="Stratom, Inc." 6 o="Yireh Auto Tech Co.,Ltd." 7 o="GE Power Management" 8 o="eInfochips Limited" 9 o="Nanjing yuekong Intelligent Technology" A o="Axiomatic Technologies Corporation" B o="NSI Co., Ltd." C o="NANJING PUTIAN TELECOMMUNICATIONS TECHNOLOGY CO.,LTD." D o="ZXY Sport Tracking" E o="Union Tecnologica Noxium S.L." B44BD6 0 o="G4S Monitoring Technologies Ltd" 1 o="SHENZHEN TITA INTERACTIVE TECHNOLOGY CO.,LTD" 2 o="Shenzhen Cudy Technology Co., Ltd." 3 o="Huizhou Sunoda Technology Co. Ltd" 4 o="Shenzhen Hi-Net Technology Co., Ltd." 5 o="ShenZhen Comstar Technology Company" 6 o="Perspicace Intellegince Technology" 7 o="Taizhou convergence Information technology Co.,LTD" 8 o="Arnouse Digital Devices Corp" 9 o="Qstar Technology Co,Ltd" A o="Shenzhen Huabai Intelligent Technology Co., Ltd." B o="DongYoung media" C o="Impakt S.A." D o="ELLETA SOLUTIONS LTD" E o="CHUNGHSIN INTERNATIONAL ELECTRONICS CO.,LTD." B4A2EB 0 o="QKM Technology(Dongguan)Co.,Ltd" 1 o="DCI International, LLC." 2 o="Katerra Inc" 3 o="Canaan Creative Co.,Ltd." 4 o="Softel SA de CV" 5 o="Annapurna labs" 6 o="ShenZhen Lark Acoustics Co., Ltd." 7 o="Kona I" 8 o="SHENZHEN ZHUIFENGMA TECHNOLOGY CO., LTD" 9 o="CURRENT WAYS, INC." A o="Hengkang(Hangzhou)Co.,Ltd" B o="Quantitec GmbH" C o="Shanghai Shenou Communication Equipment Co., Ltd." D o="SALZBRENNER media GmbH" E o="Dongguan Finslink Communication Technology Co.,Ltd." B8D812 0 o="Glamo Inc." 1 o="VOTEM" 2 o="IPM Sales and service Co.,Ltd." 3 o="iModesty Technology Corp." 4 o="V5 Technology Corporation" 5 o="XIAMEN XINDECO LTD." 6 o="Vonger Electronic Technology Co.,Ltd." 7 o="Neuropace Inc." 8 o="Visual Productions BV" 9 o="Entotem LTD" A o="Kiwigrid GmbH" B o="Docobo Limited" C o="Yuwei Info&Tech Development Co.,Ltd" D o="Lam Research" E o="ZheJiang FangTai Electirc Co., Ltd" BC3400 0 o="Redvision CCTV" 1 o="IPLINK Technology Corp" 2 o="LifeSmart" 3 o="Altronix Corporation" 4 o="Dexcel Design Pvt Ltd" 5 o="NDSL, Inc." 6 o="Cameron" 7 o="Q-PRODUCTS a. s." 8 o="MATICA TECHNOLOGIES AG" 9 o="Shenzhen PHilorise Technical Limited" A o="AURALIC LIMITED" B o="FARO TECHNOLOGIES, INC." C o="Parlay Labs dba Highfive" D o="Hangzhou Linker Digital Technology Co., Ltd" E o="LLD Technology Ltd." BC6641 0 o="InSync Technology Ltd" 1 o="Global China Technology Limited" 2 o="Process-Electronic Sp. z o.o." 3 o="Solectria Renewables, LLC" 4 o="ARGUS-SPECTRUM" 5 o="Scientific Games" 6 o="Intuitive Surgical, Inc" 7 o="VSN Mobil" 8 o="Shenzhen Yaguang communication CO.,LTD" 9 o="Shenzhen General Measure Technology Co., Ltd" A o="EBlink" B o="Sidus Novum Sp. z o. o." C o="Shenzhen Crave Communication Co.,ltd" D o="UtilLighting Co.,Ltd." E o="Lucent Trans Electronics Co., Ltd" BC9740 0 o="Alpha ESS Co., Ltd." 1 o="comtac AG" 2 o="Lattec I/S" 3 o="Precision Galaxy Pvt. Ltd" 4 o="Wind Mobility Technology (Beijing) Co., Ltd" 5 o="Shanghai Laisi Information Technology Co.,Ltd" 6 o="Shenzhen Colorwin Optical Technology Co.,Ltd" 7 o="Airfi Oy AB" 8 o="Gaodi Rus" 9 o="Direct Communication Solutions" A o="Amap Information Technology Co., Ltd" B o="ForoTel" C o="LISTEC GmbH" D o="Rollock Oy" E o="B4ComTechnologies LLC" C08359 0 o="CHONGQING JIUYU SMART TECHNOLOGY CO.LTD." 1 o="Gemvax Technology ,. Co.Ltd" 2 o="Huaxin SM Optics Co. LTD." 3 o="PCH Engineering A/S" 4 o="ANTS" 5 o="Viper Design, LLC" 6 o="Beijing Cloud Fly Technology Development Co.Ltd" 7 o="Fuzhou Fdlinker Technology Co.,LTD" 8 o="ista International GmbH" 9 o="Shenzhen Pay Device Technology Co., Ltd." A o="SHANGHAI CHARMHOPE INFORMATION TECHNOLOGY CO.,LTD." B o="Suzhou Siheng Science and Technology Ltd." D o="Gardner Denver Thomas GmbH" E o="Cyber Sciences, Inc." C0D391 0 o="Fuzhou Jinshi Technology Co.,Ltd." 1 o="B9Creations" 2 o="Hofon Automation Co.,Ltd" 3 o="IXON B.V." 4 o="Vernier Software & Technology" 5 o="WiTagg, Inc" 6 o="Ernitec" 7 o="ALNETz Co.,LTD" 8 o="XENA SECURITY LIMITED" 9 o="xxter bv" A o="Alpha Audiotronics, Inc." C o="Zhinengguo technology company limited" D o="REGULUS CO.,LTD." E o="SAMSARA NETWORKS INC" C47C8D 0 o="ATI" 1 o="LYNX INNOVATION LITIMED" 2 o="Star2Star Communications, LLC" 3 o="Watec Co., Ltd." 4 o="ROBOSTAR" 5 o="PASCAL Co., Ltd." 6 o="HHCC Plant Technology Co.,Ltd." 7 o="Awiselink Co., Ltd." 8 o="GETEMED Medizin- und Informationstechnik AG" 9 o="Airbus DS - SLC" A o="Silvus technologies inc" B o="GC AUTOMATION CO,LTD" C o="INOTEC Sicherheitstechnik GmbH" D o="Anhui GuangXing Linked-Video Communication Technology Co, Ltd." E o="Labor Strauss Sicherungsanlagenbau GmbH" C4954D 0 o="BA International Electronics Co. Ltd." 1 o="Teletronik AG" 2 o="Shen Zhen Euse Technology Co.,Ltd" 3 o="Sercomm Corporation." 4 o="GL Solutions Inc." 5 o="Marble Automation" 6 o="AKKA Germany GmbH" 7 o="LLC %TechnoEnergo%" 8 o="Xinjiang Golden Calf Energy IOT Technology Co., Ltd" 9 o="Shenzhen Xtooltech Co., Ltd" A o="KAT Mekatronik Urunleri AS" B o="Multicom, Inc" C o="SolidGear Corporation" D o="Newland Era Edu Hi-Tech(BeiJing)Co.,Ltd" E o="Canare Electric Co., Ltd." C4FFBC 0 o="Danego BV" 1 o="VISATECH C0., LTD." 2 o="Mobiletron Electronics Co., Ltd" 3 o="SHENZHEN KALIF ELECTRONICS CO.,LTD" 4 o="iMageTech CO.,LTD." 5 o="comtime GmbH" 6 o="Shenzhen C & D Electronics Co., Ltd." 7 o="Critical Link" 8 o="ShenZhen ZYT Technology co., Ltd" 9 o="GSM Innovations Pty Ltd" A o="Advanced Navigation" B o="KAGA ELECTRONICS CO.,LTD." C o="KyongBo Electric Co., Ltd." D o="Beijing KDF information technology co. LTD." E o="viRaTec GmbH" C82C2B 0 o="Fungible, Inc." 1 o="Galgus" 2 o="Repp Health" 3 o="RF Engineering and Energy Resource" 4 o="iWave Systems Tech Pvt Ltd" 5 o="DALCO AG" 6 o="Grav I.T." 7 o="Merpa Bilgi Islem Ltd.Sti" 8 o="Verifone Systems (China),lnc." 9 o="BIOT Sp. z o.o." A o="Shiftall Inc." B o="Kunshan SVL Electric Co.,Ltd" C o="Smart Wires Inc" D o="UBITRON Co.,LTD" E o="Fränkische Rohrwerke Gebr. Kirchner GmbH & Co. KG" C86314 0 o="Western Reserve Controls, Inc." 1 o="Autonics Co., Ltd." 2 o="Tymphany Acoustic Technology (Huizhou) Co., Ltd." 3 o="TrackMan" 4 o="Shenzhen Zero Zero Infinity Technology Co.,Ltd." 5 o="Meyer Electronics Limited" 6 o="GRINBI PARTNERS" 7 o="Shenzhen Wesion Technology Co., Ltd" 8 o="Thinci, Inc." 9 o="Maxcom S.A." A o="Optictimes Co.,Ltd" B o="Shenzhen Lihewei Electronics Co.,Ltd.Hunan Branch" C o="Freeus LLC" D o="Telematix AG" E o="Taylor Dynamometer" C88ED1 0 o="AISWORLD PRIVATE LIMITED" 1 o="German Pipe GmbH" 2 o="ROTRONIC AG" 3 o="Linx Technologies" 4 o="Comlab AG" 5 o="Fibergate.Inc" 6 o="Shenyang Machine Tool(Group) Research & Design Institute Co., Ltd, Shanghai Branch" 7 o="Ube, Inc. (dba Plum)" 8 o="Electronic Controls Design, Inc." 9 o="Focalcrest, Ltd." A o="AP Sensing GmbH" B o="Advanced Micro Controls Inc." C o="Shanghai Bwave Technology Co.,Ltd" D o="PHOENIX ENGINEERING CORP." E o="Aventics GmbH" CC1BE0 0 o="Microtech System,Inc" 1 o="Beijing Daotongtianxia Co.Ltd." 2 o="i-Trinetech Co.,Ltd." 3 o="Shenzhen Vanstor Technology Co.,Ltd" 4 o="Laserworld (Switzerland) AG" 5 o="Earphone Connection, Ubc." 6 o="IC RealTech" 7 o="Sichuan Dianjia network technology Co.Ltd." 8 o="MDT technologies GmbH" 9 o="MobiStor Technology Inc." A o="Matter Labs Pty Ltd" B o="ART&CORE Inc" C o="Guangzhou Southelectric Power Science Technology Development Co.,Ltd." D o="NEWSTAR (HK) ELECTRONIC DEVELOPMENT LIMITED" E o="Cassia Networks" CC2237 0 o="MEDCOM sp. z o.o." 1 o="Terma Sp. z o.o." 2 o="Apeiron Data Systems" 3 o="XConnect Professional Services" 4 o="SHANGHAI CARGOA M.&E.EQUIPMENT CO.LTD" 5 o="Beijing Safesoft Greatmaker Co.,ltd" 6 o="Siemens AG Austria" 7 o="Shanghai Doit IOT Technology Co.,Ltd." 8 o="Safilo S.p.A." 9 o="E Ink Corp" A o="shenzhen zonglian network technology limited" B o="Tolomatic, Inc." C o="Hebei ZHSF Technology Co.,Ltd." D o="SHENZHEN HOOENERGY TECHNOLOGY CO.,LTD" E o="MANUFACTURAS Y TRANSFORMADOS AB, S.L." CCD31E 0 o="SAMIM Co" 1 o="Rondo Burgdorf AG" 2 o="Neptune Systems" 3 o="KEN A/S" 4 o="PJG Systementwicklung GmbH" 5 o="NTmore.Co.,Ltd" 6 o="BBPOS International Limited" 7 o="Shenzhen Decnta Technology Co.,LTD." 8 o="inoage GmbH" 9 o="Siemens AG, MO MLT BG" A o="Haishu Technology LIMITED" B o="Elk Products" C o="NantEnergy" D o="CUJO LLC" E o="ShenZhenBoryNet Co.,LTD." CCD39D 0 o="INX CO.,LTD." 1 o="Evoko Unlimited AB" 2 o="Continental Control Systems" 3 o="MagTarget LLC" 4 o="Shenzhen Chenggu Technology Co., Ltd" 5 o="SHENZHEN ROYOLE TECHNOLOGIES CO., LTD." 6 o="Krontech" 7 o="Glenair" 8 o="Obelisk Inc." 9 o="Bejing Nexsec Inc." A o="Lubelskie Fabryki Wag FAWAG S.A." B o="Q-Branch Labs, Inc." C o="Hangzhou Scooper Technology Co.,Ltd." D o="Ethernity Networks" E o="Shanghai tongli information technology co. LTD" D02212 0 o="Spirit IT B.V." 1 o="AIM" 2 o="RHENAC Systems GmbH" 4 o="Viatron GmbH" 5 o="Shanghai Routech Co., Ltd" 6 o="URANO INDUSTRIA DE BALANCAS E EQUIPAMENTOS LTDA" 7 o="Cliptech Industria e Comercio Ltda" 8 o="Shenzhen SIC Technology. Co., Ltd." 9 o="UAB "SALDA"" A o="GNS-GmbH" B o="Schleifenbauer Holding BV" C o="Xperio Labs Ltd." D o="SHENZHEN ZHONGXI SECURITY CO.,LTD" E o="u::Lux GmbH" D05F64 0 o="Decathlon SA" 1 o="Hangzhou ToupTek Photonics Co., Ltd." 2 o="SHANGHAI ZHONGMI COMMUNICATION TECHNOLOGY CO.,LTD" 3 o="HUAQIN TELECOM HONG KONG LTD" 4 o="wallbe GmbH" 5 o="Atoll Solutions Private Limited" 6 o="Cyrus Technology GmbH" 7 o="Beijing Core Shield Group Co., Ltd." 8 o="TytoCare LTD." 9 o="Shanghai Luying International Trade Co.,Ltd" A o="PartnerNET LTD" B o="North American Blue Tiger Company, LLC" C o="Nanjing Huamai Technology Co.,Ltd" D o="Shenzhen Canzone Technology Co.,Ltd." E o="Montblanc-Simplo GmbH" D07650 0 o="CentrAlert, Inc." 1 o="DAIKEN AUTOMACAO LTDA" 2 o="Happo Solutions Oy" 3 o="TAPKO Technologies GmbH" 5 o="Annapurna Labs" 6 o="Picobrew LLC" 7 o="ENCORED Technologies, Inc." 8 o="Accumulate AB" 9 o="Greenwave Scientific" A o="InventDesign" B o="PelKorea" C o="Electro-Motive Diesel" D o="tecnotron elekronik gmbh" E o="Revox Inc." D0C857 0 o="YUAN High-Tech Development Co., Ltd." 1 o="DALI A/S" 2 o="FORGAMERS INC." 3 o="Mobicon" 4 o="Imin Technology Pte Ltd" 5 o="Beijing Inspiry Technology Co., Ltd." 6 o="Innovative Industrial(HK)Co., Limited" 7 o="Eco Mobile" 8 o="Nanjing Magewell Electronics Co.,Ltd" 9 o="Shenzhen xiaosha Intelligence Technology Co. Ltd" A o="shenzhen cnsun" B o="CHUNGHSIN INTERNATIONAL ELECTRONICS CO.,LTD." C o="Dante Security Inc." D o="IFLYTEK CO.,LTD." E o="E-T-A Elektrotechnische Apparate GmbH" D0D94F 0 o="Perfant Technology Co., Ltd" 1 o="mycable GmbH" 2 o="Teco Image Systems Co., Ltd." 3 o="Beijing Yiwangxuntong Technology" 4 o="peiker CEE" 5 o="Optigo Networks" 6 o="Hyundai Autohow" 8 o="Apption Labs Limited" 9 o="Hangzhou xiaoben technology co.,Ltd" A o="Shenzhen FDC Electuonic Co.,Ltd." B o="MAX Smart Home, LLC" C o="ARROWAVE TECHNOLOGIES LIMITED" D o="DUKSANMECASYS CO., LTD." E o="APPOTRONICS CO., LTD" D425CC 0 o="NORDI TELEKOMMUNIKATSIOONI OÜ" 1 o="Eware Information Technology com.,Ltd" 2 o="MusicLens Inc." 3 o="EISST Ltd" 4 o="Barobo, Inc." 5 o="bvk technology" 6 o="Nanjing LES Information Technology Co., Ltd" 7 o="BlueCats US, LLC" 8 o="DOLBY LABORATORIES, INC." 9 o="TAKUMI JAPAN LTD" A o="E-MetroTel" B o="Veea" C o="POSNET Polska S.A." D o="Combined Energy Technologies Pty Ltd" E o="Coperion" D47C44 0 o="Exafore Oy" 1 o="Innoviz Technologies LTD" 2 o="YunDing Network Technology (Beijing) Co., Ltd" 3 o="OMRON SENTECH CO., LTD." 4 o="Sammi Onformation Systems" 5 o="LS Communication Co.,Ltd." 6 o="ASDA ICT Co., Ltd." 7 o="Pongee Industries Co., Ltd." 8 o="Beijing Maystar Information Technology Co., Ltd." 9 o="Suzhou Wan Dian Zhang Network Technology Co., Ltd" A o="Tendzone International Pte Ltd" B o="OPTiM Corporation" C o="STRIVE ORTHOPEDICS INC" D o="Huaqin Telecom Technology Co.,Ltd." E o="SHENZHEN ANYSEC TECHNOLOGY CO. LTD" D8860B 0 o="Inspur Group Co., Ltd." 1 o="Krspace" 2 o="Get SAT" 3 o="Auvidea GmbH" 4 o="Teplovodokhran Ltd." 5 o="CAMTRACE" 6 o="SCANMATIK" 7 o="Grünbeck Wasseraufbereitung GmbH" 8 o="VRINDA NANO TECHNOLOGIES PVT LTD" 9 o="DIGITAL CONCEPTS" A o="GLO Science" B o="Library Ideas" C o="YUSAN INDUSTRIES LIMITED" D o="ComNav Technology Ltd." E o="Shenzhen Yidong Technology Co.,Ltd" DC4427 0 o="Suritel" 1 o="Tesla Motors, Inc" 2 o="Skywave Technology Co,.Ltd." 3 o="General Microsystems Sdn Bhd" 4 o="Nex Technologies PTY LTD" 5 o="Century Audio, Inc." 6 o="EK-TEAM Elektronik- u. Kunststoff-Technik GmbH" 7 o="EcoGuard AB" 8 o="Wharton Electronics Ltd" 9 o="Neusoft Corporation" A o="Shanghai Huahong Integrated Circuit Co.,Ltd" B o="Nautilus Infotech CO., Ltd." C o="Pyrexx Technologies GmbH" D o="Rohde&Schwarz Topex SA" E o="VerifEye Technologies" DCE533 0 o="FLYHT Aerospace" 1 o="Ambi Labs Limited" 2 o="Remko GmbH & Co. KG" 3 o="ShenZhen C&D Electronics CO.Ltd." 4 o="shenzhen bangying electronics co,.ltd" 5 o="Controls Inc" 6 o="WECAN Solution Inc." 7 o="SAN Engineering" 8 o="JB-Lighting Lichtanlagen GmbH" 9 o="Tiertime Corporation" B o="Tintel Hongkong Co.Ltd" C o="BRCK" D o="Suzhou ATES electronic technology co.LTD" E o="Giant Power Technology Biomedical Corporation" E05A9F 0 o="Annapurna labs" 1 o="AITEC SYSTEM CO., LTD." 2 o="Chengdu Song Yuan Electronic Technology Co.,Ltd" 3 o="Link of Things Co., Ltd." 4 o="Hale Products" 5 o="TRYEN" 6 o="Fibrain" 7 o="OMB Guitars LLC" 8 o="Fujian Newland Auto-ID Tech. Co.,Ltd." 9 o="Gemalto %Document Readers%" A o="Contemporary Amperex Technology Co., Limited" B o="Shenzhen Rongan Networks Technology Co.,Ltd" C o="ShenZhen Mornsun Smartlinker Limited Co., LTD" D o="Mountz, Inc." E o="ShenZhen Arts Changhua Intelligent Technology Co., Ltd" E0B6F5 0 o="BeSTAR Corporation" 1 o="START TODAY CO.,LTD." 2 o="Shanghai- British Information Technology Co., Ltd" 3 o="Huizhou GISUN Industrial CO. LTD" 4 o="Agora" 5 o="Shenzhen Civicom Technology Co.,Limited" 6 o="POMCube Inc." 7 o="Shenzhen Xrinda Technology Ltd" 8 o="Yuneec International(China)Co.,Ltd" 9 o="Motiveprime Consumer Electronics Pvt Ltd" A o="Folksam AB" B o="Moog Crossbow" C o="funktel GmbH" D o="ITEL MOBILE LIMITED" E o="Advatek Lighting Pty Ltd" E41E0A 0 o="Zavod № 423" 1 o="Connected Cars A/S" 2 o="IDvaco Private Limited" 3 o="Avast Software s.r.o." 4 o="XPR Group" 5 o="Aeroel srl" 6 o="SFC Energy AG" 7 o="Tritium Pty Ltd" 8 o="SAGE Glass" 9 o="B METERS S.R.L." A o="FireAngel Safety Technology Ltd" B o="Safety Vision, LLC" C o="TELETASK BELGIUM" D o="ROMO Wind A/S" E o="Shanghai LeXiang Technology Co., Ltd" E44CC7 0 o="Alert Alarm AB" 1 o="ACS-Solutions GmbH" 2 o="Doowon Electronics & Telecom Co.,Ltd" 3 o="JSC %Svyaz Inginiring M%" 4 o="Beijing Zhongchuangwei Nanjing Quantum Communication Technology Co., Ltd." 5 o="CE LABS, LLC" 6 o="HANGZHOU OLE-SYSTEMS CO., LTD" 7 o="Channel Enterprises (HK) Ltd." 8 o="IAG GROUP LTD" 9 o="Ottomate International Pvt. Ltd." A o="Muzik Inc" B o="SmallHD" C o="EPS Bio" D o="Telo Systems Limitd" E o="FLK information security technology Co,. Ltd" E4956E 0 o="SMC Networks, Inc" 1 o="Tband srl" 2 o="Shanghai Hoping Technology Co., Ltd." 3 o="Shanghai DGE Co., Ltd" 4 o="Guang Lian Zhi Tong Technology Limited" 5 o="ELAN SYSTEMS" 6 o="SHENZHEN JOYETECH ELECTRONICS CO., LTD." 7 o="NationalchipKorea" 8 o="PT.MLWTelecom" 9 o="eZeLink LLC" A o="Red Point Positioning, Corp." B o="iConservo Inc" C o="Shenzhen Arronna Telecom Co.,Ltd" D o="Shanghai Tieda Telecommunications Equipment Co.,LTD." E o="Tacom Projetos Bilhetagem Inteligente ltda" E81863 0 o="DigiMagus Technology (Shenzhen) Co., Ltd" 1 o="clabsys" 2 o="AVCON Information Technology Co.,Ltd" 3 o="DongGuan Pengxun Electronics Technology Co., Ltd." 4 o="Guangzhou Tianyi Electronics Co., Ltd" 5 o="WETEK ELECTRONICS LIMITED" 6 o="ARTECH SOLUTION CO.,LTD" 7 o="Siliconcube" 9 o="BSM Wireless Inc." A o="JDM Mobile Internet Solution(Shanghai) Co., Ltd." B o="Protek Electronics Group Co.,LTD" C o="Shenzhen Hipad Telecommunication Technology Co.,Ltd" D o="DIGITAL DYNAMICS, INC." E o="Acopian Technical Company" EC9F0D 0 o="Hesai Photonics Technology Co., Ltd" 1 o="Simula Technology Inc." 2 o="DRB Systems" 3 o="Waverly Labs Inc." 4 o="WisIOE" 5 o="Paw-Taw-John Services, Inc." 6 o="Shenzhen Compare Electronics Co., Ltd" 7 o="Bei jing Lian Shan times Techonology Co.Ltd" 8 o="Zhejiang HEJU Communication Technology Co., Ltd" 9 o="FCI" A o="flexlog GmbH" B o="CRRC QINGDAO SIFANG ROLLING STOCK RESEARCH INSTITUTE CO.,LTD" C o="Sarcos Corp" D o="SKS Control Oy" E o="MAX Technologies" F023B9 0 o="Aquametro AG" 1 o="Ubiant" 2 o="Raysgem Electronics and Technology Co.Ltd" 3 o="BSP RUS Ltd." 4 o="EZVIS LIMITED" 5 o="Audeara Pty. Ltd." 6 o="Xiamen Jinhaode Electronic Co.,Ltd" 7 o="Transcend Building Automation control network corporation" 8 o="G3 TECHNOLOGIES< INC" 9 o="Emu Technology" A o="Annapurna labs" B o="Q Core Medical Ltd" C o="Shenzhen Lachesis Mhealth Co., Ltd." E o="Domotz Ltd" F041C8 0 o="LINPA ACOUSTIC TECHNOLOGY CO.,LTD" 1 o="DongGuan Siyoto Electronics Co., Ltd" 2 o="Shenzhen Medica Technology Development Co., Ltd." 3 o="SHENZHEN WISEWING INTERNET TECHNOLOGY CO.,LTD" 4 o="Candelic Limited" 5 o="XI'AN MEI SHANG MEI WIRELESS TECHNOLOGY.Co., Ltd." 6 o="AED Engineering GmbH" 7 o="Nanchang BlackShark Co.,Ltd." 8 o="POSTIUM KOREA CO., LTD." 9 o="Shenzhen Nufilo Electronic Technology Co., Ltd." A o="Telstra" B o="Powervault Ltd" C o="Shanghai Think-Force Electronic Technology Co. Ltd" D o="ATN Media Group FZ LLC" E o="Shenzhen Umind Technology Co., Ltd." F0ACD7 0 o="Guilin glsun Science and Tech Co.,LTD" 1 o="Intenta GmbH" 2 o="QUANTUM POWER SYSTEMS" 3 o="Med-Pat/Inn-Phone" 4 o="Sercomm Corporation." 5 o="PAVO TASARIM URETIM TICARET A.S." 6 o="Suzhou Pairlink Network Technology" 7 o="Hanju Network Technologies Co." 8 o="Telefonix Incorporated" 9 o="U3storage Technologies Co., Ltd" A o="Groupeer Technologies" B o="Zhejiang Makepower Electronics,Inc." C o="Simprints Technology Ltd" D o="Smart Power Technology Co., Ltd." E o="Fiziico Co., Ltd." F40E11 0 o="realphone technology co.,ltd" 1 o="BEIJING DONGJIN AERO-TECH CO., LTD" 2 o="Axel srl" 3 o="Shenzhen headsun technology" 4 o="Dayang Technology Development Inc." 5 o="E-SONG" 6 o="Alpha Design Technologies Pvt Ltd" 7 o="Shenzhen Grandsun Electronic Co.,Ltd." 8 o="Zeepro Inc." 9 o="Sterna Security" A o="Kodpro Ltd." B o="BRADAR INDUSTRIA SA" C o="NIHON MEGA LOGIC CO.,LTD." D o="DXG Technology Corp." E o="Elektronika Naglic d.o.o." F80278 0 o="Digatron Power Electronics GmbH" 1 o="Reason Tecnologia SA" 2 o="Innodisk" 3 o="3Shape Holding A/S" 4 o="CLARUS Korea Co., Ltd" 5 o="Electric Objects" 6 o="Witium Co., Ltd" 7 o="BETTINI SRL" 8 o="EMBUX Technology Co., Ltd." 9 o="Beijing Redcdn Technology, Co., Ltd" A o="Luxul Technology Inc" B o="Rosemount Analytical" C o="Technology Research, LLC" D o="Dueton Systems s.r.o." E o="Lit Technologies" F81D78 0 o="Dongguan Shun Hing Plastics Limited" 1 o="ADTECHNO Inc." 2 o="Xperio Labs Limited" 3 o="SHANGHAI SUN TELECOMMUNICATION CO., LTD." 4 o="Digital Imaging Technology" 5 o="DACONS" 6 o="Zengge Co., Limited" 7 o="WUHAN GUIDE INFRARED CO.,LTD" 8 o="TELEOFIS" 9 o="Ophrys Systèmes" A o="AVPro Global Holdings LLC" B o="SigmaConnectivityAB" C o="SHENZHUOYUE TECHNOLOGY.,LTD" D o="Tofino" E o="GUANGDONG ENOK COMMUNICATION CO., LTD." F88A3C 0 o="ART SPA" 1 o="Carefree of Colorado" 2 o="KLATU Networks Inc" 3 o="Shenzhen Shengyuan Tech Ltd." 4 o="GO-LINK TECHNOLOGY CO., LTD." 5 o="KOKKIA INC" 6 o="Beijing Zhong Chuang Communication Technology Ltd." 7 o="Josh.ai" 8 o="Cadmus Electronic Co.,Ltd." 9 o="withus" A o="Protos GmbH" B o="FARA AS" C o="EXCETOP TECHNOLOGY (BEIJING) CO., LTD." D o="THK Co.,LTD." E o="Avateq Corp." F8B568 0 o="LifePrint Products, Inc." 1 o="PT. Eyro Digital Teknologi" 2 o="Shenzhen New-Bund Technology Co., Ltd." 3 o="Dongwoo Engineering Co.,Ltd" 4 o="Combiwins Technology Co.,Limited" 5 o="etectRx" 6 o="Package Guard, Inc" 7 o="CloudMinds (Shenzhen) Holdings Co., Ltd" 8 o="Maven Wireless AB" 9 o="Beijing Wanji Techonology Co., Ltd." A o="SinePulse GmbH" B o="Whizpace Pte. Ltd." C o="3SI Security Systems, Inc" D o="Solarius" E o="ZAO "RADIUS Avtomatika"" FCA47A 0 o="Broadcom Inc." 1 o="Shenzhen VMAX New Energy Co., Ltd." 2 o="Ant Financial(Hang Zhou)Network Technology Co.,Ltd." 3 o="Cliptech Industria e Comercio Ltda" 4 o="HOOC AG" 5 o="Syfer" 6 o="Token" 7 o="Innovative Advantage" 8 o="KARRY COMMUNICATION LIMITED" 9 o="Oberix Group Pty Ltd" A o="Shenzhen Elebao Technology Co., Ltd" B o="Shenzhen Nokelock Technology Co, Ltd." C o="Shenzhen ALFEYE Technology CO.,Ltd" D o="SHENZHEN KUKU TECHNOLOGY CO.,LTD" E o="Hefei Feier Smart Science&Technology Co. Ltd" FCD2B6 0 o="CG POWER AND INDUSTRIAL SOLUTIONS LTD" 1 o="LINK (FAR-EAST) CORPORATION" 2 o="Soma GmbH" 3 o="Coet Costruzioni Elettrotecniche" 4 o="SHEN ZHEN XIN HAO YUAN PRECISION TECHNOLOGY CO.,L TD" 5 o="Grandway Technology (Shenzhen) Limited" 6 o="Cirque Audio Technology Co.,Ltd" 7 o="Teamly Digital" 8 o="Oviss Labs Inc." 9 o="Winglet Systems Inc." A o="NREAL TECHNOLOGY LIMITED" B o="T CHIP DIGITAL TECHNOLOGY CO.LTD" C o="Silicon (Shenzhen) Electronic Technology Co.,Ltd." D o="Bee Smart(Changzhou) Information Technology Co., Ltd" E o="Univer S.p.A." python-stdnum-1.13/stdnum/imsi.py0000644000000000000000000000570513555400447017070 0ustar rootroot00000000000000# imsi.py - functions for handling International Mobile Subscriber Identity # (IMSI) numbers # # Copyright (C) 2011-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """IMSI (International Mobile Subscriber Identity). The IMSI (International Mobile Subscriber Identity) is used to identify mobile phone users (the SIM). >>> validate('429011234567890') '429011234567890' >>> validate('439011234567890') # unknown MCC Traceback (most recent call last): ... InvalidComponent: ... >>> split('429011234567890') ('429', '01', '1234567890') >>> split('310150123456789') ('310', '150', '123456789') >>> info('460001234567890')['mcc'] '460' >>> str(info('460001234567890')['country']) 'China' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the IMSI number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip().upper() def split(number): """Split the specified IMSI into a Mobile Country Code (MCC), a Mobile Network Code (MNC), a Mobile Station Identification Number (MSIN).""" from stdnum import numdb # clean up number number = compact(number) # split the number return tuple(numdb.get('imsi').split(number)) def validate(number): """Check if the number provided is a valid IMSI.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) not in (14, 15): raise InvalidLength() if len(split(number)) < 2: raise InvalidComponent() # unknown MCC return number def info(number): """Return a dictionary of data about the supplied number.""" from stdnum import numdb # clean up number number = compact(number) # split the number info = dict(number=number) mcc_info, mnc_info, msin_info = numdb.get('imsi').info(number) info['mcc'] = mcc_info[0] info.update(mcc_info[1]) info['mnc'] = mnc_info[0] info.update(mnc_info[1]) info['msin'] = msin_info[0] info.update(msin_info[1]) return info def is_valid(number): """Check if the number provided is a valid IMSI.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ean.py0000644000000000000000000000472313555400447016671 0ustar rootroot00000000000000# ean.py - functions for handling EANs # # Copyright (C) 2011-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """EAN (International Article Number). Module for handling EAN (International Article Number) codes. This module handles numbers EAN-13, EAN-8, UPC (12-digit) and GTIN (EAN-14) format. >>> validate('73513537') '73513537' >>> validate('978-0-471-11709-4') # EAN-13 format '9780471117094' >>> validate('98412345678908') # GTIN format '98412345678908' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the EAN to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').strip() def calc_check_digit(number): """Calculate the EAN check digit for 13-digit numbers. The number passed should not have the check bit included.""" return str((10 - sum((3, 1)[i % 2] * int(n) for i, n in enumerate(reversed(number)))) % 10) def validate(number): """Check if the number provided is a valid EAN-13. This checks the length and the check bit but does not check whether a known GS1 Prefix and company identifier are referenced.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) not in (14, 13, 12, 8): raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid EAN-13. This checks the length and the check bit but does not check whether a known GS1 Prefix and company identifier are referenced.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/fr/0000755000000000000000000000000013611057637016157 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/fr/siren.py0000644000000000000000000000515113555400447017651 0ustar rootroot00000000000000# siren.py - functions for handling French SIREN numbers # coding: utf-8 # # Copyright (C) 2012-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """SIREN (a French company identification number). The SIREN (Système d'Identification du Répertoire des Entreprises) is a 9 digit number used to identify French companies. The Luhn checksum is used to validate the numbers. >>> compact('552 008 443') '552008443' >>> validate('404833048') '404833048' >>> validate('404833047') Traceback (most recent call last): ... InvalidChecksum: ... >>> to_tva('443 121 975') '46 443 121 975' """ from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits # An online validation function is available but it does not provide an # automated entry point, has usage restrictions and seems to require # attribution to the service for any results used. # https://avis-situation-sirene.insee.fr/ def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' .').strip() def validate(number): """Check if the number provided is a valid SIREN. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 9: raise InvalidLength() luhn.validate(number) return number def is_valid(number): """Check if the number provided is a valid SIREN.""" try: return bool(validate(number)) except ValidationError: return False def to_tva(number): """Return a TVA that prepends the two extra check digits to the SIREN.""" # note that this always returns numeric check digits # it is unclean when the alphabetic ones are used return '%02d%s%s' % ( int(compact(number) + '12') % 97, ' ' if ' ' in number else '', number) python-stdnum-1.13/stdnum/fr/tva.py0000644000000000000000000000655613555400447017335 0ustar rootroot00000000000000# tva.py - functions for handling French TVA numbers # coding: utf-8 # # Copyright (C) 2012-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """n° TVA (taxe sur la valeur ajoutée, French VAT number). The n° TVA (Numéro d'identification à la taxe sur la valeur ajoutée) is the SIREN (Système d’Identification du Répertoire des Entreprises) prefixed by two digits. In old style numbers the two digits are numeric, with new style numbers at least one is a alphabetic. >>> compact('Fr 40 303 265 045') '40303265045' >>> validate('23334175221') '23334175221' >>> validate('84 323 140 391') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('K7399859412') # new-style number 'K7399859412' >>> validate('4Z123456782') # new-style number starting with digit '4Z123456782' >>> validate('IO334175221') # the letters cannot by I or O Traceback (most recent call last): ... InvalidFormat: ... """ from stdnum.exceptions import * from stdnum.fr import siren from stdnum.util import clean, isdigits # the valid characters for the first two digits (O and I are missing) _alphabet = '0123456789ABCDEFGHJKLMNPQRSTUVWXYZ' def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -.').upper().strip() if number.startswith('FR'): number = number[2:] return number def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not all(x in _alphabet for x in number[:2]): raise InvalidFormat() if not isdigits(number[2:]): raise InvalidFormat() if len(number) != 11: raise InvalidLength() if number[2:5] != '000': # numbers from Monaco are valid TVA but not SIREN siren.validate(number[2:]) if isdigits(number): # all-numeric digits if int(number[:2]) != (int(number[2:] + '12') % 97): raise InvalidChecksum() else: # one of the first two digits isn't a number if isdigits(number[0]): check = ( _alphabet.index(number[0]) * 24 + _alphabet.index(number[1]) - 10) else: check = ( _alphabet.index(number[0]) * 34 + _alphabet.index(number[1]) - 100) if (int(number[2:]) + 1 + check // 11) % 11 != (check % 11): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/fr/siret.py0000644000000000000000000000610513555400447017657 0ustar rootroot00000000000000# siret.py - functions for handling French SIRET numbers # coding: utf-8 # # Copyright (C) 2016 Yoann Aubineau # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """SIRET (a French company establishment identification number). The SIRET (Système d'Identification du Répertoire des ETablissements) is a 14 digit number used to identify French companies' establishments and facilities. The Luhn checksum is used to validate the numbers. >>> validate('73282932000074') '73282932000074' >>> validate('73282932000079') Traceback (most recent call last): ... InvalidChecksum: ... >>> to_siren('732 829 320 00074') '732 829 320' >>> to_siren('73282932000074') '732829320' >>> to_tva('732 829 320 00074') '44 732 829 320' >>> to_tva('73282932000074') '44732829320' >>> format('73282932000074') '732 829 320 00074' """ from stdnum import luhn from stdnum.exceptions import * from stdnum.fr import siren from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' .').strip() def validate(number): """Check if the number is a valid SIRET. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 14: raise InvalidLength() luhn.validate(number) siren.validate(number[:9]) return number def is_valid(number): """Check if the number is a valid SIRET.""" try: return bool(validate(number)) except ValidationError: return False def to_siren(number): """Convert the SIRET number to a SIREN number. The SIREN number is the 9 first digits of the SIRET number. """ _siren = [] digit_count = 0 for char in number: if digit_count < 9: _siren.append(char) if isdigits(char): digit_count += 1 return ''.join(_siren) def to_tva(number): """Convert the SIRET number to a TVA number. The TVA number is built from the SIREN number, prepended by two extra error checking digits. """ return siren.to_tva(to_siren(number)) def format(number, separator=' '): """Reformat the number to the standard presentation format.""" number = compact(number) return separator.join((number[0:3], number[3:6], number[6:9], number[9:])) python-stdnum-1.13/stdnum/fr/nir.py0000644000000000000000000000743113555400447017324 0ustar rootroot00000000000000# nir.py - functions for handling French NIR numbers # coding: utf-8 # # Copyright (C) 2016 Dimitri Papadopoulos # Copyright (C) 2016-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NIR (French personal identification number). The NIR (Numero d'Inscription au Repertoire national d'identification des personnes physiques) is used to identify persons in France. It is popularly known as the "social security number" and sometimes referred to as an INSEE number. All persons born in France are registered in the Repertoire national d'identification des personnes physiques (RNIPP) and assigned a NIR. The number consists of 15 digits: the first digit indicates the gender, followed by 2 digits for the year or birth, 2 for the month of birth, 5 for the location of birth (COG), 3 for a serial and 2 check digits. More information: * https://www.insee.fr/en/metadonnees/definition/c1409 * https://en.wikipedia.org/wiki/INSEE_code * http://resoo.org/docs/_docs/regles-numero-insee.pdf * https://fr.wikipedia.org/wiki/Numéro_de_sécurité_sociale_en_France * http://xml.insee.fr/schema/nir.html >>> validate('2 95 10 99 126 111 93') '295109912611193' >>> validate('295109912611199') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('253072B07300470') '253072B07300470' >>> validate('253072A07300443') '253072A07300443' >>> validate('253072C07300443') Traceback (most recent call last): ... InvalidFormat: ... >>> validate('6546546546546703') Traceback (most recent call last): ... InvalidLength: ... >>> format('295109912611193') '2 95 10 99 126 111 93' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' .').strip().upper() def calc_check_digits(number): """Calculate the check digits for the number.""" department = number[5:7] if department == '2A': number = number[:5] + '19' + number[7:] elif department == '2B': number = number[:5] + '18' + number[7:] return '%02d' % (97 - (int(number[:13]) % 97)) def validate(number): """Check if the number provided is valid. This checks the length and check digits.""" number = compact(number) if not isdigits(number[:5]) or not isdigits(number[7:]): raise InvalidFormat() if not isdigits(number[5:7]) and number[5:7] not in ('2A', '2B'): raise InvalidFormat() if len(number) != 15: raise InvalidLength() if calc_check_digits(number) != number[13:]: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is valid.""" try: return bool(validate(number)) except ValidationError: return False def format(number, separator=' '): """Reformat the number to the standard presentation format.""" number = compact(number) return separator.join(( number[:1], number[1:3], number[3:5], number[5:7], number[7:10], number[10:13], number[13:])) python-stdnum-1.13/stdnum/fr/__init__.py0000644000000000000000000000165413555400447020274 0ustar rootroot00000000000000# __init__.py - collection of French numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of French numbers.""" # provide vat as an alias from stdnum.fr import tva as vat # noqa: F401 python-stdnum-1.13/stdnum/fr/nif.py0000644000000000000000000000472213555400447017310 0ustar rootroot00000000000000# nif.py - functions for handling French tax identification numbers # coding: utf-8 # # Copyright (C) 2016 Dimitri Papadopoulos # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NIF (Numéro d'Immatriculation Fiscale, French tax identification number). The NIF (Numéro d'Immatriculation Fiscale, Numéro d'Identité Fiscale or Numéro d'Identification Fiscale) also known as numéro fiscal de référence or SPI (Simplification des Procédures d'Identification) is a 13-digit number issued by the French tax authorities to people for tax reporting purposes. More information: * https://ec.europa.eu/taxation_customs/tin/tinByCountry.html * https://fr.wikipedia.org/wiki/Numéro_d%27Immatriculation_Fiscale#France >>> validate('0701987765432') '0701987765432' >>> validate('070198776543') Traceback (most recent call last): ... InvalidLength: ... >>> format('0701987765432') '07 01 987 765 432' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip() def validate(number): """Check if the number provided is a valid NIF.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 13: raise InvalidLength() return number def is_valid(number): """Check if the number provided is a valid NIF.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return ' '.join((number[:2], number[2:4], number[4:7], number[7:10], number[10:])) python-stdnum-1.13/stdnum/sk/0000755000000000000000000000000013611057637016165 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/sk/dph.py0000644000000000000000000000463113555400450017306 0ustar rootroot00000000000000# vat.py - functions for handling Slovak VAT numbers # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """IČ DPH (IČ pre daň z pridanej hodnoty, Slovak VAT number). The IČ DPH (Identifikačné číslo pre daň z pridanej hodnoty) is a 10-digit number used for VAT purposes. It has a straightforward checksum. >>> validate('SK 202 274 96 19') '2022749619' >>> validate('SK 202 274 96 18') # invalid check digits Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.sk import rc from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('SK'): number = number[2:] return number def checksum(number): """Calculate the checksum.""" return int(number) % 11 def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 10: raise InvalidLength() # it is unclear whether the RČ can be used as a valid VAT number if rc.is_valid(number): return number if number[0] == '0' or int(number[2]) not in (2, 3, 4, 7, 8, 9): raise InvalidFormat() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/sk/rc.py0000644000000000000000000000356113555400450017140 0ustar rootroot00000000000000# rc.py - functions for handling Slovak birth numbers # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """RČ (Rodné číslo, the Slovak birth number). The birth number (RČ, Rodné číslo) is the Slovak national identifier. The number can be 9 or 10 digits long. Numbers given out after January 1st 1954 should have 10 digits. The number includes the birth date of the person and their gender. This number is identical to the Czech counterpart. >>> validate('710319/2745') '7103192745' >>> validate('991231123') '991231123' >>> validate('7103192746') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('1103492745') # invalid date Traceback (most recent call last): ... InvalidComponent: ... >>> validate('590312/123') # 9 digit number in 1959 Traceback (most recent call last): ... InvalidLength: ... >>> format('7103192745') '710319/2745' """ # since this number is essentially the same as the Czech counterpart # (until 1993 the Czech Republic and Slovakia were one country) from stdnum.cz.rc import compact, format, is_valid, validate __all__ = ['compact', 'validate', 'is_valid', 'format'] python-stdnum-1.13/stdnum/sk/__init__.py0000644000000000000000000000165413555400450020274 0ustar rootroot00000000000000# __init__.py - collection of Slovak numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Slovak numbers.""" # provide vat as an alias from stdnum.sk import dph as vat # noqa: F401 python-stdnum-1.13/stdnum/lu/0000755000000000000000000000000013611057637016170 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/lu/tva.py0000644000000000000000000000440713555400450017331 0ustar rootroot00000000000000# tva.py - functions for handling Luxembourgian VAT numbers # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """TVA (taxe sur la valeur ajoutée, Luxembourgian VAT number). The n° TVA (Numéro d'identification à la taxe sur la valeur ajoutée) is used for tax purposes in Luxembourg. The number consists of 8 digits of which the last two are check digits. >>> validate('LU 150 274 42') '15027442' >>> validate('150 274 43') # invalid check digits Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' :.-').upper().strip() if number.startswith('LU'): number = number[2:] return number def calc_check_digits(number): """Calculate the check digits for the number.""" return '%02d' % (int(number) % 89) def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 8: raise InvalidLength() if calc_check_digits(number[:6]) != number[-2:]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/lu/__init__.py0000644000000000000000000000167213555400450020277 0ustar rootroot00000000000000# __init__.py - collection of Luxembourgian numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Luxembourgian numbers.""" # provide vat as an alias from stdnum.lu import tva as vat # noqa: F401 python-stdnum-1.13/stdnum/it/0000755000000000000000000000000013611057637016164 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/it/iva.py0000644000000000000000000000461713555400450017315 0ustar rootroot00000000000000# iva.py - functions for handling Italian VAT numbers # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Partita IVA (Italian VAT number). The Partita IVA (Imposta sul valore aggiunto) consists of 11 digits. The first 7 digits are a company identifier, the next 3 refer to the province of residence and the last is a check digit. The fiscal code for individuals is not accepted as valid code for intracommunity VAT related operations so it is ignored here. >>> validate('IT 00743110157') '00743110157' >>> validate('00743110158') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -:').upper().strip() if number.startswith('IT'): number = number[2:] return number def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number) or int(number[0:7]) == 0: raise InvalidFormat() if len(number) != 11: raise InvalidLength() # check the province of residence if not('001' <= number[7:10] <= '100') and \ number[7:10] not in ('120', '121', '888', '999'): raise InvalidComponent() luhn.validate(number) return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/it/__init__.py0000644000000000000000000000165613555400450020275 0ustar rootroot00000000000000# __init__.py - collection of Italian numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Italian numbers.""" # provide vat as an alias from stdnum.it import iva as vat # noqa: F401 python-stdnum-1.13/stdnum/it/codicefiscale.py0000644000000000000000000001327613606452301021313 0ustar rootroot00000000000000# codicefiscale.py - library for Italian fiscal code # # This file is based on code from pycodicefiscale, a Python library for # working with Italian fiscal code numbers officially known as Italy's # Codice Fiscale. # https://github.com/baxeico/pycodicefiscale # # Copyright (C) 2009-2013 Emanuele Rocca # Copyright (C) 2014 Augusto Destrero # Copyright (C) 2014-2020 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Codice Fiscale (Italian tax code for individuals). The Codice Fiscale is an alphanumeric code of 16 characters used to identify individuals residing in Italy or 11 digits for non-individuals in which case it matches the Imposta sul valore aggiunto. The 16 digit number consists of three characters derived from the person's last name, three from the person's first name, five that hold information on the person's gender and birth date, four that represent the person's place of birth and one check digit. More information: * https://it.m.wikipedia.org/wiki/Codice_fiscale >>> validate('RCCMNL83S18D969H') # personal number 'RCCMNL83S18D969H' >>> validate('RCCMNL83S18D969') Traceback (most recent call last): ... InvalidLength: ... >>> validate('00743110157') # company number '00743110157' >>> validate('00743110158') # company number with invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> calc_check_digit('RCCMNL83S18D969') 'H' """ import datetime import re from stdnum.exceptions import * from stdnum.it import iva from stdnum.util import clean # regular expression for matching personal fiscal codes _code_re = re.compile( r'^[A-Z]{6}' r'[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}' r'[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1}$') # encoding of birth day and year values (usually numeric but some letters # may be substituted on clashes) _date_digits = dict((x, n) for n, x in enumerate('0123456789')) _date_digits.update(dict((x, n) for n, x in enumerate('LMNPQRSTUV'))) # encoding of month values (A = January, etc.) _month_digits = dict((x, n) for n, x in enumerate('ABCDEHLMPRST')) # values of characters in even positions for checksum calculation _even_values = dict((x, n) for n, x in enumerate('0123456789')) _even_values.update( dict((x, n) for n, x in enumerate('ABCDEFGHIJKLMNOPQRSTUVWXYZ'))) # values of characters in odd positions for checksum calculation values = [1, 0, 5, 7, 9, 13, 15, 17, 19, 21, 2, 4, 18, 20, 11, 3, 6, 8, 12, 14, 16, 10, 22, 25, 24, 23] _odd_values = dict((x, values[n]) for n, x in enumerate('0123456789')) _odd_values.update( dict((x, values[n]) for n, x in enumerate('ABCDEFGHIJKLMNOPQRSTUVWXYZ'))) del values def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -:').strip().upper() def calc_check_digit(number): """Compute the control code for the given personal number. The passed number should be the first 15 characters of a fiscal code.""" code = sum(_odd_values[x] if n % 2 == 0 else _even_values[x] for n, x in enumerate(number)) return 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'[code % 26] def get_birth_date(number, minyear=1920): """Get the birth date from the person's fiscal code. Only the last two digits of the year are stored in the number. The dates will be returned in the range from minyear to minyear + 100. >>> get_birth_date('RCCMNL83S18D969H') datetime.date(1983, 11, 18) >>> get_birth_date('RCCMNL83S18D969H', minyear=1990) datetime.date(2083, 11, 18) """ number = compact(number) if len(number) != 16: raise InvalidComponent() day = (_date_digits[number[9]] * 10 + _date_digits[number[10]]) % 40 month = _month_digits[number[8]] + 1 year = _date_digits[number[6]] * 10 + _date_digits[number[7]] # find four-digit year year += (minyear // 100) * 100 if year < minyear: year += 100 try: return datetime.date(year, month, day) except ValueError: raise InvalidComponent() def get_gender(number): """Get the gender of the person's fiscal code. >>> get_gender('RCCMNL83S18D969H') 'M' >>> get_gender('CNTCHR83T41D969D') 'F' """ number = compact(number) if len(number) != 16: raise InvalidComponent() return 'M' if int(number[9:11]) < 32 else 'F' def validate(number): """Check if the given fiscal code is valid. This checks the length and whether the check digit is correct.""" number = compact(number) if len(number) == 11: return iva.validate(number) if len(number) != 16: raise InvalidLength() if not _code_re.match(number): raise InvalidFormat() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() # check if birth date is valid get_birth_date(number) return number def is_valid(number): """Check if the given fiscal code is valid.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/damm.py0000644000000000000000000000632313555400447017042 0ustar rootroot00000000000000# damm.py - functions for performing the Damm checksum algorithm # # Copyright (C) 2016-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """The Damm algorithm. The Damm algorithm is a check digit algorithm that should detect all single-digit errors and all adjacent transposition errors. Based on anti-symmetric quasigroup of order 10 it uses a substitution table. This implementation uses the table from Wikipedia by default but a custom table can be provided. More information: * https://en.wikipedia.org/wiki/Damm_algorithm >>> validate('572') Traceback (most recent call last): ... InvalidChecksum: ... >>> calc_check_digit('572') '4' >>> validate('5724') '5724' >>> table = ( ... (0, 2, 3, 4, 5, 6, 7, 8, 9, 1), ... (2, 0, 4, 1, 7, 9, 5, 3, 8, 6), ... (3, 7, 0, 5, 2, 8, 1, 6, 4, 9), ... (4, 1, 8, 0, 6, 3, 9, 2, 7, 5), ... (5, 6, 2, 9, 0, 7, 4, 1, 3, 8), ... (6, 9, 7, 3, 1, 0, 8, 5, 2, 4), ... (7, 5, 1, 8, 4, 2, 0, 9, 6, 3), ... (8, 4, 6, 2, 9, 5, 3, 0, 1, 7), ... (9, 8, 5, 7, 3, 1, 6, 4, 0, 2), ... (1, 3, 9, 6, 8, 4, 2, 7, 5, 0)) >>> checksum('816', table=table) 9 """ from stdnum.exceptions import * _operation_table = ( (0, 3, 1, 7, 5, 9, 8, 6, 4, 2), (7, 0, 9, 2, 1, 5, 4, 8, 6, 3), (4, 2, 0, 6, 8, 7, 1, 3, 5, 9), (1, 7, 5, 0, 9, 8, 3, 4, 2, 6), (6, 1, 2, 3, 0, 4, 5, 9, 7, 8), (3, 6, 7, 4, 2, 0, 9, 5, 8, 1), (5, 8, 6, 9, 7, 2, 0, 1, 3, 4), (8, 9, 4, 5, 3, 6, 2, 0, 1, 7), (9, 4, 3, 8, 6, 1, 7, 2, 0, 5), (2, 5, 8, 1, 4, 3, 6, 7, 9, 0)) def checksum(number, table=None): """Calculate the Damm checksum over the provided number. The checksum is returned as an integer value and should be 0 when valid.""" table = table or _operation_table i = 0 for n in str(number): i = table[i][int(n)] return i def validate(number, table=None): """Check if the number provided passes the Damm algorithm.""" if not bool(number): raise InvalidFormat() try: valid = checksum(number, table=table) == 0 except Exception: raise InvalidFormat() if not valid: raise InvalidChecksum() return number def is_valid(number, table=None): """Check if the number provided passes the Damm algorithm.""" try: return bool(validate(number, table=table)) except ValidationError: return False def calc_check_digit(number, table=None): """Calculate the extra digit that should be appended to the number to make it a valid number.""" return str(checksum(number, table=table)) python-stdnum-1.13/stdnum/mt/0000755000000000000000000000000013611057637016170 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/mt/__init__.py0000644000000000000000000000154413555400450020275 0ustar rootroot00000000000000# __init__.py - collection of Maltese numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Maltese numbers.""" python-stdnum-1.13/stdnum/mt/vat.py0000644000000000000000000000421513555400450017326 0ustar rootroot00000000000000# vat.py - functions for handling Maltese VAT numbers # # Copyright (C) 2012-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """VAT (Maltese VAT number). The Maltese VAT registration number contains 8 digits and uses a simple weigted checksum. >>> validate('MT 1167-9112') '11679112' >>> validate('1167-9113') # invalid check digits Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('MT'): number = number[2:] return number def checksum(number): """Calculate the checksum.""" weights = (3, 4, 6, 7, 8, 9, 10, 1) return sum(w * int(n) for w, n in zip(weights, number)) % 37 def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number) or number[0] == '0': raise InvalidFormat() if len(number) != 8: raise InvalidLength() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/cl/0000755000000000000000000000000013611057636016145 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/cl/rut.py0000644000000000000000000000544313555400447017336 0ustar rootroot00000000000000# rut.py - functions for handling Chile RUT/RUN numbers # coding: utf-8 # # Copyright (C) 2008-2011 Cédric Krier # Copyright (C) 2008-2011 B2CK # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """RUT (Rol Único Tributario, Chilean national tax number). The RUT, the Chilean national tax number is the same as the RUN (Rol Único Nacional) the Chilean national identification number. The number consists of 8 digits, followed by a check digit. >>> validate('76086428-5') '760864285' >>> validate('CL 12531909-2') '125319092' >>> validate('12531909-3') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('76086A28-5') Traceback (most recent call last): ... InvalidFormat: ... >>> format('125319092') '12.531.909-2' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -.').upper().strip() if number.startswith('CL'): number = number[2:] return number def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" s = sum(int(n) * (4 + (5 - i) % 6) for i, n in enumerate(number[::-1])) return '0123456789K'[s % 11] def validate(number): """Check if the number is a valid RUT. This checks the length, formatting and check digit.""" number = compact(number) if len(number) not in (8, 9): raise InvalidLength() if not isdigits(number[:-1]): raise InvalidFormat() if number[-1] != calc_check_digit(number[:-1]): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid RUT.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return (number[:-7] + '.' + number[-7:-4] + '.' + number[-4:-1] + '-' + number[-1]) python-stdnum-1.13/stdnum/cl/__init__.py0000644000000000000000000000177513555400447020267 0ustar rootroot00000000000000# __init__.py - collection of Chilean numbers # coding: utf-8 # # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Chilean numbers.""" # provide vat and run as an alias from stdnum.cl import rut as vat # noqa: F401, isort:skip from stdnum.cl import rut as run # noqa: F401, isort:skip python-stdnum-1.13/stdnum/si/0000755000000000000000000000000013611057637016163 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/si/__init__.py0000644000000000000000000000166213555400450020271 0ustar rootroot00000000000000# __init__.py - collection of Slovenian numbers # coding: utf-8 # # Copyright (C) 2012 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Slovenian numbers.""" # provide vat as an alias from stdnum.si import ddv as vat # noqa: F401 python-stdnum-1.13/stdnum/si/ddv.py0000644000000000000000000000467613555400450017317 0ustar rootroot00000000000000# ddv.py - functions for handling Slovenian VAT numbers # coding: utf-8 # # Copyright (C) 2012, 2013 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """ID za DDV (Davčna številka, Slovenian VAT number). The DDV number (Davčna številka) is used for VAT (DDV, Davek na dodano vrednost) purposes and consist of 8 digits of which the last is a check digit. >>> validate('SI 5022 3054') '50223054' >>> validate('SI 50223055') # invalid check digits Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' -').upper().strip() if number.startswith('SI'): number = number[2:] return number def calc_check_digit(number): """Calculate the check digit. The number passed should not have the check digit included.""" check = (11 - sum((8 - i) * int(n) for i, n in enumerate(number)) % 11) # this results in a two-digit check digit for 11 which should be wrong return '0' if check == 10 else str(check) def validate(number): """Check if the number is a valid VAT number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number) or number.startswith('0'): raise InvalidFormat() if len(number) != 8: raise InvalidLength() if calc_check_digit(number[:-1]) != number[-1]: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid VAT number.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ad/0000755000000000000000000000000013611057636016133 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/ad/__init__.py0000644000000000000000000000165313555400447020250 0ustar rootroot00000000000000# __init__.py - collection of Andorran numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Andorran numbers.""" # Provide aliases. from stdnum.ad import nrt as vat # noqa: F401 python-stdnum-1.13/stdnum/ad/nrt.py0000644000000000000000000000550613555400447017315 0ustar rootroot00000000000000# nrt.py - functions for handling Andorra NRT numbers # coding: utf-8 # # Copyright (C) 2019 Leandro Regueiro # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """NRT (Número de Registre Tributari, Andorra tax number). The Número de Registre Tributari (NRT) is an identifier of legal and natural entities for tax purposes. This number consists of one letter indicating the type of entity, then 6 digits, followed by a check letter. More information: * https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Andorra-TIN.pdf >>> validate('U-132950-X') 'U132950X' >>> validate('A123B') Traceback (most recent call last): ... InvalidLength: ... >>> validate('I 706193 G') Traceback (most recent call last): ... InvalidComponent: ... >>> format('D059888N') 'D-059888-N' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace. """ return clean(number, ' -.').upper().strip() def validate(number): """Check if the number is a valid Andorra NRT number. This checks the length, formatting and other contraints. It does not check for control letter. """ number = compact(number) if len(number) != 8: raise InvalidLength() if not number[0].isalpha() or not number[-1].isalpha(): raise InvalidFormat() if not isdigits(number[1:-1]): raise InvalidFormat() if number[0] not in 'ACDEFGLOPU': raise InvalidComponent() if number[0] == 'F' and number[1:-1] > '699999': raise InvalidComponent() if number[0] in 'AL' and not ('699999' < number[1:-1] < '800000'): raise InvalidComponent() return number def is_valid(number): """Check if the number is a valid Andorra NRT number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join([number[0], number[1:-1], number[-1]]) python-stdnum-1.13/stdnum/ca/0000755000000000000000000000000013611057636016132 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/ca/sin.py0000644000000000000000000000466313555400447017305 0ustar rootroot00000000000000# sin.py - functions for handling Canadian Social Insurance Numbers (SINs) # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """SIN (Canadian Social Insurance Number). The Social Insurance Number (SIN) is a 9-digit identifier issued to individuals for various government programs. SINs that begin with a 9 are issued to temporary workers who are neither Canadian citizens nor permanent residents. More information: * https://www.canada.ca/en/employment-social-development/services/sin.html * https://en.wikipedia.org/wiki/Social_Insurance_Number >>> validate('123-456-782') '123456782' >>> validate('999-999-999') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('12345678Z') Traceback (most recent call last): ... InvalidFormat: ... >>> format('123456782') '123-456-782' """ from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, '- ').strip() def validate(number): """Check if the number is a valid SIN. This checks the length, formatting and check digit.""" number = compact(number) if len(number) != 9: raise InvalidLength() if not isdigits(number): raise InvalidFormat() return luhn.validate(number) def is_valid(number): """Check if the number is a valid SIN.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return '-'.join((number[0:3], number[3:6], number[6:])) python-stdnum-1.13/stdnum/ca/__init__.py0000644000000000000000000000154613555400447020250 0ustar rootroot00000000000000# __init__.py - collection of Canadian numbers # coding: utf-8 # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Canadian numbers.""" python-stdnum-1.13/stdnum/ca/bn.py0000644000000000000000000000503313555400447017103 0ustar rootroot00000000000000# bn.py - functions for handling Canadian Business Numbers (BNs) # # Copyright (C) 2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """BN (Canadian Business Number). A Business Number (BN) is a 9-digit identification number for businesses issued by the Canada Revenue Agency for tax purposes. The 9-digit number can be followed by two letters (program identifier) and 4 digits (reference number) to form a program account (or BN15). More information: * https://www.canada.ca/en/services/taxes/business-number.html * https://www.ic.gc.ca/app/scr/cc/CorporationsCanada/fdrlCrpSrch.html?locale=en_CA/ >>> validate('12302 6635') '123026635' >>> validate('12302 6635 RC 0001') '123026635RC0001' >>> validate('123456783') Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('12345678Z') Traceback (most recent call last): ... InvalidFormat: ... """ from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, '- ').strip() def validate(number): """Check if the number is a valid BN or BN15. This checks the length, formatting and check digit.""" number = compact(number) if len(number) not in (9, 15): raise InvalidLength() if not isdigits(number[:9]): raise InvalidFormat() luhn.validate(number[:9]) if len(number) == 15: if number[9:11] not in ('RC', 'RM', 'RP', 'RT'): raise InvalidComponent() if not isdigits(number[11:]): raise InvalidFormat() return number def is_valid(number): """Check if the number is a valid BN or BN15.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ec/0000755000000000000000000000000013611057637016137 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/ec/ruc.py0000644000000000000000000000624513555400447017307 0ustar rootroot00000000000000# ruc.py - functions for handling Ecuadorian fiscal numbers # coding: utf-8 # # Copyright (C) 2014 Jonathan Finlay # Copyright (C) 2014-2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """RUC (Registro Único de Contribuyentes, Ecuadorian company tax number). The RUC is a tax identification number for legal entities. It has 13 digits where the third digit is a number denoting the type of entity. >>> validate('1792060346-001') '1792060346001' >>> validate('1763154690001') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('179206034601') # too short Traceback (most recent call last): ... InvalidLength: ... """ from stdnum.ec import ci from stdnum.exceptions import * from stdnum.util import isdigits __all__ = ['compact', 'validate', 'is_valid'] # use the same compact function as CI compact = ci.compact def _checksum(number, weights): """Calculate a checksum over the number given the weights.""" return sum(w * int(n) for w, n in zip(weights, number)) % 11 def validate(number): """Check if the number provided is a valid RUC number. This checks the length, formatting, check digit and check sum.""" number = compact(number) if len(number) != 13: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if (number[:2] < '01' or number[:2] > '24') and (number[:2] not in ('30', '50')): raise InvalidComponent() # invalid province code if number[2] < '6': # 0..5 = natural RUC: CI plus establishment number if number[-3:] == '000': raise InvalidComponent() # establishment number wrong ci.validate(number[:10]) elif number[2] == '6': # 6 = public RUC if number[-4:] == '0000': raise InvalidComponent() # establishment number wrong if _checksum(number[:9], (3, 2, 7, 6, 5, 4, 3, 2, 1)) != 0: raise InvalidChecksum() elif number[2] == '9': # 9 = juridical RUC if number[-3:] == '000': raise InvalidComponent() # establishment number wrong if _checksum(number[:10], (4, 3, 2, 7, 6, 5, 4, 3, 2, 1)) != 0: raise InvalidChecksum() else: raise InvalidComponent() # third digit wrong return number def is_valid(number): """Check if the number provided is a valid RUC number. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/ec/__init__.py0000644000000000000000000000166513555400447020256 0ustar rootroot00000000000000# __init__.py - collection of Ecuadorian numbers # coding: utf-8 # # Copyright (C) 2014 Jonathan Finlay # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Ecuadorian numbers.""" # provide vat as an alias from stdnum.ec import ruc as vat # noqa: F401 python-stdnum-1.13/stdnum/ec/ci.py0000644000000000000000000000507213555400447017106 0ustar rootroot00000000000000# ci.py - functions for handling Ecuadorian personal identity codes # coding: utf-8 # # Copyright (C) 2014 Jonathan Finlay # Copyright (C) 2014-2017 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """CI (Cédula de identidad, Ecuadorian personal identity code). The CI is a 10 digit number used to identify Ecuadorian citizens. >>> validate('171430710-3') '1714307103' >>> validate('1714307104') # invalid check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('171430710') # digit missing Traceback (most recent call last): ... InvalidLength: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -').upper().strip() def _checksum(number): """Calculate a checksum over the number.""" fold = lambda x: x - 9 if x > 9 else x return sum(fold((2, 1)[i % 2] * int(n)) for i, n in enumerate(number)) % 10 def validate(number): """Check if the number provided is a valid CI number. This checks the length, formatting and check digit.""" number = compact(number) if len(number) != 10: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if (number[:2] < '01' or number[:2] > '24') and (number[:2] not in ('30', '50')): raise InvalidComponent() # invalid province code if number[2] > '5': raise InvalidComponent() # third digit wrong if _checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is a valid CI number. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/no/0000755000000000000000000000000013611057637016164 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/no/mva.py0000644000000000000000000000431313555400450017312 0ustar rootroot00000000000000# mva.py - functions for handling Norwegian VAT numbers # coding: utf-8 # # Copyright (C) 2015 Tuomas Toivonen # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """MVA (Merverdiavgift, Norwegian VAT number). The VAT number is the standard Norwegian organisation number (Organisasjonsnummer) with 'MVA' as suffix. >>> validate('NO 995 525 828 MVA') '995525828MVA' >>> validate('NO 995 525 829 MVA') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('995525828MVA') 'NO 995 525 828 MVA' """ from stdnum.exceptions import * from stdnum.no import orgnr from stdnum.util import clean def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' ').upper().strip() if number.startswith('NO'): number = number[2:] return number def validate(number): """Check if the number is a valid MVA number. This checks the length, formatting and check digit.""" number = compact(number) if not number.endswith('MVA'): raise InvalidFormat() orgnr.validate(number[:-3]) return number def is_valid(number): """Check if the number is a valid MVA number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return 'NO ' + orgnr.format(number[:9]) + ' ' + number[9:] python-stdnum-1.13/stdnum/no/iban.py0000644000000000000000000000462513555400450017446 0ustar rootroot00000000000000# iban.py - functions for handling Norwegian IBANs # coding: utf-8 # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Norwegian IBAN (International Bank Account Number). The IBAN is used to identify bank accounts across national borders. The Norwegian IBAN is built up of the IBAN prefix (NO) and check digits, followed by the 11 digit Konto nr. (bank account number). >>> validate('NO93 8601 1117 947') 'NO9386011117947' >>> to_kontonr('NO93 8601 1117 947') '86011117947' >>> format('NO9386011117947') 'NO93 8601 1117 947' >>> validate('GR1601101050000010547023795') # different country Traceback (most recent call last): ... InvalidComponent: ... >>> validate('NO92 8601 1117 947') # invalid IBAN check digit Traceback (most recent call last): ... InvalidChecksum: ... >>> validate('NO23 8601 1117 946') # invalid Konto nr. check digit Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum import iban from stdnum.exceptions import * from stdnum.no import kontonr __all__ = ['compact', 'format', 'to_kontonr', 'validate', 'is_valid'] compact = iban.compact format = iban.format def to_kontonr(number): """Return the Norwegian bank account number part of the number.""" number = compact(number) if not number.startswith('NO'): raise InvalidComponent() return number[4:] def validate(number): """Check if the number provided is a valid Norwegian IBAN.""" number = iban.validate(number, check_country=False) kontonr.validate(to_kontonr(number)) return number def is_valid(number): """Check if the number provided is a valid Norwegian IBAN.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/no/fodselsnummer.py0000644000000000000000000000600413555400450021411 0ustar rootroot00000000000000# fodselsnummer.py - functions for handling Norwegian birth numbers # coding: utf-8 # # Copyright (C) 2018 Ilya Vihtinsky # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Fødselsnummer (Norwegian birth number, the national identity number). The Fødselsnummer is an eleven-digit number that is built up of the date of birth of the person, a serial number and two check digits. More information: * https://no.wikipedia.org/wiki/F%C3%B8dselsnummer * https://en.wikipedia.org/wiki/National_identification_number#Norway >>> validate('684131 52112') '68413152112' >>> get_gender('684131 52112') 'M' >>> validate('684131 52123') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('68413152112') '684131 52112' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' -:') def calc_check_digit1(number): """Calculate the first check digit for the number.""" weights = (3, 7, 6, 1, 8, 9, 4, 5, 2) return str((11 - sum(w * int(n) for w, n in zip(weights, number))) % 11) def calc_check_digit2(number): """Calculate the second check digit for the number.""" weights = (5, 4, 3, 2, 7, 6, 5, 4, 3, 2) return str((11 - sum(w * int(n) for w, n in zip(weights, number))) % 11) def get_gender(number): """Get the person's birth gender ('M' or 'F').""" number = compact(number) if int(number[8]) % 2: return 'M' else: return 'F' def validate(number): """Check if the number is a valid birth number.""" number = compact(number) if len(number) != 11: raise InvalidLength() if not isdigits(number): raise InvalidFormat() if number[-2] != calc_check_digit1(number): raise InvalidChecksum() if number[-1] != calc_check_digit2(number): raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid birth number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return number[:6] + ' ' + number[6:] python-stdnum-1.13/stdnum/no/__init__.py0000644000000000000000000000175313555400450020273 0ustar rootroot00000000000000# __init__.py - collection of Norwegian numbers # coding: utf-8 # # Copyright (C) 2015 Tuomas Toivonen # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Norwegian numbers.""" # provide aliases from stdnum.no import fodselsnummer as personalid # noqa: F401 from stdnum.no import mva as vat # noqa: F401 python-stdnum-1.13/stdnum/no/kontonr.py0000644000000000000000000000627213555400450020227 0ustar rootroot00000000000000# kontonr.py - functions for handling Norwegian bank account numbers # coding: utf-8 # # Copyright (C) 2018 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Konto nr. (Norwegian bank account number) Konto nr. is the country-specific part in Norwegian IBAN codes. The number consists of 11 digits, the first 4 are the bank identifier and the last is a check digit. This module does not check if the bank identifier exists. More information: * https://www.ecbs.org/iban/norway-bank-account-number.html >>> validate('8601 11 17947') '86011117947' >>> validate('0000.4090403') # postgiro bank code '4090403' >>> validate('8601 11 17949') # invalid check digits Traceback (most recent call last): ... InvalidChecksum: ... >>> format('86011117947') '8601.11.17947' >>> to_iban('8601 11 17947') 'NO93 8601 11 17947' """ from stdnum import luhn from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" number = clean(number, ' .-').strip() if number.startswith('0000'): number = number[4:] # strip leading 0000 postgiro bank code return number def _calc_check_digit(number): """Calculate the check digit for the 11-digit number.""" weights = (6, 7, 8, 9, 4, 5, 6, 7, 8, 9) return str(sum(w * int(n) for w, n in zip(weights, number)) % 11) def validate(number): """Check if the number provided is a valid bank account number.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) == 7: luhn.validate(number) elif len(number) == 11: if _calc_check_digit(number) != number[-1]: raise InvalidChecksum() else: raise InvalidLength() return number def is_valid(number): """Check if the number provided is a valid bank account number.""" try: return bool(validate(number)) except ValidationError: return False def to_iban(number): """Convert the number to an IBAN.""" from stdnum import iban separator = ' ' if ' ' in number else '' return separator.join(( 'NO' + iban.calc_check_digits('NO00' + number), number)) def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) number = (11 - len(number)) * '0' + number return '.'.join([ number[:4], number[4:6], number[6:], ]) python-stdnum-1.13/stdnum/no/orgnr.py0000644000000000000000000000457013555400450017663 0ustar rootroot00000000000000# orgnr.py - functions for handling Norwegian organisation numbers # coding: utf-8 # # Copyright (C) 2014 Tomas Thor Jonsson # Copyright (C) 2015 Tuomas Toivonen # Copyright (C) 2015 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Orgnr (Organisasjonsnummer, Norwegian organisation number). The Organisasjonsnummer is a 9-digit number with a straightforward check mechanism. >>> validate('988 077 917') '988077917' >>> validate('988 077 918') Traceback (most recent call last): ... InvalidChecksum: ... >>> format('988077917') '988 077 917' """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip() def checksum(number): """Calculate the checksum.""" weights = (3, 2, 7, 6, 5, 4, 3, 2, 1) return sum(w * int(n) for w, n in zip(weights, number)) % 11 def validate(number): """Check if the number is a valid organisation number. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 9: raise InvalidLength() if checksum(number) != 0: raise InvalidChecksum() return number def is_valid(number): """Check if the number is a valid organisation number.""" try: return bool(validate(number)) except ValidationError: return False def format(number): """Reformat the number to the standard presentation format.""" number = compact(number) return number[:3] + ' ' + number[3:6] + ' ' + number[6:] python-stdnum-1.13/stdnum/md/0000755000000000000000000000000013611057637016150 5ustar rootroot00000000000000python-stdnum-1.13/stdnum/md/idno.py0000644000000000000000000000460213555400450017445 0ustar rootroot00000000000000# rnc.py - functions for handling Moldavian company identification numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """IDNO (Moldavian company identification number). The IDNO is used in Moldavia as unique identifier for legal entities. The number consists of 13 digits. The first digit identifies the registry, followed by three digits for the year the code was assigned. The number ends with five identifier digits and a check digit. More information: * https://www.idno.md >>> validate('1008600038413') '1008600038413' >>> validate('1008600038412') Traceback (most recent call last): ... InvalidChecksum: ... """ from stdnum.exceptions import * from stdnum.util import clean, isdigits def compact(number): """Convert the number to the minimal representation. This strips the number of any valid separators and removes surrounding whitespace.""" return clean(number, ' ').strip() def calc_check_digit(number): """Calculate the check digit.""" weights = (7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1) return str(sum(w * int(n) for w, n in zip(weights, number)) % 10) def validate(number): """Check if the number provided is valid. This checks the length, formatting and check digit.""" number = compact(number) if not isdigits(number): raise InvalidFormat() if len(number) != 13: raise InvalidLength() if number[-1] != calc_check_digit(number): raise InvalidChecksum() return number def is_valid(number): """Check if the number provided is valid. This checks the length, formatting and check digit.""" try: return bool(validate(number)) except ValidationError: return False python-stdnum-1.13/stdnum/md/__init__.py0000644000000000000000000000155013555400450020252 0ustar rootroot00000000000000# __init__.py - collection of Moldavian numbers # coding: utf-8 # # Copyright (C) 2019 Arthur de Jong # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Collection of Moldavian numbers.""" python-stdnum-1.13/online_check/0000755000000000000000000000000013611057636016656 5ustar rootroot00000000000000python-stdnum-1.13/online_check/stdnum.wsgi0000755000000000000000000001043413611057523021063 0ustar rootroot00000000000000# stdnum.wsgi - simple WSGI application to check numbers # # Copyright (C) 2017-2020 Arthur de Jong. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA """Simple WSGI application to check numbers.""" import cgi import inspect import json import os import re import sys sys.stdout = sys.stderr sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'python-stdnum')) from stdnum.util import ( get_module_description, get_module_name, get_number_modules, to_unicode) _template = None def get_conversions(module, number): """Return the possible conversions for the number.""" for name, func in inspect.getmembers(module, inspect.isfunction): if name.startswith('to_'): args, varargs, varkw, defaults = inspect.getargspec(func) if defaults: args = args[:-len(defaults)] if args == ['number'] and not name.endswith('binary'): try: conversion = func(number) if conversion != number: yield (name[3:], to_unicode(conversion)) except Exception: pass def info(module, number): """Return information about the number.""" compactfn = getattr(module, 'compact', lambda x: x) formatfn = getattr(module, 'format', compactfn) return dict( number=formatfn(number), compact=compactfn(number), valid=module.is_valid(number), module=module.__name__.split('.', 1)[1], name=to_unicode(get_module_name(module)), description=to_unicode(get_module_description(module)), conversions=dict(get_conversions(module, number))) def format(data): """Return an HTML snippet describing the number.""" description = cgi.escape(data['description']).replace('\n\n', '
    \n') description = re.sub( r'^[*] (.*)$', r'
    • \1
    ', description, flags=re.MULTILINE) description = re.sub( r'\b((https?|ftp)://[^\s<]*[-\w+&@#/%=~_|])', r'\1', description, flags=re.IGNORECASE + re.UNICODE) for name, conversion in data.get('conversions', {}).items(): description += '\n
    %s: %s' % ( cgi.escape(name), cgi.escape(conversion)) return '
  • %s: %s

    %s

  • ' % ( cgi.escape(data['number']), cgi.escape(data['name']), description) def application(environ, start_response): """WSGI application.""" # read template if needed global _template if not _template: basedir = os.path.join( environ['DOCUMENT_ROOT'], os.path.dirname(environ['SCRIPT_NAME']).strip('/')) _template = to_unicode(open(os.path.join(basedir, 'template.html'), 'rt').read()) is_ajax = environ.get( 'HTTP_X_REQUESTED_WITH', '').lower() == 'xmlhttprequest' parameters = cgi.parse_qs(environ.get('QUERY_STRING', '')) results = [] number = '' if 'number' in parameters: number = to_unicode(parameters['number'][0]) results = [ info(module, number) for module in get_number_modules() if module.is_valid(number)] if is_ajax: start_response('200 OK', [ ('Content-Type', 'application/json'), ('Vary', 'X-Requested-With')]) return [json.dumps(results, indent=2, sort_keys=True).encode('utf-8')] start_response('200 OK', [ ('Content-Type', 'text/html; charset=utf-8'), ('Vary', 'X-Requested-With')]) return [(_template % dict( value=cgi.escape(number, True), results=u'\n'.join(format(data) for data in results))).encode('utf-8')] python-stdnum-1.13/online_check/check.js0000644000000000000000000001000213555400446020260 0ustar rootroot00000000000000/* # check.js - simple application to check numbers # # Copyright (C) 2017-2018 Arthur de Jong. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301 USA */ $( document ).ready(function() { function format(value) { return $("
    ").text(value).html().replace( /\n\n/g, "
    \n" ).replace( /^[*] (.*)$/gm, "
    • $1
    " ).replace( /(\b(https?|ftp):\/\/[^\s<]*[-\w+&@#/%=~_|])/ig, "$1" ) } function updateresults(field, results) { // build HTML to present var h = ["
      "]; $.each(results, function(index, result) { h.push( "
    • ", $("
      ").text(result["number"]).html(), ": ", $("
      ").text(result["name"]).html(), "", "

      ", format(result["description"]), $.map(result["conversions"], function(value, key){ return [ "
      ", $("

      ").text(key).html(), ": ", $("
      ").text(value).html()].join('') }).join(''), "

    • ") }); h.push("
    "); // replace the results div $("#" + $(field).attr("id") + "_results").html(h.join("")); } function checkfield(field) { var value = field.val(); // only trigger update if value changed from previous validation if (value != field.data("oldvalue")) { field.data("oldvalue", value); $("#" + $(field).attr("id") + "_results").slideUp(200, function() { $.get('', {"number": value}, function(data) { window.history.pushState({"value": value, "data": data}, $(document).find("title").text(), "?number=" + encodeURIComponent(value)); updateresults(field, data); }); $(this).slideDown(300); }); } } // update results based on history navigation window.onpopstate = function(e) { var field = $(".stdnum_check"); if (e.state) { var value = e.state.value; var data = e.state.data; field.val(value) field.data("oldvalue", value); updateresults(field, data); } else { field.val("") field.data("oldvalue", ""); updateresults(field, []); } }; // trigger a check when user stopped typing $(".stdnum_check").on("input propertychange", function (event) { if (window.event && event.type == "propertychange" && event.propertyName != "value") return; var field = $(this); window.clearTimeout($(this).data("timeout")); $(this).data("timeout", setTimeout(function () { checkfield(field); }, 2000)); }); // trigger a check when losing focus $(".stdnum_check").on("blur", function() { window.clearTimeout($(this).data("timeout")); checkfield($(this)); }); // prevent enter from submitting the form $(".stdnum_check").keydown(function(event) { if(event.keyCode == 13) { event.preventDefault(); checkfield($(this)); return false; } }); // hide the submit button $(".stdnum_hide").hide(); // focus the text field $(".stdnum_check").focus(); // save current state var value = $(".stdnum_check").val(); $(".stdnum_check").data("oldvalue", value); $.get('', {number: value}, function(data) { window.history.replaceState({"value": value, "data": data}, $(document).find("title").text(), "?number=" + encodeURIComponent(value)); }) }); python-stdnum-1.13/online_check/template.html0000644000000000000000000000124213555400447021355 0ustar rootroot00000000000000 python-stdnum: check numbers