diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8bada118..b3aa2ec5 100755 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: - name: "Setup environment" uses: "networktocode/gh-action-setup-poetry-environment@v2" with: - python-version: "3.11" + python-version: "3.12" - name: "Linting: black" run: "poetry run invoke black" bandit: @@ -31,7 +31,7 @@ jobs: - name: "Setup environment" uses: "networktocode/gh-action-setup-poetry-environment@v2" with: - python-version: "3.11" + python-version: "3.12" - name: "Linting: bandit" run: "poetry run invoke bandit" needs: @@ -46,7 +46,7 @@ jobs: - name: "Setup environment" uses: "networktocode/gh-action-setup-poetry-environment@v2" with: - python-version: "3.11" + python-version: "3.12" - name: "Type-Hints: mypy" run: "poetry run invoke mypy" needs: @@ -61,7 +61,7 @@ jobs: - name: "Setup environment" uses: "networktocode/gh-action-setup-poetry-environment@v2" with: - python-version: "3.11" + python-version: "3.12" - name: "Linting: pydocstyle" run: "poetry run invoke pydocstyle" needs: @@ -76,7 +76,7 @@ jobs: - name: "Setup environment" uses: "networktocode/gh-action-setup-poetry-environment@v2" with: - python-version: "3.11" + python-version: "3.12" - name: "Linting: flake8" run: "poetry run invoke flake8" needs: @@ -91,7 +91,7 @@ jobs: - name: "Setup environment" uses: "networktocode/gh-action-setup-poetry-environment@v2" with: - python-version: "3.11" + python-version: "3.12" - name: "Linting: yamllint" run: "poetry run invoke yamllint" needs: @@ -100,7 +100,7 @@ jobs: strategy: fail-fast: true matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] runs-on: "ubuntu-20.04" env: PYTHON_VER: "${{ matrix.python-version }}" @@ -137,7 +137,7 @@ jobs: strategy: fail-fast: true matrix: - python-version: ["3.11"] + python-version: ["3.12"] env: PYTHON_VER: "${{ matrix.python-version }}" steps: @@ -173,7 +173,7 @@ jobs: strategy: fail-fast: true matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] runs-on: "ubuntu-20.04" env: PYTHON_VER: "${{ matrix.python-version }}" @@ -220,7 +220,7 @@ jobs: - name: "Set up Python" uses: "actions/setup-python@v2" with: - python-version: "3.11" + python-version: "3.12" - name: "Install Python Packages" run: "pip install poetry" - name: "Set env" @@ -249,7 +249,7 @@ jobs: - name: "Set up Python" uses: "actions/setup-python@v2" with: - python-version: "3.11" + python-version: "3.12" - name: "Install Python Packages" run: "pip install poetry" - name: "Set env" diff --git a/development_scripts.py b/development_scripts.py index 3290f1ba..302ee508 100755 --- a/development_scripts.py +++ b/development_scripts.py @@ -34,6 +34,18 @@ MAPPER = { "LIB_MAPPER_TEMPLATE": { + "aerleon": { + "header_src": "AERLEON", + "header_dst": "NORMALIZED", + "_dict": lib_mapper.AERLEON_LIB_MAPPER, + "_file": "docs/user/lib_mapper/aerleon.md", + }, + "aerleon_reverse": { + "header_src": "NORMALIZED", + "header_dst": "AERLEON", + "_dict": lib_mapper.AERLEON_LIB_MAPPER_REVERSE, + "_file": "docs/user/lib_mapper/aerleon_reverse.md", + }, "ansible": { "header_src": "ANSIBLE", "header_dst": "NORMALIZED", @@ -46,6 +58,30 @@ "_dict": lib_mapper.ANSIBLE_LIB_MAPPER_REVERSE, "_file": "docs/user/lib_mapper/ansible_reverse.md", }, + "capirca": { + "header_src": "CAPIRCA", + "header_dst": "NORMALIZED", + "_dict": lib_mapper.CAPIRCA_LIB_MAPPER, + "_file": "docs/user/lib_mapper/capirca.md", + }, + "capirca_reverse": { + "header_src": "NORMALIZED", + "header_dst": "CAPIRCA", + "_dict": lib_mapper.CAPIRCA_LIB_MAPPER_REVERSE, + "_file": "docs/user/lib_mapper/capirca_reverse.md", + }, + "forwardnetworks": { + "header_src": "FORWARDNETWORKS", + "header_dst": "NORMALIZED", + "_dict": lib_mapper.FORWARDNETWORKS_LIB_MAPPER, + "_file": "docs/user/lib_mapper/forwardnetworks.md", + }, + "forwardnetworks_reverse": { + "header_src": "NORMALIZED", + "header_dst": "FORWARDNETWORKS", + "_dict": lib_mapper.FORWARDNETWORKS_LIB_MAPPER_REVERSE, + "_file": "docs/user/lib_mapper/forwardnetworks_reverse.md", + }, "hierconfig": { "header_src": "HIERCONFIG", "header_dst": "NORMALIZED", diff --git a/docs/admin/release_notes/version_1.7.md b/docs/admin/release_notes/version_1.7.md new file mode 100755 index 00000000..0d296f3e --- /dev/null +++ b/docs/admin/release_notes/version_1.7.md @@ -0,0 +1,28 @@ +# v1.7 Release Notes + +## Release Overview + +- Added the ability to hash a value via `hash_data` function. +- Added the ability to sort IPs a value via `get_ips_sorted` function. +- Added lib_mapper entries for `ruckus_smartzone`, `cisco_xe`, `huawei` and `cisco_xr`. + +## [v1.7.0] - 2024-03 + +### Added + +- [#373](https://github.com/networktocode/netutils/pull/373) Added the ability to hash a value via `hash_data` function. +- [#374](https://github.com/networktocode/netutils/pull/374) Added `ruckus_smartzone` to lib_mapper. +- [#451](https://github.com/networktocode/netutils/pull/451) Added `forward` mappings. +- [#473](https://github.com/networktocode/netutils/pull/473) Added the ability to sort IPs a value via `get_ips_sorted` function. + +### Changed + +- [#369](https://github.com/networktocode/netutils/pull/369) Update doc string example to include the import statement. +- [#429](https://github.com/networktocode/netutils/pull/429) Updated `cisco_xe` mappings. +- [#443](https://github.com/networktocode/netutils/pull/443) Updated `ansible` platform mappers. +- [#466](https://github.com/networktocode/netutils/pull/466) Improve performance of jinja2_convenience_function by not importing NAPALM when called. + +### Fixed + +- [#429](https://github.com/networktocode/netutils/pull/429) Fixed `huawei` and `cisco_xr` mapping. +- [#445](https://github.com/networktocode/netutils/pull/445) Fixed dual banner issue. diff --git a/docs/dev/attribution.md b/docs/dev/attribution.md index aabb6b3a..3db21d0d 100755 --- a/docs/dev/attribution.md +++ b/docs/dev/attribution.md @@ -10,6 +10,7 @@ Influencers - [IPCal](https://github.com/ammyblabla/ipcal) - [StackOverflow](https://stackoverflow.com/) - [Python 3 Docs](https://docs.python.org/3/library/) +- [Python distutils version](https://github.com/python/cpython/blob/3.11/Lib/distutils/version.py) In many instances variables and function names were reused, but the code was built from scratch to avoid any potential licensing issues. Functions that were known to be rewritten and their known origin. diff --git a/docs/user/include_jinja_list.md b/docs/user/include_jinja_list.md index aac6ba63..a17f8d9e 100755 --- a/docs/user/include_jinja_list.md +++ b/docs/user/include_jinja_list.md @@ -35,6 +35,7 @@ | get_all_host | netutils.ip.get_all_host | | get_broadcast_address | netutils.ip.get_broadcast_address | | get_first_usable | netutils.ip.get_first_usable | +| get_ips_sorted | netutils.ip.get_ips_sorted | | get_peer_ip | netutils.ip.get_peer_ip | | get_range_ips | netutils.ip.get_range_ips | | get_usable_range | netutils.ip.get_usable_range | @@ -59,6 +60,8 @@ | mac_to_format | netutils.mac.mac_to_format | | mac_to_int | netutils.mac.mac_to_int | | mac_type | netutils.mac.mac_type | +| compare_version_loose | netutils.os_version.compare_version_loose | +| compare_version_strict | netutils.os_version.compare_version_strict | | get_upgrade_path | netutils.os_version.get_upgrade_path | | compare_cisco_type5 | netutils.password.compare_cisco_type5 | | compare_cisco_type7 | netutils.password.compare_cisco_type7 | diff --git a/docs/user/lib_mapper/aerleon.md b/docs/user/lib_mapper/aerleon.md new file mode 100644 index 00000000..663a5964 --- /dev/null +++ b/docs/user/lib_mapper/aerleon.md @@ -0,0 +1,30 @@ +| AERLEON | | NORMALIZED | +| ---------- | -- | ------ | +| arista | → | arista_eos | +| aruba | → | aruba_aoscx | +| brocade | → | ruckus_fastiron | +| cisco | → | cisco_ios | +| ciscoasa | → | cisco_asa | +| cisconx | → | cisco_nxos | +| ciscoxr | → | cisco_iosxr | +| cloudarmor | → | cloudarmor | +| gce | → | gce | +| gcp_hf | → | gcp_hf | +| ipset | → | ipset | +| iptables | → | iptables | +| juniper | → | juniper_junos | +| juniperevo | → | juniper_evo | +| k8s | → | k8s | +| msmpc | → | juniper_msmpc | +| nsxt | → | vmware_nsxt | +| nsxv | → | vmware_nsxv | +| openconfig | → | openconfig | +| packetfilter | → | packetfilter | +| paloalto | → | paloalto_panos | +| pcap | → | pcap | +| sonic | → | sonic | +| speedway | → | speedway | +| srx | → | juniper_srx | +| srxlo | → | juniper_srx | +| windows | → | windows | +| windows_advfirewall | → | windows_advfirewall | \ No newline at end of file diff --git a/docs/user/lib_mapper/aerleon_reverse.md b/docs/user/lib_mapper/aerleon_reverse.md new file mode 100644 index 00000000..03173e19 --- /dev/null +++ b/docs/user/lib_mapper/aerleon_reverse.md @@ -0,0 +1,31 @@ +| NORMALIZED | | AERLEON | +| ---------- | -- | ------ | +| arista_eos | → | arista | +| aruba_aoscx | → | aruba | +| brocade_fastiron | → | brocade | +| brocade_netiron | → | brocade | +| cisco_asa | → | ciscoasa | +| cisco_ios | → | cisco | +| cisco_iosxr | → | ciscoxr | +| cisco_nxos | → | cisconx | +| cloudarmor | → | cloudarmor | +| gce | → | gce | +| gcp_hf | → | gcp_hf | +| ipset | → | ipset | +| iptables | → | iptables | +| juniper_evo | → | juniperevo | +| juniper_junos | → | juniper | +| juniper_msmpc | → | msmpc | +| juniper_srx | → | srxlo | +| k8s | → | k8s | +| openconfig | → | openconfig | +| packetfilter | → | packetfilter | +| paloalto_panos | → | paloalto | +| pcap | → | pcap | +| ruckus_fastiron | → | brocade | +| sonic | → | sonic | +| speedway | → | speedway | +| vmware_nsxt | → | nsxt | +| vmware_nsxv | → | nsxv | +| windows_advfirewall | → | windows_advfirewall | +| windows_ipsec | → | windows | \ No newline at end of file diff --git a/docs/user/lib_mapper/ansible.md b/docs/user/lib_mapper/ansible.md index 0bb17484..f115e113 100755 --- a/docs/user/lib_mapper/ansible.md +++ b/docs/user/lib_mapper/ansible.md @@ -1,11 +1,13 @@ | ANSIBLE | | NORMALIZED | | ---------- | -- | ------ | +| a10.acos_axapi.a10 | → | a10 | | arista.eos.eos | → | arista_eos | | arubanetworks.aoscx | → | aruba_aoscx | | ciena.saos6.saos6 | → | ciena_saos | | cisco.asa.asa | → | cisco_asa | | cisco.ios.ios | → | cisco_ios | | cisco.iosxr.iosxr | → | cisco_xr | +| cisco.meraki.meraki | → | cisco_meraki | | cisco.nxos.nxos | → | cisco_nxos | | community.network.ce | → | huawei | | community.network.cnos | → | lenovo_cnos | @@ -20,8 +22,12 @@ | community.network.slxos | → | extreme_slx | | community.network.sros | → | nokia_sros | | community.network.voss | → | extreme_vsp | +| dellemc.enterprise_sonic.sonic | → | sonic | | dellemc.os10.0s10 | → | dell_os10 | | dellemc.os6.os6 | → | dell_os6 | | dellemc.os9.os9 | → | dell_os9 | +| f5networks.f5_bigip.bigip | → | bigip_f5 | +| fortinet.fortios.fortios | → | fortinet | | junipernetworks.junos.junos | → | juniper_junos | +| paloaltonetworks.panos.panos | → | paloalto_panos | | vyos.vyos.vyos | → | vyos | \ No newline at end of file diff --git a/docs/user/lib_mapper/ansible_reverse.md b/docs/user/lib_mapper/ansible_reverse.md index c7c9c873..8d285e08 100755 --- a/docs/user/lib_mapper/ansible_reverse.md +++ b/docs/user/lib_mapper/ansible_reverse.md @@ -1,11 +1,15 @@ | NORMALIZED | | ANSIBLE | | ---------- | -- | ------ | +| a10 | → | a10.acos_axapi.a10 | | arista_eos | → | arista.eos.eos | | aruba_aoscx | → | arubanetworks.aoscx | +| bigip_f5 | → | f5networks.f5_bigip.bigip | | ciena_saos | → | ciena.saos6.saos6 | | cisco_asa | → | cisco.asa.asa | | cisco_ios | → | cisco.ios.ios | +| cisco_meraki | → | cisco.meraki.meraki | | cisco_nxos | → | cisco.nxos.nxos | +| cisco_xe | → | cisco.ios.ios | | cisco_xr | → | cisco.iosxr.iosxr | | dell_os10 | → | dellemc.os10.0s10 | | dell_os6 | → | dellemc.os6.os6 | @@ -16,12 +20,15 @@ | extreme_nos | → | community.network.nos | | extreme_slx | → | community.network.slxos | | extreme_vsp | → | community.network.voss | +| fortinet | → | fortinet.fortios.fortios | | huawei | → | community.network.ce | | juniper_junos | → | junipernetworks.junos.junos | | lenovo_cnos | → | community.network.cnos | | lenovo_enos | → | community.network.enos | | mikrotik_routeros | → | community.network.routeros | | nokia_sros | → | community.network.sros | +| paloalto_panos | → | paloaltonetworks.panos.panos | | pluribus | → | community.network.netvisor | | ruckus_icx | → | community.network.icx | +| sonic | → | dellemc.enterprise_sonic.sonic | | vyos | → | vyos.vyos.vyos | \ No newline at end of file diff --git a/docs/user/lib_mapper/capirca.md b/docs/user/lib_mapper/capirca.md new file mode 100644 index 00000000..c28b13ad --- /dev/null +++ b/docs/user/lib_mapper/capirca.md @@ -0,0 +1,30 @@ +| CAPIRCA | | NORMALIZED | +| ---------- | -- | ------ | +| arista | → | arista_eos | +| aruba | → | aruba_aoscx | +| brocade | → | ruckus_fastiron | +| cisco | → | cisco_ios | +| ciscoasa | → | cisco_asa | +| cisconx | → | cisco_nxos | +| ciscoxr | → | cisco_iosxr | +| cloudarmor | → | cloudarmor | +| gce | → | gce | +| gcp_hf | → | gcp_hf | +| ipset | → | ipset | +| iptables | → | iptables | +| juniper | → | juniper_junos | +| juniperevo | → | juniper_evo | +| k8s | → | k8s | +| msmpc | → | juniper_msmpc | +| nsxt | → | vmware_nsxt | +| nsxv | → | vmware_nsxv | +| openconfig | → | openconfig | +| packetfilter | → | packetfilter | +| paloalto | → | paloalto_panos | +| pcap | → | pcap | +| sonic | → | sonic | +| speedway | → | speedway | +| srx | → | juniper_srx | +| srxlo | → | juniper_srx | +| windows | → | windows | +| windows_advfirewall | → | windows_advfirewall | \ No newline at end of file diff --git a/docs/user/lib_mapper/capirca_reverse.md b/docs/user/lib_mapper/capirca_reverse.md new file mode 100644 index 00000000..7a829011 --- /dev/null +++ b/docs/user/lib_mapper/capirca_reverse.md @@ -0,0 +1,31 @@ +| NORMALIZED | | CAPIRCA | +| ---------- | -- | ------ | +| arista_eos | → | arista | +| aruba_aoscx | → | aruba | +| brocade_fastiron | → | brocade | +| brocade_netiron | → | brocade | +| cisco_asa | → | ciscoasa | +| cisco_ios | → | cisco | +| cisco_iosxr | → | ciscoxr | +| cisco_nxos | → | cisconx | +| cloudarmor | → | cloudarmor | +| gce | → | gce | +| gcp_hf | → | gcp_hf | +| ipset | → | ipset | +| iptables | → | iptables | +| juniper_evo | → | juniperevo | +| juniper_junos | → | juniper | +| juniper_msmpc | → | msmpc | +| juniper_srx | → | srxlo | +| k8s | → | k8s | +| openconfig | → | openconfig | +| packetfilter | → | packetfilter | +| paloalto_panos | → | paloalto | +| pcap | → | pcap | +| ruckus_fastiron | → | brocade | +| sonic | → | sonic | +| speedway | → | speedway | +| vmware_nsxt | → | nsxt | +| vmware_nsxv | → | nsxv | +| windows_advfirewall | → | windows_advfirewall | +| windows_ipsec | → | windows | \ No newline at end of file diff --git a/docs/user/lib_mapper/forwardnetworks.md b/docs/user/lib_mapper/forwardnetworks.md new file mode 100644 index 00000000..5fbf7f20 --- /dev/null +++ b/docs/user/lib_mapper/forwardnetworks.md @@ -0,0 +1,18 @@ +| FORWARDNETWORKS | | NORMALIZED | +| ---------- | -- | ------ | +| ARISTA_EOS | → | arista_eos | +| ARUBA_SWITCH | → | aruba_aoscx | +| ASA | → | cisco_asa | +| EXTREME_NOS | → | extreme_netiron | +| F5 | → | bigip_f5 | +| FORTINET | → | fortinet_fortios | +| IOS | → | cisco_ios | +| IOS_XE | → | cisco_ios | +| IOS_XR | → | cisco_iosxr | +| JUNOS | → | juniper_junos | +| LINUX | → | linux | +| LINUX_OVS_OFCTL | → | linux | +| NETSCALER | → | netscaler | +| NXOS | → | cisco_nxos | +| PAN_OS | → | paloalto_panos | +| SRX | → | juniper_junos | \ No newline at end of file diff --git a/docs/user/lib_mapper/forwardnetworks_reverse.md b/docs/user/lib_mapper/forwardnetworks_reverse.md new file mode 100644 index 00000000..d8ce6ba4 --- /dev/null +++ b/docs/user/lib_mapper/forwardnetworks_reverse.md @@ -0,0 +1,15 @@ +| NORMALIZED | | FORWARDNETWORKS | +| ---------- | -- | ------ | +| arista_eos | → | ARISTA_EOS | +| aruba_aoscx | → | ARUBA_SWITCH | +| bigip_f5 | → | F5 | +| cisco_asa | → | ASA | +| cisco_ios | → | IOS | +| cisco_iosxr | → | IOS_XR | +| cisco_nxos | → | NXOS | +| extreme_netiron | → | EXTREME_NOS | +| fortinet_fortios | → | FORTINET | +| juniper_junos | → | JUNOS | +| linux | → | LINUX | +| netscaler | → | NETSCALER | +| paloalto_panos | → | PAN_OS | \ No newline at end of file diff --git a/docs/user/lib_mapper/napalm.md b/docs/user/lib_mapper/napalm.md index 9625bd41..185bff0a 100755 --- a/docs/user/lib_mapper/napalm.md +++ b/docs/user/lib_mapper/napalm.md @@ -6,7 +6,7 @@ | eos | → | arista_eos | | f5 | → | bigip_f5 | | fortios | → | fortinet | -| huawei | → | huawei_vrp | +| huawei_vrp | → | huawei | | ios | → | cisco_ios | | iosxr | → | cisco_xr | | junos | → | juniper_junos | diff --git a/docs/user/lib_mapper/napalm_reverse.md b/docs/user/lib_mapper/napalm_reverse.md index f929cd41..67811a1c 100755 --- a/docs/user/lib_mapper/napalm_reverse.md +++ b/docs/user/lib_mapper/napalm_reverse.md @@ -8,9 +8,10 @@ | cisco_ios | → | ios | | cisco_nxos | → | nxos | | cisco_wlc | → | cisco_wlc_ssh | +| cisco_xe | → | cisco_ios | | cisco_xr | → | iosxr | | fortinet | → | fortios | -| huawei_vrp | → | huawei | +| huawei | → | huawei_vrp | | juniper_junos | → | junos | | mikrotik_routeros | → | ros | | nokia_sros | → | sros | diff --git a/docs/user/lib_mapper/netutilsparser.md b/docs/user/lib_mapper/netutilsparser.md index 52f4d9db..cea138aa 100755 --- a/docs/user/lib_mapper/netutilsparser.md +++ b/docs/user/lib_mapper/netutilsparser.md @@ -6,7 +6,7 @@ | cisco_aireos | → | cisco_aireos | | cisco_asa | → | cisco_asa | | cisco_ios | → | cisco_ios | -| cisco_iosxr | → | cisco_iosxr | +| cisco_iosxr | → | cisco_xr | | cisco_nxos | → | cisco_nxos | | citrix_netscaler | → | citrix_netscaler | | extreme_netiron | → | extreme_netiron | diff --git a/docs/user/lib_mapper/netutilsparser_reverse.md b/docs/user/lib_mapper/netutilsparser_reverse.md index c6b2f36c..7db2c9b3 100755 --- a/docs/user/lib_mapper/netutilsparser_reverse.md +++ b/docs/user/lib_mapper/netutilsparser_reverse.md @@ -6,8 +6,8 @@ | cisco_aireos | → | cisco_aireos | | cisco_asa | → | cisco_asa | | cisco_ios | → | cisco_ios | -| cisco_iosxr | → | cisco_iosxr | | cisco_nxos | → | cisco_nxos | +| cisco_xr | → | cisco_iosxr | | citrix_netscaler | → | citrix_netscaler | | extreme_netiron | → | extreme_netiron | | fortinet_fortios | → | fortinet_fortios | diff --git a/docs/user/lib_mapper/pyats_reverse.md b/docs/user/lib_mapper/pyats_reverse.md index d26bd04f..dddad0bb 100755 --- a/docs/user/lib_mapper/pyats_reverse.md +++ b/docs/user/lib_mapper/pyats_reverse.md @@ -5,6 +5,7 @@ | cisco_ios | → | iosxe | | cisco_nxos | → | nxos | | cisco_viptella | → | viptela | +| cisco_xe | → | iosxe | | cisco_xr | → | iosxr | | f5_tmsh | → | bigip | | juniper_junos | → | junos | diff --git a/docs/user/lib_mapper/pyntc_reverse.md b/docs/user/lib_mapper/pyntc_reverse.md index 9615063b..80691ee5 100755 --- a/docs/user/lib_mapper/pyntc_reverse.md +++ b/docs/user/lib_mapper/pyntc_reverse.md @@ -5,5 +5,6 @@ | cisco_ios | → | cisco_ios_ssh | | cisco_nxos | → | cisco_nxos_nxapi | | cisco_wlc | → | cisco_aireos_ssh | +| cisco_xe | → | cisco_ios_ssh | | f5_tmsh | → | f5_tmos_icontrol | | juniper_junos | → | juniper_junos_netconf | \ No newline at end of file diff --git a/docs/user/lib_use_cases_lib_mapper.md b/docs/user/lib_use_cases_lib_mapper.md index 3ae96c22..5f77afb7 100755 --- a/docs/user/lib_use_cases_lib_mapper.md +++ b/docs/user/lib_use_cases_lib_mapper.md @@ -47,6 +47,14 @@ Another use case could be using an example like the above in an Ansible filter. --8<-- "docs/user/lib_mapper/ansible_reverse.md" +## Forward Networks Mapper + +--8<-- "docs/user/lib_mapper/forwardnetworks.md" + +## Reverse Forward Networks Mapper + +--8<-- "docs/user/lib_mapper/forwardnetworks_reverse.md" + ## Hier Config Mapper --8<-- "docs/user/lib_mapper/hierconfig.md" diff --git a/mkdocs.yml b/mkdocs.yml index 7c0a66ff..87e4b9ee 100755 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -117,15 +117,16 @@ nav: - Uninstall: "admin/uninstall.md" - Release Notes: - "admin/release_notes/index.md" - - v0.1: "admin/release_notes/version_0.1.md" - - v0.2: "admin/release_notes/version_0.2.md" - - v1.0: "admin/release_notes/version_1.0.md" - - v1.1: "admin/release_notes/version_1.1.md" - - v1.2: "admin/release_notes/version_1.2.md" - - v1.3: "admin/release_notes/version_1.3.md" - - v1.4: "admin/release_notes/version_1.4.md" - - v1.5: "admin/release_notes/version_1.5.md" + - v1.7: "admin/release_notes/version_1.7.md" - v1.6: "admin/release_notes/version_1.6.md" + - v1.5: "admin/release_notes/version_1.5.md" + - v1.4: "admin/release_notes/version_1.4.md" + - v1.3: "admin/release_notes/version_1.3.md" + - v1.2: "admin/release_notes/version_1.2.md" + - v1.1: "admin/release_notes/version_1.1.md" + - v1.0: "admin/release_notes/version_1.0.md" + - v0.2: "admin/release_notes/version_0.2.md" + - v0.1: "admin/release_notes/version_0.1.md" - Developer Guide: - Extending the Library: "dev/extending.md" - Contributing to the Library: "dev/contributing.md" diff --git a/netutils/_private/version.py b/netutils/_private/version.py new file mode 100644 index 00000000..d4413c42 --- /dev/null +++ b/netutils/_private/version.py @@ -0,0 +1,358 @@ +# pylint: disable=deprecated-module,missing-class-docstring,invalid-name,protected-access,consider-using-f-string,no-else-return,attribute-defined-outside-init,no-member +# pylint: disable=super-init-not-called,inconsistent-return-statements,no-else-continue,raise-missing-from,too-many-branches,missing-function-docstring,too-many-return-statements +# type: ignore + +# +# distutils/version.py, taken from: https://github.com/python/cpython/blob/3.11/Lib/distutils/version.py +# +# Implements multiple version numbering conventions for the +# Python Module Distribution Utilities. +# +# $Id$ +# + +"""Provides classes to represent module version numbers (one class for each style of version numbering). + +There are currently two such classes implemented: StrictVersion and LooseVersion. + +Every version number class implements the following interface: + * the 'parse' method takes a string and parses it to some internal + representation; if the string is an invalid version number, + 'parse' raises a ValueError exception + * the class constructor takes an optional string argument which, + if supplied, is passed to 'parse' + * __str__ reconstructs the string that was passed to 'parse' (or + an equivalent string -- ie. one that will generate an equivalent + version number instance) + * __repr__ generates Python code to recreate the version number instance + * _cmp compares the current instance with either another instance + of the same class or a string (which will be parsed to an instance + of the same class, thus must follow the same rules) +""" + +import re + + +class Version: + """Abstract base class for version numbering classes. + + Just provides constructor (__init__) and reproducer (__repr__), because those + seem to be the same for all version numbering classes; and route + rich comparisons to _cmp. + """ + + def __init__(self, vstring=None): + """__init__ method from Python core.""" + if vstring: + self.parse(vstring) + + def __repr__(self): + """__repr__ method from Python core.""" + return "%s ('%s')" % (self.__class__.__name__, str(self)) + + def __eq__(self, other): + """__eq__ method from Python core.""" + c = self._cmp(other) + if c is NotImplemented: + return c + return c == 0 + + def __lt__(self, other): + """__lt__ method from Python core.""" + c = self._cmp(other) + if c is NotImplemented: + return c + return c < 0 + + def __le__(self, other): + """__le__ method from Python core.""" + c = self._cmp(other) + if c is NotImplemented: + return c + return c <= 0 + + def __gt__(self, other): + """__gt__ method from Python core.""" + c = self._cmp(other) + if c is NotImplemented: + return c + return c > 0 + + def __ge__(self, other): + """__ge__ method from Python core.""" + c = self._cmp(other) + if c is NotImplemented: + return c + return c >= 0 + + +# Interface for version-number classes -- must be implemented +# by the following classes (the concrete ones -- Version should +# be treated as an abstract class). +# __init__ (string) - create and take same action as 'parse' +# (string parameter is optional) +# parse (string) - convert a string representation to whatever +# internal representation is appropriate for +# this style of version numbering +# __str__ (self) - convert back to a string; should be very similar +# (if not identical to) the string supplied to parse +# __repr__ (self) - generate Python code to recreate +# the instance +# _cmp (self, other) - compare two version numbers ('other' may +# be an unparsed version string, or another +# instance of your version class) + + +class StrictVersion(Version): + """Version numbering for anal retentives and software idealists. + + Implements the standard interface for version number classes as + described above. A version number consists of two or three + dot-separated numeric components, with an optional "pre-release" tag + on the end. The pre-release tag consists of the letter 'a' or 'b' + followed by a number. If the numeric components of two version + numbers are equal, then one with a pre-release tag will always + be deemed earlier (lesser) than one without. + + The following are valid version numbers (shown in the order that + would be obtained by sorting according to the supplied cmp function): + + 0.4 0.4.0 (these two are equivalent) + 0.4.1 + 0.5a1 + 0.5b3 + 0.5 + 0.9.6 + 1.0 + 1.0.4a3 + 1.0.4b1 + 1.0.4 + + The following are examples of invalid version numbers: + + 1 + 2.7.2.2 + 1.3.a4 + 1.3pl1 + 1.3c4 + + The rationale for this version numbering system will be explained + in the distutils documentation. + """ + + version_re = re.compile(r"^(\d+) \. (\d+) (\. (\d+))? ([ab](\d+))?$", re.VERBOSE | re.ASCII) + + def parse(self, vstring): + """Parse method from Python core.""" + match = self.version_re.match(vstring) + if not match: + raise ValueError("invalid version number '%s'" % vstring) + + (major, minor, patch, prerelease, prerelease_num) = match.group(1, 2, 4, 5, 6) + + if patch: + self.version = tuple(map(int, [major, minor, patch])) + else: + self.version = tuple(map(int, [major, minor])) + (0,) + + if prerelease: + self.prerelease = (prerelease[0], int(prerelease_num)) + else: + self.prerelease = None + + def __str__(self): + """__str__ method from Python core.""" + if self.version[2] == 0: + vstring = ".".join(map(str, self.version[0:2])) + else: + vstring = ".".join(map(str, self.version)) + + if self.prerelease: + vstring = vstring + self.prerelease[0] + str(self.prerelease[1]) + + return vstring + + def _cmp(self, other): + """_cmp method from Python core.""" + if isinstance(other, str): + other = StrictVersion(other) + elif not isinstance(other, StrictVersion): + return NotImplemented + + if self.version != other.version: + # numeric versions don't match + # prerelease stuff doesn't matter + if self.version < other.version: + return -1 + else: + return 1 + + # have to compare prerelease + # case 1: neither has prerelease; they're equal + # case 2: self has prerelease, other doesn't; other is greater + # case 3: self doesn't have prerelease, other does: self is greater + # case 4: both have prerelease: must compare them! + + if not self.prerelease and not other.prerelease: + return 0 + elif self.prerelease and not other.prerelease: + return -1 + elif not self.prerelease and other.prerelease: + return 1 + elif self.prerelease and other.prerelease: + if self.prerelease == other.prerelease: + return 0 + elif self.prerelease < other.prerelease: + return -1 + else: + return 1 + raise ValueError("Should not ever get here") + + +# end class StrictVersion + + +# The rules according to Greg Stein: +# 1) a version number has 1 or more numbers separated by a period or by +# sequences of letters. If only periods, then these are compared +# left-to-right to determine an ordering. +# 2) sequences of letters are part of the tuple for comparison and are +# compared lexicographically +# 3) recognize the numeric components may have leading zeroes +# +# The LooseVersion class below implements these rules: a version number +# string is split up into a tuple of integer and string components, and +# comparison is a simple tuple comparison. This means that version +# numbers behave in a predictable and obvious way, but a way that might +# not necessarily be how people *want* version numbers to behave. There +# wouldn't be a problem if people could stick to purely numeric version +# numbers: just split on period and compare the numbers as tuples. +# However, people insist on putting letters into their version numbers; +# the most common purpose seems to be: +# - indicating a "pre-release" version +# ('alpha', 'beta', 'a', 'b', 'pre', 'p') +# - indicating a post-release patch ('p', 'pl', 'patch') +# but of course this can't cover all version number schemes, and there's +# no way to know what a programmer means without asking him. +# +# The problem is what to do with letters (and other non-numeric +# characters) in a version number. The current implementation does the +# obvious and predictable thing: keep them as strings and compare +# lexically within a tuple comparison. This has the desired effect if +# an appended letter sequence implies something "post-release": +# eg. "0.99" < "0.99pl14" < "1.0", and "5.001" < "5.001m" < "5.002". +# +# However, if letters in a version number imply a pre-release version, +# the "obvious" thing isn't correct. Eg. you would expect that +# "1.5.1" < "1.5.2a2" < "1.5.2", but under the tuple/lexical comparison +# implemented here, this just isn't so. +# +# Two possible solutions come to mind. The first is to tie the +# comparison algorithm to a particular set of semantic rules, as has +# been done in the StrictVersion class above. This works great as long +# as everyone can go along with bondage and discipline. Hopefully a +# (large) subset of Python module programmers will agree that the +# particular flavour of bondage and discipline provided by StrictVersion +# provides enough benefit to be worth using, and will submit their +# version numbering scheme to its domination. The free-thinking +# anarchists in the lot will never give in, though, and something needs +# to be done to accommodate them. +# +# Perhaps a "moderately strict" version class could be implemented that +# lets almost anything slide (syntactically), and makes some heuristic +# assumptions about non-digits in version number strings. This could +# sink into special-case-hell, though; if I was as talented and +# idiosyncratic as Larry Wall, I'd go ahead and implement a class that +# somehow knows that "1.2.1" < "1.2.2a2" < "1.2.2" < "1.2.2pl3", and is +# just as happy dealing with things like "2g6" and "1.13++". I don't +# think I'm smart enough to do it right though. +# +# In any case, I've coded the test suite for this module (see +# ../test/test_version.py) specifically to fail on things like comparing +# "1.2a2" and "1.2". That's not because the *code* is doing anything +# wrong, it's because the simple, obvious design doesn't match my +# complicated, hairy expectations for real-world version numbers. It +# would be a snap to fix the test suite to say, "Yep, LooseVersion does +# the Right Thing" (ie. the code matches the conception). But I'd rather +# have a conception that matches common notions about version numbers. + + +class LooseVersion(Version): + """Version numbering for anarchists and software realists. + + Implements the standard interface for version number classes as + described above. A version number consists of a series of numbers, + separated by either periods or strings of letters. When comparing + version numbers, the numeric components will be compared + numerically, and the alphabetic components lexically. The following + are all valid version numbers, in no particular order: + + 1.5.1 + 1.5.2b2 + 161 + 3.10a + 8.02 + 3.4j + 1996.07.12 + 3.2.pl0 + 3.1.1.6 + 2g6 + 11g + 0.960923 + 2.2beta29 + 1.13++ + 5.5.kw + 2.0b1pl0 + + In fact, there is no such thing as an invalid version number under + this scheme; the rules for comparison are simple and predictable, + but may not always give the results you want (for some definition + of "want"). + """ + + component_re = re.compile(r"(\d+ | [a-z]+ | \.)", re.VERBOSE) + + def __init__(self, vstring=None): + """__init__ method from Python core.""" + if vstring: + self.parse(vstring) + + def parse(self, vstring): + """Parse method from Python core.""" + # I've given up on thinking I can reconstruct the version string + # from the parsed tuple -- so I just store the string here for + # use by __str__ + self.vstring = vstring + components = [x for x in self.component_re.split(vstring) if x and x != "."] + for i, obj in enumerate(components): + try: + components[i] = int(obj) + except ValueError: + pass + + self.version = components + + def __str__(self): + """__str__ method from Python core.""" + return self.vstring + + def __repr__(self): + """__repr__ method from Python core.""" + return "LooseVersion ('%s')" % str(self) + + def _cmp(self, other): + """_cmp method from Python core.""" + if isinstance(other, str): + other = LooseVersion(other) + elif not isinstance(other, LooseVersion): + return NotImplemented + + if self.version == other.version: + return 0 + if self.version < other.version: + return -1 + if self.version > other.version: + return 1 + + +# end class LooseVersion diff --git a/netutils/bandwidth.py b/netutils/bandwidth.py index 0c29f5b1..c8983d94 100755 --- a/netutils/bandwidth.py +++ b/netutils/bandwidth.py @@ -192,11 +192,11 @@ def bytes_to_name(speed: float, nbr_decimal: int = 0) -> str: def name_to_name(speed: str, speed_type: str, nbr_decimal: int = 0) -> str: - """Method to convert a short bandwidth name to another bandwdth name. + """Method to convert a short bandwidth name to another bandwidth name. Args: speed: Bandwidth to be converted like `100GBps`. - speed_type: Name to convert the bandwdth to like `MBps`. + speed_type: Name to convert the bandwidth to like `MBps`. nbr_decimal: Precision of end result, ie number of decimal points to round to. Defaults to 0. Returns: diff --git a/netutils/config/compliance.py b/netutils/config/compliance.py index 06cecee1..beda32ef 100755 --- a/netutils/config/compliance.py +++ b/netutils/config/compliance.py @@ -436,6 +436,10 @@ def section_config(feature: t.Dict[str, t.Union[str, bool, t.List[str]]], device os_parser = parser_map[network_os] config_parsed = os_parser(device_cfg) for line in config_parsed.config_lines: + # If multiple banners, line after first banner will be None. + # This conditional allows multiple banners in config. + if not line.config_line: + continue if match: if line.parents: # pylint: disable=no-else-continue section_config_list.append(line.config_line) diff --git a/netutils/data_files/oui_mappings.py b/netutils/data_files/oui_mappings.py index 1935a276..bef495ff 100755 --- a/netutils/data_files/oui_mappings.py +++ b/netutils/data_files/oui_mappings.py @@ -3274,7 +3274,7 @@ "000cec": "Safran Trusted 4D Inc.", "000ced": "Real Digital Media", "000cee": "jp-embedded", - "000cef": "Open Networks Engineering Ltd", + "000cef": "ONE Investment Group Limited", "000cf0": "M & N GmbH", "000cf1": "Intel Corporation", "000cf2": "GAMESA Eólica", @@ -3588,7 +3588,7 @@ "000e27": "Crere Networks, Inc.", "000e28": "Dynamic Ratings P/L", "000e29": "Shester Communications Inc", - "000e2a": "Private", + "000e2a": "dormakaba USA Inc.", "000e2b": "Safari Technologies", "000e2c": "Netcodec co.", "000e2d": "Hyundai Digital Technology Co.,Ltd.", @@ -4212,7 +4212,7 @@ "001099": "InnoMedia, Inc.", "00109a": "NETLINE", "00109b": "Emulex Corporation", - "00109c": "M-SYSTEM CO., LTD.", + "00109c": "MG Co., Ltd.", "00109d": "CLARINET SYSTEMS, INC.", "00109e": "AWARE, INC.", "00109f": "PAVO, INC.", @@ -5132,7 +5132,7 @@ "001435": "CityCom Corp.", "001436": "Qwerty Elektronik AB", "001437": "GSTeletech Co.,Ltd.", - "001438": "Hewlett Packard Enterprise", + "001438": "Hewlett Packard Enterprise – WW Corporate Headquarters", "001439": "Blonder Tongue Laboratories, Inc", "00143a": "RAYTALK INTERNATIONAL SRL", "00143b": "Sensovation AG", @@ -7273,7 +7273,7 @@ "001c9e": "Dualtech IT AB", "001c9f": "Razorstream, LLC", "001ca0": "Production Resource Group, LLC", - "001ca1": "AKAMAI TECHNOLOGIES, INC.", + "001ca1": "Akamai Technologies Inc.", "001ca2": "ADB Broadband Italia", "001ca3": "Terra", "001ca4": "Sony Corporation", @@ -8663,7 +8663,7 @@ "002215": "ASUSTek COMPUTER INC.", "002216": "SHIBAURA VENDING MACHINE CORPORATION", "002217": "Neat Electronics", - "002218": "AKAMAI TECHNOLOGIES INC", + "002218": "Akamai Technologies Inc.", "002219": "Dell Inc.", "00221a": "Audio Precision", "00221b": "Morega Systems", @@ -9649,7 +9649,7 @@ "0025f9": "GMK electronic design GmbH", "0025fa": "J&M Analytik AG", "0025fb": "Tunstall Healthcare A/S", - "0025fc": "ENDA ENDUSTRIYEL ELEKTRONIK LTD. STI.", + "0025fc": "ENDA", "0025fd": "OBR Centrum Techniki Morskiej S.A.", "0025fe": "Pilot Electronics Corporation", "0025ff": "CreNova Multimedia Co., Ltd", @@ -9952,6 +9952,7 @@ "002a6a": "Cisco Systems, Inc", "002aaf": "LARsys-Automation GmbH", "002b67": "Electronics Technology co., ltd", + "002b70": "Samsung Electronics Co.,Ltd", "002bf5": "BUFFALO.INC", "002cc8": "Cisco Systems, Inc", "002d76": "TITECH GmbH", @@ -10219,6 +10220,7 @@ "003192": "TP-Link Corporation Limited", "003217": "Cisco Systems, Inc", "00323a": "so-logic", + "003358": "Ruckus Wireless", "00336c": "SynapSense Corporation", "0034a1": "RF-LAMBDA USA INC.", "0034f1": "Radicom Research, Inc.", @@ -10392,7 +10394,7 @@ "004089": "MEIDENSHA CORPORATION", "00408a": "TPS TELEPROCESSING SYS. GMBH", "00408b": "RAYLAN CORPORATION", - "00408c": "AXIS COMMUNICATIONS AB", + "00408c": "Axis Communications AB", "00408d": "THE GOODYEAR TIRE & RUBBER CO.", "00408e": "Tattile SRL ", "00408f": "WM-DATA MINFO AB", @@ -10526,7 +10528,7 @@ "004ce5": "Sichuan Tianyi Comheart Telecom Co.,LTD", "004d32": "Andon Health Co.,Ltd.", "004e01": "Dell Inc.", - "004e35": "Hewlett Packard Enterprise", + "004e35": "Hewlett Packard Enterprise – WW Corporate Headquarters", "004f1a": "HUAWEI TECHNOLOGIES CO.,LTD", "005000": "NEXO COMMUNICATIONS, INC.", "005001": "YAMASHITA SYSTEMS CORP.", @@ -10803,7 +10805,7 @@ "006002": "SCREEN SUBTITLING SYSTEMS, LTD", "006003": "TERAOKA WEIGH SYSTEM PTE, LTD.", "006004": "COMPUTADORES MODULARES SA", - "006005": "FEEDBACK DATA LTD.", + "006005": "Touchstar ATC Limited", "006006": "SOTEC CO., LTD", "006007": "ACRES GAMING, INC.", "006008": "3COM", @@ -11087,7 +11089,7 @@ "0071c2": "PEGATRON CORPORATION", "0071cc": "Hon Hai Precision Ind. Co.,Ltd.", "007204": "Samsung Electronics Co., Ltd. ARTIK", - "007263": "Netcore Technology Inc.", + "007263": "Netis Technology Co., Ltd.", "007278": "Cisco Systems, Inc", "00738d": "Shenzhen TINNO Mobile Technology Corp.", "0073e0": "Samsung Electronics Co.,Ltd", @@ -11099,6 +11101,7 @@ "0076b1": "Somfy-Protect By Myfox SAS", "00778d": "Cisco Systems, Inc", "0077e4": "Nokia Solutions and Networks GmbH & Co. KG", + "007839": "Nokia", "007888": "Cisco Systems, Inc", "00789e": "Sagemcom Broadband SAS", "0078cd": "Ignition Design Labs", @@ -11364,6 +11367,7 @@ "0080fd": "EXSCEED CORPRATION", "0080fe": "AZURE TECHNOLOGIES, INC.", "0080ff": "SOC. DE TELEINFORMATIQUE RTC", + "00812a": "Apple, Inc.", "0081c4": "Cisco Systems, Inc", "0081f9": "Texas Instruments", "00841e": "Cisco Meraki", @@ -11943,6 +11947,7 @@ "00aa01": "Intel Corporation", "00aa02": "Intel Corporation", "00aa6e": "Cisco Systems, Inc", + "00aafd": "Texas Instruments", "00ab48": "eero inc.", "00ace0": "ARRIS Group, Inc.", "00ad24": "D-Link International", @@ -12301,6 +12306,7 @@ "00c711": "ITEL MOBILE LIMITED", "00c88b": "Cisco Systems, Inc", "00c896": "CIG SHANGHAI CO LTD", + "00cae0": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "00cae5": "Cisco Systems, Inc", "00cb00": "Private", "00cb51": "Sagemcom Broadband SAS", @@ -12922,7 +12928,7 @@ "00fc8d": "Hitron Technologies. Inc", "00fcba": "Cisco Systems, Inc", "00fd22": "Cisco Systems, Inc", - "00fd45": "Hewlett Packard Enterprise", + "00fd45": "Hewlett Packard Enterprise – WW Corporate Headquarters", "00fd4c": "NEVATEC", "00fec8": "Cisco Systems, Inc", "020701": "RACAL-DATACOM", @@ -12938,6 +12944,7 @@ "02cf1c": "Communication Machinery Corporation", "02e6d3": "NIXDORF COMPUTER CORP.", "040067": "Stanley Black & Decker", + "0401bb": "TECNO MOBILE LIMITED", "04021f": "HUAWEI TECHNOLOGIES CO.,LTD", "0402ca": "Shenzhen Vtsonic Co.,ltd", "040312": "Hangzhou Hikvision Digital Technology Co.,Ltd.", @@ -12946,7 +12953,7 @@ "0404ea": "Valens Semiconductor Ltd.", "0405dd": "Shenzhen Cultraview Digital Technology Co., Ltd", "04072e": "VTech Electronics Ltd.", - "040973": "Hewlett Packard Enterprise", + "040973": "Hewlett Packard Enterprise – WW Corporate Headquarters", "040986": "Arcadyan Corporation", "0409a5": "HFR, Inc.", "040a83": "Alcatel-Lucent", @@ -12979,6 +12986,7 @@ "042144": "Sunitec Enterprise Co.,Ltd", "04214c": "Insight Energy Ventures LLC", "042234": "Wireless Standard Extensions", + "042322": "Texas Instruments", "0425c5": "HUAWEI TECHNOLOGIES CO.,LTD", "0425e0": "Taicang T&W Electronics", "0425e8": "Texas Instruments", @@ -12991,6 +12999,7 @@ "042ae2": "Cisco Systems, Inc", "042b58": "Shenzhen Hanzsung Technology Co.,Ltd", "042bbb": "PicoCELA, Inc.", + "042dad": "Areus GmbH", "042db4": "Co., Ltd Modern MOMA Branch", "042f56": "LTD", "043110": "Inspur Group Co., Ltd.", @@ -13057,7 +13066,7 @@ "045c8e": "gosund GROUP CO.,LTD", "045d4b": "Sony Corporation", "045d56": "camtron industrial inc.", - "045ea4": "SHENZHEN NETIS TECHNOLOGY CO.,LTD", + "045ea4": "Netis Technology Co., Ltd.", "045fa7": "Shenzhen Yichen Technology Development Co.,LTD", "045fb9": "Cisco Systems, Inc", "046169": "MEDIA GLOBAL LINKS CO., LTD.", @@ -13078,6 +13087,7 @@ "046d42": "Bryston Ltd.", "046e02": "OpenRTLS Group", "046e49": "Co., Ltd", + "046ecb": "zte corporation", "047056": "Arcadyan Corporation", "0470bc": "Globalstar Inc.", "04714b": "IEEE Registration Authority", @@ -13093,6 +13103,7 @@ "047970": "HUAWEI TECHNOLOGIES CO.,LTD", "047975": "Honor Device Co., Ltd.", "0479b7": "Texas Instruments", + "0479fd": "Ciena Corporation", "047a0b": "Beijing Xiaomi Electronics Co., Ltd.", "047aae": "Huawei Device Co., Ltd.", "047bcb": "Universal Global Scientific Industrial Co., Ltd.", @@ -13117,7 +13128,7 @@ "048c03": "ThinPAD Technology (Shenzhen)CO.,LTD", "048c16": "HUAWEI TECHNOLOGIES CO.,LTD", "048c9a": "Huawei Device Co., Ltd.", - "048d38": "Netcore Technology Inc.", + "048d38": "Netis Technology Co., Ltd.", "049081": "Pensando Systems, Inc.", "049162": "Microchip Technology Inc.", "049226": "ASUSTek COMPUTER INC.", @@ -13244,6 +13255,7 @@ "04e2f8": "AEP Ticketing solutions srl", "04e31a": "Sagemcom Broadband SAS", "04e451": "Texas Instruments", + "04e4b6": "Samsung Electronics Co.,Ltd", "04e536": "Apple, Inc.", "04e548": "Cohda Wireless Pty Ltd", "04e56e": "THUB Co., ltd.", @@ -13274,6 +13286,7 @@ "04f17d": "Tarana Wireless", "04f352": "HUAWEI TECHNOLOGIES CO.,LTD", "04f4bc": "Xena Networks", + "04f4d8": "Hui Zhou Gaoshengda Technology Co.,LTD", "04f5f4": "Proxim Wireless", "04f778": "Sony Interactive Entertainment Inc.", "04f7e4": "Apple, Inc.", @@ -13526,6 +13539,7 @@ "0840f3": "Tenda Technology Co.,Ltd.Dongguan branch", "084218": "Asyril SA", "084296": "Mobile Technology Solutions LLC", + "084473": "zte corporation", "0845d1": "Cisco Systems, Inc", "084656": "VEO-LABS", "0846c7": "Fiberhome Telecommunication Technologies Co.,LTD", @@ -13542,6 +13556,7 @@ "085114": "QINGDAO TOPSCOMM COMMUNICATION CO., LTD", "08512e": "Orion Diagnostica Oy", "085240": "EbV Elektronikbau- und Vertriebs GmbH", + "08524e": "Shenzhen Fangcheng Baiyi Technology Co., Ltd.", "085411": "Hangzhou Hikvision Digital Technology Co.,Ltd.", "0854bb": "SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD", "085531": "Routerboard.com", @@ -13560,6 +13575,7 @@ "086083": "zte corporation", "086195": "Rockwell Automation", "086266": "ASUSTek COMPUTER INC.", + "086332": "IEEE Registration Authority", "086361": "HUAWEI TECHNOLOGIES CO.,LTD", "086518": "Apple, Inc.", "0865f0": "JM Zengge Co., Ltd", @@ -13628,7 +13644,7 @@ "089542": "Apple, Inc.", "0896ad": "Cisco Systems, Inc", "0896d7": "AVM GmbH", - "089734": "Hewlett Packard Enterprise", + "089734": "Hewlett Packard Enterprise – WW Corporate Headquarters", "089758": "Shenzhen Strong Rising Electronics Co.,Ltd DongGuan Subsidiary", "089798": "CO., LTD. ", "0899e8": "KEMAS GmbH", @@ -13647,6 +13663,7 @@ "08a5c8": "Sunnovo International Limited", "08a5df": "Samsung Electronics Co.,Ltd", "08a6bc": "Amazon Technologies Inc.", + "08a6f7": "Espressif Inc.", "08a7c0": "Vantiva USA LLC", "08a842": "Huawei Device Co., Ltd.", "08a8a1": "Cyclotronics Power Concepts, Inc", @@ -13706,6 +13723,7 @@ "08d59d": "Sagemcom Broadband SAS", "08d5c0": "Seers Technology Co., Ltd", "08d833": "Shenzhen RF Technology Co., Ltd", + "08ddeb": "Silicon Laboratories", "08df1f": "Bose Corporation", "08dfcb": "Systrome Networks", "08e021": "Honor Device Co., Ltd.", @@ -13735,9 +13753,10 @@ "08ef3b": "MCS Logic Inc.", "08efab": "SAYME WIRELESS SENSOR NETWORK", "08f01e": "eero inc.", + "08f0b6": "Edifier International", "08f1b3": "Cisco Meraki", "08f1b7": "Towerstream Corpration", - "08f1ea": "Hewlett Packard Enterprise", + "08f1ea": "Hewlett Packard Enterprise – WW Corporate Headquarters", "08f2f4": "Net One Partners Co.,Ltd.", "08f3fb": "Cisco Systems, Inc", "08f458": "Huawei Device Co., Ltd.", @@ -13767,6 +13786,7 @@ "0c0400": "Jantar d.o.o.", "0c0535": "Juniper Systems", "0c08b4": "HUMAX Co., Ltd.", + "0c0adf": "Texas Instruments", "0c0e76": "D-Link International", "0c1105": "NETWORKS CO., LTD", "0c1167": "Cisco Systems, Inc", @@ -13793,6 +13813,7 @@ "0c20d3": "vivo Mobile Communication Co., Ltd.", "0c2138": "Hengstler GmbH", "0c2369": "Honeywell SPS", + "0c238d": "HUAWEI TECHNOLOGIES CO.,LTD", "0c2576": "LONGCHEER TELECOMMUNICATION LIMITED", "0c2724": "Cisco Systems, Inc", "0c2755": "Valuable Techologies Limited", @@ -13832,13 +13853,16 @@ "0c47c9": "Amazon Technologies Inc.", "0c48c6": "CELESTICA INC.", "0c4933": "Sichuan Jiuzhou Electronic Technology Co., Ltd.", + "0c4b48": "Nokia", "0c4b54": "TP-LINK TECHNOLOGIES CO.,LTD.", + "0c4bee": "Texas Instruments", "0c4c39": "MitraStar Technology Corp.", "0c4de9": "Apple, Inc.", "0c4ec0": "Maxlinear Inc", "0c4f5a": "ASA-RT s.r.l.", "0c4f9b": "HUAWEI TECHNOLOGIES CO.,LTD", "0c5101": "Apple, Inc.", + "0c517e": "Apple, Inc.", "0c51f7": "CHAUVIN ARNOUX", "0c5203": "AGM GROUP LIMITED", "0c5331": "ETH Zurich", @@ -13868,7 +13892,9 @@ "0c6714": "TECHNOLOGIES CORPORATION", "0c6743": "HUAWEI TECHNOLOGIES CO.,LTD", "0c6803": "Cisco Systems, Inc", + "0c6825": "Suzhou HYC technology Co., Ltd.", "0c6abc": "Fiberhome Telecommunication Technologies Co.,LTD", + "0c6ac4": "Apple, Inc.", "0c6ae6": "Stanley Security Solutions", "0c6e4f": "PrimeVOLT Co., Ltd.", "0c6f9c": "Shaw Communications Inc.", @@ -13902,6 +13928,8 @@ "0c8230": "SHENZHEN MAGNUS TECHNOLOGIES CO.,LTD", "0c8268": "TP-LINK TECHNOLOGIES CO.,LTD.", "0c826a": "Wuhan Huagong Genuine Optics Technology Co., Ltd", + "0c82d5": "Maxio Technology Hangzhou Co., Ltd.", + "0c8306": "Huawei Device Co., Ltd.", "0c839a": "Huawei Device Co., Ltd.", "0c83cc": "Alpha Networks Inc.", "0c8408": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -13953,7 +13981,7 @@ "0c9e91": "Sankosha Corporation", "0c9f71": "Co., Ltd.", "0ca06c": "Industrial Cyber Sensing Inc.", - "0ca138": "Blinq Wireless Inc.", + "0ca138": "BLiNQ Networks Inc.", "0ca2f4": "Limited", "0ca402": "Alcatel-Lucent IPD", "0ca42a": "OB Telecom Electronic Technology Co., Ltd", @@ -14043,6 +14071,7 @@ "0ce441": "Apple, Inc.", "0ce4a0": "Huawei Device Co., Ltd.", "0ce5a3": "SharkNinja", + "0ce5b5": "HUAWEI TECHNOLOGIES CO.,LTD", "0ce5d3": "DH electronics GmbH", "0ce709": "Fox Crypto B.V.", "0ce725": "Microsoft Corporation", @@ -14152,7 +14181,9 @@ "102e00": "Intel Corporate", "102eaf": "Texas Instruments", "102f6b": "Microsoft Corporation", + "102f6e": "Shenzhen Sundray Technologies Company Limited", "102fa3": "Shenzhen Uvision-tech Technology Co.Ltd", + "102ff8": "Co.,Ltd.", "103025": "Apple, Inc.", "103034": "Cara Systems", "103047": "Samsung Electronics Co.,Ltd", @@ -14186,6 +14217,7 @@ "1046b4": "FormericaOE", "104738": "Nokia Shanghai Bell Co., Ltd.", "104780": "HUAWEI TECHNOLOGIES CO.,LTD", + "1047e7": "Shenzhen YOUHUA Technology Co., Ltd", "1048b1": "Beijing Duokan Technology Limited", "104963": "HARTING K.K.", "104a7d": "Intel Corporate", @@ -14218,6 +14250,7 @@ "105f02": "Private", "105f06": "Actiontec Electronics, Inc", "105f49": "Cisco SPVTG", + "105fad": "Intel Corporate", "105fd4": "Tendyron Corporation", "10604b": "Hewlett Packard", "1062c9": "Adatis GmbH & Co. KG", @@ -14266,17 +14299,20 @@ "10823d": "Ruijie Networks Co.,LTD", "108286": "Luxshare Precision Industry Co.,Ltd", "1082d7": "Realme Chongqing Mobile Telecommunications Corp.,Ltd.", + "1083b4": "Sidora Srl", "1083d2": "Microseven Systems, LLC", "10868c": "ARRIS Group, Inc.", "10880f": "Daruma Telecomunicações e Informática S.A.", "1088ce": "Fiberhome Telecommunication Technologies Co.,LTD", "1089fb": "Samsung Electronics Co.,Ltd", "108a1b": "RAONIX Inc.", + "108a7b": "Nokia", "108b6a": "Antailiye Technology Co.,Ltd", "108ccf": "Cisco Systems, Inc", "108eba": "Molekule", "108ee0": "Samsung Electronics Co.,Ltd", "108ffe": "HUAWEI TECHNOLOGIES CO.,LTD", + "1090fa": "New H3C Technologies Co., Ltd", "1091a8": "Espressif Inc.", "1091d1": "Intel Corporate", "109266": "Samsung Electronics Co.,Ltd", @@ -14298,10 +14334,13 @@ "109d9c": "EM Microelectronic", "109e3a": "Zhejiang Tmall Technology Co., Ltd.", "109f41": "Apple, Inc.", + "109f47": "Shenzhen Skyworth Digital Technology CO., Ltd", "109f4f": "New H3C Intelligence Terminal Co., Ltd.", "109fa9": "Actiontec Electronics, Inc", "10a13b": "FUJIKURA RUBBER LTD.", + "10a145": "nexzo india pvt ltd ", "10a24e": "GOLD3LINK ELECTRONICS CO., LTD", + "10a2d3": "Apple, Inc.", "10a3b8": "Iskratel d.o.o.", "10a4b9": "Co., Ltd", "10a4be": "SHENZHEN BILIAN ELECTRONIC CO.,LTD", @@ -14435,7 +14474,7 @@ "1400e9": "Mitel Networks Corporation", "140152": "Samsung Electronics Co.,Ltd", "14019c": "Ubyon Inc.", - "1402ec": "Hewlett Packard Enterprise", + "1402ec": "Hewlett Packard Enterprise – WW Corporate Headquarters", "140467": "SNK Technologies Co.,Ltd.", "14064c": "Vogl Electronic GmbH", "140708": "CP PLUS GMBH & CO. KG", @@ -14487,9 +14526,11 @@ "1423d7": "EUTRONIX CO., LTD.", "1423f2": "Broadcom Limited", "142475": "4DReplay, Inc", + "142876": "Apple, Inc.", "142882": "MIDICOM ELECTRONICS CO.LTD", "142971": "CO. LTD", "142a14": "ShenZhen Selenview Digital Technology Co.,Ltd", + "142b2f": "Espressif Inc.", "142bd2": "Armtel Ltd.", "142bd6": "Guangdong Appscomm Co.,Ltd", "142c78": "GooWi Wireless Technology Co., Limited", @@ -14516,6 +14557,7 @@ "14373b": "PROCOM Systems", "143aea": "Dynapower Company LLC", "143b42": "Intelligent Technology Co., Ltd", + "143b51": "Huawei Device Co., Ltd.", "143cc3": "HUAWEI TECHNOLOGIES CO.,LTD", "143df2": "Beijing Shidai Hongyuan Network Communication Co.,Ltd", "143e60": "Nokia", @@ -14549,6 +14591,7 @@ "14517e": "New H3C Technologies Co., Ltd", "145412": "Entis Co., Ltd.", "145594": "Huawei Device Co., Ltd.", + "1455b9": "Nokia Solutions and Networks GmbH & Co. KG", "14563a": "Huawei Device Co., Ltd.", "145645": "Savitech Corp.", "14568e": "Samsung Electronics Co.,Ltd", @@ -14596,6 +14639,7 @@ "147ea1": "Britania Eletrônicos S.A.", "147f0f": "Texas Instruments", "147f67": "LG Innotek", + "147fce": "Apple, Inc.", "14825b": "Hefei Radio Communication Technology Co., Ltd ", "148430": "MITAC COMPUTING TECHNOLOGY CORPORATION", "148473": "Cisco Systems, Inc", @@ -14643,6 +14687,7 @@ "149fe8": "Lenovo Mobile Communication Technology Ltd.", "14a0f8": "HUAWEI TECHNOLOGIES CO.,LTD", "14a1bf": "ASSA ABLOY Korea Co., Ltd Unilock", + "14a1df": "China Mobile Group Device Co.,Ltd.", "14a2a0": "Cisco Systems, Inc", "14a32f": "Huawei Device Co., Ltd.", "14a364": "Samsung Electronics Co.,Ltd", @@ -14690,6 +14735,7 @@ "14c21d": "Sabtech Industries", "14c35e": "FibRSol Global Network Limited", "14c3c2": "K.A. Schmersal GmbH & Co. KG", + "14c67d": "Vizio, Inc", "14c697": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "14c88b": "Apple, Inc.", "14c913": "LG Electronics", @@ -14723,6 +14769,7 @@ "14dda9": "ASUSTek COMPUTER INC.", "14dde5": "MPMKVVCL", "14de39": "Huawei Device Co., Ltd.", + "14e01d": "Samsung Electronics Co.,Ltd", "14e4ec": "mLogic LLC", "14e6e4": "TP-LINK TECHNOLOGIES CO.,LTD.", "14e7c8": "Sdn. Bhd.", @@ -14780,7 +14827,7 @@ "1816e8": "Siliconware Precision Industries Co., Ltd.", "181714": "DAEWOOIS", "181725": "Cameo Communications, Inc.", - "18188b": "FCNT LMITED", + "18188b": "FCNT LLC", "18193f": "Tamtron Oy", "1819d6": "Samsung Electronics Co.,Ltd", "181beb": "Actiontec Electronics, Inc", @@ -14941,6 +14988,7 @@ "1880ce": "Barberry Solutions Ltd", "1880f5": "Alcatel-Lucent Shanghai Bell Co., Ltd", "18810e": "Apple, Inc.", + "1881ed": "TERACOM TELEMATICA S.A", "188219": "Alibaba Cloud Computing Ltd.", "18828c": "Arcadyan Corporation", "188331": "Samsung Electronics Co.,Ltd", @@ -14957,6 +15005,7 @@ "1889cf": "TECNO MOBILE LIMITED", "1889df": "OMNIVISION", "188a6a": "AVPro Global Hldgs", + "188b0e": "Espressif Inc.", "188b15": "ShenZhen ZhongRuiJing Technology co.,LTD", "188b45": "Cisco Systems, Inc", "188b9d": "Cisco Systems, Inc", @@ -14979,6 +15028,7 @@ "189c27": "ARRIS Group, Inc.", "189c5d": "Cisco Systems, Inc", "189e2c": "Huawei Device Co., Ltd.", + "189e2d": "Allwinner Technology Co., Ltd", "189ead": "Shenzhen Chengqian Information Technology Co., Ltd", "189efc": "Apple, Inc.", "18a28a": "Essel-T Co., Ltd", @@ -15042,6 +15092,7 @@ "18c501": "SHENZHEN GONGJIN ELECTRONICS CO.,LT", "18c58a": "HUAWEI TECHNOLOGIES CO.,LTD", "18c8e7": "Shenzhen Hualistone Technology Co.,Ltd", + "18caa7": "zte corporation", "18cc18": "Intel Corporate", "18cc23": "Philio Technology Corporation", "18cc88": "Hitachi Johnson Controls Air ", @@ -15090,6 +15141,7 @@ "18ee86": "Novatel Wireless Solutions, Inc.", "18ef3a": "Sichuan AI-Link Technology Co., Ltd.", "18ef63": "Cisco Systems, Inc", + "18efc0": "Sercomm Japan Corporation", "18f0e4": "Xiaomi Communications Co Ltd", "18f145": "NetComm Wireless Limited", "18f18e": "ChipER Technology co. ltd", @@ -15133,6 +15185,7 @@ "1c12b0": "Amazon Technologies Inc.", "1c1338": "Kimball Electronics Group, LLC", "1c1386": "Huawei Device Co., Ltd.", + "1c13fa": "Huawei Device Co., Ltd.", "1c1448": "ARRIS Group, Inc.", "1c14b3": "Airwire Technologies", "1c151f": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -15227,6 +15280,7 @@ "1c52d6": "FLAT DISPLAY TECHNOLOGY CORPORATION", "1c53f9": "Google, Inc.", "1c549e": "Universal Electronics, Inc.", + "1c54e6": "Shenzhen Yisheng Technology Co.,Ltd", "1c553a": "QianGua Corp.", "1c568e": "Ltd.", "1c56fe": "Motorola Mobility LLC, a Lenovo Company", @@ -15286,6 +15340,8 @@ "1c77f6": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "1c7839": "Shenzhen Tencent Computer System Co., Ltd.", "1c784e": "China Mobile Iot Limited company", + "1c7a43": "vivo Mobile Communication Co., Ltd.", + "1c7acf": "vivo Mobile Communication Co., Ltd.", "1c7b21": "Sony Corporation", "1c7b23": "Qingdao Hisense Communications Co.,Ltd.", "1c7c11": "EID ", @@ -15328,7 +15384,7 @@ "1c97c5": "Ynomia Pty Ltd", "1c97fb": "CoolBitX Ltd.", "1c98c1": "CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.", - "1c98ec": "Hewlett Packard Enterprise", + "1c98ec": "Hewlett Packard Enterprise – WW Corporate Headquarters", "1c994c": "Murata Manufacturing Co., Ltd.", "1c9957": "Intel Corporate", "1c9c26": "Zoovel Technologies", @@ -15396,6 +15452,7 @@ "1ccb99": "TCT mobile ltd", "1cccd6": "Xiaomi Communications Co Ltd", "1ccde5": "Shanghai Wind Technologies Co.,Ltd", + "1cce51": "AzureWave Technology Inc.", "1cd107": "Realme Chongqing Mobile Telecommunications Corp.,Ltd.", "1cd1ba": "Fiberhome Telecommunication Technologies Co.,LTD", "1cd1e0": "Cisco Systems, Inc", @@ -15411,6 +15468,7 @@ "1cdf52": "Texas Instruments", "1ce165": "Marshal Corporation", "1ce192": "Qisda Corporation", + "1ce209": "Apple, Inc.", "1ce2cc": "Texas Instruments", "1ce504": "HUAWEI TECHNOLOGIES CO.,LTD", "1ce57f": "Samsung Electronics Co.,Ltd", @@ -15443,6 +15501,7 @@ "1cfea7": "IDentytech Solutins Ltd.", "1cff59": "Sichuan Tianyi Comheart Telecom Co.,LTD", "20014f": "Linea Research Ltd", + "20019c": "Bigleaf Networks Inc.", "2002af": "Murata Manufacturing Co., Ltd.", "2002fe": "Hangzhou Dangbei Network Technology Co., Ltd", "20040f": "Dell Inc.", @@ -15480,6 +15539,7 @@ "201742": "LG Electronics", "201746": "Paradromics, Inc.", "20180e": "Shenzhen Sunchip Technology Co., Ltd", + "20185b": "Shenzhen Jingxun Technology Co., Ltd.", "201a06": "CO., LTD. ", "201a94": "Apple, Inc.", "201b88": "Dongguan Liesheng Electronic Co., Ltd.", @@ -15492,6 +15552,7 @@ "201f54": "Raisecom Technology CO., LTD", "202027": "Shenzhen Sundray Technologies Company Limited", "202141": "Universal Electronics BV", + "202351": "TP-LINK CORPORATION PTE. LTD.", "202564": "PEGATRON CORPORATION", "202598": "Teleview", "2025d2": "Fiberhome Telecommunication Technologies Co.,LTD", @@ -15551,6 +15612,7 @@ "204e71": "Juniper Networks", "204e7f": "NETGEAR", "204ef6": "AzureWave Technology Inc.", + "20500f": "Fiber Groep B.V.", "2050e7": "AMPAK Technology,Inc.", "205383": "HUAWEI TECHNOLOGIES CO.,LTD", "2053ca": "Risk Technology Ltd", @@ -15564,9 +15626,11 @@ "205869": "Ruckus Wireless", "2059a0": "Paragon Technologies Inc.", "205a00": "Coval", + "205a1d": "zte corporation", "205b2a": "Private", "205b5e": "Shenzhen Wonhe Technology Co., Ltd", "205cfa": "Yangzhou ChangLian Network Technology Co,ltd.", + "205d0d": "Fiberhome Telecommunication Technologies Co.,LTD", "205d47": "vivo Mobile Communication Co., Ltd.", "205e64": "Huawei Device Co., Ltd.", "205e97": "Nokia", @@ -15581,7 +15645,7 @@ "20658e": "HUAWEI TECHNOLOGIES CO.,LTD", "2066cf": "FREEBOX SAS", "2066fd": "CONSTELL8 NV", - "20677c": "Hewlett Packard Enterprise", + "20677c": "Hewlett Packard Enterprise – WW Corporate Headquarters", "2067b1": "Pluto inc.", "2067e0": "Shenzhen iComm Semiconductor CO.,LTD", "20689d": "Liteon Technology Corporation", @@ -15638,10 +15702,12 @@ "20918a": "PROFALUX", "2091d9": "I'M SPA", "2091df": "Apple, Inc.", + "209339": "Juniper Networks", "20934d": "FUJIAN STAR-NET COMMUNICATION CO.,LTD", "20968a": "Information Technology Co., Ltd.", "209727": "TELTONIKA NETWORKS UAB", "2098d8": "Shenzhen Yingdakang Technology CO., LTD", + "2098ed": "AltoBeam Inc.", "209a7d": "Sagemcom Broadband SAS", "209ae9": "Volacomm Co., Ltd", "209ba5": "JIAXING GLEAD Electronics Co.,Ltd", @@ -15656,7 +15722,7 @@ "20a5cb": "Apple, Inc.", "20a60c": "Xiaomi Communications Co Ltd", "20a680": "HUAWEI TECHNOLOGIES CO.,LTD", - "20a6cd": "Hewlett Packard Enterprise", + "20a6cd": "Hewlett Packard Enterprise – WW Corporate Headquarters", "20a766": "HUAWEI TECHNOLOGIES CO.,LTD", "20a783": "miControl GmbH", "20a787": "Bointec Taiwan Corporation Limited", @@ -15699,6 +15765,7 @@ "20c792": "Wuhan Maiwe communication Co.,Ltd", "20c8b3": "SHENZHEN BUL-TECH CO.,LTD.", "20c9d0": "Apple, Inc.", + "20cc27": "Cisco Systems, Inc", "20cd39": "Texas Instruments", "20cd6e": "Realme Chongqing Mobile Telecommunications Corp.,Ltd.", "20ce2a": "IEEE Registration Authority", @@ -15759,6 +15826,7 @@ "20f77c": "vivo Mobile Communication Co., Ltd.", "20f83b": "Nabu Casa, Inc.", "20f85e": "Delta Electronics", + "20fa85": "Apple, Inc.", "20fabb": "Cambridge Executive Limited", "20fadb": "Co.,Ltd.", "20fdf1": "3COM EUROPE LTD", @@ -15815,6 +15883,7 @@ "241b7a": "Apple, Inc.", "241c04": "SHENZHEN JEHE TECHNOLOGY DEVELOPMENT CO., LTD.", "241d48": "Sichuan Tianyi Comheart Telecom Co.,LTD", + "241e2b": "Zhejiang Cainiao Supply Chain Management Co., Ltd", "241eeb": "Apple, Inc.", "241f2c": "Calsys, Inc.", "241fa0": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -15824,6 +15893,7 @@ "2421ab": "Sony Corporation", "242361": "vivo Mobile Communication Co., Ltd.", "24240e": "Apple, Inc.", + "2424b7": "Samsung Electronics Co.,Ltd", "242642": "SHARP Corporation.", "2426ba": "Shenzhen Toptel Technology Co., Ltd.", "2426d6": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -15836,7 +15906,7 @@ "242d6c": "eero inc.", "242e02": "HUAWEI TECHNOLOGIES CO.,LTD", "242e90": "PALIT MICROSYSTEMS, LTD", - "242fd0": "Big Field Global PTE. Ltd.", + "242fd0": "TP-LINK CORPORATION PTE. LTD.", "242ffa": "Toshiba Global Commerce Solutions", "2430f8": "Huawei Device Co., Ltd.", "243154": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -15872,13 +15942,16 @@ "244ce3": "Amazon Technologies Inc.", "244e7b": "IEEE Registration Authority", "244f1d": "iRule LLC", + "24506f": "THINKCAR TECH CO.,LTD.", "24526a": "Zhejiang Dahua Technology Co., Ltd.", "2453bf": "Enernet", "24586e": "zte corporation", + "24587c": "Espressif Inc.", "245880": "VIZEO", "24590b": "White Sky Inc. Limited", "2459e5": "GD Midea Air-Conditioning Equipment Co.,Ltd.", "245a4c": "Ubiquiti Inc", + "245a5f": "TP-LINK TECHNOLOGIES CO.,LTD.", "245ab5": "Samsung Electronics Co.,Ltd", "245b83": "Sdn. Bhd.", "245ba7": "Apple, Inc.", @@ -15899,6 +15972,7 @@ "24649f": "Huawei Device Co., Ltd.", "2464ef": "CYG SUNRI CO.,LTD.", "246511": "AVM GmbH", + "246830": "Shenzhen Shokzhear Co., Ltd", "246880": "Braveridge.co.,ltd.", "2468b0": "Samsung Electronics Co.,Ltd", "24693e": "innodisk Corporation", @@ -15919,6 +15993,7 @@ "247260": "IOTTECH Corp", "2474f7": "GoPro", "24753a": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", + "2475fc": "zte corporation", "247625": "Texas Instruments", "247656": "Shanghai Net Miles Fiber Optics Technology Co., LTD.", "24767d": "Cisco SPVTG", @@ -15979,12 +16054,14 @@ "24a87d": "Panasonic Automotive Systems Asia Pacific(Thailand)Co.,Ltd.", "24a937": "PURE Storage", "24ab81": "Apple, Inc.", + "24acac": "Polar Electro Oy", "24af4a": "Alcatel-Lucent IPD", "24af54": "NEXGEN Mediatech Inc.", "24b0a9": "Shanghai Mobiletek Communication Ltd.", "24b105": "Prama Hikvision India Private Limited", "24b209": "Avaya Inc", "24b2de": "Espressif Inc.", + "24b339": "Apple, Inc.", "24b657": "Cisco Systems, Inc", "24b6b8": "FRIEM SPA", "24b6fd": "Dell Inc.", @@ -16058,6 +16135,7 @@ "24e5aa": "Philips Oral Healthcare, Inc.", "24e6ba": "JSC Zavod im. Kozitsky", "24e853": "LG Innotek", + "24e8ce": "Qingdao Haier Technology Co.,Ltd", "24e8e5": "Shenzhen Skyworth Digital Technology CO., Ltd", "24e927": "TomTom International BV", "24e9b3": "Cisco Systems, Inc", @@ -16071,12 +16149,13 @@ "24edfd": "Siemens Canada Limited", "24ee3a": "Chengdu Yingji Electronic Hi-tech Co Ltd", "24ee9a": "Intel Corporate", + "24efb4": "Shanghai Neardi Technologies Co. Ltd.", "24f094": "Apple, Inc.", "24f0d3": "Samsung Electronics Co.,Ltd", "24f0ff": "GHT Co., Ltd.", "24f128": "Telstra", "24f150": "Guangzhou Qi'an Technology Co., Ltd.", - "24f27f": "Hewlett Packard Enterprise", + "24f27f": "Hewlett Packard Enterprise – WW Corporate Headquarters", "24f2dd": "Radiant Zemax LLC", "24f57e": "HWH CO., LTD.", "24f5a2": "Belkin International Inc.", @@ -16125,11 +16204,14 @@ "2816a8": "Microsoft Corporation", "2816ad": "Intel Corporate", "281709": "HUAWEI TECHNOLOGIES CO.,LTD", + "2817cb": "Software Freedom Conservancy", "2817ce": "Omnisense Ltd", "281878": "Microsoft Corporation", "2818fd": "Aditya Infotech Ltd.", "281b04": "Zalliant LLC", "281d21": "IN ONE SMART TECHNOLOGY(H,K,)LIMITED", + "281dfb": "HUAWEI TECHNOLOGIES CO.,LTD", + "28221e": "HUAWEI TECHNOLOGIES CO.,LTD", "282246": "Beijing Sinoix Communication Co., LTD", "282373": "Digita", "2823f5": "Information Technology Co., Ltd.", @@ -16148,6 +16230,7 @@ "282c02": "IEEE Registration Authority", "282cb2": "TP-LINK TECHNOLOGIES CO.,LTD.", "282d06": "AMPAK Technology,Inc.", + "282d7f": "Apple, Inc.", "282fc2": "Automotive Data Solutions", "2830ac": "Frontiir Co. Ltd.", "283152": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -16162,12 +16245,14 @@ "283545": "SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD", "283613": "IEEE Registration Authority", "283638": "IEEE Registration Authority", + "2836f0": "Huawei Device Co., Ltd.", "283713": "Shenzhen 3Nod Digital Technology Co., Ltd.", "283737": "Apple, Inc.", "28385c": "FLEXTRONICS", "2838cf": "Gen2wave", "283926": "CyberTAN Technology Inc.", "28395e": "Samsung Electronics Co.,Ltd", + "283984": "Co.,Ltd.", "2839e7": "Preceno Technology Pte.Ltd.", "283a4d": "Limited", "283b82": "D-Link International", @@ -16216,6 +16301,7 @@ "2864ef": "Shenzhen Fsan Intelligent Technology Co.,Ltd", "28656b": "Keystone Microtech Corporation", "2866e3": "AzureWave Technology Inc.", + "286847": "Silicon Laboratories", "2868d2": "HUAWEI TECHNOLOGIES CO.,LTD", "286ab8": "Apple, Inc.", "286aba": "Apple, Inc.", @@ -16264,6 +16350,7 @@ "288eb9": "Wacom Co.,Ltd.", "288eec": "Apple, Inc.", "288ff6": "Apple, Inc.", + "289176": "Indyme Solutions, LLC", "2891d0": "Stage Tec Entwicklungsgesellschaft für professionelle Audiotechnik mbH", "28924a": "Hewlett Packard", "28937d": "Sichuan Tianyi Comheart Telecom Co.,LTD", @@ -16283,6 +16370,7 @@ "289edf": "Danfoss Turbocor Compressors, Inc", "289efc": "Sagemcom Broadband SAS", "28a02b": "Apple, Inc.", + "28a06b": "Intel Corporate", "28a183": "ALPSALPINE CO,.LTD", "28a186": "enblink", "28a192": "GERP Solution", @@ -16300,6 +16388,7 @@ "28ad18": "Hui Zhou Gaoshengda Technology Co.,LTD", "28ad3e": "Shenzhen TONG BO WEI Technology CO.,LTD", "28af0a": "Sirius XM Radio Inc", + "28af42": "Samsung Electronics Co.,Ltd", "28affd": "Cisco Systems, Inc", "28b0cc": "Xenya d.o.o.", "28b133": "Tech. Cor., Ltd.", @@ -16356,6 +16445,7 @@ "28cf51": "Nintendo Co.,Ltd", "28cfda": "Apple, Inc.", "28cfe9": "Apple, Inc.", + "28d043": "AzureWave Technology Inc.", "28d044": "Shenzhen Xinyin technology company", "28d0cb": "Adtran Inc", "28d0ea": "Intel Corporate", @@ -16364,6 +16454,7 @@ "28d1af": "Nokia Corporation", "28d1b7": "Shenzhen YOUHUA Technology Co., Ltd", "28d244": "Electronics Technology co., ltd", + "28d25a": "Infinix mobility limited", "28d3ea": "Huawei Device Co., Ltd.", "28d436": "Jiangsu dewosi electric co., LTD", "28d576": "Premier Wireless, Inc.", @@ -16372,6 +16463,7 @@ "28d997": "Yuduan Mobile Co., Ltd.", "28db81": "Shanghai Guao Electronic Technology Co., Ltd", "28dba7": "Silicon Laboratories", + "28de59": "Domus NTW CORP.", "28de65": "Aruba, a Hewlett Packard Enterprise Company", "28dea8": "zte corporation", "28dee5": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -16418,6 +16510,7 @@ "28f5d1": "ARRIS Group, Inc.", "28f606": "Syes srl", "28f7d6": "Fiberhome Telecommunication Technologies Co.,LTD", + "28f8c6": "IEEE Registration Authority", "28fa19": "Shenzhen Jingxun Software Telecommunication Technology Co.,Ltd", "28fa7a": "Zhejiang Tmall Technology Co., Ltd.", "28faa0": "vivo Mobile Communication Co., Ltd.", @@ -16583,8 +16676,10 @@ "2c6373": "Sichuan Tianyi Comheart Telecom Co.,LTD", "2c641f": "Vizio, Inc", "2c64f6": "Wu Qi Technologies,Inc.", + "2c66ad": "NimbleTech Digital Inc.", "2c6798": "InTalTech Ltd.", "2c67ab": "EZELINK TELECOM", + "2c67be": "Corporation", "2c67fb": "ShenZhen Zhengjili Electronics Co., LTD", "2c691d": "IEEE Registration Authority", "2c693e": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -16688,6 +16783,7 @@ "2cb21a": "Co., Ltd.", "2cb301": "Honor Device Co., Ltd.", "2cb43a": "Apple, Inc.", + "2cb68f": "HUAWEI TECHNOLOGIES CO.,LTD", "2cb693": "Radware", "2cb69d": "RED Digital Cinema", "2cb6c8": "Raisecom Technology CO., LTD", @@ -16719,6 +16815,7 @@ "2ccd69": "Aqavi.com", "2cce1e": "Cloudtronics Pty Ltd", "2ccf58": "HUAWEI TECHNOLOGIES CO.,LTD", + "2ccf67": "Ltd", "2cd02d": "Cisco Systems, Inc", "2cd05a": "Liteon Technology Corporation", "2cd066": "Xiaomi Communications Co Ltd", @@ -16748,6 +16845,7 @@ "2ce871": "Alert Metalguard ApS", "2cea7f": "Dell Inc.", "2ceadc": "ASKEY COMPUTER CORP", + "2cecf7": "Shenzhen SDMC Technology CO.,Ltd.", "2cedb0": "HUAWEI TECHNOLOGIES CO.,LTD", "2cedeb": "Alpheus Digital Company Limited", "2cee26": "Petroleum Geo-Services", @@ -16794,6 +16892,7 @@ "3010b3": "Liteon Technology Corporation", "3010e4": "Apple, Inc.", "301389": "Siemens AG, Automations & Drives,", + "30138b": "HP Inc.", "30142d": "Piciorgros GmbH", "30144a": "Wistron Neweb Corporation", "301518": "Ubiquitous Communication Co. ltd.", @@ -16821,6 +16920,7 @@ "3029be": "Shanghai MRDcom Co.,Ltd", "302bdc": "Top-Unum Electronics Co., LTD", "302f1e": "SIEMENS AG", + "302fac": "Zhejiang HuaRay Technology Co.,Ltd", "3030f9": "Espressif Inc.", "30317d": "Hosiden Corporation", "303180": "Shenzhen Skyworth Digital Technology CO., Ltd", @@ -16839,15 +16939,17 @@ "303955": "Shenzhen Jinhengjia Electronic Co., Ltd.", "3039a9": "Co.,Ltd.", "3039f2": "ADB Broadband Italia", + "303a4a": "eero inc.", "303a64": "Intel Corporate", "303aba": "Guangzhou BaoLun Electronics Co., Ltd", + "303b7c": "Apple, Inc.", "303d08": "GLINTT TES S.A.", "303d51": "IEEE Registration Authority", "303ea7": "Intel Corporate", "303ead": "Sonavox Canada Inc", "303f5d": "PT HAN SUNG ELECTORONICS INDONESIA", "303f7b": "Shenzhen YOUHUA Technology Co., Ltd", - "303fbb": "Hewlett Packard Enterprise", + "303fbb": "Hewlett Packard Enterprise – WW Corporate Headquarters", "304074": "zte corporation", "304174": "ALTEC LANSING LLC", "304225": "BURG-WÄCHTER KG", @@ -16945,6 +17047,7 @@ "308bb2": "Cisco Systems, Inc", "308cfb": "Dropcam", "308d99": "Hewlett Packard", + "308dd4": "HUAWEI TECHNOLOGIES CO.,LTD", "308e7a": "Shenzhen iComm Semiconductor CO.,LTD", "308ecf": "HUAWEI TECHNOLOGIES CO.,LTD", "309048": "Apple, Inc.", @@ -16970,6 +17073,8 @@ "30a220": "ARG Telecom", "30a243": "Shenzhen Prifox Innovation Technology Co., Ltd.", "30a2c2": "Huawei Device Co., Ltd.", + "30a30f": "HUAWEI TECHNOLOGIES CO.,LTD", + "30a3b5": "Jiangsu Best Tone Information Service Co., Ltd", "30a452": "Arrival Elements BV", "30a612": "ShenZhen Hugsun Technology Co.,Ltd.", "30a889": "DECIMATOR DESIGN", @@ -17008,6 +17113,7 @@ "30c3d9": "ALPSALPINE CO,.LTD", "30c507": "ECI Telecom Ltd.", "30c50f": "HUAWEI TECHNOLOGIES CO.,LTD", + "30c6ab": "zte corporation", "30c6d7": "New H3C Technologies Co., Ltd", "30c6f7": "Espressif Inc.", "30c750": "MIC Technology Group", @@ -17027,6 +17133,7 @@ "30d357": "Logosol, Inc.", "30d386": "zte corporation", "30d46a": "Autosales Incorporated", + "30d4e2": "HUAWEI TECHNOLOGIES CO.,LTD", "30d53e": "Apple, Inc.", "30d587": "Samsung Electronics Co.,Ltd", "30d659": "Merging Technologies SA", @@ -17034,6 +17141,7 @@ "30d7a1": "Apple, Inc.", "30d875": "Apple, Inc.", "30d941": "Raydium Semiconductor Corp.", + "30d959": "Shanghai Longcheer Technology Co., Ltd.", "30d97f": "Tech4home, Lda", "30d9d9": "Apple, Inc.", "30dce7": "zte corporation", @@ -17058,11 +17166,13 @@ "30eb1f": "Skylab M&C Technology Co.,Ltd", "30eb25": "INTEK DIGITAL", "30eb5a": "LANDIS + GYR", + "30ec7c": "Shenzhen Along Electronics Co., Ltd", "30efd1": "Co., Ltd.", "30f31d": "zte corporation", "30f335": "HUAWEI TECHNOLOGIES CO.,LTD", "30f33a": "plugg srl", "30f42f": "ESP", + "30f600": "Sagemcom Broadband SAS", "30f6b9": "Ecocentric Energy", "30f6ef": "Intel Corporate", "30f70d": "Cisco Systems, Inc", @@ -17074,6 +17184,7 @@ "30f9ed": "Sony Corporation", "30fab7": "Tunai Creative", "30fb10": "Silicon Laboratories", + "30fb68": "Wuhan Zmvision Technology Co. Ltd.", "30fb94": "Shanghai Fangzhiwei Information Technology CO.,Ltd.", "30fbb8": "HUAWEI TECHNOLOGIES CO.,LTD", "30fc68": "TP-LINK TECHNOLOGIES CO.,LTD.", @@ -17109,12 +17220,14 @@ "341343": "GE Lighting", "3413a8": "Mediplan Limited", "3413e8": "Intel Corporate", + "341453": "Gantner Electronic GmbH", "34145f": "Samsung Electronics Co.,Ltd", "3414b5": "Texas Instruments", "341513": "Texas Instruments", "341593": "Ruckus Wireless", "34159e": "Apple, Inc.", "3417eb": "Dell Inc.", + "34194d": "Arcadyan Corporation", "341a35": "Fiberhome Telecommunication Technologies Co.,LTD", "341a4c": "SHENZHEN WEIBU ELECTRONICS CO.,LTD.", "341b22": "Grandbeing Technology Co., Ltd", @@ -17139,6 +17252,7 @@ "3429ea": "MCD ELECTRONICS SP. Z O.O.", "3429ef": "Qingdao Haier Technology Co.,Ltd", "342af1": "Texas Instruments", + "342b6e": "Apple, Inc.", "342b70": "Arris", "342cc4": "Compal Broadband Networks, Inc.", "342d0d": "Samsung Electronics Co.,Ltd", @@ -17194,6 +17308,7 @@ "345840": "HUAWEI TECHNOLOGIES CO.,LTD", "34587c": "MIRAE INFORMATION TECHNOLOGY CO., LTD.", "345a06": "SHARP Corporation", + "345a18": "Alignment Engine Inc.", "345aba": "tcloud intelligence", "345b11": "EVI HEAT AB", "345b98": "EM Microelectronic", @@ -17257,6 +17372,7 @@ "3482c5": "Samsung Electronics Co.,Ltd", "3482de": "Kiio Inc", "348302": "iFORCOM Co., Ltd", + "3483d5": "HUAWEI TECHNOLOGIES CO.,LTD", "348446": "Ericsson AB", "3484e4": "Texas Instruments", "348511": "Shenzhen Skyworth Digital Technology CO., Ltd", @@ -17280,6 +17396,7 @@ "349454": "Espressif Inc.", "3495db": "Logitec Corporation", "349672": "TP-LINK TECHNOLOGIES CO.,LTD.", + "349677": "zte corporation", "34976f": "Rootech, Inc.", "3497f6": "ASUSTek COMPUTER INC.", "3497fb": "ADVANCED RF TECHNOLOGIES INC", @@ -17301,6 +17418,7 @@ "34a5b4": "NAVTECH PTE LTD", "34a5e1": "Sensorist ApS", "34a68c": "Shine Profit Development Limited", + "34a6ef": "Shenzhen Phaten Tech. LTD", "34a709": "Trevil srl", "34a7ba": "Fischer International Systems Corporation", "34a843": "KYOCERA Display Corporation", @@ -17347,10 +17465,14 @@ "34c103": "Hangzhou Huamu Technology Co.,Ltd.", "34c3ac": "Samsung Electronics Co.,Ltd", "34c3d2": "FN-LINK TECHNOLOGY LIMITED", + "34c515": "Aruba, a Hewlett Packard Enterprise Company", "34c5d0": "Hagleitner Hygiene International GmbH", "34c69a": "Enecsys Ltd", + "34c6dd": "Hangzhou Ezviz Software Co.,Ltd.", "34c731": "ALPSALPINE CO,.LTD", + "34c7e9": "Google, Inc.", "34c803": "Nokia Corporation", + "34c8d6": "IEEE Registration Authority", "34c93d": "Intel Corporate", "34c99d": "EIDOLON COMMUNICATIONS TECHNOLOGY CO. LTD.", "34c9f0": "LM Technologies Ltd", @@ -17363,6 +17485,7 @@ "34ce69": "Nokia Solutions and Networks GmbH & Co. KG", "34ce94": "Ltd", "34cf6c": "Hangzhou Taili wireless communication equipment Co.,Ltd", + "34cfb5": "Robotic d.o.o.", "34cff6": "Intel Corporate", "34d09b": "MobilMAX Technology Inc.", "34d0b8": "IEEE Registration Authority", @@ -17395,6 +17518,7 @@ "34e2fd": "Apple, Inc.", "34e380": "Genexis B.V.", "34e3da": "Hoval Aktiengesellschaft", + "34e3fb": "Samsung Electronics Co.,Ltd", "34e42a": "Automatic Bar Controls Inc.", "34e5ec": "Palo Alto Networks", "34e6ad": "Intel Corporate", @@ -17404,11 +17528,13 @@ "34e894": "TP-LINK TECHNOLOGIES CO.,LTD.", "34e911": "vivo Mobile Communication Co., Ltd.", "34e9fe": "Metis Co., Ltd.", + "34ea10": "Orbic North America", "34ea34": "HangZhou Gubei Electronics Technology Co.,Ltd", "34eae7": "Shanghai High-Flying Electronics Technology Co., Ltd", "34ecb6": "Phyplus Microelectronics Limited", "34ed0b": "Shanghai XZ-COM.CO.,Ltd.", "34ed1b": "Cisco Systems, Inc", + "34ee16": "Apple, Inc.", "34ee2a": "ConMet", "34ef44": "2Wire Inc", "34ef8b": "NTT Communications Corporation", @@ -17430,7 +17556,7 @@ "34fa9f": "Ruckus Wireless", "34fc6f": "ALCEA", "34fca1": "Micronet union Technology(Chengdu)Co., Ltd.", - "34fcb9": "Hewlett Packard Enterprise", + "34fcb9": "Hewlett Packard Enterprise – WW Corporate Headquarters", "34fd6a": "Apple, Inc.", "34fe1c": "CHOUNG HWA TECH CO.,LTD", "34fe77": "Apple, Inc.", @@ -17443,6 +17569,7 @@ "380197": "TSST Global,Inc", "38019f": "SHENZHEN FAST TECHNOLOGIES CO.,LTD", "3802de": "Sercomm Corporation.", + "3802e3": "TECHNOLOGY CO.,LTD", "380546": "Foctek Photonics, Inc.", "3805ac": "Piller Group GmbH", "3806b4": "A.D.C. GmbH", @@ -17472,7 +17599,7 @@ "3816d1": "Samsung Electronics Co.,Ltd", "381730": "Ulrich Lippert GmbH & Co KG", "381766": "PROMZAKAZ LTD.", - "3817c3": "Hewlett Packard Enterprise", + "3817c3": "Hewlett Packard Enterprise – WW Corporate Headquarters", "3817e1": "Vantiva USA LLC", "38184c": "Sony Home Entertainment&Sound Products Inc", "38192f": "Nokia Corporation", @@ -17494,8 +17621,10 @@ "3822d6": "Hangzhou H3C Technologies Co., Limited", "3822e2": "HP Inc.", "3822f4": "Huawei Device Co., Ltd.", + "3824f1": "Private", "38256b": "Microsoft Mobile Oy", "38262b": "UTran Technology", + "382656": "TCL King Electrical Appliances(Huizhou)Co.,Ltd", "3826cd": "ANDTEK", "3828ea": "Fujian Netcom Technology Co., LTD", "38295a": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", @@ -17589,6 +17718,7 @@ "387605": "Inogeni", "3876ca": "Shenzhen Smart Intelligent Technology Co.Ltd", "3876d1": "Euronda SpA", + "3877cd": "KOKUSAI ELECTRIC CORPORATION", "387862": "Sony Corporation", "387a0e": "Intel Corporate", "387a3c": "Fiberhome Telecommunication Technologies Co.,LTD", @@ -17719,6 +17849,7 @@ "38dead": "Intel Corporate", "38e08e": "Mitsubishi Electric Corporation", "38e1aa": "zte corporation", + "38e1f4": "Sagemcom Broadband SAS", "38e26e": "ShenZhen Sweet Rain Electronics Co.,Ltd.", "38e2ca": "Katun Corporation", "38e2dd": "zte corporation", @@ -17742,11 +17873,13 @@ "38f098": "Vapor Stone Rail Systems", "38f0c8": "Logitech", "38f135": "SensorTec-Canada", + "38f18f": "Technology Co., Ltd.", "38f23e": "Microsoft Mobile Oy", "38f32e": "Skullcandy", "38f33f": "TATSUNO CORPORATION", "38f3ab": "Electronics Technology co., ltd", "38f3fb": "Asperiq", + "38f45e": "H1-Radio co.,ltd", "38f554": "HISENSE ELECTRIC CO.,LTD", "38f557": "JOLATA, INC.", "38f597": "home2net GmbH", @@ -17789,11 +17922,13 @@ "3c0754": "Apple, Inc.", "3c0771": "Sony Corporation", "3c081e": "Beijing Yupont Electric Power Technology Co.,Ltd", + "3c0868": "Power Plus Communications AG", "3c08cd": "Juniper Networks", "3c08f6": "Cisco Systems, Inc", "3c096d": "Powerhouse Dynamics", + "3c0a7a": "Samsung Electronics Co.,Ltd", "3c0af3": "CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.", - "3c0b4f": "Yandex Services AG", + "3c0b4f": "Intertech Services AG", "3c0c48": "Servergy, Inc.", "3c0c7d": "Tiny Mesh AS", "3c0cdb": "UNION MAN TECHNOLOGY CO.,LTD", @@ -17857,7 +17992,9 @@ "3c3300": "Shenzhen Bilian electronic CO.,LTD", "3c3332": "D-Link Corporation", "3c3556": "Cognitec Systems GmbH", + "3c3576": "ITEL MOBILE LIMITED", "3c363d": "Nokia Corporation", + "3c366a": "HUAWEI TECHNOLOGIES CO.,LTD", "3c36e4": "ARRIS Group, Inc.", "3c3712": "AVM Audiovisuelles Marketing und Computersysteme GmbH", "3c3786": "NETGEAR", @@ -17874,6 +18011,7 @@ "3c410e": "Cisco Systems, Inc", "3c427e": "IEEE Registration Authority", "3c438e": "ARRIS Group, Inc.", + "3c450b": "Sentry Equipment Corp.", "3c457a": "SKY UK LIMITED", "3c4645": "Shanghai Infinity Wireless Technologies Co.,Ltd.", "3c46a1": "Ruckus Wireless", @@ -17975,6 +18113,7 @@ "3c8d20": "Google, Inc.", "3c8f06": "Shenzhen Libtor Technology Co.,Ltd", "3c9066": "SmartRG, Inc.", + "3c90e0": "HUAWEI TECHNOLOGIES CO.,LTD", "3c912b": "Vexata Inc", "3c9157": "Co.,Ltd", "3c9174": "ALONG COMMUNICATION TECHNOLOGY", @@ -17997,6 +18136,7 @@ "3c9ec7": "SKY UK LIMITED", "3c9f81": "Shenzhen CATIC Bit Communications Technology Co.,Ltd", "3c9fc3": "Beijing Sinead Technology Co., Ltd. ", + "3c9fcd": "Shenzhen Neoway Technology Co.,Ltd.", "3ca067": "Liteon Technology Corporation", "3ca10d": "Samsung Electronics Co.,Ltd", "3ca161": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -18019,11 +18159,13 @@ "3caa3f": "iKey, Ltd.", "3cab8e": "Apple, Inc.", "3cae69": "ESA Elektroschaltanlagen Grimma GmbH", + "3cafb7": "Xiaomi Communications Co Ltd", "3cb07e": "Arounds Intelligent Equipment Co., Ltd.", "3cb0ed": "Nothing Technology Limited", "3cb15b": "Avaya Inc", "3cb17f": "Wattwatchers Pty Ld", "3cb233": "Huawei Device Co., Ltd.", + "3cb43d": "SZ Tenveo video technology co., Ltd", "3cb53d": "HUNAN GOKE MICROELECTRONICS CO.,LTD", "3cb6b7": "vivo Mobile Communication Co., Ltd.", "3cb72b": "PLUMgrid Inc", @@ -18049,6 +18191,7 @@ "3cc2e1": "XINHUA CONTROL ENGINEERING CO.,LTD", "3cc786": "DONGGUAN HUARONG COMMUNICATION TECHNOLOGIES CO.,LTD.", "3cc99e": "Huiyang Technology Co., Ltd", + "3cca61": "TECNO MOBILE LIMITED", "3cca87": "Iders Incorporated", "3ccb4d": "Avikus Co., Ltd", "3ccb7c": "TCT mobile ltd", @@ -18177,6 +18320,7 @@ "402e71": "Texas Instruments", "402f86": "LG Innotek", "403004": "Apple, Inc.", + "403059": "Silicon Laboratories", "403067": "Ltd", "40313c": "XIAOMI Electronics,CO.,LTD", "40329d": "Union Image Co.,Ltd", @@ -18253,6 +18397,7 @@ "406a8e": "Hangzhou Puwell OE Tech Ltd.", "406aab": "RIM", "406c8f": "Apple, Inc.", + "406f27": "HUAWEI TECHNOLOGIES CO.,LTD", "406f2a": "BlackBerry RTS", "407009": "ARRIS Group, Inc.", "40704a": "Power Idea Technology Limited", @@ -18295,6 +18440,7 @@ "408e2c": "Microsoft Corporation", "408edf": "Huawei Device Co., Ltd.", "408ef6": "Infinix mobility limited", + "408f9a": "KanEL Sweden AB", "408f9d": "Juniper Networks", "409151": "Espressif Inc.", "40921a": "Apple, Inc.", @@ -18308,6 +18454,7 @@ "4098ad": "Apple, Inc.", "409922": "AzureWave Technology Inc.", "4099e3": "Guangzhou Mudi Information Technology Co., Ltd", + "4099f6": "Co.,Ltd", "409a30": "TECNO MOBILE LIMITED", "409b0d": "Shenzhen Yourf Kwan Industrial Co., Ltd", "409b21": "Nokia", @@ -18324,6 +18471,7 @@ "40a3cc": "Intel Corporate", "40a53b": "Nokia", "40a5ef": "Shenzhen Four Seas Global Link Network Technology Co., Ltd.", + "40a63d": "SignalFire Telemetry", "40a677": "Juniper Networks", "40a6a4": "PassivSystems Ltd", "40a6b7": "Intel Corporate", @@ -18335,6 +18483,7 @@ "40aa56": "China Dragon Technology Limited", "40ac8d": "Data Management, Inc.", "40acbf": "Hangzhou Hikvision Digital Technology Co.,Ltd.", + "40ae30": "TP-LINK CORPORATION PTE. LTD.", "40b02f": "Miele & Cie. KG", "40b034": "Hewlett Packard", "40b076": "ASUSTek COMPUTER INC.", @@ -18356,11 +18505,13 @@ "40b70e": "Huawei Device Co., Ltd.", "40b7f3": "ARRIS Group, Inc.", "40b7fc": "Phyplus Microelectronics Limited", + "40b82d": "Ruckus Wireless", "40b837": "Sony Corporation", "40b89a": "Hon Hai Precision Ind. Co.,Ltd.", "40b8c2": "OSMOZIS", - "40b93c": "Hewlett Packard Enterprise", + "40b93c": "Hewlett Packard Enterprise – WW Corporate Headquarters", "40ba61": "ARIMA Communications Corp.", + "40bb56": "TeraNXT Global India Pvt Ltd.", "40bc60": "Apple, Inc.", "40bc68": "Wuhan Funshion Online Technologies Co.,Ltd", "40bc73": "Cronoplast S.L.", @@ -18389,6 +18540,7 @@ "40cd3a": "Z3 Technology", "40cd7a": "Qingdao Hisense Communications Co.,Ltd.", "40ce24": "Cisco Systems, Inc", + "40d160": "Apple, Inc.", "40d25f": "ITEL MOBILE LIMITED", "40d28a": "Nintendo Co., Ltd.", "40d32d": "Apple, Inc.", @@ -18402,10 +18554,12 @@ "40d63c": "Equitech Industrial(DongGuan)Co.,Ltd", "40d855": "IEEE Registration Authority", "40d95a": "AMPAK Technology,Inc.", + "40da5c": "Apple, Inc.", "40dc9d": "HAJEN", "40dca5": "Huawei Device Co., Ltd.", "40ddd1": "Beautiful Card Corporation", "40de17": "Shenzhen Lanfeng Times Industrial Co.,Ltd.", + "40de24": "Samsung Electronics Co.,Ltd", "40dead": "Juniper Networks", "40df02": "LINE BIZ Plus", "40e11c": "shenzhen Cloud High Communication Technology Co.,Ltd", @@ -18424,6 +18578,7 @@ "40ed98": "IEEE Registration Authority", "40edcf": "Apple, Inc.", "40ee15": "Ltd.", + "40eebe": "LTD.", "40eedd": "HUAWEI TECHNOLOGIES CO.,LTD", "40ef4c": "Fihonest communication co.,Ltd", "40f02f": "Liteon Technology Corporation", @@ -18483,6 +18638,7 @@ "4418fd": "Apple, Inc.", "4419b6": "Hangzhou Hikvision Digital Technology Co.,Ltd.", "441a4c": "xFusion Digital Technologies Co.,Ltd.", + "441a84": "Quectel Wireless Solutions Co.,Ltd.", "441aac": "Elektrik Uretim AS EOS", "441afa": "New H3C Technologies Co., Ltd", "441b88": "Apple, Inc.", @@ -18544,8 +18700,9 @@ "4447cc": "Hangzhou Hikvision Digital Technology Co.,Ltd.", "444891": "HDMI Licensing, LLC", "4448b9": "MitraStar Technology Corp.", - "4448c1": "Hewlett Packard Enterprise", + "4448c1": "Hewlett Packard Enterprise – WW Corporate Headquarters", "4448ff": "Qingdao Haier Technology Co.,Ltd", + "444963": "Woven By Toyota U.S., Inc.", "444988": "Intel Corporate", "444a65": "Silverflare Ltd.", "444ab0": "Zhejiang Moorgen Intelligence Technology Co., Ltd", @@ -18596,6 +18753,7 @@ "4468ab": "JUIN COMPANY, LIMITED", "446a2e": "HUAWEI TECHNOLOGIES CO.,LTD", "446ab7": "ARRIS Group, Inc.", + "446b1f": "Texas Instruments", "446c24": "Reallin Electronic Co.,Ltd", "446d05": "NoTraffic", "446d57": "Liteon Technology Corporation", @@ -18607,6 +18765,7 @@ "44700b": "IFFU", "447098": "LIMITED", "447147": "Beijing Xiaomi Electronics Co.,Ltd", + "4471b3": "Logitech Far East", "4473d6": "Logitech", "44746c": "Sony Corporation", "447654": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -18638,6 +18797,7 @@ "448e81": "VIG", "448eec": "China Mobile Group Device Co.,Ltd.", "448f17": "Samsung Electronics Co., Ltd. ARTIK", + "449046": "Honor Device Co., Ltd.", "4490bb": "Apple, Inc.", "449160": "Murata Manufacturing Co., Ltd.", "44917c": "HMD Global Oy", @@ -18702,6 +18862,7 @@ "44c39b": "OOO RUBEZH NPO", "44c3b6": "HUAWEI TECHNOLOGIES CO.,LTD", "44c4a9": "Opticom Communication, LLC", + "44c532": "HUAWEI TECHNOLOGIES CO.,LTD", "44c56f": "Electronic Co., Ltd", "44c65d": "Apple, Inc.", "44c69b": "Wuhan Feng Tian Information Network CO.,LTD", @@ -18722,6 +18883,7 @@ "44d437": "Inteno Broadband Technology AB", "44d453": "Sagemcom Broadband SAS", "44d454": "Sagemcom Broadband SAS", + "44d465": "NXP Semiconductors Taiwan Ltd.", "44d47f": "INGENICO TERMINALS SAS", "44d4e0": "Sony Corporation", "44d506": "Sichuan Tianyi Comheart Telecom Co.,LTD", @@ -18748,11 +18910,13 @@ "44e08e": "Cisco SPVTG", "44e137": "ARRIS Group, Inc.", "44e2f1": "NewRadio Technologies Co. , Ltd.", + "44e2f8": "Silicon Laboratories", "44e49a": "OMNITRONICS PTY LTD", "44e4d9": "Cisco Systems, Inc", "44e4e6": "Extreme Networks Headquarters", "44e4ee": "Wistron Neweb Corporation", "44e517": "Intel Corporate", + "44e64a": "Shenzhen iComm Semiconductor CO.,LTD", "44e66e": "Apple, Inc.", "44e6b0": "China Mobile IOT Company Limited", "44e761": "Infinix mobility limited", @@ -18777,6 +18941,7 @@ "44f459": "Samsung Electronics Co.,Ltd", "44f477": "Juniper Networks", "44f4e7": "Cohesity Inc", + "44f770": "Beijing Xiaomi Mobile Software Co., Ltd", "44f849": "Union Pacific Railroad", "44f971": "SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD.", "44fa66": "CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.", @@ -18789,6 +18954,7 @@ "480031": "HUAWEI TECHNOLOGIES CO.,LTD", "480033": "Vantiva USA LLC", "48007d": "DTS ELEKTRONIK SAN. TIC. LTD. STI.", + "4800b3": "Cisco Systems, Inc", "4801c5": "Co., Ltd", "48022a": "B-Link Electronic Limited", "480286": "Realme Chongqing Mobile Telecommunications Corp.,Ltd.", @@ -18842,6 +19008,7 @@ "482ca0": "Xiaomi Communications Co Ltd", "482cd0": "HUAWEI TECHNOLOGIES CO.,LTD", "482cea": "Motorola Inc Business Light Radios", + "482d63": "Wavarts Technologies Co., Ltd", "482e72": "Cisco Systems, Inc", "482f6b": "Aruba, a Hewlett Packard Enterprise Company", "482fd7": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -18854,6 +19021,7 @@ "48352b": "Apple, Inc.", "48352e": "Shenzhen Wolck Network Product Co.,LTD", "483543": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", + "483584": "Huawei Device Co., Ltd.", "48365f": "Wintecronics Ltd.", "483871": "Huawei Device Co., Ltd.", "4838b6": "Auhui Taoyun Technology Co., Ltd", @@ -18877,9 +19045,10 @@ "4846f1": "Uros Oy", "4846fb": "HUAWEI TECHNOLOGIES CO.,LTD", "48474b": "Huawei Device Co., Ltd.", + "484982": "Huawei Device Co., Ltd.", "4849c7": "Samsung Electronics Co.,Ltd", "484a30": "George Robotics Limited", - "484ae9": "Hewlett Packard Enterprise", + "484ae9": "Hewlett Packard Enterprise – WW Corporate Headquarters", "484baa": "Apple, Inc.", "484bd4": "Vantiva USA LLC", "484c29": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -18939,6 +19108,7 @@ "487310": "Juniper Networks", "487397": "New H3C Technologies Co., Ltd", "4873cb": "Tiinlab Corporation", + "487410": "Cisco Systems, Inc", "487412": "Co., Ltd", "48746e": "Apple, Inc.", "487583": "Intellion AG", @@ -18964,6 +19134,7 @@ "48836f": "EM Microelectronic", "4883b4": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "4883c7": "Sagemcom Broadband SAS", + "48849d": "Texas Instruments", "4886e8": "Microsoft Corporation", "48872d": "SHEN ZHEN DA XIA LONG QUE TECHNOLOGY CO.,LTD", "488759": "Xiaomi Communications Co Ltd", @@ -18980,6 +19151,7 @@ "488c63": "Huawei Device Co., Ltd.", "488d36": "Arcadyan Corporation", "488e42": "DIGALOG GmbH", + "488eb7": "Zebra Technologies Inc.", "488eef": "HUAWEI TECHNOLOGIES CO.,LTD", "488f4c": "shenzhen trolink Technology Co.,Ltd", "488f5a": "Routerboard.com", @@ -18999,7 +19171,7 @@ "489dd1": "Samsung Electronics Co.,Ltd", "489e9d": "Hui Zhou Gaoshengda Technology Co.,LTD", "489ebd": "HP Inc.", - "489ecb": "Hewlett Packard Enterprise", + "489ecb": "Hewlett Packard Enterprise – WW Corporate Headquarters", "48a0f8": "Fiberhome Telecommunication Technologies Co.,LTD", "48a195": "Apple, Inc.", "48a22d": "Shenzhen Huaxuchang Telecom Technology Co.,Ltd", @@ -19007,6 +19179,7 @@ "48a2b8": "Chengdu Vision-Zenith Tech.Co,.Ltd", "48a2e6": "Resideo", "48a380": "Gionee Communication Equipment Co.,Ltd.", + "48a3bd": "Texas Instruments", "48a472": "Intel Corporate", "48a493": "TAIYO YUDEN CO.,LTD", "48a516": "Huawei Device Co., Ltd.", @@ -19055,6 +19228,7 @@ "48c796": "Samsung Electronics Co.,Ltd", "48c862": "Simo Wireless,Inc.", "48c8b6": "SysTec GmbH", + "48ca43": "Espressif Inc.", "48cac6": "UNION MAN TECHNOLOGY CO.,LTD", "48cb6e": "Ltd", "48cdd3": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -19085,17 +19259,19 @@ "48dd0c": "eero inc.", "48dd9d": "ITEL MOBILE LIMITED", "48df1c": "Wuhan NEC Fibre Optic Communications industry Co. Ltd", - "48df37": "Hewlett Packard Enterprise", + "48df37": "Hewlett Packard Enterprise – WW Corporate Headquarters", "48e15c": "Apple, Inc.", "48e1af": "Vity", "48e1e9": "Chengdu Meross Technology Co., Ltd.", "48e244": "Hon Hai Precision Ind. Co.,Ltd.", "48e3c3": "JENOPTIK Advanced Systems GmbH", "48e533": "Sunnovo International Limited", + "48e663": "IEEE Registration Authority", "48e695": "Insigma Inc", "48e6c0": "SIMCom Wireless Solutions Co.,Ltd.", "48e729": "Espressif Inc.", "48e7da": "AzureWave Technology Inc.", + "48e9ca": "creoline GmbH", "48e9f1": "Apple, Inc.", "48ea63": "Zhejiang Uniview Technologies Co., Ltd.", "48eb30": "ETERNA TECHNOLOGY, INC.", @@ -19147,6 +19323,7 @@ "4c0dee": "LTD.", "4c0f6e": "Hon Hai Precision Ind. Co.,Ltd.", "4c0fc7": "Earda Technologies co Ltd", + "4c10d5": "TP-LINK TECHNOLOGIES CO.,LTD.", "4c1154": "Co., LTD", "4c1159": "Vision Information & Communications", "4c11ae": "Espressif Inc.", @@ -19300,6 +19477,7 @@ "4c8093": "Intel Corporate", "4c80ba": "Wuhan Tianyu Information Industry Co., Ltd.", "4c8120": "Taicang T&W Electronics", + "4c8125": "ZOWEE TECHNOLOGY(HEYUAN)Co.,Ltd", "4c82a9": "CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.", "4c82cf": "Dish Technologies Corp", "4c83de": "Cisco SPVTG", @@ -19320,6 +19498,7 @@ "4c9614": "Juniper Networks", "4c962d": "Fresh AB", "4c968a": "Wacom Co.,Ltd.", + "4c97cc": "Apple, Inc.", "4c98ef": "Zeo", "4c9992": "vivo Mobile Communication Co., Ltd.", "4c9b63": "LG Innotek", @@ -19336,6 +19515,7 @@ "4ca56d": "Samsung Electronics Co.,Ltd", "4ca64d": "Cisco Systems, Inc", "4ca74b": "Alcatel Lucent", + "4ca919": "Tuya Smart Inc.", "4ca928": "Insensi", "4caa16": "Inc.", "4cab33": "KST technology", @@ -19347,9 +19527,10 @@ "4cae13": "HUAWEI TECHNOLOGIES CO.,LTD", "4cae1c": "SaiNXT Technologies LLP", "4cae31": "Ltd", - "4caea3": "Hewlett Packard Enterprise", + "4caea3": "Hewlett Packard Enterprise – WW Corporate Headquarters", "4caeec": "Guangzhou limee technology co.,LTD", "4cb008": "Shenzhen Gwelltimes Technology Co.,Ltd", + "4cb04a": "Intel Corporate", "4cb087": "HUAWEI TECHNOLOGIES CO.,LTD", "4cb0e8": "Beijing RongZhi xinghua technology co., LTD", "4cb16c": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -19359,6 +19540,7 @@ "4cb44a": "NANOWAVE Technologies Inc.", "4cb4ea": "PTE., LTD.", "4cb76d": "Novi Security", + "4cb7e0": "SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD.", "4cb81c": "SAM Electronics GmbH", "4cb82c": "Cambridge Mobile Telematics, Inc.", "4cb8b5": "Shenzhen YOUHUA Technology Co., Ltd", @@ -19501,7 +19683,7 @@ "501e2d": "StreamUnlimited Engineering GmbH", "501fc6": "Apple, Inc.", "502065": "Quectel Wireless Solutions Co.,Ltd.", - "50206b": "Emerson Climate Technologies Transportation Solutions", + "50206b": "Copeland - Transportation Solutions ApS", "5021ec": "Huawei Device Co., Ltd.", "502267": "PixeLINK", "50236d": "Nintendo Co.,Ltd", @@ -19601,9 +19783,13 @@ "505967": "Intent Solutions Inc", "505a65": "AzureWave Technology Inc.", "505ac6": "GUANGDONG SUPER TELECOM CO.,LTD.", + "505b1d": "Shenzhen C-Data Technology Co., Ltd.", "505bc2": "Liteon Technology Corporation", + "505c88": "Cisco Systems, Inc", "505d7a": "zte corporation", "505dac": "HUAWEI TECHNOLOGIES CO.,LTD", + "505e24": "zte corporation", + "505e5c": "SUNITEC TECHNOLOGY CO.,LIMITED", "505fb5": "ASKEY COMPUTER CORP", "506028": "Xirrus Inc.", "506184": "Avaya Inc", @@ -19645,8 +19831,10 @@ "5078b0": "Huawei Device Co., Ltd.", "5078b3": "zte corporation", "50795b": "Interexport Telecomunicaciones S.A.", + "507973": "Inagile Electronic Technology Co.,LTD.", "507a55": "Apple, Inc.", "507ac5": "Apple, Inc.", + "507b91": "Sigmastar Technology Ltd.", "507b9d": "Electronics Technology co., ltd", "507c6f": "Intel Corporate", "507d02": "BIODIT", @@ -19659,11 +19847,13 @@ "50874d": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "508789": "Cisco Systems, Inc", "5087b8": "Nuvyyo Inc", + "508811": "Beijing Xiaomi Mobile Software Co., Ltd", "508965": "SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD.", "5089d1": "Huawei Device Co., Ltd.", "508a06": "Tuya Smart Inc.", "508a0f": "SHENZHEN FISE TECHNOLOGY HOLDING CO.,LTD.", "508a42": "Uptmate Technology Co., LTD", + "508a7f": "HUAWEI TECHNOLOGIES CO.,LTD", "508acb": "SHENZHEN MAXMADE TECHNOLOGY CO., LTD.", "508bb9": "Tuya Smart Inc.", "508c77": "DIRMEIER Schanktechnik GmbH &Co KG", @@ -19681,6 +19871,7 @@ "509772": "Westinghouse Digital", "509839": "Xiaomi Communications Co Ltd", "509871": "Inventum Technologies Private Limited", + "509893": "Texas Instruments", "5098b8": "New H3C Technologies Co., Ltd", "5098f3": "Rheem Australia Pty Ltd", "509a46": "Safetrust Inc", @@ -19716,6 +19907,7 @@ "50ae86": "Linkintec Co., Ltd", "50af4d": "zte corporation", "50af73": "Shenzhen Bitland Information Technology Co., Ltd.", + "50b127": "Apple, Inc.", "50b363": "Digitron da Amazonia S/A", "50b3b4": "Shenzhen Furuilian Electronic Co.,Ltd.", "50b695": "Micropoint Biotechnologies,Inc.", @@ -19746,12 +19938,14 @@ "50cd32": "NanJing Chaoran Science & Technology Co.,Ltd.", "50ce75": "Measy Electronics Co., Ltd.", "50cee3": "Gigafirm.co.LTD", + "50cf56": "China Mobile Group Device Co.,Ltd.", "50d065": "ESYLUX GmbH", "50d213": "CviLux Corporation", "50d274": "Steffes Corporation", "50d2f5": "Beijing Xiaomi Mobile Software Co., Ltd", "50d33b": "cloudnineinfo", "50d37f": "Yu Fly Mikly Way Science and Technology Co., Ltd.", + "50d448": "Private", "50d45c": "Amazon Technologies Inc.", "50d4f7": "TP-LINK TECHNOLOGIES CO.,LTD.", "50d59c": "Thai Habel Industrial Co., Ltd.", @@ -19821,6 +20015,7 @@ "540295": "HUAWEI TECHNOLOGIES CO.,LTD", "540384": "Hongkong Nano IC Technologies Co., Ltd", "5403f5": "EBN Technology Corp.", + "540463": "CIG SHANGHAI CO LTD", "540496": "Gigawave LTD", "5404a6": "ASUSTek COMPUTER INC.", "540536": "Vivago Oy", @@ -19831,6 +20026,7 @@ "540764": "Huawei Device Co., Ltd.", "54077d": "NETGEAR", "54083b": "IEEE Registration Authority", + "540853": "Qingdao Haier Technology Co.,Ltd", "540910": "Apple, Inc.", "540929": "Inventus Power Eletronica do Brasil LTDA", "540955": "zte corporation", @@ -19897,6 +20093,7 @@ "5434ef": "HUAWEI TECHNOLOGIES CO.,LTD", "543530": "Hon Hai Precision Ind. Co.,Ltd.", "5435df": "Symeo GmbH", + "5435e9": "Feitian Technologies Co., Ltd", "54369b": "Co., Ltd.", "5437bb": "Taicang T&W Electronics", "543968": "Edgewater Networks Inc", @@ -19945,9 +20142,11 @@ "545fa7": "Jibaiyou Technology Co.,Ltd.", "545fa9": "Teracom Limited", "546009": "Google, Inc.", + "54606d": "HUAWEI TECHNOLOGIES CO.,LTD", "546172": "ZODIAC AEROSPACE SAS", "5461ea": "Zaplox AB", "5462e2": "Apple, Inc.", + "5464bc": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "5464d9": "Sagemcom Broadband SAS", "5464de": "u-blox AG", "546503": "Quectel Wireless Solutions Co.,Ltd.", @@ -19968,14 +20167,16 @@ "5471dd": "Huawei Device Co., Ltd.", "54724f": "Apple, Inc.", "54725e": "UNION MAN TECHNOLOGY CO.,LTD", + "54726e": "Daimler Truck AG", "547398": "Toyo Electronics Corporation", "5474e6": "Webtech Wireless", "547595": "TP-LINK TECHNOLOGIES CO.,LTD.", "5475d0": "Cisco Systems, Inc", "5476b2": "Raisecom Technology CO., LTD", "547787": "Earda Technologies co Ltd", - "54778a": "Hewlett Packard Enterprise", + "54778a": "Hewlett Packard Enterprise – WW Corporate Headquarters", "54781a": "Cisco Systems, Inc", + "547885": "SHENZHEN GIEC DIGITAL CO.,LTD", "5478c9": "AMPAK Technology,Inc.", "547975": "Nokia Corporation", "547a52": "CTE International srl", @@ -19986,7 +20187,7 @@ "547fa8": "TELCO systems, s.r.o.", "547fbc": "iodyne", "547fee": "Cisco Systems, Inc", - "548028": "Hewlett Packard Enterprise", + "548028": "Hewlett Packard Enterprise – WW Corporate Headquarters", "54812d": "Ltd.", "5481ad": "Eagle Research Corporation", "54833a": "Zyxel Communications Corporation", @@ -20010,6 +20211,7 @@ "549a11": "IEEE Registration Authority", "549a16": "Uzushio Electric Co.,Ltd.", "549a4c": "GUANGDONG HOMECARE TECHNOLOGY CO.,LTD. ", + "549a8f": "Realme Chongqing Mobile Telecommunications Corp.,Ltd.", "549b12": "Samsung Electronics Co.,Ltd", "549b49": "NEC Platforms, Ltd.", "549b72": "Ericsson AB", @@ -20032,6 +20234,7 @@ "54a65c": "Vantiva USA LLC", "54a6db": "Huawei Device Co., Ltd.", "54a703": "TP-LINK TECHNOLOGIES CO.,LTD.", + "54a7a0": "HUNAN AIMAG INTELLIGENT TECHNOLOGY CO.,LTD", "54a9c8": "Home Control Singapore Pte Ltd", "54a9d4": "Minibar Systems", "54ab3a": "Quanta Computer Inc.", @@ -20062,6 +20265,7 @@ "54c45b": "Arcadyan Corporation", "54c480": "HUAWEI TECHNOLOGIES CO.,LTD", "54c57a": "Sunnovo International Limited", + "54c6a6": "Hubei Yangtze Mason Semiconductor Technology Co., Ltd.", "54c6ff": "New H3C Technologies Co., Ltd", "54c80f": "TP-LINK TECHNOLOGIES CO.,LTD.", "54c9df": "FN-LINK TECHNOLOGY LIMITED", @@ -20113,6 +20317,7 @@ "54eaa8": "Apple, Inc.", "54ebe9": "Apple, Inc.", "54ec2f": "Ruckus Wireless", + "54ecb0": "Sercomm France Sarl", "54eda3": "Navdy, Inc.", "54ee75": "Wistron InfoComm(Kunshan)Co.,Ltd.", "54ef33": "SHENZHEN BILIAN ELECTRONIC CO.,LTD", @@ -20167,6 +20372,7 @@ "581cbd": "Affinegy", "581cf8": "Intel Corporate", "581d91": "Advanced Mobile Telecom co.,ltd.", + "581dc9": "MSE CO.,LTD.", "581dd8": "Sagemcom Broadband SAS", "581f28": "HUAWEI TECHNOLOGIES CO.,LTD", "581f67": "Open-m technology limited", @@ -20191,6 +20397,7 @@ "582f42": "Universal Electric Corporation", "582ff7": "Sagemcom Broadband SAS", "58305b": "Shanghai Junqian Sensing Technology Co.,LTD", + "58306e": "Nokia", "583112": "DRUST", "583277": "Reliance Communications LLC", "58343b": "Glovast Technology Ltd.", @@ -20285,6 +20492,7 @@ "58856e": "QSC AG", "5885a2": "Realme Chongqing MobileTelecommunications Corp Ltd", "5885e9": "Realme Chongqing MobileTelecommunications Corp Ltd", + "588670": "Juniper Networks", "588694": "EFM Networks", "58874c": "LITE-ON CLEAN ENERGY TECHNOLOGY CORP.", "58879f": "Huawei Device Co., Ltd.", @@ -20293,6 +20501,7 @@ "588b1c": "Cisco Systems, Inc", "588bf3": "Zyxel Communications Corporation", "588d09": "Cisco Systems, Inc", + "588d39": "LTD.", "588d64": "Xi'an Clevbee Technology Co.,Ltd", "588e81": "Silicon Laboratories", "588fcf": "Hangzhou Ezviz Software Co.,Ltd.", @@ -20439,6 +20648,7 @@ "58fd5d": "Hangzhou Xinyun technology Co., Ltd.", "58fdb1": "LG Electronics", "58fdbe": "Shenzhen Taikaida Technology Co., Ltd", + "58fe7e": "zte corporation", "58ffa1": "zte corporation", "5c0038": "Viasat Group S.p.A.", "5c0214": "Beijing Xiaomi Mobile Software Co., Ltd", @@ -20448,6 +20658,7 @@ "5c045a": "Company NA Stage & Light", "5c0758": "Ufispace Co., LTD.", "5c076f": "Thought Creator", + "5c07a4": "Ciena Corporation", "5c07a6": "HUAWEI TECHNOLOGIES CO.,LTD", "5c0947": "Apple, Inc.", "5c0979": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -20469,6 +20680,7 @@ "5c16c7": "Arista Networks", "5c1720": "Huawei Device Co., Ltd.", "5c1737": "I-View Now, LLC.", + "5c1783": "Edgecore Americas Networking Corporation", "5c17cf": "Co., Ltd", "5c17d3": "LGE ", "5c18b5": "Talon Communications", @@ -20485,6 +20697,7 @@ "5c2479": "Baltech AG", "5c24e2": "Suzhou Denbom Electronic S&T Co., Ltd", "5c254c": "Avire Global Pte Ltd", + "5c2573": "Mellanox Technologies, Inc.", "5c260a": "Dell Inc.", "5c2623": "WaveLynx Technologies Corporation", "5c2763": "Itibia Technologies", @@ -20505,6 +20718,7 @@ "5c3400": "Hisense Electric Co.,Ltd", "5c345b": "Hangzhou Hikvision Digital Technology Co.,Ltd.", "5c353b": "Compal Broadband Networks, Inc.", + "5c3548": "Aditya Infotech Ltd.", "5c35da": "There Corporation Oy", "5c36b8": "Co., Ltd", "5c38e0": "Shanghai Super Electronics Technology Co.,LTD", @@ -20522,6 +20736,7 @@ "5c4527": "Juniper Networks", "5c46b0": "SIMCom Wireless Solutions Limited", "5c475e": "Ring LLC", + "5c4842": "Hangzhou Anysoft Information Technology Co. , Ltd", "5c4979": "AVM Audiovisuelles Marketing und Computersysteme GmbH", "5c497d": "Samsung Electronics Co.,Ltd", "5c49fa": "Shenzhen Guowei Shidai Communication Equipement Co., Ltd", @@ -20545,6 +20760,7 @@ "5c56a4": "Wanan Hongsheng Electronic Co.Ltd", "5c56ed": "3pleplay Electronics Private Limited", "5c571a": "ARRIS Group, Inc.", + "5c579e": "Chiun Mai Communication System, Inc", "5c57c8": "Nokia Corporation", "5c5819": "Jingsheng Technology Co., Ltd.", "5c58e6": "Palo Alto Networks", @@ -20624,6 +20840,7 @@ "5c8fe0": "ARRIS Group, Inc.", "5c9012": "Owl Cyber Defense Solutions, LLC", "5c9157": "HUAWEI TECHNOLOGIES CO.,LTD", + "5c9175": "Apple, Inc.", "5c91fd": "Jaewoncnc", "5c925e": "Ltd.", "5c93a2": "Liteon Technology Corporation", @@ -20641,7 +20858,7 @@ "5ca176": "Sichuan Tianyi Comheart Telecom Co.,LTD", "5ca1e0": "EmbedWay Technologies", "5ca39d": "SAMSUNG ELECTRO MECHANICS CO., LTD.", - "5ca3eb": "Lokel s.r.o.", + "5ca3eb": "SKODA DIGITAL s.r.o.", "5ca47d": "Aruba, a Hewlett Packard Enterprise Company", "5ca48a": "Cisco Systems, Inc", "5ca4a4": "Fiberhome Telecommunication Technologies Co.,LTD", @@ -20662,6 +20879,7 @@ "5cb12e": "Cisco Systems, Inc", "5cb13e": "Sagemcom Broadband SAS", "5cb15f": "Oceanblue Cloud Technology Limited", + "5cb260": "EM Microelectronic", "5cb26d": "Intel Corporate", "5cb29e": "ASCO Power Technologies", "5cb395": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -20673,12 +20891,13 @@ "5cb6cc": "NovaComm Technologies Inc.", "5cb8cb": "Allis Communications", "5cb901": "Hewlett Packard", - "5cba2c": "Hewlett Packard Enterprise", + "5cba2c": "Hewlett Packard Enterprise – WW Corporate Headquarters", "5cba37": "Microsoft Corporation", "5cbaef": "CHONGQING FUGUI ELECTRONICS CO.,LTD.", "5cbbee": "zte corporation", "5cbd9a": "Huawei Device Co., Ltd.", "5cbd9e": "LIMITED", + "5cbe05": "ISPEC", "5cc0a0": "HUAWEI TECHNOLOGIES CO.,LTD", "5cc1d7": "Samsung Electronics Co.,Ltd", "5cc213": "Fr. Sauter AG", @@ -20747,7 +20966,7 @@ "5cea1d": "Hon Hai Precision Ind. Co.,Ltd.", "5ceb4e": "R. STAHL HMI Systems GmbH", "5ceb68": "Cheerstar Technology Co., Ltd", - "5ced8c": "Hewlett Packard Enterprise", + "5ced8c": "Hewlett Packard Enterprise – WW Corporate Headquarters", "5cedf4": "Samsung Electronics Co.,Ltd", "5cee79": "Global Digitech Co LTD", "5cf207": "Speco Technologies", @@ -20770,6 +20989,7 @@ "5cf9f0": "Atomos Engineering P/L", "5cf9fd": "Taicang T&W Electronics", "5cfa25": "Sagemcom Broadband SAS", + "5cfa5a": "Sinepower Lda", "5cfafb": "Acubit", "5cfb3a": "CHONGQING FUGUI ELECTRONICS CO.,LTD.", "5cfb7c": "Shenzhen Jingxun Software Telecommunication Technology Co.,Ltd", @@ -20797,6 +21017,7 @@ "600837": "ivvi Scientific(Nanchang)Co.Ltd", "6009c3": "u-blox AG", "600b03": "Hangzhou H3C Technologies Co., Limited", + "600f6b": "Apple, Inc.", "600f77": "SilverPlus, Inc", "60109e": "HUAWEI TECHNOLOGIES CO.,LTD", "6010a2": "Crompton Instruments", @@ -20822,6 +21043,8 @@ "601ac7": "Nintendo Co.,Ltd", "601b52": "Vodafone Italia S.p.A.", "601d0f": "Midnite Solar", + "601d16": "Med-Eng Holdings ULC", + "601d56": "Extreme Networks Headquarters", "601d91": "Motorola Mobility LLC, a Lenovo Company", "601d9d": "Sichuan AI-Link Technology Co., Ltd.", "601e02": "EltexAlatau", @@ -20849,6 +21072,7 @@ "6032b1": "TP-LINK TECHNOLOGIES CO.,LTD.", "6032f0": "Mplus technology", "60334b": "Apple, Inc.", + "603457": "HP Tuners LLC", "603553": "Buwon Technology", "603573": "Earda Technologies co Ltd", "6035c0": "SFR", @@ -20911,12 +21135,15 @@ "606405": "Texas Instruments", "606453": "AOD Co.,Ltd.", "6064a1": "RADiflow Ltd.", + "606525": "Apple, Inc.", "606682": "SHENZHEN ATEKO PHOTOELECTRICITY CO.,LTD", "606720": "Intel Corporate", + "606832": "Guangdong Seneasy Intelligent Technology Co., Ltd.", "60684e": "Samsung Electronics Co.,Ltd", "606944": "Apple, Inc.", "60699b": "isepos GmbH", "606b5b": "Arista Network, Inc.", + "606bb3": "zte corporation", "606bbd": "Samsung Electronics Co.,Ltd", "606bff": "Nintendo Co.,Ltd", "606c63": "Hitron Technologies. Inc", @@ -20934,6 +21161,7 @@ "60735c": "Cisco Systems, Inc", "6073bc": "zte corporation", "60748d": "Atmaca Elektronik", + "6074b1": "Home Control Singapore Pte Ltd", "6074f4": "Private", "607623": "Shenzhen E-Superlink Technology Co., Ltd", "607688": "Velodyne", @@ -20951,6 +21179,7 @@ "608334": "HUAWEI TECHNOLOGIES CO.,LTD", "608373": "Apple, Inc.", "6083b2": "GkWare e.K.", + "6083e7": "TP-LINK CORPORATION PTE. LTD.", "60843b": "Soladigm, Inc.", "6084bd": "BUFFALO.INC", "608645": "Avery Weigh-Tronix, LLC", @@ -21085,6 +21314,7 @@ "60e00e": "SHINSEI ELECTRONICS CO LTD", "60e327": "TP-LINK TECHNOLOGIES CO.,LTD.", "60e32b": "Intel Corporate", + "60e5d8": "zte corporation", "60e6bc": "Sino-Telecom Technology Co.,Ltd.", "60e6f0": "Wistron Neweb Corporation", "60e701": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -21188,6 +21418,7 @@ "642753": "Huawei Device Co., Ltd.", "642943": "D-Link Corporation", "6429ed": "AO PKK Milandr", + "6429ff": "HUAWEI TECHNOLOGIES CO.,LTD", "642b8a": "ALL BEST Industrial Co., Ltd.", "642c0f": "vivo Mobile Communication Co., Ltd.", "642cac": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -21222,6 +21453,7 @@ "644c69": "CONPROVE", "644d70": "dSPACE GmbH", "644ed7": "HP Inc.", + "644eeb": "Daikin Holdings Singapore Pte Ltd", "644f42": "JETTER CO., Ltd.", "644f74": "LENUS Co., Ltd.", "644fb0": "Hyunjin.com", @@ -21232,6 +21464,7 @@ "645234": "Sichuan Tianyi Comheart Telecom Co.,LTD", "645299": "The Chamberlain Group, Inc", "64535d": "Frauscher Sensortechnik", + "6453e0": "HUAWEI TECHNOLOGIES CO.,LTD", "645422": "Equinox Payments", "645563": "Intelight Inc.", "64557f": "NSFOCUS Information Technology Co., Ltd.", @@ -21266,6 +21499,7 @@ "6466b3": "TP-LINK TECHNOLOGIES CO.,LTD.", "6466d8": "Samsung Electronics Co.,Ltd", "646707": "Beijing Omnific Technology, Ltd.", + "646772": "SERCOMM PHILIPPINES INC", "6467cd": "HUAWEI TECHNOLOGIES CO.,LTD", "64680c": "Comtrend Corporation", "646876": "Edifier International", @@ -21286,6 +21520,7 @@ "646eea": "Iskratel d.o.o.", "647002": "TP-LINK TECHNOLOGIES CO.,LTD.", "647033": "Apple, Inc.", + "647060": "Texas Instruments", "6472d8": "GooWi Technology Co.,Limited", "647366": "Shenzhen Siera Technology Ltd", "6473e2": "Arbiter Systems, Inc.", @@ -21306,6 +21541,7 @@ "64808b": "VG Controls, Inc.", "648099": "Intel Corporate", "648125": "Alphatron Marine BV", + "648214": "FN-LINK TECHNOLOGY Ltd.", "648505": "zte corporation", "648788": "Juniper Networks", "6487d7": "ADB Broadband Italia", @@ -21314,6 +21550,7 @@ "648cbb": "Texas Instruments", "648d9e": "IVT Electronic Co.,Ltd", "648f3e": "Cisco Systems, Inc", + "648fdb": "Huaqin Technology Co.LTD", "6490c1": "Beijing Xiaomi Mobile Software Co., Ltd", "64956c": "LG Electronics", "649714": "eero inc.", @@ -21368,7 +21605,9 @@ "64b853": "Samsung Electronics Co.,Ltd", "64b94e": "Dell Technologies", "64b9e8": "Apple, Inc.", + "64baa4": "zte corporation", "64babd": "SDJ Technologies, Inc.", + "64bb1e": "Earda Technologies co Ltd", "64bc11": "CombiQ AB", "64bc58": "Intel Corporate", "64be63": "STORDIS GmbH", @@ -21449,7 +21688,8 @@ "64ec65": "vivo Mobile Communication Co., Ltd.", "64ed57": "ARRIS Group, Inc.", "64ed62": "WOORI SYSTEMS Co., Ltd", - "64eeb7": "Netcore Technology Inc", + "64eeb7": "Netis Technology Co., Ltd.", + "64f0ad": "Zhejiang Tmall Technology Co., Ltd.", "64f242": "Gerdes Aktiengesellschaft", "64f2fb": "Hangzhou Ezviz Software Co.,Ltd.", "64f50e": "Kinion Technology Company Limited", @@ -21471,6 +21711,7 @@ "64fc8c": "Zonar Systems", "64fd29": "Zhejiang Dahua Technology Co., Ltd.", "64fd96": "Sagemcom Broadband SAS", + "64fe15": "Flaircomm Microelectronics,Inc.", "64ff0a": "Wistron Neweb Corporation", "680235": "Konten Networks Inc.", "6802b8": "Compal Broadband Networks, Inc.", @@ -21508,6 +21749,7 @@ "68215f": "Edgecore Networks Corporation", "68228e": "Juniper Networks", "68234b": "Nihon Dengyo Kousaku", + "6823b0": "Texas Instruments", "6823f4": "Shenzhen Jinlangxin Technology Co., Ltd", "682624": "Ergatta", "68262a": "Sichuan Tianyi Comheart Telecom Co.,LTD", @@ -21525,6 +21767,8 @@ "682f67": "Apple, Inc.", "6831fe": "Teladin Co.,Ltd.", "68332c": "KENSTEL NETWORKS LIMITED", + "6833ee": "ARRIS Group, Inc.", + "683421": "Intel Corporate", "683489": "LEA Professional", "683563": "SHENZHEN LIOWN ELECTRONICS CO.,LTD.", "6836b5": "DriveScale, Inc.", @@ -21544,6 +21788,7 @@ "683f7d": "INGRAM MICRO SERVICES", "68403c": "Fiberhome Telecommunication Technologies Co.,LTD", "68418f": "Telechips, Inc.", + "684216": "Steplock Access AB", "684352": "Bhuu Limited", "6843d7": "Agilecom Photonics Solutions Guangdong Limited", "684571": "Huawei Device Co., Ltd.", @@ -21552,6 +21797,7 @@ "684724": "EM Microelectronic", "684749": "Texas Instruments", "684898": "Samsung Electronics Co.,Ltd", + "684983": "HUAWEI TECHNOLOGIES CO.,LTD", "684992": "Cisco Meraki", "6849b2": "CARLO GAVAZZI LTD", "684a76": "eero inc.", @@ -21559,6 +21805,7 @@ "684ae9": "Samsung Electronics Co.,Ltd", "684b88": "Galtronics Telemetry Inc.", "684ca8": "Shenzhen Herotel Tech. Co., Ltd.", + "684db6": "Xiaomi Communications Co Ltd", "684e05": "HUNAN FN-LINK TECHNOLOGY LIMITED", "684f64": "Dell Inc.", "68505d": "Halo Technologies", @@ -21641,6 +21888,7 @@ "688ab5": "EDP Servicos", "688af0": "zte corporation", "688b0f": "China Mobile IOT Company Limited", + "688bf4": "Arista Network, Inc.", "688db6": "AETEK INC.", "688f2e": "Hitron Technologies. Inc", "688f84": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -21673,6 +21921,7 @@ "68a03e": "HUAWEI TECHNOLOGIES CO.,LTD", "68a0f6": "HUAWEI TECHNOLOGIES CO.,LTD", "68a1b7": "CO.,Ltd.", + "68a2aa": "Acres Manufacturing", "68a378": "FREEBOX SAS", "68a3c4": "Liteon Technology Corporation", "68a40e": "BSH Hausgeräte GmbH", @@ -21696,6 +21945,7 @@ "68afff": "Shanghai Cambricon Information Technology Co., Ltd.", "68b094": "INESA ELECTRON CO.,LTD", "68b35e": "Shenzhen Neostra Technology Co.Ltd", + "68b41e": "ZEASN TECHNOLOGY PRIVATE LIMITED", "68b43a": "WaterFurnace International, Inc.", "68b599": "Hewlett Packard", "68b691": "Amazon Technologies Inc.", @@ -21755,6 +22005,7 @@ "68e74a": "Texas Instruments", "68e7c2": "Samsung Electronics Co.,Ltd", "68e8eb": "Linktel Technologies Co.,Ltd", + "68e905": "Fiberhome Telecommunication Technologies Co.,LTD", "68ebae": "Samsung Electronics Co.,Ltd", "68ebc5": "Angstrem Telecom", "68ec62": "YODO Technology Corp. Ltd.", @@ -21832,6 +22083,7 @@ "6c1e70": "Guangzhou YBDS IT Co.,Ltd", "6c1e90": "Hansol Technics Co., Ltd.", "6c1ed7": "vivo Mobile Communication Co., Ltd.", + "6c1ff7": "Ugreen Group Limited", "6c2056": "Cisco Systems, Inc", "6c21a2": "AMPAK Technology, Inc.", "6c221a": "AltoBeam Inc.", @@ -21889,6 +22141,7 @@ "6c4598": "Antex Electronic Corp.", "6c45c4": "Cloudflare, Inc.", "6c4760": "Sunitec Enterprise Co.,Ltd", + "6c483f": "Xiaomi Communications Co Ltd", "6c48a6": "Fiberhome Telecommunication Technologies Co.,LTD", "6c49c1": "o2ones Co., Ltd.", "6c4a39": "BITA", @@ -21926,12 +22179,14 @@ "6c5e3b": "Cisco Systems, Inc", "6c5e7a": "Ubiquitous Internet Telecom Co., Ltd", "6c5f1c": "Lenovo Mobile Communication Technology Ltd.", + "6c6016": "Co., Ltd", "6c60d0": "Huawei Device Co., Ltd.", "6c60eb": "ZHI YUAN ELECTRONICS CO., LIMITED", "6c6126": "Rinicom Holdings", "6c61f4": "SFR", "6c626d": "Micro-Star INT'L CO., LTD", "6c6286": "Nokia", + "6c62fe": "Juniper Networks", "6c639c": "ARRIS Group, Inc.", "6c641a": "Penguin Computing", "6c6567": "BELIMO Automation AG", @@ -21961,8 +22216,10 @@ "6c79b8": "Texas Instruments", "6c7e67": "Apple, Inc.", "6c7f0c": "Cisco Meraki", + "6c80ab": "ifanr Inc", "6c81fe": "Mitsuba Corporation", "6c8336": "Samsung Electronics Co.,Ltd", + "6c8338": "Ubihere", "6c8366": "Nanjing SAC Power Grid Automation Co., Ltd.", "6c8686": "Technonia", "6c8720": "New H3C Technologies Co., Ltd", @@ -21979,6 +22236,7 @@ "6c90b1": "SanLogic Inc", "6c9106": "Katena Computing Technologies", "6c92bf": "Inspur Electronic Information Industry Co.,Ltd.", + "6c92cf": "Broadcom Limited", "6c9308": "IEEE Registration Authority", "6c9354": "Co., LTD.", "6c9392": "BEKO Technologies GmbH", @@ -22056,6 +22314,8 @@ "6cc242": "Shenzhen Skyworth Digital Technology CO., Ltd", "6cc26b": "Apple, Inc.", "6cc374": "Texas Instruments", + "6cc3b2": "Cisco Meraki", + "6cc41e": "NEXSEC Incorporated", "6cc49f": "Aruba, a Hewlett Packard Enterprise Company", "6cc4d5": "HMD Global Oy", "6cc63b": "Taicang T&W Electronics", @@ -22105,9 +22365,11 @@ "6ceceb": "Texas Instruments", "6ced51": "NEXCONTROL Co.,Ltd", "6ceef7": "shenzhen scodeno technology co., Ltd.", + "6cefbd": "Cisco Meraki", "6cefc6": "SHENZHEN TWOWING TECHNOLOGIES CO.,LTD.", "6cf049": "GIGA-BYTE TECHNOLOGY CO.,LTD.", "6cf17e": "Zhejiang Uniview Technologies Co.,Ltd.", + "6cf2d8": "CANON INC.", "6cf373": "Samsung Electronics Co.,Ltd", "6cf37f": "Aruba, a Hewlett Packard Enterprise Company", "6cf5e8": "Mooredoll Inc.", @@ -22143,11 +22405,12 @@ "700fc7": "SHENZHEN IKINLOOP TECHNOLOGY CO.,LTD.", "700fec": "Poindus Systems Corp.", "70105c": "Cisco Systems, Inc", - "70106f": "Hewlett Packard Enterprise", + "70106f": "Hewlett Packard Enterprise – WW Corporate Headquarters", "70110e": "zte corporation", "701124": "Apple, Inc.", "701135": "Livesecu co., Ltd", "7011ae": "Music Life LTD", + "701301": "Vantiva - Connected Home", "701404": "Limited Liability Company", "7014a6": "Apple, Inc.", "70169f": "EtherCAT Technology Group", @@ -22179,6 +22442,7 @@ "702900": "Shenzhen ChipTrip Technology Co,Ltd", "702a7d": "EpSpot AB", "702ad5": "Samsung Electronics Co.,Ltd", + "702ad7": "New H3C Intelligence Terminal Co., Ltd.", "702b1d": "E-Domus International Limited", "702c09": "Nintendo Co.,Ltd", "702c1f": "Wisol", @@ -22227,6 +22491,7 @@ "70480f": "Apple, Inc.", "7048b5": "CTS System Co., LTD.", "7048f7": "Nintendo Co.,Ltd", + "7049a2": "Zyxel Communications Corporation", "704a0e": "AMPAK Technology,Inc.", "704aae": "Ltd", "704ae4": "Rinstrum Pty Ltd", @@ -22304,6 +22569,7 @@ "70723c": "HUAWEI TECHNOLOGIES CO.,LTD", "7072cf": "EdgeCore Networks", "7072fe": "Apple, Inc.", + "707362": "HUAWEI TECHNOLOGIES CO.,LTD", "7073cb": "Apple, Inc.", "707414": "Murata Manufacturing Co., Ltd.", "707630": "ARRIS Group, Inc.", @@ -22420,6 +22686,7 @@ "70c76f": "INNO S", "70c7f2": "HUAWEI TECHNOLOGIES CO.,LTD", "70c833": "Wirepas Oy", + "70c912": "Sichuan AI-Link Technology Co., Ltd.", "70c932": "Limited", "70c94e": "Liteon Technology Corporation", "70c9c6": "Cisco Systems, Inc", @@ -22435,6 +22702,7 @@ "70d313": "HUAWEI TECHNOLOGIES CO.,LTD", "70d379": "Cisco Systems, Inc", "70d4f2": "RIM", + "70d51e": "Fiberhome Telecommunication Technologies Co.,LTD", "70d57e": "Scalar Corporation", "70d5e7": "Wellcore Corporation", "70d6b6": "Metrum Technologies", @@ -22466,6 +22734,7 @@ "70e843": "Beijing C&W Optical Communication Technology Co.,Ltd.", "70ea1a": "Cisco Systems, Inc", "70ea5a": "Apple, Inc.", + "70eb74": "Ningbo Goneo Electric Appliance Co., Ltd.", "70ece4": "Apple, Inc.", "70ee50": "Netatmo", "70eea3": "Eoptolink Technology Inc. Ltd,", @@ -22502,6 +22771,7 @@ "74057c": "Qorvo International Pte. Ltd.", "7405a5": "TP-LINK TECHNOLOGIES CO.,LTD.", "740635": "TECHNOLOGIES CORPORATION", + "74077e": "Quectel Wireless Solutions Co.,Ltd.", "7408de": "Fujian Landi Commercial Technology Co., Ltd.", "7409ac": "Quext, LLC", "740abc": "LightwaveRF Technology Ltd", @@ -22547,6 +22817,7 @@ "742edb": "Perinet GmbH", "742efc": "DirectPacket Research, Inc,", "742f68": "AzureWave Technology Inc.", + "74309d": "Infinix mobility limited", "7430af": "Fiberhome Telecommunication Technologies Co.,LTD", "743170": "Arcadyan Technology Corporation", "743174": "Apple, Inc.", @@ -22562,8 +22833,10 @@ "74372f": "Tongfang Shenzhen Cloudcomputing Technology Co.,Ltd", "74373b": "UNINET Co.,Ltd.", "74375f": "SERCOMM PHILIPPINES INC", + "743822": "Xiaomi Communications Co Ltd", "743889": "ANNAX Anzeigesysteme GmbH", "7438b7": "CANON INC.", + "743989": "TP-LINK TECHNOLOGIES CO.,LTD.", "743a20": "New H3C Technologies Co., Ltd", "743a65": "NEC Corporation", "743aef": "Kaon Group Co., Ltd.", @@ -22648,6 +22921,7 @@ "74731d": "ifm electronic gmbh", "747336": "MICRODIGTAL Inc", "7473b4": "Apple, Inc.", + "7473e2": "Hillstone Networks Corp.", "747446": "Google, Inc.", "747548": "Amazon Technologies Inc.", "74765b": "Quectel Wireless Solutions Co.,Ltd.", @@ -22764,6 +23038,7 @@ "74c530": "vivo Mobile Communication Co., Ltd.", "74c621": "Zhejiang Hite Renewable Energy Co.,LTD", "74c63b": "AzureWave Technology Inc.", + "74c64a": "AGOS Co.,Ltd", "74c76e": "RTK-TECHNOLOGIES, LLC", "74c929": "Zhejiang Dahua Technology Co., Ltd.", "74c99a": "Ericsson AB", @@ -22853,6 +23128,7 @@ "74f9ca": "Nintendo Co.,Ltd", "74fda0": "Corporation ", "74fe48": "ADVANTECH CO., LTD.", + "74fece": "TP-LINK CORPORATION PTE. LTD.", "74ff4c": "Co.,Ltd", "74ff7d": "Wren Sound Systems, LLC", "78009e": "Samsung Electronics Co.,Ltd", @@ -22894,6 +23170,7 @@ "7818ec": "Fortinet, Inc.", "78192e": "NASCENT Technology", "7819f7": "Juniper Networks", + "781c1e": "Chongqing Yipingfang Technology Co., Ltd.", "781c5a": "SHARP Corporation", "781d4a": "zte corporation", "781dba": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -22926,6 +23203,7 @@ "782eef": "Nokia Corporation", "782f17": "Xlab Co.,Ltd", "78303b": "Stephen Technologies Co.,Limited", + "78305d": "zte corporation", "7830e1": "UltraClenz, LLC", "7830f5": "TBT Inc.", "78312b": "zte corporation", @@ -22933,6 +23211,7 @@ "78321b": "D-Link International", "78324f": "Millennium Group, Inc.", "783486": "Nokia", + "7834fd": "vivo Mobile Communication Co., Ltd.", "7835a0": "Zurn Industries LLC", "783607": "Cermate Technologies Inc.", "783690": "Co.,Ltd", @@ -23013,6 +23292,7 @@ "786559": "Sagemcom Broadband SAS", "78669d": "Hui Zhou Gaoshengda Technology Co.,LTD", "7866ae": "ZTEC Instruments, Inc.", + "7866f3": "shenzhen worldelite electronics co., LTD", "78670e": "Wistron Neweb Corporation", "7867d7": "Apple, Inc.", "786829": "eero inc.", @@ -23036,6 +23316,7 @@ "787d48": "ITEL MOBILE LIMITED", "787d53": "Extreme Networks Headquarters", "787df3": "Sterlite Technologies Limited", + "787e42": "zte corporation", "787e61": "Apple, Inc.", "787f62": "GiK mbH", "788038": "FUNAI ELECTRIC CO., LTD.", @@ -23090,6 +23371,7 @@ "78a03f": "Amazon Technologies Inc.", "78a051": "iiNet Labs Pty Ltd ", "78a106": "TP-LINK TECHNOLOGIES CO.,LTD.", + "78a13e": "New H3C Technologies Co., Ltd", "78a183": "Advidia", "78a2a0": "Nintendo Co., Ltd.", "78a351": "SHENZHEN ZHIBOTONG ELECTRONICS CO.,LTD", @@ -23157,6 +23439,7 @@ "78cb33": "DHC Software Co.,Ltd", "78cb68": "DAEHAP HYPER-TECH", "78cc2b": "SINEWY TECHNOLOGY CO., LTD", + "78cd55": "Texas Instruments", "78cd8e": "SMC Networks Inc", "78cf2f": "HUAWEI TECHNOLOGIES CO.,LTD", "78cff9": "Huawei Device Co., Ltd.", @@ -23204,6 +23487,7 @@ "78e7d1": "Hewlett Packard", "78e8b6": "zte corporation", "78e980": "RainUs Co.,Ltd", + "78e996": "IEEE Registration Authority", "78e9cf": "TELLESCOM INDUSTRIA E COMERCIO EM TELECOMUNICACAO ", "78eb14": "SHENZHEN FAST TECHNOLOGIES CO.,LTD", "78eb39": "Instituto Nacional de Tecnología Industrial", @@ -23218,6 +23502,7 @@ "78f238": "Samsung Electronics Co.,Ltd", "78f276": "Inc.", "78f29e": "PEGATRON CORPORATION", + "78f505": "Murata Manufacturing Co., Ltd.", "78f557": "HUAWEI TECHNOLOGIES CO.,LTD", "78f5e5": "BEGA Gantenbrink-Leuchten KG", "78f5fd": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -23255,6 +23540,7 @@ "7c0bc6": "Samsung Electronics Co.,Ltd", "7c0c92": "Suzhou Mobydata Smart System Co.,Ltd.", "7c0cf6": "Guangdong Huiwei High-tech Co., Ltd.", + "7c0cfa": "HUAWEI TECHNOLOGIES CO.,LTD", "7c0ece": "Cisco Systems, Inc", "7c1015": "Brilliant Home Technology, Inc.", "7c10c9": "ASUSTek COMPUTER INC.", @@ -23356,6 +23642,7 @@ "7c5a1c": "Sophos Ltd", "7c5a67": "JNC Systems, Inc.", "7c5cf8": "Intel Corporate", + "7c5e98": "eero inc.", "7c604a": "Avelon", "7c6097": "HUAWEI TECHNOLOGIES CO.,LTD", "7c6130": "Apple, Inc.", @@ -23409,6 +23696,7 @@ "7c7a3c": "New H3C Technologies Co., Ltd", "7c7a53": "Phytrex Technology Corp.", "7c7a91": "Intel Corporate", + "7c7b1c": "Motorola Mobility LLC, a Lenovo Company", "7c7b8b": "Control Concepts, Inc.", "7c7be4": "Z'SEDAI KENKYUSHO CORPORATION", "7c7d3d": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -23424,9 +23712,9 @@ "7c8931": "Huawei Device Co., Ltd.", "7c8956": "Samsung Electronics Co.,Ltd", "7c89c1": "Palo Alto Networks", - "7c8ac0": "EVBox BV", "7c8ae1": "CO., LTD. ", "7c8bb5": "Samsung Electronics Co.,Ltd", + "7c8bc1": "Infinix mobility limited", "7c8bca": "TP-LINK TECHNOLOGIES CO.,LTD.", "7c8d91": "Shanghai Hongzhuo Information Technology co.,LTD", "7c8ee4": "Texas Instruments", @@ -23440,6 +23728,7 @@ "7c96d2": "Fihonest communication co.,Ltd", "7c9763": "Openmatics s.r.o.", "7c97e1": "Huawei Device Co., Ltd.", + "7c992e": "Shanghai Notion lnformatio Technology Co.,Ltd.", "7c9a1d": "Apple, Inc.", "7c9a54": "Vantiva USA LLC", "7c9a9b": "VSE valencia smart energy", @@ -23453,7 +23742,7 @@ "7ca29b": "D.SignT GmbH & Co. KG", "7ca449": "Xiaomi Communications Co Ltd", "7ca61d": "MHL, LLC", - "7ca62a": "Hewlett Packard Enterprise", + "7ca62a": "Hewlett Packard Enterprise – WW Corporate Headquarters", "7ca7b0": "SHENZHEN BILIAN ELECTRONIC CO.,LTD", "7ca96b": "Syrotech Networks. Ltd.", "7ca97d": "Objenious", @@ -23476,10 +23765,12 @@ "7cb542": "ACES Technology", "7cb566": "Intel Corporate", "7cb59b": "TP-LINK TECHNOLOGIES CO.,LTD.", + "7cb59f": "HUAWEI TECHNOLOGIES CO.,LTD", "7cb733": "ASKEY COMPUTER CORP", "7cb77b": "Paradigm Electronics Inc", "7cb94c": "Co., Ltd.", "7cb960": "Shanghai X-Cheng telecom LTD", + "7cbac0": "EVBox BV", "7cbacc": "IEEE Registration Authority", "7cbb6f": "Cosco Electronics Co., Ltd.", "7cbb8a": "Nintendo Co., Ltd.", @@ -23522,6 +23813,7 @@ "7ccfcf": "Shanghai SEARI Intelligent System Co., Ltd", "7cd1c3": "Apple, Inc.", "7cd30a": "INVENTEC CORPORATION", + "7cd3e5": "HUAWEI TECHNOLOGIES CO.,LTD", "7cd566": "Amazon Technologies Inc.", "7cd661": "Xiaomi Communications Co Ltd", "7cd762": "Freestyle Technology Pty Ltd", @@ -23567,6 +23859,7 @@ "7cf05f": "Apple, Inc.", "7cf098": "Bee Beans Technologies, Inc.", "7cf0ba": "Linkwell Telesystems Pvt Ltd", + "7cf0e5": "Co., Ltd", "7cf2dd": "Vence Corp", "7cf34d": "Apple, Inc.", "7cf429": "NUUO Inc. ", @@ -23598,6 +23891,7 @@ "8002f4": "IEEE Registration Authority", "800384": "Ruckus Wireless", "80045f": "Apple, Inc.", + "80053a": "CHeKT Inc.", "800588": "Ruijie Networks Co.,LTD", "8005df": "Montage Technology Group Limited", "80071b": "VSOLUTION TELECOMMUNICATION TECHNOLOGY CO.,LTD.", @@ -23639,6 +23933,7 @@ "802511": "ITEL MOBILE LIMITED", "802689": "D-Link International", "80276c": "Cisco Systems, Inc", + "80283c": "Sonova AG", "802994": "Vantiva USA LLC", "802aa8": "Ubiquiti Inc", "802afa": "Germaneers GmbH", @@ -23651,7 +23946,7 @@ "802fde": "Zurich Instruments AG", "803049": "Liteon Technology Corporation", "8030dc": "Texas Instruments", - "8030e0": "Hewlett Packard Enterprise", + "8030e0": "Hewlett Packard Enterprise – WW Corporate Headquarters", "8031f0": "Samsung Electronics Co.,Ltd", "803253": "Intel Corporate", "803428": "Microchip Technology Inc.", @@ -23690,6 +23985,7 @@ "804af2": "Sonos, Inc.", "804b20": "Ventilation Control", "804b50": "Silicon Laboratories", + "804c5d": "LTD.", "804e70": "Samsung Electronics Co.,Ltd", "804e81": "Samsung Electronics Co.,Ltd", "804f58": "ThinkEco, Inc.", @@ -23774,6 +24070,7 @@ "808287": "ATCOM Technology Co.Ltd.", "8082f5": "STMicrolectronics International NV", "8084a9": "oshkosh Corporation", + "808544": "Intelbras", "808698": "Netronics Technologies Inc.", "8086d9": "Samsung Electronics Co.,Ltd", "8086f2": "Intel Corporate", @@ -23783,7 +24080,7 @@ "808af7": "Nanoleaf", "808b5c": "Shenzhen Runhuicheng Technology Co., Ltd", "808c97": "Kaon Group Co., Ltd.", - "808db7": "Hewlett Packard Enterprise", + "808db7": "Hewlett Packard Enterprise – WW Corporate Headquarters", "808f1d": "TP-LINK TECHNOLOGIES CO.,LTD.", "808fe8": "Intelbras", "80912a": "Lih Rong electronic Enterprise Co., Ltd.", @@ -23799,6 +24096,7 @@ "8096ca": "Hon Hai Precision Ind. Co.,Ltd.", "80971b": "Altenergy Power System,Inc.", "809733": "Shenzhen Elebao Technology Co., Ltd", + "8099e7": "Sony Corporation", "809b20": "Intel Corporate", "809f9b": "Sichuan AI-Link Technology Co., Ltd.", "809fab": "Fiberhome Telecommunication Technologies Co.,LTD", @@ -23807,6 +24105,7 @@ "80a1ab": "Intellisis", "80a1d7": "Shanghai DareGlobal Technologies Co.,Ltd", "80a235": "Edgecore Networks Corporation", + "80a579": "IEEE Registration Authority", "80a589": "AzureWave Technology Inc.", "80a796": "Neuralink Corp.", "80a85d": "Osterhout Design Group", @@ -23818,6 +24117,7 @@ "80acc8": "Phyplus Microelectronics Limited", "80ad16": "Xiaomi Communications Co Ltd", "80ad67": "Kasda Networks Inc", + "80ae54": "TP-LINK TECHNOLOGIES CO.,LTD.", "80afca": "Shenzhen Cudy Technology Co., Ltd.", "80b03d": "Apple, Inc.", "80b07b": "zte corporation", @@ -23871,6 +24171,7 @@ "80d04a": "Vantiva USA LLC", "80d065": "CKS Corporation", "80d09b": "HUAWEI TECHNOLOGIES CO.,LTD", + "80d10a": "Sichuan AI-Link Technology Co., Ltd.", "80d160": "Sdn. Bhd.", "80d18b": "Hangzhou I'converge Technology Co.,Ltd", "80d21d": "AzureWave Technology Inc.", @@ -23895,7 +24196,9 @@ "80e650": "Apple, Inc.", "80e82c": "Hewlett Packard", "80e86f": "Cisco Systems, Inc", + "80e94a": "LEAPS s.r.o.", "80ea07": "TP-LINK TECHNOLOGIES CO.,LTD.", + "80ea0b": "Zyxel Communications Corporation", "80ea23": "Wistron Neweb Corporation", "80ea96": "Apple, Inc.", "80eaca": "Dialog Semiconductor Hellas SA", @@ -23943,6 +24246,7 @@ "8411c2": "IEEE Registration Authority", "84139f": "zte corporation", "84144d": "Intel Corporate", + "841571": "TCT mobile ltd", "8415d3": "HUAWEI TECHNOLOGIES CO.,LTD", "84160c": "Broadcom Limited", "8416f9": "TP-LINK TECHNOLOGIES CO.,LTD.", @@ -23987,6 +24291,7 @@ "842c80": "Sichuan Changhong Electric Ltd.", "842e14": "Silicon Laboratories", "842e27": "Samsung Electronics Co.,Ltd", + "842f57": "Apple, Inc.", "842f75": "Innokas Group", "843095": "Hon Hai Precision IND.CO.,LTD", "8430ce": "Shenzhen Jaguar Microsystems Co., Ltd", @@ -23994,6 +24299,7 @@ "8431a8": "Wuhan Funshion Online Technologies Co.,Ltd", "84326f": "GUANGZHOU AVA ELECTRONICS TECHNOLOGY CO.,LTD ", "8432ea": "ANHUI WANZTEN P&T CO., LTD", + "8433f2": "Shenzhen Stellamore Technology Co.,Ltd", "843497": "Hewlett Packard", "843611": "hyungseul publishing networks", "8437d5": "Samsung Electronics Co.,Ltd", @@ -24005,6 +24311,7 @@ "843c4c": "Robert Bosch SRL", "843c99": "zte corporation", "843dc6": "Cisco Systems, Inc", + "843e03": "Sagemcom Broadband SAS", "843e1d": "Hui Zhou Gaoshengda Technology Co.,LTD", "843e79": "Shenzhen Belon Technology CO.,LTD", "843e92": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -24083,6 +24390,7 @@ "84802d": "Cisco Systems, Inc", "848094": "Meter, Inc.", "848102": "Fiberhome Telecommunication Technologies Co.,LTD", + "84821b": "PROX SG Pte Ltd", "8482f4": "Beijing Huasun Unicreate Technology Co., Ltd", "848319": "Hangzhou Zero Zero Technology Co., Ltd.", "848336": "Newrun", @@ -24131,6 +24439,7 @@ "84a134": "Apple, Inc.", "84a1d1": "Sagemcom Broadband SAS", "84a24d": "Birds Eye Systems Private Limited", + "84a329": "Arcadyan Corporation", "84a3b5": "Propulsion systems", "84a423": "Sagemcom Broadband SAS", "84a466": "Samsung Electronics Co.,Ltd", @@ -24156,6 +24465,7 @@ "84af1f": "Beat System Service Co,. Ltd.", "84afec": "BUFFALO.INC", "84b153": "Apple, Inc.", + "84b1e2": "Microsoft Corporation", "84b1e4": "Apple, Inc.", "84b261": "Cisco Systems, Inc", "84b31b": "Kinexon GmbH", @@ -24171,6 +24481,7 @@ "84b8b8": "Mobility Technologies Communication Co., Ltd.", "84ba20": "Silicon Laboratories", "84ba3b": "CANON INC.", + "84ba59": "Wistron InfoComm(Chongqing)Co.,Ltd.", "84bb26": "Texas Instruments", "84bb69": "ARRIS Group, Inc.", "84be52": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -24202,6 +24513,7 @@ "84d412": "Palo Alto Networks", "84d47e": "Aruba, a Hewlett Packard Enterprise Company", "84d4c8": "Widex A/S", + "84d5a0": "MCOT INC.", "84d608": "Wingtech Mobile Communications Co., Ltd.", "84d6c5": "SolarEdge Technologies", "84d6d0": "Amazon Technologies Inc.", @@ -24229,7 +24541,9 @@ "84e657": "Sony Interactive Entertainment Inc.", "84e714": "Liang Herng Enterprise,Co.Ltd.", "84e892": "Actiontec Electronics, Inc", + "84e8cb": "BUFFALO.INC", "84e986": "Huawei Device Co., Ltd.", + "84e9c1": "Realme Chongqing Mobile Telecommunications Corp.,Ltd.", "84ea97": "Shenzhen iComm Semiconductor CO.,LTD", "84ea99": "Vieworks", "84eaed": "Roku, Inc", @@ -24260,6 +24574,7 @@ "84fdd1": "Intel Corporate", "84fe9e": "RTC Industries, Inc.", "84fedc": "Borqs Beijing Ltd.", + "88010c": "Sichuan Tianyi Comheart Telecom Co.,LTD", "880118": "BLT Co", "8801f2": "Vitec System Engineering Inc.", "8801f9": "Texas Instruments", @@ -24296,6 +24611,7 @@ "881fa1": "Apple, Inc.", "88200d": "Apple, Inc.", "882012": "LMI Technologies", + "882067": "Fiberhome Telecommunication Technologies Co.,LTD", "8821e3": "Nebusens, S.L.", "8822b2": "Corp.", "88231f": "Fibocom Wireless Inc.", @@ -24367,6 +24683,7 @@ "885395": "Apple, Inc.", "8853d4": "HUAWEI TECHNOLOGIES CO.,LTD", "88541f": "Google, Inc.", + "88548e": "vivo Mobile Communication Co., Ltd.", "88571d": "Seongji Industry Company", "88576d": "XTA Electronics Ltd", "8857ee": "BUFFALO.INC", @@ -24385,6 +24702,7 @@ "88625d": "BITNETWORKS CO.,LTD", "8863df": "Apple, Inc.", "886440": "Apple, Inc.", + "88659f": "Fiberhome Telecommunication Technologies Co.,LTD", "886639": "HUAWEI TECHNOLOGIES CO.,LTD", "88665a": "Apple, Inc.", "8866a5": "Apple, Inc.", @@ -24491,6 +24809,7 @@ "88add2": "Samsung Electronics Co.,Ltd", "88ae07": "Apple, Inc.", "88ae1d": "CO., LTD. ", + "88ae35": "Realme Chongqing Mobile Telecommunications Corp.,Ltd.", "88aedd": "EliteGroup Computer Systems Co., LTD", "88af7b": "Nanjing Powercore Tech Co.,Ltd", "88b111": "Intel Corporate", @@ -24506,6 +24825,7 @@ "88b66b": "easynetworks", "88b6bd": "Flaircomm Microelectronics, Inc.", "88b6ee": "Dish Technologies Corp", + "88b7eb": "Apple, Inc.", "88b863": "HISENSE VISUAL TECHNOLOGY CO.,LTD", "88b86f": "Infinix mobility limited", "88b8d0": "Dongguan Koppo Electronic Co.,Ltd", @@ -24551,6 +24871,7 @@ "88d82e": "Intel Corporate", "88d962": "Canopus Systems US LLC", "88d98f": "Juniper Networks", + "88da18": "China Mobile Group Device Co.,Ltd.", "88da1a": "Redpine Signals, Inc.", "88da33": "Beijing Xiaoyuer Network Technology Co., Ltd", "88dc96": "EnGenius Technologies, Inc.", @@ -24573,7 +24894,7 @@ "88e8f8": "LTD.", "88e90f": "innomdlelab", "88e917": "Tamaggo", - "88e9a4": "Hewlett Packard Enterprise", + "88e9a4": "Hewlett Packard Enterprise – WW Corporate Headquarters", "88e9fe": "Apple, Inc.", "88ed1c": "Cudo Communication Co., Ltd.", "88ef16": "ARRIS Group, Inc.", @@ -24584,6 +24905,7 @@ "88f488": "cellon communications technology(shenzhen)Co.,Ltd.", "88f490": "Jetmobile Pte Ltd", "88f56e": "HUAWEI TECHNOLOGIES CO.,LTD", + "88f6dc": "Huawei Device Co., Ltd.", "88f7bf": "vivo Mobile Communication Co., Ltd.", "88f7c7": "Vantiva USA LLC", "88f872": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -24601,6 +24923,7 @@ "8c06cb": "Toradex AG", "8c0734": "Private", "8c078c": "FLOW DATA INC", + "8c0879": "Texas Instruments", "8c088b": "Remote Solution", "8c09f4": "ARRIS Group, Inc.", "8c0c87": "Nokia", @@ -24639,6 +24962,7 @@ "8c210a": "TP-LINK TECHNOLOGIES CO.,LTD.", "8c2505": "HUAWEI TECHNOLOGIES CO.,LTD", "8c255e": "VoltServer", + "8c26aa": "Apple, Inc.", "8c271d": "QuantHouse", "8c278a": "Vocollect Inc", "8c2937": "Apple, Inc.", @@ -24670,6 +24994,7 @@ "8c4361": "Hailo Digital Hub GmbH & Co. KG", "8c4435": "Shanghai BroadMobi Communication Technology Co., Ltd.", "8c444f": "HUMAX Co., Ltd.", + "8c44a5": "Cisco Systems, Inc", "8c4500": "Murata Manufacturing Co., Ltd.", "8c476e": "IEEE Registration Authority", "8c477f": "NambooSolution", @@ -24693,6 +25018,7 @@ "8c53f7": "A&D ENGINEERING CO., LTD.", "8c541d": "LGE ", "8c554a": "Intel Corporate", + "8c5570": "IEEE Registration Authority", "8c55bb": "Songwoo Information & Technology Co., Ltd", "8c5646": "LG Electronics", "8c569d": "Imaging Solutions Group", @@ -24710,6 +25036,7 @@ "8c5af0": "Exeltech Solar Products", "8c5af8": "Beijing Xiaomi Electronics Co., Ltd.", "8c5bf0": "ARRIS Group, Inc.", + "8c5c20": "ARRIS Group, Inc.", "8c5ca1": "d-broad,INC", "8c5d60": "UCI Corporation Co.,Ltd.", "8c5db2": "IEEE Registration Authority", @@ -24727,6 +25054,7 @@ "8c6422": "Sony Corporation", "8c64a2": "Co., Ltd", "8c64d4": "Hyeco Smart Tech Co.,Ltd", + "8c65a3": "Silicon Laboratories", "8c6794": "vivo Mobile Communication Co., Ltd.", "8c683a": "HUAWEI TECHNOLOGIES CO.,LTD", "8c6878": "Nortek-AS", @@ -24774,12 +25102,15 @@ "8c83fc": "Axioma Metering UAB", "8c8401": "Private", "8c8442": "Cisco Systems, Inc", + "8c8474": "Broadcom Limited", "8c8580": "Smart Innovation LLC", "8c8590": "Apple, Inc.", "8c85c1": "Aruba, a Hewlett Packard Enterprise Company", "8c85e6": "Cleondris GmbH", "8c861e": "Apple, Inc.", + "8c862a": "HUAWEI TECHNOLOGIES CO.,LTD", "8c873b": "Leica Camera AG", + "8c87d0": "Shenzhen Uascent Technology Co.,Ltd", "8c8881": "Cisco Meraki", "8c897a": "AUGTEK", "8c89a5": "Micro-Star INT'L CO., LTD", @@ -24816,6 +25147,7 @@ "8ca2fd": "Starry, Inc.", "8ca399": "PRIVATE LIMITED", "8ca5a1": "Oregano Systems - Design & Consulting GmbH", + "8ca682": "IEEE Registration Authority", "8ca6df": "TP-LINK TECHNOLOGIES CO.,LTD.", "8ca96f": "D&M Holdings Inc.", "8ca982": "Intel Corporate", @@ -24850,6 +25182,7 @@ "8cc84b": "CHONGQING FUGUI ELECTRONICS CO.,LTD.", "8cc8cd": "Samsung Electronics Co.,Ltd", "8cc8f4": "IEEE Registration Authority", + "8cc9e9": "Huawei Device Co., Ltd.", "8ccb14": "TBS GmbH", "8ccbdf": "FOXCONN INTERCONNECT TECHNOLOGY ", "8ccda2": "ACTP, Inc.", @@ -24896,6 +25229,7 @@ "8cea12": "Shenzhen MiaoMing Intelligent Technology Co.,Ltd", "8cea1b": "Edgecore Networks Corporation", "8cea48": "Samsung Electronics Co.,Ltd", + "8cea88": "Chengdu Yocto Communication Technology Co.Ltd.", "8cebc6": "HUAWEI TECHNOLOGIES CO.,LTD", "8cec4b": "Dell Inc.", "8cec7b": "Apple, Inc.", @@ -24932,6 +25266,7 @@ "90028a": "Shenzhen Shidean Legrand Electronic Products Co.,Ltd", "9002a9": "Zhejiang Dahua Technology Co., Ltd.", "900325": "HUAWEI TECHNOLOGIES CO.,LTD", + "900371": "Quectel Wireless Solutions Co.,Ltd.", "900372": "Longnan Junya Digital Technology Co. Ltd. ", "9003b7": "PARROT SA", "900628": "Samsung Electronics Co.,Ltd", @@ -24957,6 +25292,7 @@ "901234": "Shenzhen YOUHUA Technology Co., Ltd", "9012a1": "We Corporation Inc.", "9013da": "Athom B.V.", + "901564": "IEEE Registration Authority", "9016ba": "HUAWEI TECHNOLOGIES CO.,LTD", "901711": "Hagenuk Marinekommunikation GmbH", "90173f": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -24976,6 +25312,7 @@ "902083": "General Engine Management Systems Ltd.", "9020c2": "Aruba, a Hewlett Packard Enterprise Company", "902106": "SKY UK LIMITED", + "90212e": "Apption Labs Ltd", "902155": "HTC Corporation", "902181": "Shanghai Huaqin Telecom Technology Co.,Ltd", "90235b": "Amazon Technologies Inc.", @@ -25034,7 +25371,7 @@ "90489a": "Hon Hai Precision Ind. Co.,Ltd.", "904992": "YSTen Technology Co.,Ltd", "9049fa": "Intel Corporate", - "904c81": "Hewlett Packard Enterprise", + "904c81": "Hewlett Packard Enterprise – WW Corporate Headquarters", "904ce5": "Hon Hai Precision Ind. Co.,Ltd.", "904d4a": "Sagemcom Broadband SAS", "904dc3": "Flonidan A/S", @@ -25065,6 +25402,7 @@ "9060f1": "Apple, Inc.", "90610c": "Pte Ltd", "9061ae": "Intel Corporate", + "90623f": "Apple, Inc.", "90633b": "Samsung Electronics Co.,Ltd", "9064ad": "HUAWEI TECHNOLOGIES CO.,LTD", "906560": "EM Microelectronic", @@ -25161,6 +25499,7 @@ "909e24": "ekey biometric systems gmbh", "909f33": "EFM Networks", "909f43": "Accutron Instruments Inc.", + "90a0be": "Cannice", "90a137": "Beijing Splendidtel Communication Technology Co,. Ltd", "90a1ba": "PNetworks Electronics Information ", "90a210": "United Telecoms Ltd", @@ -25192,7 +25531,7 @@ "90b144": "Samsung Electronics Co.,Ltd", "90b1e0": "Beijing Nebula Link Technology Co., Ltd", "90b21f": "Apple, Inc.", - "90b4dd": "Private", + "90b4dd": "ZPT R&D", "90b57f": "Shenzhen iComm Semiconductor CO.,LTD", "90b622": "Samsung Electronics Co.,Ltd", "90b67a": "Shenzhen Skyworth Digital Technology CO., Ltd", @@ -25295,6 +25634,7 @@ "940070": "Nokia Corporation", "9400b0": "HUAWEI TECHNOLOGIES CO.,LTD", "940149": "AutoHotBox", + "94017d": "SHENZHEN SHLINK.CO.,LIMITED", "9401ac": "Wuhan Qianyang Iotian Technology Co., Ltd", "9401c2": "Samsung Electronics Co.,Ltd", "940230": "Logitech", @@ -25310,7 +25650,9 @@ "9409d3": "shenzhen maxtopic technology co.,ltd", "940b19": "HUAWEI TECHNOLOGIES CO.,LTD", "940b2d": "Co., Ltd", + "940b83": "zte corporation", "940bd5": "Himax Technologies, Inc", + "940bfa": "EM Microelectronic", "940c6d": "TP-LINK TECHNOLOGIES CO.,LTD.", "940c98": "Apple, Inc.", "940d2d": "Universal Electronics, Inc.", @@ -25325,7 +25667,7 @@ "941673": "Point Core SARL", "941700": "Xiaomi Communications Co Ltd", "941865": "NETGEAR", - "941882": "Hewlett Packard Enterprise", + "941882": "Hewlett Packard Enterprise – WW Corporate Headquarters", "94193a": "Elvaco AB", "941c56": "Actiontec Electronics, Inc", "941d1c": "TLab West Systems AB", @@ -25337,6 +25679,8 @@ "9424b8": "GREE ELECTRIC APPLIANCES, INC. OF ZHUHAI", "9424e1": "Alcatel-Lucent Enterprise", "942533": "HUAWEI TECHNOLOGIES CO.,LTD", + "94261d": "HUAWEI TECHNOLOGIES CO.,LTD", + "942770": "BSH Hausgeräte GmbH", "942790": "TCT mobile ltd", "94282e": "New H3C Technologies Co., Ltd", "94286f": "zte corporation", @@ -25358,6 +25702,7 @@ "9433dd": "Taco Inc", "943469": "Silicon Laboratories", "94350a": "Samsung Electronics Co.,Ltd", + "943589": "HUAWEI TECHNOLOGIES CO.,LTD", "9436e0": "Sichuan Bihong Broadcast & Television New Technologies Co.,Ltd", "9437f7": "Huawei Device Co., Ltd.", "9439e5": "Hon Hai Precision Ind. Co.,Ltd.", @@ -25371,10 +25716,11 @@ "943ee4": "WiSA Technologies Inc", "943f0c": "Genexis B.V.", "943fbb": "JSC RPC Istok named after Shokin", - "943fc2": "Hewlett Packard Enterprise", + "943fc2": "Hewlett Packard Enterprise – WW Corporate Headquarters", "943fd6": "Apple, Inc.", "9440a2": "Anywave Communication Technologies, Inc.", - "9440c9": "Hewlett Packard Enterprise", + "9440c9": "Hewlett Packard Enterprise – WW Corporate Headquarters", + "9440f3": "HUAWEI TECHNOLOGIES CO.,LTD", "9441c1": "Mini-Cam Limited", "94434d": "Ciena Corporation", "944444": "LG Innotek", @@ -25386,6 +25732,7 @@ "944996": "WiSilica Inc", "944a09": "BitWise Controls", "944a0c": "Sercomm Corporation.", + "944bf8": "TOZO INC", "944e5b": "Ubee Interactive Co., Limited", "944f4c": "Sound United LLC", "945047": "Rechnerbetriebsgruppe", @@ -25452,6 +25799,7 @@ "948ac6": "Realme Chongqing Mobile Telecommunications Corp.,Ltd.", "948b03": "EAGET Innovation and Technology Co., Ltd.", "948bc1": "Samsung Electronics Co.,Ltd", + "948cd7": "Hui Zhou Gaoshengda Technology Co.,LTD", "948d50": "Beamex Oy Ab", "948def": "Oetiker Schweiz AG", "948e89": "INDUSTRIAS UNIDAS SA DE CV", @@ -25479,6 +25827,7 @@ "949d57": "Panasonic do Brasil Limitada", "949f3e": "Sonos, Inc.", "949f3f": "Optek Digital Technology company limited", + "949f8b": "zte corporation", "949fb4": "ChengDu JiaFaAnTai Technology Co.,Ltd", "94a04e": "Bostex Technology Co., LTD", "94a07d": "Huawei Device Co., Ltd.", @@ -25517,9 +25866,12 @@ "94b9b4": "Aptos Technology", "94ba31": "Visiontec da Amazônia Ltda.", "94ba56": "Shenzhen Coship Electronics Co., Ltd.", + "94bb43": "AzureWave Technology Inc.", "94bbae": "Husqvarna AB", + "94bdbe": "Co.,Ltd.", "94be09": "China Mobile Group Device Co.,Ltd.", "94be46": "Mobility Technologies Communication Co., Ltd.", + "94be50": "Remote Solution", "94bf1e": "eflow Inc. / Smart Device Planning and Development Division", "94bf2d": "Apple, Inc.", "94bf80": "zte corporation", @@ -25586,6 +25938,7 @@ "94e226": "D. ORtiz Consulting, LLC", "94e23c": "Intel Corporate", "94e2fd": "Boge Kompressoren OTTO Boge GmbH & Co. KG", + "94e300": "HUAWEI TECHNOLOGIES CO.,LTD", "94e36d": "Texas Instruments", "94e3ee": "zte corporation", "94e4ba": "Huawei Device Co., Ltd.", @@ -25606,7 +25959,7 @@ "94ebcd": "BlackBerry RTS", "94ee9f": "HMD Global Oy", "94ef49": "BDR Thermea Group B.V", - "94f128": "Hewlett Packard Enterprise", + "94f128": "Hewlett Packard Enterprise – WW Corporate Headquarters", "94f19e": "HUIZHOU MAORONG INTELLIGENT TECHNOLOGY CO.,LTD", "94f278": "Elma Electronic", "94f2bb": "Valeo Vision Systems", @@ -25617,6 +25970,7 @@ "94f692": "Geminico co.,Ltd.", "94f6a3": "Apple, Inc.", "94f6d6": "Apple, Inc.", + "94f6f2": "Honor Device Co., Ltd.", "94f720": "Tianjin Deviser Electronics Instrument Co., Ltd", "94f7ad": "Juniper Networks", "94f827": "Shanghai Imilab Technology Co.Ltd", @@ -25646,6 +26000,7 @@ "980637": "IEEE Registration Authority", "98063a": "Home Control Singapore Pte Ltd", "98063c": "Samsung Electronics Co.,Ltd", + "980709": "Huawei Device Co., Ltd.", "98072d": "Texas Instruments", "9809cf": "Co., Ltd", "980c33": "Silicon Laboratories", @@ -25680,7 +26035,8 @@ "98226e": "Amazon Technologies Inc.", "9822ef": "Liteon Technology Corporation", "98234e": "Micromedia AG", - "98254a": "Big Field Global PTE. Ltd.", + "98254a": "TP-LINK CORPORATION PTE. LTD.", + "98256e": "Private", "98262a": "Applied Research Associates, Inc", "9826ad": "Quectel Wireless Solutions Co.,Ltd.", "982782": "IEEE Registration Authority", @@ -25695,16 +26051,18 @@ "982d68": "Samsung Electronics Co., Ltd", "982dba": "Fibergate Inc.", "982f3c": "Sichuan Changhong Electric Ltd.", + "982f86": "vivo Mobile Communication Co., Ltd.", "982ff8": "Huawei Device Co., Ltd.", "983000": "Beijing KEMACOM Technologies Co., Ltd.", "983071": "DAIKYUNG VASCOM", - "98348c": "Teleepoch Ltd", + "98348c": "Great Talent Technology Limited", "98349d": "Krauss Maffei Technologies GmbH", "983571": "Sub10 Systems Ltd", "9835b8": "Assembled Products Corporation", "9835ed": "HUAWEI TECHNOLOGIES CO.,LTD", "983713": "PT.Navicom Indonesia", "98387d": "ITRONIC TECHNOLOGY CO . , LTD .", + "983910": "Kaon Group Co., Ltd.", "98398e": "Samsung Electronics Co.,Ltd", "9839c0": "FLEXTRONICS", "983b16": "AMPAK Technology, Inc.", @@ -25732,6 +26090,7 @@ "98499f": "Domo Tactical Communications", "9849e1": "Boeing Defence Australia", "984a47": "CHG Hospital Beds", + "984a6b": "Ruijie Networks Co.,LTD", "984b06": "HUAWEI TECHNOLOGIES CO.,LTD", "984b4a": "ARRIS Group, Inc.", "984be1": "Hewlett Packard", @@ -25750,6 +26109,7 @@ "985945": "Texas Instruments", "985949": "LUXOTTICA GROUP S.P.A.", "98597a": "Intel Corporate", + "985a98": "HUAWEI TECHNOLOGIES CO.,LTD", "985aeb": "Apple, Inc.", "985bb0": "KMDATA INC.", "985c93": "SBG Systems SAS", @@ -25757,6 +26117,7 @@ "985d82": "Arista Networks", "985dad": "Texas Instruments", "985e1b": "ConversDigital Co., Ltd.", + "985f41": "Intel Corporate", "985f4f": "Tongfang Computer Co.,Ltd.", "985fd3": "Microsoft Corporation", "986022": "EMW Co., Ltd.", @@ -25798,6 +26159,7 @@ "98865d": "Nokia Shanghai Bell Co., Ltd.", "98868b": "Juniper Networks", "988744": "Wuxi Hongda Science and Technology Co.,LTD", + "98876c": "Huawei Device Co., Ltd.", "988924": "Texas Instruments", "9889ed": "Anadem Information Inc.", "988b0a": "Hangzhou Hikvision Digital Technology Co.,Ltd.", @@ -25823,6 +26185,7 @@ "989bcb": "AVM Audiovisuelles Marketing und Computersysteme GmbH", "989c57": "HUAWEI TECHNOLOGIES CO.,LTD", "989d5d": "Vantiva USA LLC", + "989db2": "GOIP Global Services Pvt. Ltd.", "989de5": "Hangzhou Hikvision Digital Technology Co.,Ltd.", "989e63": "Apple, Inc.", "989f1e": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -25831,6 +26194,7 @@ "98a40e": "Snap, Inc.", "98a5f9": "Apple, Inc.", "98a7b0": "MCST ZAO", + "98a829": "AltoBeam Inc.", "98a92d": "New H3C Technologies Co., Ltd", "98a942": "Guangzhou Tozed Kangwei Intelligent Technology Co., LTD", "98aa3c": "Will i-tech Co., Ltd.", @@ -25871,6 +26235,7 @@ "98ca20": "Shanghai SIMCOM Ltd.", "98ca33": "Apple, Inc.", "98cb27": "Galore Networks Pvt. Ltd.", + "98cb38": "Boxin Communications Limited Liability Company", "98cba4": "Benchmark Electronics", "98cc4d": "Shenzhen mantunsci co., LTD", "98ccd9": "Shenzhen SuperElectron Technology Co.,Ltd.", @@ -25887,6 +26252,7 @@ "98d686": "Chyi Lee industry Co., ltd.", "98d6bb": "Apple, Inc.", "98d742": "Samsung Electronics Co.,Ltd", + "98d7e1": "Cisco Systems, Inc", "98d863": "Shanghai High-Flying Electronics Technology Co., Ltd", "98d88c": "Nortel Networks", "98d93d": "Demant Enterprise A/S", @@ -25923,8 +26289,9 @@ "98f181": "New H3C Technologies Co., Ltd", "98f199": "NEC Platforms, Ltd.", "98f217": "Castlenet Technology Inc.", - "98f2b3": "Hewlett Packard Enterprise", + "98f2b3": "Hewlett Packard Enterprise – WW Corporate Headquarters", "98f428": "zte corporation", + "98f487": "Texas Instruments", "98f4ab": "Espressif Inc.", "98f537": "zte corporation", "98f5a9": "OHSUNG", @@ -25962,6 +26329,7 @@ "9c061b": "Hangzhou H3C Technologies Co., Limited", "9c066e": "Hytera Communications Corporation Limited", "9c0971": "New H3C Technologies Co., Ltd", + "9c098b": "Cisco Systems, Inc", "9c0b05": "eero inc.", "9c0c35": "Shenzhenshi Xinzhongxin Technology Co.Ltd", "9c0cdf": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", @@ -25972,6 +26340,7 @@ "9c1465": "Edata Elektronik San. ve Tic. A.Ş.", "9c1874": "Nokia Danmark A/S", "9c19c2": "Dongguan Liesheng Electronic Co., Ltd.", + "9c1a25": "Apple, Inc.", "9c1c12": "Aruba, a Hewlett Packard Enterprise Company", "9c1c37": "Inc.", "9c1c6d": "HEFEI DATANG STORAGE TECHNOLOGY CO.,LTD", @@ -25987,6 +26356,7 @@ "9c216a": "TP-LINK TECHNOLOGIES CO.,LTD.", "9c2183": "Broadcom Limited", "9c220e": "TASCAN Systems GmbH", + "9c2472": "Sagemcom Broadband SAS", "9c2595": "Samsung Electronics Co.,Ltd", "9c25be": "Wildlife Acoustics, Inc.", "9c2840": "Discovery Technology,LTD..", @@ -26020,6 +26390,7 @@ "9c3708": "Aruba, a Hewlett Packard Enterprise Company", "9c37cb": "Sony Interactive Entertainment Inc.", "9c37f4": "HUAWEI TECHNOLOGIES CO.,LTD", + "9c3818": "Cisco Systems, Inc", "9c3928": "Samsung Electronics Co.,Ltd", "9c3a9a": "Shenzhen Sundray Technologies Company Limited", "9c3aaf": "Samsung Electronics Co.,Ltd", @@ -26063,7 +26434,9 @@ "9c57ad": "Cisco Systems, Inc", "9c57bc": "eero inc.", "9c583c": "Apple, Inc.", + "9c5884": "Apple, Inc.", "9c5a44": "CO., LTD. ", + "9c5a80": "Juniper Networks", "9c5a81": "Xiaomi Communications Co Ltd", "9c5b96": "NMR Corporation", "9c5c8d": "FIREMAX INDÚSTRIA E COMÉRCIO DE PRODUTOS ELETRÔNICOS LTDA", @@ -26078,6 +26451,7 @@ "9c6121": "Sichuan Tianyi Comheart Telecom Co.,LTD", "9c62ab": "Sumavision Technologies Co.,Ltd", "9c635b": "zte corporation", + "9c63c0": "Mellanox Technologies, Inc.", "9c63ed": "zte corporation", "9c645e": "Harman Consumer Group", "9c648b": "Apple, Inc.", @@ -26134,7 +26508,7 @@ "9c8ba0": "Apple, Inc.", "9c8bf1": "The Warehouse Limited", "9c8c6e": "Samsung Electronics Co.,Ltd", - "9c8cd8": "Hewlett Packard Enterprise", + "9c8cd8": "Hewlett Packard Enterprise – WW Corporate Headquarters", "9c8d1a": "INTEG process group inc", "9c8d7c": "ALPSALPINE CO,.LTD", "9c8dd3": "Leonton Technologies", @@ -26165,6 +26539,7 @@ "9c9d7e": "Beijing Xiaomi Mobile Software Co., Ltd", "9c9e03": "awayfrom", "9c9e71": "Huawei Device Co., Ltd.", + "9c9ed5": "Xiaomi Communications Co Ltd", "9ca10a": "SCLE SFE", "9ca134": "Nike, Inc.", "9ca2f4": "TP-Link Corporation Limited", @@ -26213,6 +26588,7 @@ "9cc7d1": "SHARP Corporation", "9cc893": "Juniper Networks", "9cc8ae": "Becton, Dickinson and Company", + "9cc8e9": "Amazon Technologies Inc.", "9cc8fc": "ARRIS Group, Inc.", "9cc950": "Baumer Holding", "9cc9eb": "NETGEAR", @@ -26227,6 +26603,7 @@ "9cd35b": "Samsung Electronics Co.,Ltd", "9cd36d": "NETGEAR", "9cd48b": "Innolux Technology Europe BV", + "9cd4a6": "PRIVATE LIMITED", "9cd57d": "Cisco Systems, Inc", "9cd643": "D-Link International", "9cd8e3": "Wuhan Huazhong Numerical Control Co., Ltd", @@ -26236,7 +26613,7 @@ "9cdb07": "Yellowtec GmbH", "9cdbaf": "HUAWEI TECHNOLOGIES CO.,LTD", "9cdbcb": "Wuhan Funshion Online Technologies Co.,Ltd", - "9cdc71": "Hewlett Packard Enterprise", + "9cdc71": "Hewlett Packard Enterprise – WW Corporate Headquarters", "9cdd1f": "Intelligent Steward Co.,Ltd", "9cde4d": "ML vision Co.,LTD", "9cdf03": "Harman/Becker Automotive Systems GmbH", @@ -26265,6 +26642,7 @@ "9cefd5": "Panda Wireless, Inc.", "9cf029": "Sdn. Bhd.", "9cf155": "Nokia", + "9cf1d4": "Roku, Inc", "9cf387": "Apple, Inc.", "9cf48e": "Apple, Inc.", "9cf531": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", @@ -26277,6 +26655,7 @@ "9cf8db": "shenzhen eyunmei technology co,.ltd", "9cf938": "AREVA NP GmbH", "9cfa3c": "Daeyoung Electronics", + "9cfa76": "Apple, Inc.", "9cfb77": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "9cfbd5": "vivo Mobile Communication Co., Ltd.", "9cfbf1": "MESOMATIC GmbH & Co.KG", @@ -26328,6 +26707,7 @@ "a020a6": "Espressif Inc.", "a0218b": "ACE Antenna Co., ltd", "a02195": "Samsung Electronics Co.,Ltd", + "a021aa": "China Mobile Group Device Co.,Ltd.", "a021b7": "NETGEAR", "a0224e": "IEEE Registration Authority", "a02252": "Astra Wireless Technology FZ-LLC", @@ -26384,6 +26764,7 @@ "a043db": "Sitael S.p.A.", "a0445c": "HUAWEI TECHNOLOGIES CO.,LTD", "a04466": "Intellics", + "a044b7": "Ltd.", "a044f3": "RafaelMicro", "a0465a": "Motorola Mobility LLC, a Lenovo Company", "a047d7": "Pvt Ltd", @@ -26400,6 +26781,7 @@ "a0510b": "Intel Corporate", "a051c6": "Avaya Inc", "a05272": "Apple, Inc.", + "a052ab": "AVM ELECTRONICS PTE LTD", "a05394": "Shenzhen zediel co., Ltd.", "a0551f": "Sagemcom Broadband SAS", "a0554f": "Cisco Systems, Inc", @@ -26451,7 +26833,9 @@ "a07771": "Vialis BV", "a0779e": "Corp.", "a07817": "Apple, Inc.", + "a0782d": "Apple, Inc.", "a078ba": "Pantech Co., Ltd.", + "a07d9c": "Samsung Electronics Co.,Ltd", "a07f8a": "Sagemcom Broadband SAS", "a08069": "Intel Corporate", "a0821f": "Samsung Electronics Co.,Ltd", @@ -26582,11 +26966,13 @@ "a0d86f": "ARGO AI, LLC", "a0da92": "Nanjing Glarun Atten Technology Co. Ltd.", "a0dc04": "Becker-Antriebe GmbH", + "a0dd6c": "Espressif Inc.", "a0dd97": "PolarLink Technologies, Ltd", "a0dde5": "SHARP Corporation", "a0de05": "JSC Irbis-T", "a0de0f": "Huawei Device Co., Ltd.", "a0df15": "HUAWEI TECHNOLOGIES CO.,LTD", + "a0e025": "Provision-ISR", "a0e0af": "Cisco Systems, Inc", "a0e25a": "Amicus SK, s.r.o.", "a0e295": "DAT System Co.,Ltd", @@ -26619,6 +27005,7 @@ "a0f895": "Shenzhen TINNO Mobile Technology Corp.", "a0f9b7": "Ademco Smart Homes Technology(Tianjin)Co.,Ltd.", "a0f9e0": "VIVATEL COMPANY LIMITED", + "a0fac8": "HUAWEI TECHNOLOGIES CO.,LTD", "a0fb83": "Honor Device Co., Ltd.", "a0fbc5": "Apple, Inc.", "a0fc6e": "Telegrafia a.s.", @@ -26683,6 +27070,7 @@ "a4251b": "Avaya Inc", "a42618": "Sdn. Bhd.", "a42655": "Co., Ltd.", + "a427a5": "Palo Alto Networks", "a428b7": "Yangtze Memory Technologies Co., Ltd.", "a42940": "Shenzhen YOUHUA Technology Co., Ltd", "a42983": "Boeing Defence Australia", @@ -26720,6 +27108,7 @@ "a43f51": "Shenzhen Benew Technology Co.,Ltd.", "a43f68": "Arista Network, Inc.", "a44027": "zte corporation", + "a4403d": "Shenzhen Baseus Technology Co., Ltd.", "a4423b": "Intel Corporate", "a4438c": "ARRIS Group, Inc.", "a444d1": "Wingtech Group (HongKong)Limited", @@ -26755,6 +27144,7 @@ "a45802": "SHIN-IL TECH", "a4580f": "IEEE Registration Authority", "a45a1c": "smart-electronic GmbH", + "a45c25": "Texas Instruments", "a45c27": "Nintendo Co., Ltd.", "a45d36": "Hewlett Packard", "a45d5e": "Wilk Elektronik S.A.", @@ -26810,6 +27200,7 @@ "a48431": "Samsung Electronics Co.,Ltd", "a4856b": "Q Electronics Ltd", "a486ae": "Quectel Wireless Solutions Co.,Ltd.", + "a486db": "Guangdong Juan Intelligent Technology Joint Stock Co., Ltd.", "a48873": "Cisco Systems, Inc", "a4895b": "ARK INFOSOLUTIONS PVT LTD", "a4897e": "Guangzhou Yuhong Technology Co.,Ltd.", @@ -26894,6 +27285,7 @@ "a4c337": "Apple, Inc.", "a4c361": "Apple, Inc.", "a4c3f0": "Intel Corporate", + "a4c40d": "WAC Lighting", "a4c494": "Intel Corporate", "a4c54e": "Huawei Device Co., Ltd.", "a4c64f": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -26981,6 +27373,7 @@ "a4fb8d": "Hangzhou Dunchong Technology Co.Ltd", "a4fc14": "Apple, Inc.", "a4fc77": "Mega Well Limited", + "a4fca1": "Nokia Solutions and Networks GmbH & Co. KG", "a4fcce": "Security Expert Ltd.", "a4ff95": "Nokia", "a800e3": "Starkey Labs Inc.", @@ -27032,6 +27425,7 @@ "a8301c": "Qingdao Intelligent&Precise Electronics Co.,Ltd.", "a830ad": "WEIFANG GOERTEK ELECTRONICS CO.,LTD", "a830bc": "Samsung Electronics Co.,Ltd", + "a83162": "Hangzhou Huacheng Network Technology Co.,Ltd", "a8329a": "Digicom Futuristic Technologies Ltd.", "a8346a": "Samsung Electronics Co.,Ltd", "a83512": "Huawei Device Co., Ltd.", @@ -27084,6 +27478,7 @@ "a85840": "Co.,Ltd.", "a8584e": "PK VEGA", "a8587c": "Shoogee GmbH & Co. KG", + "a8595f": "Intel Corporate", "a85ae0": "Huawei Device Co., Ltd.", "a85af3": "Shanghai Siflower Communication Technology Co., Ltd", "a85b36": "IEEE Registration Authority", @@ -27093,6 +27488,7 @@ "a85bb7": "Apple, Inc.", "a85bf3": "Audivo GmbH", "a85bf7": "Aruba, a Hewlett Packard Enterprise Company", + "a85c03": "Jiang Su Fulian Communication Technology Co., Ltd", "a85c2c": "Apple, Inc.", "a85e45": "ASUSTek COMPUTER INC.", "a85ee4": "12Sided Technology, LLC", @@ -27102,6 +27498,7 @@ "a861aa": "Cloudview Limited", "a861df": "China Mobile Group Device Co.,Ltd.", "a862a2": "JIWUMEDIA CO., LTD.", + "a86308": "AVUTEC", "a8637d": "D-Link International", "a863df": "DISPLAIRE CORPORATION", "a863f2": "Texas Instruments", @@ -27112,6 +27509,7 @@ "a8671e": "RATP", "a8698c": "Oracle Corporation ", "a86a6f": "RIM", + "a86a86": "Xiaomi Communications Co Ltd", "a86abb": "Sagemcom Broadband SAS", "a86ac1": "HanbitEDS Co., Ltd.", "a86b7c": "SHENZHEN FENGLIAN TECHNOLOGY CO., LTD.", @@ -27119,6 +27517,7 @@ "a86d5f": "Raisecom Technology CO., LTD", "a86daa": "Intel Corporate", "a86e4e": "Huawei Device Co., Ltd.", + "a86f36": "vivo Mobile Communication Co., Ltd.", "a8705d": "ARRIS Group, Inc.", "a870a5": "UniComm Inc.", "a87116": "Earda Technologies co Ltd", @@ -27169,6 +27568,7 @@ "a89352": "SHANGHAI ZHONGMI COMMUNICATION TECHNOLOGY CO.,LTD", "a893e6": "JIANGXI JINGGANGSHAN CKING COMMUNICATION TECHNOLOGY CO.,LTD", "a895b0": "Aker Subsea Ltd", + "a89609": "FN-LINK TECHNOLOGY Ltd.", "a89675": "Motorola Mobility LLC, a Lenovo Company", "a8968a": "Apple, Inc.", "a897cd": "ARRIS Group, Inc.", @@ -27204,6 +27604,7 @@ "a8b028": "CubePilot Pty Ltd", "a8b088": "eero inc.", "a8b0ae": "BizLink Special Cables Germany GmbH", + "a8b0d1": "Co., Ltd.", "a8b13b": "HP Inc.", "a8b1d4": "Cisco Systems, Inc", "a8b271": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -27215,10 +27616,11 @@ "a8b9b3": "ESSYS", "a8ba69": "Samsung Electronics Co.,Ltd", "a8bb50": "WiZ IoT Company Limited", + "a8bb56": "Apple, Inc.", "a8bbcf": "Apple, Inc.", "a8bc9c": "Cloud Light Technology Limited", "a8bd1a": "Limited", - "a8bd27": "Hewlett Packard Enterprise", + "a8bd27": "Hewlett Packard Enterprise – WW Corporate Headquarters", "a8bd3a": "UNION MAN TECHNOLOGY CO.,LTD", "a8be27": "Apple, Inc.", "a8bf3c": "HDV Phoelectron Technology Limited", @@ -27232,11 +27634,13 @@ "a8c83a": "HUAWEI TECHNOLOGIES CO.,LTD", "a8c87f": "Roqos, Inc.", "a8c98a": "New H3C Technologies Co., Ltd", + "a8ca77": "Amazon Technologies Inc.", "a8ca7b": "HUAWEI TECHNOLOGIES CO.,LTD", "a8cab9": "SAMSUNG ELECTRO MECHANICS CO., LTD.", "a8cb95": "EAST BEST CO., LTD.", "a8cc6f": "HMD Global Oy", "a8ce90": "CVC", + "a8cfe0": "GDN Enterprises Private Limited", "a8d081": "Huawei Device Co., Ltd.", "a8d0e3": "Systech Electronics Ltd", "a8d0e5": "Juniper Networks", @@ -27267,9 +27671,11 @@ "a8e81e": "ATW TECHNOLOGY, INC.", "a8e824": "INIM ELECTRONICS S.R.L.", "a8e978": "Huawei Device Co., Ltd.", + "a8ea71": "Fiberhome Telecommunication Technologies Co.,LTD", "a8ee6d": "Fine Point-High Export", "a8eec6": "Muuselabs NV/SA", "a8ef26": "Tritonwave", + "a8ef5f": "Realme Chongqing Mobile Telecommunications Corp.,Ltd.", "a8f038": "SHEN ZHEN SHI JIN HUA TAI ELECTRONICS CO.,LTD", "a8f1b2": "Allwinner Technology Co., Ltd", "a8f266": "Huawei Device Co., Ltd.", @@ -27307,6 +27713,7 @@ "ac0613": "Senselogix Ltd", "ac06c7": "ServerNet S.r.l.", "ac075f": "HUAWEI TECHNOLOGIES CO.,LTD", + "ac0775": "Apple, Inc.", "ac0a61": "Labor S.r.L.", "ac0bfb": "Espressif Inc.", "ac0dfe": "Ekon GmbH - myGEKKO", @@ -27317,6 +27724,7 @@ "ac139c": "Adtran Inc", "ac1461": "ATAW Co., Ltd.", "ac14d2": "wi-daq, inc.", + "ac1518": "Espressif Inc.", "ac1585": "silergy corp", "ac15a2": "TP-Link Corporation Limited", "ac15f4": "Apple, Inc.", @@ -27333,6 +27741,7 @@ "ac1ddf": "IEEE Registration Authority", "ac1e92": "Samsung Electronics Co.,Ltd", "ac1e9e": "Xiaomi Communications Co Ltd", + "ac1ea9": "Intelbras", "ac1ed0": "Temic Automotive Philippines Inc.", "ac1f09": "shenzhen RAKwireless technology Co.,Ltd", "ac1f0f": "Texas Instruments", @@ -27368,6 +27777,7 @@ "ac3743": "HTC Corporation", "ac37c9": "RAID Incorporated", "ac3870": "Lenovo Mobile Communication Technology Ltd.", + "ac3971": "Realme Chongqing Mobile Telecommunications Corp.,Ltd.", "ac3a67": "Cisco Systems, Inc", "ac3a7a": "Roku, Inc.", "ac3b77": "Sagemcom Broadband SAS", @@ -27457,6 +27867,7 @@ "ac712e": "Fortinet, Inc.", "ac7236": "Lexking Technology Co., Ltd.", "ac7289": "Intel Corporate", + "ac72dd": "GD Midea Air-Conditioning Equipment Co.,Ltd.", "ac7352": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "ac7409": "Hangzhou H3C Technologies Co., Limited", "ac74b1": "Intel Corporate", @@ -27474,11 +27885,13 @@ "ac7e01": "Huawei Device Co., Ltd.", "ac7e8a": "Cisco Systems, Inc", "ac7f3e": "Apple, Inc.", + "ac7f8d": "Extreme Networks Headquarters", "ac800a": "Sony Corporation", "ac80ae": "Fiberhome Telecommunication Technologies Co.,LTD", "ac80d6": "Hexatronic AB", "ac80fb": "Samsung Electronics Co.,Ltd", "ac8112": "Gemtek Technology Co., Ltd.", + "ac81b5": "Accton Technology Corporation", "ac81f3": "Nokia Corporation", "ac8226": "Qingdao Haier Technology Co.,Ltd", "ac8247": "Intel Corporate", @@ -27493,6 +27906,7 @@ "ac867e": "Limited Company", "ac86a3": "Apple, Inc.", "ac87a3": "Apple, Inc.", + "ac8866": "Shenzhen Skyworth Digital Technology CO., Ltd", "ac88fd": "Apple, Inc.", "ac8995": "AzureWave Technology Inc.", "ac89d2": "Ciena Corporation", @@ -27500,6 +27914,7 @@ "ac8b6a": "China Mobile IOT Company Limited", "ac8b9c": "Primera Technology, Inc.", "ac8ba9": "Ubiquiti Inc", + "ac8c46": "Beijing Xiaomi Mobile Software Co., Ltd", "ac8d14": "Smartrove Inc", "ac8d34": "HUAWEI TECHNOLOGIES CO.,LTD", "ac8fa9": "Nokia Solutions and Networks GmbH & Co. KG", @@ -27553,6 +27968,7 @@ "acb74f": "METEL s.r.o.", "acb859": "Uniband Electronic Corp,", "acb92f": "Hangzhou Hikvision Digital Technology Co.,Ltd.", + "acbac0": "Intertech Services AG", "acbb61": "YSTen Technology Co.,Ltd", "acbc32": "Apple, Inc.", "acbcb5": "Apple, Inc.", @@ -27587,6 +28003,7 @@ "accc8e": "Axis Communications AB", "acccfc": "Amazon Technologies Inc.", "acce8f": "HWA YAO TECHNOLOGIES CO., LTD", + "acce92": "New H3C Technologies Co., Ltd", "accf23": "Hi-flying electronics technology Co.,Ltd", "accf5c": "Apple, Inc.", "accf7b": "INGRAM MICRO SERVICES", @@ -27643,6 +28060,7 @@ "acf108": "LG Innotek", "acf1df": "D-Link International", "acf2c5": "Cisco Systems, Inc", + "acf42c": "Earda Technologies co Ltd", "acf5e6": "Cisco Systems, Inc", "acf7f3": "Xiaomi Communications Co Ltd", "acf85c": "Chengdu Higon Integrated Circuit Design Co,. Ltd.", @@ -27651,6 +28069,7 @@ "acf97e": "ELESYS INC.", "acfaa5": "digitron", "acfc82": "Shenzhen Sundray Technologies Company Limited", + "acfce3": "EM Microelectronic", "acfd93": "WEIFANG GOERTEK ELECTRONICS CO.,LTD", "acfdce": "Intel Corporate", "acfdec": "Apple, Inc.", @@ -27760,6 +28179,7 @@ "b05706": "Vallox Oy", "b058c4": "Broadcast Microwave Services, Inc", "b05947": "Shenzhen Qihu Intelligent Technology Company Limited", + "b05a44": "Fibocom Wireless Inc.", "b05ada": "Hewlett Packard", "b05b1f": "THERMO FISHER SCIENTIFIC S.P.A.", "b05b67": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -27831,6 +28251,7 @@ "b09122": "Texas Instruments", "b09134": "Taleo", "b09137": "ISis ImageStream Internet Solutions, Inc", + "b0924a": "Sagemcom Broadband SAS", "b0935b": "ARRIS Group, Inc.", "b09575": "TP-LINK TECHNOLOGIES CO.,LTD.", "b0958e": "TP-LINK TECHNOLOGIES CO.,LTD.", @@ -27846,6 +28267,8 @@ "b099d7": "Samsung Electronics Co.,Ltd", "b09ae2": "STEMMER IMAGING GmbH", "b09bd4": "GNH Software India Private Limited", + "b09c63": "Xiaomi Communications Co Ltd", + "b09e1b": "Butlr Technologies, Inc.", "b09fba": "Apple, Inc.", "b0a10a": "Pivotal Systems Corporation", "b0a2e7": "Shenzhen TINNO Mobile Technology Corp.", @@ -27860,6 +28283,7 @@ "b0a732": "Espressif Inc.", "b0a737": "Roku, Inc.", "b0a7b9": "TP-Link Corporation Limited", + "b0a7d2": "Fiberhome Telecommunication Technologies Co.,LTD", "b0a86e": "Juniper Networks", "b0aa36": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "b0aa77": "Cisco Systems, Inc", @@ -27876,11 +28300,12 @@ "b0b2dc": "Zyxel Communications Corporation", "b0b32b": "Slican Sp. z o.o.", "b0b353": "IEEE Registration Authority", + "b0b369": "Shenzhen SDMC Technology CO.,Ltd.", "b0b3ad": "HUMAX Co., Ltd.", "b0b448": "Texas Instruments", "b0b5c3": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "b0b5e8": "Ruroc LTD", - "b0b867": "Hewlett Packard Enterprise", + "b0b867": "Hewlett Packard Enterprise – WW Corporate Headquarters", "b0b8d5": "Nanjing Nengrui Auto Equipment CO.,Ltd", "b0b98a": "NETGEAR", "b0bb8b": "WAVETEL TECHNOLOGY LIMITED", @@ -27898,6 +28323,7 @@ "b0c205": "BIONIME", "b0c287": "Vantiva USA LLC", "b0c387": "GOEFER, Inc.", + "b0c38e": "Huawei Device Co., Ltd.", "b0c46c": "Senseit", "b0c4e7": "Samsung Electronics Co.,Ltd", "b0c53c": "Cisco Systems, Inc", @@ -27923,6 +28349,7 @@ "b0d278": "Texas Instruments", "b0d2f5": "Vello Systems, Inc.", "b0d568": "Shenzhen Cultraview Digital Technology Co., Ltd", + "b0d576": "Apple, Inc.", "b0d59d": "Shenzhen Zowee Technology Co., Ltd", "b0d5cc": "Texas Instruments", "b0d7c5": "Logipix Ltd", @@ -28037,6 +28464,7 @@ "b4293d": "Shenzhen Urovo Technology Co.,Ltd.", "b42a0e": "Vantiva USA LLC", "b42a39": "ORBIT MERRET, spol. s r. o.", + "b42bb9": "HUAWEI TECHNOLOGIES CO.,LTD", "b42c92": "Zhejiang Weirong Electronic Co., Ltd", "b42cbe": "Direct Payment Solutions Limited", "b42d56": "Extreme Networks Headquarters", @@ -28050,7 +28478,7 @@ "b43522": "Silicon Laboratories", "b43564": "Fujian Tian Cheng Electron Science & Technical Development Co.,Ltd.", "b435f7": "Zhejiang Pearmain Electronics Co.ltd.", - "b436a9": "Fibocom Wireless Inc. ", + "b436a9": "Fibocom Wireless Inc.", "b436d1": "Sdn. Bhd.", "b436e3": "KBVISION GROUP", "b43741": "Consert, Inc.", @@ -28077,6 +28505,7 @@ "b44bd2": "Apple, Inc.", "b44bd6": "IEEE Registration Authority", "b44c3b": "Zhejiang Dahua Technology Co., Ltd.", + "b44c90": "Cisco Systems, Inc", "b44cc2": "NR ELECTRIC CO., LTD", "b44d43": "IEEE Registration Authority", "b44f96": "Zhejiang Xinzailing Technology co., ltd", @@ -28103,6 +28532,7 @@ "b46142": "HUAWEI TECHNOLOGIES CO.,LTD", "b461e9": "Sichuan AI-Link Technology Co., Ltd.", "b461ff": "Lumigon A/S", + "b4622e": "Zhong Ge Smart Technology Co., Ltd.", "b46238": "Exablox", "b46293": "Samsung Electronics Co.,Ltd", "b462ad": "Elysia Germany GmbH", @@ -28128,7 +28558,7 @@ "b47748": "Shenzhen Neoway Technology Co.,Ltd.", "b47947": "Nutanix", "b479c8": "Ruckus Wireless", - "b47af1": "Hewlett Packard Enterprise", + "b47af1": "Hewlett Packard Enterprise – WW Corporate Headquarters", "b47c29": "Shenzhen Guzidi Technology Co.,Ltd", "b47c59": "Jiangsu Hengxin Technology Co.,Ltd.", "b47c9c": "Amazon Technologies Inc.", @@ -28151,6 +28581,7 @@ "b48a5f": "Juniper Networks", "b48b19": "Apple, Inc.", "b48c9d": "AzureWave Technology Inc.", + "b492fe": "Arista Network, Inc.", "b4944e": "WeTelecom Co., Ltd.", "b49691": "Intel Corporate", "b49842": "zte corporation", @@ -28171,6 +28602,7 @@ "b4a2eb": "IEEE Registration Authority", "b4a305": "XIAMEN YAXON NETWORK CO., LTD.", "b4a382": "Hangzhou Hikvision Digital Technology Co.,Ltd.", + "b4a3bd": "Extreme Networks Headquarters", "b4a4b5": "Zen Eye Co.,Ltd", "b4a4e3": "Cisco Systems, Inc", "b4a5a9": "MODI GmbH", @@ -28319,6 +28751,7 @@ "b808d7": "HUAWEI TECHNOLOGIES CO.,LTD", "b8098a": "Apple, Inc.", "b80b9d": "ROPEX Industrie-Elektronik GmbH", + "b80bda": "GD Midea Air-Conditioning Equipment Co.,Ltd.", "b810d4": "Masimo Corporation", "b8114b": "Cisco Systems, Inc", "b812da": "LVSWITCHES INC.", @@ -28373,6 +28806,7 @@ "b83a5a": "Aruba, a Hewlett Packard Enterprise Company", "b83a7b": "Inc.", "b83a9d": "Alarm.com", + "b83bab": "Arcadyan Corporation", "b83bcc": "Xiaomi Communications Co Ltd", "b83c28": "Apple, Inc.", "b83d4e": "Shenzhen Cultraview Digital Technology Co.,Ltd Shanghai Branch", @@ -28410,6 +28844,7 @@ "b85a73": "Samsung Electronics Co.,Ltd", "b85af7": "Ouya, Inc", "b85afe": "Co., Ltd", + "b85c5c": "Microsoft Corporation", "b85cee": "Co., Ltd", "b85d0a": "Apple, Inc.", "b85dc3": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -28433,7 +28868,7 @@ "b86a97": "Edgecore Networks Corporation", "b86af1": "Sagemcom Broadband SAS", "b86b23": "Toshiba", - "b86ce0": "Hewlett Packard Enterprise", + "b86ce0": "Hewlett Packard Enterprise – WW Corporate Headquarters", "b86ce8": "Samsung Electronics Co.,Ltd", "b870f4": "CO., LTD. ", "b87424": "Viessmann Elektronik GmbH", @@ -28451,18 +28886,19 @@ "b87c6f": "Management Ltd.", "b87cd0": "Huawei Device Co., Ltd.", "b87cf2": "Extreme Networks Headquarters", + "b87e39": "Motorola Mobility LLC, a Lenovo Company", "b87e40": "Huawei Device Co., Ltd.", "b87ee5": "Intelbras", "b88035": "Shenzhen Qihu Intelligent Technology Company Limited", "b8804f": "Texas Instruments", "b88198": "Intel Corporate", "b881fa": "Apple, Inc.", - "b88303": "Hewlett Packard Enterprise", + "b88303": "Hewlett Packard Enterprise – WW Corporate Headquarters", "b8857b": "HUAWEI TECHNOLOGIES CO.,LTD", "b88584": "Dell Inc.", "b88687": "Liteon Technology Corporation", "b8871e": "Good Mind Industries Co., Ltd.", - "b8876e": "Yandex Services AG", + "b8876e": "Intertech Services AG", "b887a8": "Step Ahead Innovations Inc.", "b887c6": "Prudential Technology co.,LTD", "b888e3": "CO., LTD. ", @@ -28574,7 +29010,7 @@ "b8cda7": "Maxeler Technologies Ltd.", "b8cef6": "Mellanox Technologies, Inc.", "b8d06f": "GUANGZHOU HKUST FOK YING TUNG RESEARCH INSTITUTE", - "b8d0f0": "FCNT LMITED", + "b8d0f0": "FCNT LLC", "b8d309": "Cox Communications, Inc", "b8d43e": "vivo Mobile Communication Co., Ltd.", "b8d49d": "M Seven System Ltd.", @@ -28593,10 +29029,12 @@ "b8daf1": "Strahlenschutz- Entwicklungs- und Ausruestungsgesellschaft mbH", "b8daf7": "Advanced Photonics, Inc.", "b8db1c": "Sdn. Bhd.", + "b8db38": "Google, Inc.", "b8dc87": "IAI Corporation", "b8dd71": "zte corporation", "b8de5e": "LONGCHEER TELECOMMUNICATION LIMITED", "b8df6b": "SpotCam Co., Ltd.", + "b8e28c": "MOTOROLA SOLUTIONS MALAYSIA SDN. BHD.", "b8e3b1": "HUAWEI TECHNOLOGIES CO.,LTD", "b8e3ee": "Universal Electronics, Inc.", "b8e589": "Payter BV", @@ -28626,6 +29064,7 @@ "b8f6b1": "Apple, Inc.", "b8f732": "Aryaka Networks Inc", "b8f74a": "RCNTEC", + "b8f774": "Fiberhome Telecommunication Technologies Co.,LTD", "b8f828": "Changshu Gaoshida Optoelectronic Technology Co. Ltd.", "b8f853": "Arcadyan Corporation", "b8f883": "TP-LINK TECHNOLOGIES CO.,LTD.", @@ -28639,6 +29078,7 @@ "b8ff6f": "Shanghai Typrotech Technology Co.Ltd", "b8ffb3": "MitraStar Technology Corp.", "b8fffe": "Texas Instruments", + "bc0004": "Fiberhome Telecommunication Technologies Co.,LTD", "bc0200": "Stewart Audio", "bc024a": "HMD Global Oy", "bc026e": "Silicon Laboratories", @@ -28646,6 +29086,7 @@ "bc03a7": "MFP MICHELIN", "bc0543": "AVM GmbH", "bc062d": "Wacom Co.,Ltd.", + "bc0866": "Nestle Purina PetCare", "bc091b": "Intel Corporate", "bc0963": "Apple, Inc.", "bc09eb": "TECNO MOBILE LIMITED", @@ -28655,6 +29096,7 @@ "bc0f64": "Intel Corporate", "bc0f9a": "D-Link International", "bc0fa7": "Ouster", + "bc0fb7": "sywinkey HongKong Co,. Limited?", "bc0ff3": "HP Inc.", "bc0ffe": "Juniper Networks", "bc102f": "SJI Industry Company", @@ -28715,6 +29157,7 @@ "bc33ac": "Silicon Laboratories", "bc3400": "IEEE Registration Authority", "bc35e5": "Hydro Systems Company", + "bc37d3": "Apple, Inc.", "bc3865": "JWCNETWORKS", "bc38d2": "Pandachip Limited", "bc39a6": "CSUN System Technology Co.,LTD", @@ -28725,7 +29168,7 @@ "bc3e07": "Hitron Technologies. Inc", "bc3e13": "Accordance Systems Inc.", "bc3ecb": "vivo Mobile Communication Co., Ltd.", - "bc3f4e": "Teleepoch Ltd", + "bc3f4e": "Great Talent Technology Limited", "bc3f8f": "HUAWEI TECHNOLOGIES CO.,LTD", "bc4100": "CODACO ELECTRONIC s.r.o.", "bc4101": "Shenzhen TINNO Mobile Technology Corp.", @@ -28772,8 +29215,9 @@ "bc60a7": "Sony Interactive Entertainment Inc.", "bc6193": "Xiaomi Communications Co Ltd", "bc620e": "HUAWEI TECHNOLOGIES CO.,LTD", + "bc629c": "zte corporation", "bc629f": "Telenet Systems P. Ltd.", - "bc62ce": "SHENZHEN NETIS TECHNOLOGY CO.,LTD", + "bc62ce": "Netis Technology Co., Ltd.", "bc62d2": "Genexis International B.V.", "bc644b": "ARRIS Group, Inc.", "bc64d9": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", @@ -28799,6 +29243,7 @@ "bc71c1": "XTrillion, Inc.", "bc72b1": "Samsung Electronics Co.,Ltd", "bc73a4": "ANDA TELECOM PVT LTD", + "bc744b": "Nintendo Co.,Ltd", "bc74d7": "HangZhou JuRu Technology CO.,LTD", "bc7536": "ALPSALPINE CO,.LTD", "bc7574": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -28862,6 +29307,7 @@ "bc9fe4": "Aruba, a Hewlett Packard Enterprise Company", "bc9fef": "Apple, Inc.", "bca042": "SHANGHAI FLYCO ELECTRICAL APPLIANCE CO.,LTD", + "bca080": "Samsung Electronics Co.,Ltd", "bca13a": "SES-imagotag", "bca37f": "Rail-Mil Sp. z o.o. Sp. K.", "bca4e1": "Nabto", @@ -28892,6 +29338,7 @@ "bcb923": "Alta Networks", "bcbac2": "Hangzhou Hikvision Digital Technology Co.,Ltd.", "bcbae1": "AREC Inc.", + "bcbb58": "Apple, Inc.", "bcbbc9": "Kellendonk Elektronik GmbH", "bcbc46": "SKS Welding Systems GmbH", "bcbd84": "zte corporation", @@ -28931,7 +29378,7 @@ "bcdb09": "Cisco Meraki", "bcddc2": "Espressif Inc.", "bcdf58": "Google, Inc.", - "bce001": "SHENZHEN NETIS TECHNOLOGY CO.,LTD", + "bce001": "Netis Technology Co., Ltd.", "bce09d": "Eoslink", "bce143": "Apple, Inc.", "bce265": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -28945,6 +29392,7 @@ "bce92f": "HP Inc.", "bce9e2": "Brocade Communications Systems LLC", "bcea2b": "CityCom GmbH", + "bcea9c": "ITEL MOBILE LIMITED", "bceafa": "Hewlett Packard", "bceb5f": "Fujian Beifeng Telecom Technology Co., Ltd.", "bcec23": "SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD", @@ -29028,6 +29476,7 @@ "c02e26": "iRhythm Technologies, Inc.", "c02ff1": "Volta Networks", "c0335e": "Microsoft", + "c03379": "HUAWEI TECHNOLOGIES CO.,LTD", "c033da": "Shenzhen JRUN Technologies CO., LTD", "c034b4": "Gigastone Corporation", "c03532": "Liteon Technology Corporation", @@ -29051,6 +29500,7 @@ "c03eba": "Dell Inc.", "c03f0e": "NETGEAR", "c03f2a": "Biscotti, Inc.", + "c03fbb": "Zhongshan Zhiniu Electronics Co.,Ltd.", "c03fd5": "Elitegroup Computer Systems Co.,Ltd.", "c03fdd": "HUAWEI TECHNOLOGIES CO.,LTD", "c04004": "Medicaroid Corporation", @@ -29077,6 +29527,7 @@ "c0515c": "zte corporation", "c0517e": "Hangzhou Hikvision Digital Technology Co.,Ltd.", "c05336": "Beijing National Railway Research & Design Institute of Signal & Communication Group Co..Ltd.", + "c0555c": "Impulse Labs", "c05627": "Belkin International Inc.", "c056e3": "Hangzhou Hikvision Digital Technology Co.,Ltd.", "c057bc": "Avaya Inc", @@ -29091,6 +29542,7 @@ "c0619a": "IEEE Registration Authority", "c0626b": "Cisco Systems, Inc", "c06369": "LTD.", + "c06380": "Texas Instruments", "c06394": "Apple, Inc.", "c064c6": "Nokia Corporation", "c064e4": "Cisco Systems, Inc", @@ -29103,6 +29555,7 @@ "c06c6d": "MagneMotion, Inc.", "c06d1a": "Tianjin Henxinhuifeng Technology Co.,Ltd.", "c06ded": "Hangzhou Hikvision Digital Technology Co.,Ltd.", + "c06f98": "eero inc.", "c07009": "HUAWEI TECHNOLOGIES CO.,LTD", "c071aa": "ShenZhen OnMicro Electronics Co.,Ltd.", "c0742b": "SHENZHEN XUNLONG SOFTWARE CO.,LIMITED", @@ -29154,6 +29607,7 @@ "c098e5": "University of Michigan", "c09a71": "XIAMEN MEITU MOBILE TECHNOLOGY CO.LTD", "c09ad0": "Apple, Inc.", + "c09b63": "HUAWEI TECHNOLOGIES CO.,LTD", "c09bf4": "IEEE Registration Authority", "c09c04": "Shaanxi GuoLian Digital TV Technology Co.,Ltd.", "c09c92": "COBY", @@ -29172,6 +29626,7 @@ "c0a364": "3D Systems Massachusetts", "c0a36e": "SKY UK LIMITED", "c0a39e": "EarthCam, Inc.", + "c0a476": "Ruijie Networks Co.,LTD", "c0a53e": "Apple, Inc.", "c0a5dd": "SHENZHEN MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD.", "c0a5e8": "Intel Corporate", @@ -29180,6 +29635,7 @@ "c0a8f0": "Adamson Systems Engineering", "c0a938": "HUAWEI TECHNOLOGIES CO.,LTD", "c0aa68": "OSASI Technos Inc.", + "c0ab2b": "Huawei Device Co., Ltd.", "c0ac54": "Sagemcom Broadband SAS", "c0ad97": "TECNO MOBILE LIMITED", "c0aefd": "Shenzhen HC-WLAN Technology Co.,Ltd", @@ -29253,6 +29709,7 @@ "c0e42d": "TP-LINK TECHNOLOGIES CO.,LTD.", "c0e434": "AzureWave Technology Inc.", "c0e54e": "ARIES Embedded GmbH", + "c0e5da": "Qingdao Intelligent&Precise Electronics Co.,Ltd.", "c0e7bf": "Sichuan AI-Link Technology Co., Ltd.", "c0e862": "Apple, Inc.", "c0e911": "RealNetworks", @@ -29298,6 +29755,7 @@ "c40683": "HUAWEI TECHNOLOGIES CO.,LTD", "c4072f": "HUAWEI TECHNOLOGIES CO.,LTD", "c40778": "New H3C Technologies Co., Ltd", + "c40826": "HISENSE VISUAL TECHNOLOGY CO.,LTD", "c4084a": "Nokia", "c40880": "Shenzhen UTEPO Tech Co., Ltd.", "c40938": "FUJIAN STAR-NET COMMUNICATION CO.,LTD", @@ -29373,6 +29831,7 @@ "c43cea": "BUFFALO.INC", "c43d1a": "Intel Corporate", "c43dc7": "NETGEAR", + "c43eab": "Huawei Device Co., Ltd.", "c44044": "RackTop Systems Inc.", "c440f6": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "c4411e": "Belkin International Inc.", @@ -29383,6 +29842,7 @@ "c444a0": "Cisco Systems, Inc", "c44567": "SAMBON PRECISON and ELECTRONICS", "c445ec": "Shanghai Yali Electron Co.,LTD", + "c44606": "Cisco Systems, Inc", "c44619": "Hon Hai Precision Ind. Co.,Ltd.", "c4473f": "HUAWEI TECHNOLOGIES CO.,LTD", "c44838": "Satcom Direct, Inc.", @@ -29410,6 +29870,7 @@ "c4571f": "June Life Inc", "c4576e": "Samsung Electronics Co.,Ltd", "c45781": "Limited", + "c457cd": "HUAWEI TECHNOLOGIES CO.,LTD", "c458c2": "Shenzhen TATFOOK Technology Co., Ltd.", "c45976": "Fugoo Coorporation", "c45a86": "Huawei Device Co., Ltd.", @@ -29521,6 +29982,7 @@ "c4a1ae": "Huawei Device Co., Ltd.", "c4a366": "zte corporation", "c4a402": "HUAWEI TECHNOLOGIES CO.,LTD", + "c4a451": "TECNO MOBILE LIMITED", "c4a559": "IEEE Registration Authority", "c4a64e": "Quectel Wireless Solutions Co.,Ltd.", "c4a72b": "SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD", @@ -29537,6 +29999,7 @@ "c4adf1": "GOPEACE Inc.", "c4ae12": "Samsung Electronics Co.,Ltd", "c4b239": "Cisco Systems, Inc", + "c4b25b": "Ruijie Networks Co.,LTD", "c4b301": "Apple, Inc.", "c4b36a": "Cisco Systems, Inc", "c4b512": "General Electric Digital Energy", @@ -29548,6 +30011,7 @@ "c4bbea": "Pakedge Device and Software Inc", "c4bcd7": "New Ryatek", "c4bd6a": "SKF GmbH", + "c4bd8d": "SHENZHEN CHUANGWEI-RGB ELECTRONICS CO.,LTD", "c4bde5": "Intel Corporate", "c4be84": "Texas Instruments", "c4bed4": "Avaya Inc", @@ -29559,6 +30023,7 @@ "c4c36b": "Apple, Inc.", "c4c563": "TECNO MOBILE LIMITED", "c4c603": "Cisco Systems, Inc", + "c4c6e6": "Electronics Technology co., ltd", "c4c755": "Beijing HuaqinWorld Technology Co.,Ltd", "c4c919": "Energy Imports Ltd", "c4c9ec": "Gugaoo HK Limited", @@ -29580,6 +30045,7 @@ "c4d666": "Cisco Meraki", "c4d738": "Huawei Device Co., Ltd.", "c4d7fd": "Co., Ltd.", + "c4d8d5": "Espressif Inc.", "c4d8f3": "iZotope", "c4d987": "Intel Corporate", "c4da26": "NOBLEX SA", @@ -29600,6 +30066,7 @@ "c4e532": "Arcadyan Corporation", "c4e5b1": "Suzhou PanKore Integrated Circuit Technology Co. Ltd.", "c4e733": "Clear Align LLC", + "c4e7ae": "Chengdu Meross Technology Co., Ltd.", "c4e7be": "SCSpro Co.,Ltd", "c4e90a": "D-Link International", "c4e92f": "AB Sciex", @@ -29658,6 +30125,7 @@ "c80e14": "AVM Audiovisuelles Marketing und Computersysteme GmbH", "c80e77": "Limited", "c80e95": "OmniLync Inc.", + "c81072": "BBPOS Limited", "c81073": "CENTURY OPTICOMM CO.,LTD", "c8120b": "Samsung Electronics Co.,Ltd", "c81337": "Juniper Networks", @@ -29810,6 +30278,7 @@ "c889f3": "Apple, Inc.", "c88a83": "Dongguan HuaHong Electronics Co.,Ltd", "c88a9a": "Intel Corporate", + "c88ad8": "CHINA DRAGON TECHNOLOGY LIMITED", "c88b47": "Nolangroup S.P.A con Socio Unico", "c88be8": "Masimo Corporation", "c88d83": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -29845,6 +30314,7 @@ "c8a030": "Texas Instruments", "c8a1b6": "Shenzhen Longway Technologies Co., Ltd", "c8a1ba": "Neul Ltd", + "c8a23b": "Shenzhen Sundray Technologies Company Limited", "c8a2ce": "Oasis Media Systems LLC", "c8a362": "ASIX Electronics Corporation", "c8a3e8": "CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.", @@ -29869,7 +30339,7 @@ "c8b29b": "Intel Corporate", "c8b373": "Cisco-Linksys, LLC", "c8b422": "ASKEY COMPUTER CORP", - "c8b5ad": "Hewlett Packard Enterprise", + "c8b5ad": "Hewlett Packard Enterprise – WW Corporate Headquarters", "c8b5b7": "Apple, Inc.", "c8b6d3": "HUAWEI TECHNOLOGIES CO.,LTD", "c8b6fe": "Fitbit, Inc.", @@ -29903,12 +30373,14 @@ "c8cb9e": "Intel Corporate", "c8cbb8": "Hewlett Packard", "c8ccb5": "Hunter Douglas", + "c8cd55": "Ruijie Networks Co.,LTD", "c8cd72": "Sagemcom Broadband SAS", "c8d019": "Shanghai Tigercel Communication Technology Co.,Ltd", "c8d083": "Apple, Inc.", "c8d10b": "Nokia Corporation", "c8d12a": "Comtrend Corporation", "c8d15e": "HUAWEI TECHNOLOGIES CO.,LTD", + "c8d1a9": "HUAWEI TECHNOLOGIES CO.,LTD", "c8d1d1": "AGAiT Technology Corporation", "c8d2c1": "Corporation", "c8d3a3": "D-Link International", @@ -30025,6 +30497,7 @@ "cc242e": "Shenzhen SuperElectron Technology Co.,Ltd.", "cc25ef": "Apple, Inc.", "cc262d": "Verifi, LLC", + "cc28aa": "ASUSTek COMPUTER INC.", "cc29bd": "zte corporation", "cc29f5": "Apple, Inc.", "cc2a80": "Micro-Biz intelligence solutions Co.,Ltd", @@ -30069,6 +30542,7 @@ "cc418e": "MSA Innovation", "cc4210": "Xiaomi Communications Co Ltd", "cc43e3": "Trump s.a.", + "cc4460": "Huawei Device Co., Ltd.", "cc4463": "Apple, Inc.", "cc45a5": "Texas Instruments", "cc4639": "WAAV, Inc.", @@ -30116,6 +30590,7 @@ "cc60c8": "Microsoft Corporation", "cc61e5": "Motorola Mobility LLC, a Lenovo Company", "cc62fe": "UNION MAN TECHNOLOGY CO.,LTD", + "cc641a": "SHENZHEN BILIAN ELECTRONIC CO.,LTD", "cc64a6": "HUAWEI TECHNOLOGIES CO.,LTD", "cc65ad": "ARRIS Group, Inc.", "cc660a": "Apple, Inc.", @@ -30126,6 +30601,7 @@ "cc69b0": "Global Traffic Technologies, LLC", "cc69fa": "Apple, Inc.", "cc6a10": "The Chamberlain Group, Inc", + "cc6a33": "Cisco Systems, Inc", "cc6b1e": "CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.", "cc6b98": "Minetec Wireless Technologies", "cc6bf1": "Sound Masking Inc.", @@ -30148,6 +30624,7 @@ "cc79d7": "Cisco Systems, Inc", "cc7a30": "CMAX Wireless Co., Ltd.", "cc7b35": "zte corporation", + "cc7b5c": "Espressif Inc.", "cc7b61": "NIKKISO CO., LTD.", "cc7d37": "ARRIS Group, Inc.", "cc7d5b": "Co., Ltd.", @@ -30166,9 +30643,11 @@ "cc895e": "HUAWEI TECHNOLOGIES CO.,LTD", "cc896c": "GN Hearing A/S", "cc89fd": "Nokia Corporation", + "cc8c17": "ITEL MOBILE LIMITED", "cc8cbf": "Tuya Smart Inc.", "cc8cda": "Shenzhen Wei Da Intelligent Technology Go.,Ltd", "cc8ce3": "Texas Instruments", + "cc8da2": "Espressif Inc.", "cc8db5": "Shenzhen SuperElectron Technology Co.,Ltd.", "cc8e71": "Cisco Systems, Inc", "cc9070": "Cisco Systems, Inc", @@ -30285,6 +30764,7 @@ "cce194": "Juniper Networks", "cce1d5": "BUFFALO.INC", "cce236": "Hangzhou Yaguan Technology Co. LTD", + "cce536": "ittim", "cce686": "Samsung Electronics Co.,Ltd", "cce798": "My Social Stuff", "cce7df": "American Magnetics, Inc.", @@ -30337,12 +30817,14 @@ "d00790": "Texas Instruments", "d007ca": "Juniper Networks", "d009c8": "Cisco Systems, Inc", + "d009f5": "Hosiden Corporation", "d00aab": "Yokogawa Digital Computer Corporation", "d00b27": "Murata Manufacturing Co., Ltd.", "d00df7": "Huawei Device Co., Ltd.", "d00ea4": "Porsche Cars North America", "d00ed9": "Taicang T&W Electronics", "d00f6d": "T&W Electronics Company", + "d011e5": "Apple, Inc.", "d01242": "BIOS Corporation", "d01255": "Hui Zhou Gaoshengda Technology Co.,LTD", "d012cb": "AVM Audiovisuelles Marketing und Computersysteme GmbH", @@ -30393,6 +30875,7 @@ "d03c1f": "Intel Corporate", "d03d52": "Ava Security Limited", "d03dc3": "AQ Corporation", + "d03e07": "Apple, Inc.", "d03e5c": "HUAWEI TECHNOLOGIES CO.,LTD", "d03e7d": "CORP.", "d03f27": "Wyze Labs Inc", @@ -30402,6 +30885,7 @@ "d041c9": "Fiberhome Telecommunication Technologies Co.,LTD", "d0431e": "Dell Inc.", "d04433": "Clourney Semiconductor", + "d0460c": "Dell Inc.", "d046dc": "Southwest Research Institute", "d047c1": "Elma Electronic AG", "d0484f": "Nokia Solutions and Networks GmbH & Co. KG", @@ -30415,6 +30899,7 @@ "d04e99": "HUAWEI TECHNOLOGIES CO.,LTD", "d04f58": "Ruckus Wireless", "d04f7e": "Apple, Inc.", + "d04fab": "Co., Ltd.", "d05099": "ASRock Incorporation", "d05157": "LEAX Arkivator Telecom", "d05162": "Sony Corporation", @@ -30433,6 +30918,7 @@ "d05875": "Active Control Technology Inc.", "d058a5": "Apple, Inc.", "d058a8": "zte corporation", + "d058ab": "Mara Tech LLC", "d058c0": "Qingdao Haier Multimedia Limited. ", "d058fc": "SKY UK LIMITED", "d05919": "zte corporation", @@ -30460,7 +30946,7 @@ "d065ca": "HUAWEI TECHNOLOGIES CO.,LTD", "d0666d": "Shenzhen Bus-Lan Technology Co., Ltd.", "d0667b": "Samsung Electronics Co.,Ltd", - "d06726": "Hewlett Packard Enterprise", + "d06726": "Hewlett Packard Enterprise – WW Corporate Headquarters", "d067e5": "Dell Inc.", "d0699e": "LUMINEX Lighting Control Equipment", "d069d0": "Verto Medical Solutions, LLC", @@ -30473,9 +30959,11 @@ "d071c4": "zte corporation", "d072dc": "Cisco Systems, Inc", "d0737f": "Mini-Circuits", + "d07380": "Huawei Device Co., Ltd.", "d0738e": "DONG OH PRECISION CO., LTD. ", "d073d5": "LIFI LABS MANAGEMENT PTY LTD", "d075be": "Reno A&E", + "d07602": "Hui Zhou Gaoshengda Technology Co.,LTD", "d07650": "IEEE Registration Authority", "d0768f": "Calix Inc.", "d076e7": "TP-LINK TECHNOLOGIES CO.,LTD.", @@ -30528,6 +31016,7 @@ "d09d0a": "LINKCOM", "d09dab": "TCT mobile ltd", "d09fd9": "IEEE Registration Authority", + "d0a011": "IEEE Registration Authority", "d0a0bb": "Shenzhen iComm Semiconductor CO.,LTD", "d0a0d6": "ChengDu TD Tech", "d0a311": "Neuberger Gebäudeautomation GmbH", @@ -30545,6 +31034,7 @@ "d0b214": "PoeWit Inc", "d0b2c4": "Vantiva USA LLC", "d0b33f": "Shenzhen TINNO Mobile Technology Corp.", + "d0b3c2": "Meta Platforms Technologies, LLC", "d0b45d": "Huawei Device Co., Ltd.", "d0b498": "Robert Bosch LLC Automotive Electronics", "d0b523": "Bestcare Cloucal Corp.", @@ -30578,6 +31068,7 @@ "d0c7c0": "TP-LINK TECHNOLOGIES CO.,LTD.", "d0c857": "IEEE Registration Authority", "d0c901": "GLA ELECTRONICS PVT LTD", + "d0c907": "Private", "d0cde1": "Scientech Electronics", "d0cec9": "HAN CHANG", "d0cf0e": "Sagemcom Broadband SAS", @@ -30619,6 +31110,7 @@ "d0eb9e": "Seowoo Inc.", "d0ec35": "Cisco Systems, Inc", "d0edff": "ZF CVCS", + "d0ef76": "Espressif Inc.", "d0efc1": "HUAWEI TECHNOLOGIES CO.,LTD", "d0f0db": "Ericsson", "d0f121": "Xi'an LINKSCI Technology Co., Ltd", @@ -30643,6 +31135,7 @@ "d40129": "Broadcom", "d40145": "ATW TECHNOLOGY, INC.", "d4016d": "TP-LINK TECHNOLOGIES CO.,LTD.", + "d401c3": "Routerboard.com", "d4024a": "Delphian Systems LLC", "d404cd": "ARRIS Group, Inc.", "d404e6": "Broadcom Limited", @@ -30663,7 +31156,9 @@ "d41296": "Anobit Technologies Ltd.", "d412bb": "Quadrant Components Inc. Ltd", "d4136f": "Asia Pacific Brands", + "d413b3": "Wu Qi Technologies,Inc.", "d413f8": "Peplink International Ltd.", + "d41761": "Xiaomi Communications Co Ltd", "d419f6": "LTD.", "d41a3f": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "d41ac8": "Nippon Printer Engineering", @@ -30732,12 +31227,14 @@ "d446e1": "Apple, Inc.", "d4475a": "ScreenBeam, Inc.", "d4482d": "Shenzhen Deejoy Lighting Technology Co.,Ltd.", + "d44867": "Silicon Laboratories", "d44b5e": "TAIYO YUDEN CO., LTD.", "d44bb6": "Zhejiang Tmall Technology Co., Ltd.", "d44c24": "Vuppalamritha Magnetic Components LTD", "d44c9c": "Shenzhen YOOBAO Technology Co.Ltd", "d44ca7": "Informtekhnika & Communication, LLC", "d44d77": "Nokia", + "d44d9f": "Shenzhen Skyworth Digital Technology CO., Ltd", "d44da4": "Murata Manufacturing Co., Ltd.", "d44f67": "HUAWEI TECHNOLOGIES CO.,LTD", "d44f68": "Eidetic Communications Inc", @@ -30824,6 +31321,7 @@ "d47c44": "IEEE Registration Authority", "d47dfc": "TECNO MOBILE LIMITED", "d47ee4": "China Mobile IOT Company Limited", + "d47f35": "Cisco Systems, Inc", "d47f78": "Dopple B.V.", "d481ca": "iDevices, LLC", "d481d7": "Dell Inc.", @@ -30833,6 +31331,7 @@ "d48457": "GD Midea Air-Conditioning Equipment Co.,Ltd.", "d48564": "Hewlett Packard", "d48660": "Arcadyan Corporation", + "d487cc": "Sivantos GmbH", "d487d8": "Samsung Electronics Co.,Ltd", "d4883f": "HDPRO CO., LTD.", "d48866": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -30841,6 +31340,7 @@ "d48a3b": "HUNAN FN-LINK TECHNOLOGY LIMITED", "d48afc": "Espressif Inc.", "d48cb5": "Cisco Systems, Inc", + "d48d26": "LG Innotek", "d48dd9": "Meld Technology, Inc", "d48f33": "Microsoft Corporation", "d48fa2": "Huawei Device Co., Ltd.", @@ -30897,7 +31397,7 @@ "d4ad2d": "Fiberhome Telecommunication Technologies Co.,LTD", "d4ad71": "Cisco Systems, Inc", "d4adbd": "Cisco Systems, Inc", - "d4adfc": "Shenzhen Intellirocks Tech co.,ltd", + "d4adfc": "Shenzhen Intellirocks Tech. Co. Ltd.", "d4ae05": "Samsung Electronics Co.,Ltd", "d4ae52": "Dell Inc.", "d4aff7": "Arista Networks", @@ -30905,6 +31405,7 @@ "d4b169": "Limited", "d4b27a": "ARRIS Group, Inc.", "d4b43e": "Messcomp Datentechnik GmbH", + "d4b5cd": "Sagemcom Broadband SAS", "d4b680": "Shanghai Linkyum Microeletronics Co.,Ltd", "d4b709": "zte corporation", "d4b761": "Sichuan AI-Link Technology Co., Ltd.", @@ -30979,6 +31480,7 @@ "d4ee07": "HIWIFI Co., Ltd.", "d4eede": "Sichuan Tianyi Comheart Telecom Co.,LTD", "d4f027": "Trust Power Ltd.", + "d4f04a": "SKY UK LIMITED", "d4f057": "Nintendo Co.,Ltd", "d4f0b4": "Napco Security Technologies", "d4f0c9": "KYOCERA Document Solutions Inc.", @@ -30993,7 +31495,7 @@ "d4f513": "Texas Instruments", "d4f527": "SIEMENS AG", "d4f547": "Google, Inc.", - "d4f5ef": "Hewlett Packard Enterprise", + "d4f5ef": "Hewlett Packard Enterprise – WW Corporate Headquarters", "d4f63f": "IEA S.R.L.", "d4f756": "zte corporation", "d4f786": "Fiberhome Telecommunication Technologies Co.,LTD", @@ -31060,6 +31562,7 @@ "d824ec": "Plenom A/S", "d82522": "ARRIS Group, Inc.", "d825b0": "Rockeetech Systems Co.,Ltd.", + "d825df": "CAME UK", "d826b9": "Guangdong Coagent Electronics S&T Co.,Ltd.", "d8270c": "MaxTronic International Co., Ltd.", "d828c9": "General Electric Consumer and Industrial", @@ -31094,6 +31597,7 @@ "d83af5": "Wideband Labs LLC", "d83bbf": "Intel Corporate", "d83c69": "Shenzhen TINNO Mobile Technology Corp.", + "d83d3f": "JOYNED GmbH", "d83dcc": "shenzhen UDD Technologies,co.,Ltd", "d84008": "HUAWEI TECHNOLOGIES CO.,LTD", "d842ac": "Shanghai Feixun Communication Co.,Ltd.", @@ -31102,6 +31606,7 @@ "d843ea": "SY Electronics Ltd", "d843ed": "Suzuken", "d8445c": "DEV Tecnologia Ind Com Man Eq LTDA", + "d84489": "TP-LINK CORPORATION PTE. LTD.", "d8452b": "Sdn. Bhd.", "d84606": "Silicon Valley Global Marketing", "d84710": "Sichuan Changhong Electric Ltd.", @@ -31125,6 +31630,7 @@ "d8543a": "Texas Instruments", "d85482": "Oxit, LLC", "d854a2": "Extreme Networks Headquarters", + "d854f2": "Huawei Device Co., Ltd.", "d85575": "Samsung Electronics Co.,Ltd", "d855a3": "zte corporation", "d857ef": "Samsung Electronics Co.,Ltd", @@ -31158,6 +31664,7 @@ "d868c3": "Samsung Electronics Co.,Ltd", "d86960": "Steinsvik", "d86bf7": "Nintendo Co., Ltd.", + "d86bfc": "zte corporation", "d86c02": "Huaqin Telecom Technology Co.,Ltd", "d86c5a": "HUMAX Co., Ltd.", "d86c63": "Google, Inc.", @@ -31205,8 +31712,9 @@ "d8912a": "Zyxel Communications Corporation", "d89136": "Dover Fueling Solutions", "d89341": "General Electric Global Research", - "d89403": "Hewlett Packard Enterprise", + "d89403": "Hewlett Packard Enterprise – WW Corporate Headquarters", "d8952f": "Texas Instruments", + "d89563": "Taiwan Digital Streaming Co.", "d89685": "GoPro", "d89695": "Apple, Inc.", "d896e0": "Alibaba Cloud Computing Ltd.", @@ -31228,6 +31736,7 @@ "d89ef3": "Dell Inc.", "d8a011": "WiZ", "d8a01d": "Espressif Inc.", + "d8a0e6": "Chongqing Yipingfang Technology Co., Ltd.", "d8a0e8": "zte corporation", "d8a105": "Syslane, Co., Ltd.", "d8a25e": "Apple, Inc.", @@ -31236,7 +31745,7 @@ "d8a491": "Huawei Device Co., Ltd.", "d8a534": "Spectronix Corporation", "d8a6f0": "Wu Qi Technologies,Inc.", - "d8a6fd": "Ghost Locomotion", + "d8a6fd": "Ghost Autonomy Inc.", "d8a756": "Sagemcom Broadband SAS", "d8a8c8": "zte corporation", "d8a98b": "Texas Instruments", @@ -31256,6 +31765,7 @@ "d8b12a": "Panasonic Mobile Communications Co.,Ltd.", "d8b190": "Cisco Systems, Inc", "d8b249": "Huawei Device Co., Ltd.", + "d8b32f": "CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.", "d8b370": "Ubiquiti Inc", "d8b377": "HTC Corporation", "d8b673": "Texas Instruments", @@ -31282,6 +31792,7 @@ "d8c561": "CommFront Communications Pte Ltd", "d8c678": "MitraStar Technology Corp.", "d8c691": "Hichan Technology Corp.", + "d8c6f9": "Tracklab Inc", "d8c771": "HUAWEI TECHNOLOGIES CO.,LTD", "d8c7c8": "Aruba, a Hewlett Packard Enterprise Company", "d8c8e9": "Co., Ltd.", @@ -31337,6 +31848,7 @@ "d8ec5e": "Belkin International Inc.", "d8ece5": "Zyxel Communications Corporation", "d8ed1c": "Magna Technology SL", + "d8ee42": "Sichuan Tianyi Comheart Telecom Co.,LTD", "d8ee78": "Moog Protokraft", "d8ef42": "Huawei Device Co., Ltd.", "d8efcd": "Nokia Solutions and Networks GmbH & Co. KG", @@ -31348,6 +31860,7 @@ "d8f3db": "Post CH AG", "d8f507": "Fiberhome Telecommunication Technologies Co.,LTD", "d8f710": "Libre Wireless Technologies Inc.", + "d8f760": "EM Microelectronic", "d8f883": "Intel Corporate", "d8f8af": "DAONTEC", "d8fb11": "AXACORE", @@ -31456,6 +31969,7 @@ "dc49c9": "CASCO SIGNAL LTD", "dc4a3e": "Hewlett Packard", "dc4a9e": "IEEE Registration Authority", + "dc4ba1": "Wistron Neweb Corporation", "dc4bdd": "Shenzhen SuperElectron Technology Co.,Ltd.", "dc4bfe": "Shenzhen Belon Technology CO.,LTD", "dc4d23": "MRV Comunications", @@ -31470,6 +31984,7 @@ "dc5392": "Apple, Inc.", "dc543d": "ITEL MOBILE LIMITED", "dc5475": "Espressif Inc.", + "dc54ad": "Hangzhou RunZhou Fiber Technologies Co.,Ltd", "dc54d7": "Amazon Technologies Inc.", "dc5583": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "dc56e6": "Shenzhen Bococom Technology Co.,LTD", @@ -31478,6 +31993,7 @@ "dc58bc": "Thomas-Krenn.AG", "dc5e36": "Paterson Technology", "dc60a1": "Teledyne DALSA Professional Imaging", + "dc6180": "HUAWEI TECHNOLOGIES CO.,LTD", "dc621f": "HUAWEI TECHNOLOGIES CO.,LTD", "dc6294": "Guangzhou Lango Electronics Technology Co.,Ltd.", "dc6373": "OBARA KOREA", @@ -31487,7 +32003,7 @@ "dc663a": "Apacer Technology Inc.", "dc6672": "Samsung Electronics Co.,Ltd", "dc6723": "barox Kommunikation GmbH", - "dc680c": "Hewlett Packard Enterprise", + "dc680c": "Hewlett Packard Enterprise – WW Corporate Headquarters", "dc6880": "zte corporation", "dc68eb": "Nintendo Co.,Ltd", "dc69e2": "Samsung Electronics Co.,Ltd", @@ -31503,6 +32019,7 @@ "dc7137": "zte corporation", "dc7144": "SAMSUNG ELECTRO MECHANICS CO., LTD.", "dc7196": "Intel Corporate", + "dc71d0": "Apple, Inc.", "dc71dd": "AX Technologies", "dc7223": "Hui Zhou Gaoshengda Technology Co.,LTD", "dc729b": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -31528,6 +32045,7 @@ "dc8d8a": "Nokia Solutions and Networks GmbH & Co. KG", "dc8d91": "Infinix mobility limited", "dc8db7": "ATW TECHNOLOGY, INC.", + "dc8e8d": "Netis Technology Co., Ltd.", "dc8e95": "Silicon Laboratories", "dc9020": "RURU TEK PRIVATE LIMITED ", "dc9088": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -31544,6 +32062,7 @@ "dc9a7d": "HISENSE VISUAL TECHNOLOGY CO.,LTD", "dc9a8e": "Nanjing Cocomm electronics co., LTD", "dc9b1e": "Intercom, Inc.", + "dc9b95": "Co., Ltd", "dc9b9c": "Apple, Inc.", "dc9bd6": "TCT mobile ltd", "dc9c52": "Sapphire Technology Limited.", @@ -31592,6 +32111,7 @@ "dcbb96": "Full Solution Telecom", "dcbd7a": "Guangzhou Shiyuan Electronic Technology Company Limited", "dcbdcc": "Quectel Wireless Solutions Co.,Ltd.", + "dcbe04": "Texas Instruments", "dcbe49": "ITEL MOBILE LIMITED", "dcbe7a": "Zhejiang Nurotron Biotechnology Co.", "dcbf90": "HUIZHOU QIAOXING TELECOMMUNICATION INDUSTRY CO.,LTD.", @@ -31634,6 +32154,7 @@ "dcd916": "HUAWEI TECHNOLOGIES CO.,LTD", "dcd9ae": "Nokia Shanghai Bell Co., Ltd.", "dcda0c": "Espressif Inc.", + "dcda4d": "CELESTICA INC.", "dcda4f": "GETCK TECHNOLOGY, INC", "dcda80": "New H3C Technologies Co., Ltd", "dcdb27": "Huawei Device Co., Ltd.", @@ -31658,11 +32179,12 @@ "dce71c": "AUG Elektronik GmbH", "dce838": "Limited", "dce994": "CLOUD NETWORK TECHNOLOGY SINGAPORE PTE. LTD.", + "dceae7": "D-Link Corporation", "dceb53": "Wuhan QianXiao Elecronic Technology CO.,LTD", "dceb69": "Vantiva USA LLC", "dceb94": "Cisco Systems, Inc", "dcec06": "Heimi Network Technology Co., Ltd.", - "dcece3": "LYOTECH LABS LLC", + "dcece3": "HORYS TECHNOLOGIES LLC", "dced83": "Beijing Xiaomi Mobile Software Co., Ltd", "dced84": "Haverford Systems Inc", "dcee06": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -31700,8 +32222,9 @@ "e005c5": "TP-LINK TECHNOLOGIES CO.,LTD.", "e00630": "HUAWEI TECHNOLOGIES CO.,LTD", "e006e6": "Hon Hai Precision Ind. Co.,Ltd.", - "e0071b": "Hewlett Packard Enterprise", + "e0071b": "Hewlett Packard Enterprise – WW Corporate Headquarters", "e007c2": "FUJIAN STAR-NET COMMUNICATION CO.,LTD", + "e00855": "AVM Audiovisuelles Marketing und Computersysteme GmbH", "e00871": "Dongguan Liesheng Electronic Co., Ltd.", "e009bf": "SHENZHEN TONG BO WEI TECHNOLOGY Co.,LTD", "e00af6": "Liteon Technology Corporation", @@ -31791,6 +32314,7 @@ "e046e5": "Gosuncn Technology Group Co., Ltd.", "e046ee": "NETGEAR", "e04735": "Ericsson AB", + "e04824": "Garmin International", "e048af": "Premietech Limited", "e048d3": "CO.,LTD", "e048d8": "Co., Ltd", @@ -31799,6 +32323,8 @@ "e04b45": "Hi-P Electronics Pte Ltd", "e04ba6": "HUAWEI TECHNOLOGIES CO.,LTD", "e04c05": "EverCharge", + "e04c12": "Realme Chongqing Mobile Telecommunications Corp.,Ltd.", + "e04e7a": "Nanjing Qinheng Microelectronics Co., Ltd.", "e04f43": "Universal Global Scientific Industrial Co., Ltd.", "e04fbd": "Sichuan Tianyi Comheart Telecom Co.,LTD", "e0508b": "Zhejiang Dahua Technology Co., Ltd.", @@ -31830,7 +32356,7 @@ "e064bb": "DigiView S.r.l.", "e06678": "Apple, Inc.", "e06781": "Dongguan Liesheng Electronic Co., Ltd.", - "e067b3": "Shenzhen C-Data Technology Co., Ltd", + "e067b3": "Shenzhen C-Data Technology Co., Ltd.", "e0686d": "Raybased AB", "e068ee": "Phyplus Microelectronics Limited", "e0693a": "Innophase Inc.", @@ -31874,6 +32400,7 @@ "e0899d": "Cisco Systems, Inc", "e08a7e": "Exponent", "e08e3c": "Aztech Electronics Pte Ltd", + "e08f4c": "Intel Corporate", "e08fec": "REPOTEC CO., LTD.", "e0913c": "Kyeungin CNS Co., Ltd.", "e09153": "XAVi Technologies Corp.", @@ -31890,6 +32417,7 @@ "e09971": "Samsung Electronics Co.,Ltd", "e09b27": "Ciena Corporation", "e09c8d": "Seakeeper, Inc.", + "e09ce5": "Shanghai Tricheer Technology Co.,Ltd.", "e09d13": "Samsung Electronics Co.,Ltd", "e09d31": "Intel Corporate", "e09db8": "PLANEX COMMUNICATIONS INC.", @@ -31913,6 +32441,7 @@ "e0abfe": "Orb Networks, Inc.", "e0accb": "Apple, Inc.", "e0acf1": "Cisco Systems, Inc", + "e0ad9b": "HUAWEI TECHNOLOGIES CO.,LTD", "e0ae5e": "ALPSALPINE CO,.LTD", "e0aea2": "HUAWEI TECHNOLOGIES CO.,LTD", "e0aeb2": "Bender GmbH & Co.KG", @@ -31928,6 +32457,7 @@ "e0b6f5": "IEEE Registration Authority", "e0b70a": "ARRIS Group, Inc.", "e0b72e": "ShenZhen Qualmesh Technology Co.,Ltd.", + "e0b763": "Co., Ltd. Changzhou Branch", "e0b7b1": "ARRIS Group, Inc.", "e0b94d": "SHENZHEN BILIAN ELECTRONIC CO.,LTD", "e0b98a": "Shenzhen Taike industrial automation company,Ltd", @@ -31987,6 +32517,7 @@ "e0d9a2": "Hippih aps", "e0d9e3": "Eltex Enterprise Ltd.", "e0da90": "HUAWEI TECHNOLOGIES CO.,LTD", + "e0dad7": "zte corporation", "e0dadc": "JVC KENWOOD Corporation", "e0db10": "Samsung Electronics Co.,Ltd", "e0db55": "Dell Inc.", @@ -32046,6 +32577,7 @@ "e4115b": "Hewlett Packard", "e41218": "ShenZhen Rapoo Technology Co., Ltd.", "e4121d": "Samsung Electronics Co.,Ltd", + "e41226": "Continental Automotive Romania SLR", "e41289": "topsystem GmbH", "e415f6": "Texas Instruments", "e417d8": "8BITDO TECHNOLOGY HK LIMITED", @@ -32091,6 +32623,7 @@ "e43593": "Hangzhou GoTo technology Co.Ltd", "e435c8": "HUAWEI TECHNOLOGIES CO.,LTD", "e435fb": "Ltd", + "e4379f": "Cisco Systems, Inc", "e437d7": "HENRI DEPAEPE S.A.S.", "e43819": "Shenzhen Hi-Link Electronic CO.,Ltd.", "e4387e": "Cisco Systems, Inc", @@ -32131,6 +32664,7 @@ "e4509a": "HW Communications Ltd", "e450eb": "Apple, Inc.", "e4521e": "Texas Instruments", + "e454e5": "Huawei Device Co., Ltd.", "e454e8": "Dell Inc.", "e455a8": "Cisco Meraki", "e455ea": "Dedicated Computing", @@ -32151,6 +32685,7 @@ "e46017": "Intel Corporate", "e4604d": "zte corporation", "e46059": "Pingtek Co., Ltd.", + "e461f4": "shenzhen worldelite electronics co., LTD", "e46251": "HAO CHENG GROUP LIMITED", "e462c4": "Cisco Systems, Inc", "e46449": "ARRIS Group, Inc.", @@ -32170,6 +32705,7 @@ "e47185": "Securifi Ltd", "e472e2": "HUAWEI TECHNOLOGIES CO.,LTD", "e47305": "Shenzhen INVT Electric CO.,Ltd", + "e47450": "Shenzhen Grandsun Electronic Co.,Ltd.", "e4751e": "Getinge Sterilization AB", "e475dc": "Arcadyan Corporation", "e47684": "Apple, Inc.", @@ -32238,6 +32774,7 @@ "e4a749": "Palo Alto Networks", "e4a7a0": "Intel Corporate", "e4a7c5": "HUAWEI TECHNOLOGIES CO.,LTD", + "e4a7d0": "HUAWEI TECHNOLOGIES CO.,LTD", "e4a7fd": "Cellco Partnership", "e4a8b6": "HUAWEI TECHNOLOGIES CO.,LTD", "e4a8df": "CO., LTD. ", @@ -32262,7 +32799,7 @@ "e4bc96": "Versuni", "e4bcaa": "Xiaomi Communications Co Ltd", "e4bd4b": "zte corporation", - "e4beed": "Netcore Technology Inc.", + "e4beed": "Netis Technology Co., Ltd.", "e4befb": "HUAWEI TECHNOLOGIES CO.,LTD", "e4bffa": "Vantiva USA LLC", "e4c0cc": "China Mobile Group Device Co.,Ltd.", @@ -32290,7 +32827,7 @@ "e4d124": "Mojo Networks, Inc.", "e4d332": "TP-LINK TECHNOLOGIES CO.,LTD.", "e4d373": "HUAWEI TECHNOLOGIES CO.,LTD", - "e4d3aa": "FCNT LMITED", + "e4d3aa": "FCNT LLC", "e4d3f1": "Cisco Systems, Inc", "e4d53d": "Hon Hai Precision Ind. Co.,Ltd.", "e4d71d": "Oraya Therapeutics", @@ -32309,6 +32846,7 @@ "e4e26c": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "e4e409": "LEIFHEIT AG", "e4e4ab": "Apple, Inc.", + "e4e66c": "Tiandy Technologies Co.,LTD", "e4e749": "Hewlett Packard", "e4ea83": "SHENZHEN GONGJIN ELECTRONICS CO.,LT", "e4ec10": "Nokia Corporation", @@ -32334,7 +32872,7 @@ "e4f939": "Minxon Hotel Technology INC.", "e4fa1d": "PAD Peripheral Advanced Design Inc.", "e4fa5b": "Texas Instruments", - "e4fac4": "Big Field Global PTE. Ltd.", + "e4fac4": "TP-LINK CORPORATION PTE. LTD.", "e4faed": "Samsung Electronics Co.,Ltd", "e4fafd": "Intel Corporate", "e4fb5d": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -32374,6 +32912,7 @@ "e81363": "Comstock RD, Inc.", "e81367": "AIRSOUND Inc.", "e8136e": "HUAWEI TECHNOLOGIES CO.,LTD", + "e81499": "Yoqu Technology(Shenzhen)Co.,Ltd.", "e8150e": "Nokia Corporation", "e8162b": "IDEO Security Co., Ltd.", "e81656": "Hangzhou BroadLink Technology Co.,Ltd", @@ -32396,6 +32935,7 @@ "e82689": "Aruba, a Hewlett Packard Enterprise Company", "e8268d": "Shenzhen SuperElectron Technology Co.,Ltd.", "e826b6": "Companies House to GlucoRx Technologies Ltd.", + "e82725": "Axis Communications AB", "e82877": "TMY Co., Ltd.", "e8288d": "Huawei Device Co., Ltd.", "e828c1": "Eltex Enterprise Ltd.", @@ -32451,6 +32991,7 @@ "e8519d": "Yeonhab Precision Co.,LTD", "e8519e": "Guangzhou Shiyuan Electronic Technology Company Limited", "e85484": "NEO Information Systems Co., Ltd.", + "e85497": "Samsung Electronics Co.,Ltd", "e85540": "WUXI FUNIDE DIGITAL CO.,LTD", "e855b4": "SAI Technology Inc.", "e85659": "Advanced-Connectek Inc.", @@ -32537,6 +33078,7 @@ "e89606": "Co., Ltd.", "e8979a": "Quectel Wireless Solutions Co.,Ltd.", "e897b8": "Chiun Mai Communication System, Inc", + "e89847": "Xiaomi Communications Co Ltd", "e8986d": "Palo Alto Networks", "e898c2": "ZETLAB Company", "e8995a": "PiiGAB, Processinformation i Goteborg AB", @@ -32565,6 +33107,7 @@ "e8a730": "Apple, Inc.", "e8a788": "XIAMEN LEELEN TECHNOLOGY CO., LTD", "e8a7f2": "sTraffic", + "e8a848": "Wacom Co.,Ltd.", "e8aacb": "Samsung Electronics Co.,Ltd", "e8abf3": "HUAWEI TECHNOLOGIES CO.,LTD", "e8abfa": "Shenzhen Reecam Tech.Ltd.", @@ -32592,6 +33135,7 @@ "e8bba8": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "e8bdd1": "HUAWEI TECHNOLOGIES CO.,LTD", "e8be81": "Sagemcom Broadband SAS", + "e8bfb8": "Intel Corporate", "e8bfdb": "Inodesign Group", "e8c1b8": "Nanjing Bangzhong Electronic Commerce Limited", "e8c1d7": "Philips", @@ -32632,6 +33176,7 @@ "e8d8d1": "HP Inc.", "e8da00": "Kivo Technology, Inc.", "e8da20": "Nintendo Co.,Ltd", + "e8da3e": "Huawei Device Co., Ltd.", "e8da96": "Zhuhai Tianrui Electrical Power Tech. Co., Ltd.", "e8daaa": "VideoHome Technology Corp.", "e8db84": "Espressif Inc.", @@ -32671,6 +33216,7 @@ "e8ef05": "MIND TECH INTERNATIONAL LIMITED", "e8ef22": "Siemens Numerical Control Ltd., Nanjing", "e8ef89": "OPMEX Tech.", + "e8f085": "HUAWEI TECHNOLOGIES CO.,LTD", "e8f1b0": "Sagemcom Broadband SAS", "e8f226": "MILLSON CUSTOM SOLUTIONS INC.", "e8f2e2": "LG Innotek", @@ -32678,7 +33224,7 @@ "e8f375": "Nokia", "e8f408": "Intel Corporate", "e8f654": "HUAWEI TECHNOLOGIES CO.,LTD", - "e8f724": "Hewlett Packard Enterprise", + "e8f724": "Hewlett Packard Enterprise – WW Corporate Headquarters", "e8f72f": "HUAWEI TECHNOLOGIES CO.,LTD", "e8f791": "Xiaomi Communications Co Ltd", "e8f8d0": "Nokia Shanghai Bell Co., Ltd.", @@ -32695,6 +33241,7 @@ "e8fd90": "Turbostor", "e8fde8": "CeLa Link Corporation", "e8fdf8": "Shanghai High-Flying Electronics Technology Co., Ltd", + "e8ff1e": "IEEE Registration Authority", "e8ff98": "Huawei Device Co., Ltd.", "ec0133": "TRINUS SYSTEMS INC.", "ec01d5": "Cisco Systems, Inc", @@ -32721,6 +33268,7 @@ "ec153d": "Beijing Yaxunhongda Technology Co., Ltd.", "ec172f": "TP-LINK TECHNOLOGIES CO.,LTD.", "ec1766": "Research Centre Module", + "ec192e": "Cisco Systems, Inc", "ec1a02": "HUAWEI TECHNOLOGIES CO.,LTD", "ec1a59": "Belkin International Inc.", "ec1bbd": "Silicon Laboratories", @@ -32753,6 +33301,7 @@ "ec2e98": "AzureWave Technology Inc.", "ec3091": "Cisco Systems, Inc", "ec30b3": "Xiaomi Communications Co Ltd", + "ec314a": "Chengdu Quanjing Intelligent Technology Co.,Ltd", "ec316d": "Hansgrohe", "ec354d": "Wingtech Mobile Communications Co.,Ltd", "ec3586": "Apple, Inc.", @@ -32801,6 +33350,7 @@ "ec58ea": "Ruckus Wireless", "ec59e7": "Microsoft Corporation", "ec5a86": "Co.,Ltd", + "ec5aa3": "Huawei Device Co., Ltd.", "ec5b73": "Advanced & Wise Technology Corp.", "ec5c68": "CHONGQING FUGUI ELECTRONICS CO.,LTD.", "ec5c69": "MITSUBISHI HEAVY INDUSTRIES MECHATRONICS SYSTEMS,LTD.", @@ -32814,6 +33364,7 @@ "ec63e5": "ePBoard Design LLC", "ec63ed": "Hyundai Autoever Corp.", "ec6488": "Honor Device Co., Ltd.", + "ec64c9": "Espressif Inc.", "ec64e7": "MOCACARE Corporation", "ec656e": "The Things Industries B.V.", "ec65cc": "Panasonic Automotive Systems Company of America", @@ -32889,7 +33440,7 @@ "ec9a74": "Hewlett Packard", "ec9b2d": "China Mobile Group Device Co.,Ltd.", "ec9b5b": "Nokia Corporation", - "ec9b8b": "Hewlett Packard Enterprise", + "ec9b8b": "Hewlett Packard Enterprise – WW Corporate Headquarters", "ec9c32": "Sichuan AI-Link Technology Co., Ltd.", "ec9ecd": "Artesyn Embedded Technologies", "ec9f0d": "IEEE Registration Authority", @@ -32904,6 +33455,7 @@ "eca86b": "Elitegroup Computer Systems Co.,Ltd.", "eca907": "Apple, Inc.", "eca940": "ARRIS Group, Inc.", + "eca971": "Hangzhou Hikvision Digital Technology Co.,Ltd.", "eca9fa": "GUANGDONG GENIUS TECHNOLOGY CO., LTD.", "ecaa25": "Samsung Electronics Co.,Ltd", "ecaa8f": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -32923,6 +33475,7 @@ "ecb541": "SHINANO E and E Co.Ltd.", "ecb5fa": "Philips Lighting BV", "ecb870": "Beijing Heweinet Technology Co.,Ltd.", + "ecb878": "Huawei Device Co., Ltd.", "ecb907": "CloudGenix Inc", "ecb970": "Ruijie Networks Co.,LTD", "ecbafe": "GIROPTIC", @@ -32938,6 +33491,7 @@ "ecc07a": "Laird Connectivity", "ecc1ab": "Guangzhou Shiyuan Electronic Technology Company Limited", "ecc302": "HUMAX Co., Ltd.", + "ecc342": "zte corporation", "ecc38a": "Inc", "ecc3b0": "zte corporation", "ecc40d": "Nintendo Co.,Ltd", @@ -32946,6 +33500,7 @@ "ecc882": "Cisco Systems, Inc", "ecc89c": "Hangzhou Hikvision Digital Technology Co.,Ltd.", "eccb30": "HUAWEI TECHNOLOGIES CO.,LTD", + "eccd4c": "New H3C Technologies Co., Ltd", "eccd6d": "Allied Telesis, Inc.", "ecce13": "Cisco Systems, Inc", "ecced7": "Apple, Inc.", @@ -32980,7 +33535,7 @@ "ece915": "STI Ltd", "ece9f8": "Guang Zhou TRI-SUN Electronics Technology Co., Ltd", "ecea03": "DARFON LIGHTING CORP", - "ecebb8": "Hewlett Packard Enterprise", + "ecebb8": "Hewlett Packard Enterprise – WW Corporate Headquarters", "eced73": "Motorola Mobility LLC, a Lenovo Company", "eceed8": "ZTLX Network Technology Co.,Ltd", "ecef17": "Sunplus Technology Co., Ltd.", @@ -33004,12 +33559,14 @@ "ecfabc": "Espressif Inc.", "ecfaf4": "SenRa Tech Pvt. Ltd", "ecfc55": "A. Eberle GmbH & Co. KG", + "ecfcc6": "Aruba, a Hewlett Packard Enterprise Company", "ecfe7e": "BlueRadios, Inc.", "f0007f": "Janz - Contadores de Energia, SA", "f0016e": "Tianyi Telecom Terminals Company Limited", "f0022b": "Chrontel", "f00248": "SmarteBuilding", "f0038c": "AzureWave Technology Inc.", + "f0051b": "Samsung Electronics Co.,Ltd", "f00727": "INTEREL BUILDING AUTOMATION", "f00786": "Shandong Bittel Electronics Co., Ltd", "f008d1": "Espressif Inc.", @@ -33020,6 +33577,7 @@ "f00ebf": "ZettaHash Inc.", "f00fec": "HUAWEI TECHNOLOGIES CO.,LTD", "f01090": "New H3C Technologies Co., Ltd", + "f010a5": "Texas Instruments", "f010ab": "Information Technology Co., Ltd.", "f013c1": "Hannto Technology Co., Ltd", "f013c3": "SHENZHEN FENDA TECHNOLOGY CO., LTD", @@ -33098,6 +33656,7 @@ "f04a3d": "Bosch Thermotechnik GmbH", "f04b3a": "Juniper Networks", "f04b6a": "Scientific Production Association Siberian Arsenal, Ltd.", + "f04b8a": "ARRIS Group, Inc.", "f04bf2": "JTECH Communications, Inc.", "f04cd5": "Maxlinear, Inc", "f04da2": "Dell Inc.", @@ -33120,6 +33679,7 @@ "f05f5a": "Getriebebau NORD GmbH and Co. KG", "f06130": "Advantage Pharmacy Services, LLC", "f061c0": "Aruba, a Hewlett Packard Enterprise Company", + "f061f3": "Comcast Cable Corporation", "f0620d": "Shenzhen Egreat Tech Corp.,Ltd", "f0625a": "Realme Chongqing Mobile Telecommunications Corp.,Ltd.", "f06281": "ProCurve Networking by HP", @@ -33170,6 +33730,7 @@ "f084c9": "zte corporation", "f085c1": "SHENZHEN RF-LINK TECHNOLOGY CO.,LTD.", "f08620": "Arcadyan Corporation", + "f0866f": "EM Microelectronic", "f08756": "Zyxel Communications Corporation", "f0877f": "Magnetar Technology Shenzhen Co., LTD.", "f08a28": "JIANGSU HENGSION ELECTRONIC S and T CO.,LTD", @@ -33284,6 +33845,7 @@ "f0d7aa": "Motorola Mobility LLC, a Lenovo Company", "f0d7af": "IEEE Registration Authority", "f0d7dc": "Technology Co., Ltd.", + "f0d805": "Cisco Systems, Inc", "f0d9b2": "EXO S.A.", "f0da7c": "RLH INDUSTRIES,INC.", "f0db30": "Yottabyte", @@ -33296,9 +33858,11 @@ "f0e3dc": "Tecon MT, LLC", "f0e4a2": "HUAWEI TECHNOLOGIES CO.,LTD", "f0e5c3": "Drägerwerk AG & Co. KG aA", + "f0e752": "Shenzhen Huajuxin Semiconductor Co.,ltd", "f0e77e": "Samsung Electronics Co.,Ltd", "f0ebd0": "Shanghai Feixun Communication Co.,Ltd.", "f0ec39": "Essec", + "f0ed19": "zte corporation", "f0ed1e": "Bilkon Bilgisayar Kontrollu Cih. Im.Ltd.", "f0edb8": "PRIVATE LIMITED", "f0ee10": "Samsung Electronics Co.,Ltd", @@ -33315,6 +33879,7 @@ "f0f336": "TP-LINK TECHNOLOGIES CO.,LTD.", "f0f564": "Samsung Electronics Co.,Ltd", "f0f5ae": "Adaptrum Inc.", + "f0f5bd": "Espressif Inc.", "f0f61c": "Apple, Inc.", "f0f644": "Whitesky Science & Technology Co.,Ltd.", "f0f669": "Motion Analysis Corporation", @@ -33329,6 +33894,7 @@ "f0f8f2": "Texas Instruments", "f0f9f7": "IES GmbH & Co. KG", "f0fac7": "Huawei Device Co., Ltd.", + "f0fc65": "SynaXG Technologies Pte. Ltd.", "f0fcc8": "ARRIS Group, Inc.", "f0fda0": "Acurix Networks Pty Ltd", "f0fddd": "Foxtron Vehicle Technologies Co., Ltd.", @@ -33341,7 +33907,7 @@ "f40321": "BeNeXt B.V.", "f4032a": "Amazon Technologies Inc.", "f4032f": "Reduxio Systems", - "f40343": "Hewlett Packard Enterprise", + "f40343": "Hewlett Packard Enterprise – WW Corporate Headquarters", "f4044c": "ValenceTech Limited", "f40595": "Sagemcom Broadband SAS", "f40616": "Apple, Inc.", @@ -33380,6 +33946,7 @@ "f41f88": "zte corporation", "f41fc2": "Cisco Systems, Inc", "f42012": "Cuciniale GmbH", + "f42015": "Guangzhou Shiyuan Electronic Technology Company Limited", "f421ae": "Shanghai Xiaodu Technology Limited", "f421ca": "Apple, Inc.", "f4227a": "Guangdong Seneasy Intelligent Technology Co., Ltd.", @@ -33401,6 +33968,7 @@ "f42e7f": "Aruba, a Hewlett Packard Enterprise Company", "f4308b": "Xiaomi Communications Co Ltd", "f430b9": "Hewlett Packard", + "f43149": "Pixel FX", "f431c3": "Apple, Inc.", "f4323d": "Sichuan tianyi kanghe communications co., LTD", "f4331c": "Toast, Inc.", @@ -33411,6 +33979,7 @@ "f43814": "Shanghai Howell Electronic Co.,Ltd", "f438c1": "Huawei Device Co., Ltd.", "f43909": "Hewlett Packard", + "f439a6": "Apple, Inc.", "f43a7b": "zte corporation", "f43bd8": "Intel Corporate", "f43c3b": "HUNAN FN-LINK TECHNOLOGY LIMITED", @@ -33422,6 +33991,7 @@ "f44156": "Arrikto Inc.", "f4419e": "Huawei Device Co., Ltd.", "f44227": "S & S Research Inc.", + "f44250": "Co., Ltd.", "f4428f": "Samsung Electronics Co.,Ltd", "f4442c": "Shenzhen SuperElectron Technology Co.,Ltd.", "f44450": "BND Co., Ltd.", @@ -33489,6 +34059,7 @@ "f46de2": "zte corporation", "f46e24": "NEC Personal Computers, Ltd.", "f46e95": "Extreme Networks Headquarters", + "f46ed6": "EM Microelectronic", "f46f4e": "Echowell", "f46fa4": "Physik Instrumente GmbH & Co. KG", "f46fed": "Fiberhome Telecommunication Technologies Co.,LTD", @@ -33537,6 +34108,7 @@ "f497c2": "Nebulon Inc", "f499ac": "WEBER Schraubautomaten GmbH", "f49c12": "Structab AB", + "f49d8a": "Fantasia Trading LLC", "f49da7": "Private", "f49eef": "Taicang T&W Electronics", "f49f54": "Samsung Electronics Co.,Ltd", @@ -33651,6 +34223,7 @@ "f4eb38": "Sagemcom Broadband SAS", "f4eb9f": "Ellu Company 2019 SL", "f4ec38": "TP-LINK TECHNOLOGIES CO.,LTD.", + "f4ed37": "Qingdao Yuze lntelligent Technology Co.,Ltd", "f4ed5f": "SHENZHEN KTC TECHNOLOGY GROUP ", "f4ee08": "Dell Inc.", "f4ee14": "MERCURY COMMUNICATION TECHNOLOGIES CO.,LTD.", @@ -33661,6 +34234,7 @@ "f4f19e": "Corporation", "f4f1e1": "Motorola Mobility LLC, a Lenovo Company", "f4f26d": "TP-LINK TECHNOLOGIES CO.,LTD.", + "f4f28a": "HUAWEI TECHNOLOGIES CO.,LTD", "f4f309": "Samsung Electronics Co.,Ltd", "f4f3aa": "JBL GmbH & Co. KG", "f4f524": "Motorola Mobility LLC, a Lenovo Company", @@ -33676,6 +34250,7 @@ "f4fc32": "Texas Instruments", "f4fcb1": "JJ Corp", "f4fd2b": "ZOYI Company", + "f4fe3e": "Apple, Inc.", "f4fefb": "Samsung Electronics Co.,Ltd", "f8009d": "INTRACOM DEFENSE S.A.", "f800a1": "HUAWEI TECHNOLOGIES CO.,LTD", @@ -33723,6 +34298,7 @@ "f81f32": "Motorola Mobility LLC, a Lenovo Company", "f82055": "Green Information System", "f820a9": "Huawei Device Co., Ltd.", + "f820d2": "ARRIS Group, Inc.", "f82111": "HMD Global Oy", "f82229": "Nokia Shanghai Bell Co., Ltd.", "f82285": "Cypress Technology CO., LTD.", @@ -33765,6 +34341,7 @@ "f8369b": "Texas Instruments", "f83869": "LG Electronics", "f83880": "Apple, Inc.", + "f83918": "Cisco Systems, Inc", "f83b1d": "Vantiva USA LLC", "f83b7e": "Huawei Device Co., Ltd.", "f83c44": "SHENZHEN TRANSCHAN TECHNOLOGY LIMITED", @@ -33774,6 +34351,7 @@ "f83dff": "HUAWEI TECHNOLOGIES CO.,LTD", "f83e95": "HUAWEI TECHNOLOGIES CO.,LTD", "f83f51": "Samsung Electronics Co.,Ltd", + "f84288": "Apple, Inc.", "f842fb": "Yasuda Joho Co.,ltd.", "f844e3": "Taicang T&W Electronics", "f845ad": "Konka Group Co., Ltd.", @@ -33889,6 +34467,7 @@ "f88e85": "Comtrend Corporation", "f88ea1": "Edgecore Networks Corporation", "f88f07": "Samsung Electronics Co.,Ltd", + "f88fc8": "Corp.", "f88fca": "Google, Inc.", "f89066": "Nain Inc.", "f8912a": "GLP German Light Products GmbH", @@ -33898,6 +34477,7 @@ "f89522": "HUAWEI TECHNOLOGIES CO.,LTD", "f89550": "Proton Products Chengdu Ltd", "f895ea": "Apple, Inc.", + "f896fe": "LG Innotek", "f89725": "OPPLE LIGHTING CO., LTD", "f89753": "Huawei Device Co., Ltd.", "f897a9": "Ericsson AB", @@ -33911,6 +34491,7 @@ "f89a78": "HUAWEI TECHNOLOGIES CO.,LTD", "f89b6e": "Nokia Solutions and Networks GmbH & Co. KG", "f89d0d": "Control Technology Inc.", + "f89d9d": "Shenzhen MinewSemi Co.,LTD.", "f89dbb": "Tintri", "f89e28": "Cisco Meraki", "f89e94": "Intel Corporate", @@ -33974,8 +34555,10 @@ "f8c397": "NZXT Corp. Ltd.", "f8c39e": "HUAWEI TECHNOLOGIES CO.,LTD", "f8c3cc": "Apple, Inc.", + "f8c3f1": "Raytron Photonics Co.,Ltd.", "f8c4ae": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "f8c4f3": "Shanghai Infinity Wireless Technologies Co.,Ltd.", + "f8c4fa": "GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP.,LTD", "f8c650": "Cisco Systems, Inc", "f8c678": "Carefusion", "f8c96c": "Fiberhome Telecommunication Technologies Co.,LTD", @@ -33984,6 +34567,7 @@ "f8cab8": "Dell Inc.", "f8cc6e": "DEPO Electronics Ltd", "f8cdc8": "Sichuan Tianyi Comheart Telecom Co.,LTD", + "f8ce07": "ZHEJIANG DAHUA TECHNOLOGYCO.,LTD", "f8ce72": "Wistron Corporation", "f8cfc5": "Motorola Mobility LLC, a Lenovo Company", "f8d027": "Seiko Epson Corporation", @@ -34042,11 +34626,13 @@ "f8f21e": "Intel Corporate", "f8f25a": "G-Lab GmbH", "f8f464": "Rawe Electonic GmbH", + "f8f519": "Rulogic Inc.", "f8f532": "ARRIS Group, Inc.", "f8f7b9": "HUAWEI TECHNOLOGIES CO.,LTD", "f8f7d3": "International Communications Corporation", "f8f7ff": "SYN-TECH SYSTEMS INC", "f8fb2f": "Santur Corporation", + "f8fb90": "Texas Instruments", "f8fce1": "Amazon Technologies Inc.", "f8fe5c": "Reciprocal Labs Corp", "f8fe5e": "Intel Corporate", @@ -34132,11 +34718,14 @@ "fc3357": "KAGA FEI Co., Ltd.", "fc335f": "Polyera", "fc3497": "ASUSTek COMPUTER INC.", + "fc34e2": "Shenzhen YOUHUA Technology Co., Ltd", "fc3598": "Favite Inc.", "fc35e6": "Visteon Corporation", "fc372b": "Sichuan Tianyi Comheart Telecom Co.,LTD", + "fc386a": "Shenzhen Skyworth Digital Technology CO., Ltd", "fc38c4": "China Grand Communications Co.,Ltd.", "fc3964": "ITEL MOBILE LIMITED", + "fc3cd7": "Tuya Smart Inc.", "fc3ce9": "Tsingtong Technologies Co, Ltd.", "fc3d93": "LONGCHEER TELECOMMUNICATION LIMITED", "fc3da5": "Arcadyan Corporation", @@ -34174,6 +34763,7 @@ "fc528d": "Vantiva USA LLC", "fc52ce": "Control iD", "fc539e": "Shanghai Wind Technologies Co.,Ltd", + "fc5557": "Apple, Inc.", "fc55dc": "Baltic Latvian Universal Electronics LLC", "fc5703": "Hisense broadband multimedia technology Co.,Ltd", "fc584a": "xiamenshi c-chip technology co., ltd", @@ -34260,6 +34850,7 @@ "fc956a": "OCTAGON SYSTEMS CORP.", "fc9643": "Juniper Networks", "fc97a8": "Cricut Inc.", + "fc9816": "ALPSALPINE CO,.LTD", "fc9947": "Cisco Systems, Inc", "fc9afa": "Motus Global Inc.", "fc9bc6": "Sumavision Technologies Co.,Ltd", @@ -34333,6 +34924,7 @@ "fccd2f": "IEEE Registration Authority", "fccf43": "HUIZHOU CITY HUIYANG DISTRICT MEISIQI INDUSTRY DEVELOPMENT CO,.LTD", "fccf62": "IBM Corp", + "fcd290": "SKY UK LIMITED", "fcd2b6": "IEEE Registration Authority", "fcd436": "Motorola Mobility LLC, a Lenovo Company", "fcd4f2": "The Coca Cola Company", @@ -34364,6 +34956,7 @@ "fce66a": "Industrial Software Co", "fce806": "Edifier International", "fce892": "Hangzhou Lancable Technology Co.,Ltd", + "fce8c0": "Espressif Inc.", "fce998": "Apple, Inc.", "fce9d8": "Amazon Technologies Inc.", "fcea50": "Sdn. Bhd.", @@ -34377,6 +34970,7 @@ "fcf528": "Zyxel Communications Corporation", "fcf5c4": "Espressif Inc.", "fcf647": "Fiberhome Telecommunication Technologies Co.,LTD", + "fcf738": "HUAWEI TECHNOLOGIES CO.,LTD", "fcf763": "Co., LTd", "fcf77b": "Huawei Device Co., Ltd.", "fcf8ae": "Intel Corporate", diff --git a/netutils/data_files/protocol_mappings.py b/netutils/data_files/protocol_mappings.py index 4707402d..aede04a0 100755 --- a/netutils/data_files/protocol_mappings.py +++ b/netutils/data_files/protocol_mappings.py @@ -1,4 +1,5 @@ """Dictionary object to store Protocol information.""" + # pylint: disable=too-many-lines from typing import Any, Dict @@ -273,7 +274,6 @@ "cloanto-net-1": {"port_number": 356, "protocols": ["tcp", "udp"]}, "bhevent": {"port_number": 357, "protocols": ["tcp", "udp"]}, "shrinkwrap": {"port_number": 358, "protocols": ["tcp", "udp"]}, - "nsrmp": {"port_number": 359, "protocols": ["tcp", "udp"]}, "scoi2odialog": {"port_number": 360, "protocols": ["tcp", "udp"]}, "semantix": {"port_number": 361, "protocols": ["tcp", "udp"]}, "srssend": {"port_number": 362, "protocols": ["tcp", "udp"]}, @@ -4611,6 +4611,7 @@ "amc": {"port_number": 5506, "protocols": ["tcp", "udp"]}, "psl-management": {"port_number": 5507, "protocols": ["tcp"]}, "matter": {"port_number": 5540, "protocols": ["tcp", "udp"]}, + "qftest-licserve": {"port_number": 5543, "protocols": ["tcp"]}, "cbus": {"port_number": 5550, "protocols": ["tcp"]}, "sgi-eventmond": {"port_number": 5553, "protocols": ["tcp", "udp"]}, "sgi-esphttp": {"port_number": 5554, "protocols": ["tcp", "udp"]}, @@ -5314,7 +5315,6 @@ "infi-async": {"port_number": 8067, "protocols": ["tcp"]}, "ucs-isc": {"port_number": 8070, "protocols": ["tcp"]}, "gadugadu": {"port_number": 8074, "protocols": ["tcp", "udp"]}, - "mles": {"port_number": 8077, "protocols": ["tcp"]}, "sunproxyadmin": {"port_number": 8081, "protocols": ["tcp", "udp"]}, "us-cli": {"port_number": 8082, "protocols": ["tcp", "udp"]}, "us-srv": {"port_number": 8083, "protocols": ["tcp", "udp"]}, @@ -5749,7 +5749,6 @@ "axis-wimp-port": {"port_number": 10260, "protocols": ["tcp", "udp"]}, "tile-ml": {"port_number": 10261, "protocols": ["tcp"]}, "blocks": {"port_number": 10288, "protocols": ["tcp", "udp"]}, - "cosir": {"port_number": 10321, "protocols": ["tcp"]}, "bngsync": {"port_number": 10439, "protocols": ["udp"]}, "cirrossp": {"port_number": 10443, "protocols": ["tcp"]}, "hip-nat-t": {"port_number": 10500, "protocols": ["udp"]}, diff --git a/netutils/ip.py b/netutils/ip.py index 7926e3c5..267e7329 100755 --- a/netutils/ip.py +++ b/netutils/ip.py @@ -1,4 +1,5 @@ """Functions for working with IP addresses.""" + import ipaddress import typing as t from operator import attrgetter @@ -596,3 +597,50 @@ def get_usable_range(ip_network: str) -> str: lower_bound = str(net[1]) upper_bound = str(net[-2]) return f"{lower_bound} - {upper_bound}" + + +def get_ips_sorted(ips: t.Union[str, t.List[str]], sort_type: str = "network") -> t.List[str]: + """Given a concatenated list of CIDRs sorts them into the correct order and returns them as a list. + + Examples: + >>> from netutils.ip import get_ips_sorted + >>> get_ips_sorted("3.3.3.3,2.2.2.2,1.1.1.1") + ['1.1.1.1/32', '2.2.2.2/32', '3.3.3.3/32'] + >>> get_ips_sorted("10.0.20.0/24,10.0.20.0/23,10.0.19.0/24") + ['10.0.19.0/24', '10.0.20.0/23', '10.0.20.0/24'] + >>> get_ips_sorted("10.0.20.0/24,10.0.20.0/23,10.0.19.0/24", "interface") + ['10.0.19.0/24', '10.0.20.0/23', '10.0.20.0/24'] + >>> get_ips_sorted("10.0.20.20/24,10.0.20.1/23,10.0.19.5/24", "interface") + ['10.0.19.5/24', '10.0.20.1/23', '10.0.20.20/24'] + >>> get_ips_sorted(["10.0.20.20", "10.0.20.1", "10.0.19.5"], "address") + ['10.0.19.5', '10.0.20.1', '10.0.20.20'] + + Args: + ips (t.Union[str, t.List[str]]): Concatenated string list of CIDRs, IPAddresses, or Interfaces or list of the same strings. + sort_type (str): Whether the passed list are networks, IP addresses, or interfaces, ie "address", "interface", or "network". + + Returns: + t.List[str]: Sorted list of sort_type IPs. + """ + if sort_type not in ["address", "interface", "network"]: + raise ValueError("Invalid sort type passed. Must be `address`, `interface`, or `network`.") + if isinstance(ips, list): + ips_list = ips + elif (isinstance(ips, str) and "," not in ips) or not isinstance(ips, str): + raise ValueError("Not a concatenated list of IPs as expected.") + elif isinstance(ips, str): + ips_list = ips.replace(" ", "").split(",") + + functions: t.Dict[str, t.Callable[[t.Any], t.Any]] = { + "address": ipaddress.ip_address, + "interface": ipaddress.ip_interface, + "network": ipaddress.ip_network, + } + + try: + sorted_list = sorted(functions[sort_type](ip) for ip in ips_list) + if sort_type in ["interface", "network"]: + return [cidrs.with_prefixlen for cidrs in sorted_list] + return [str(ip) for ip in sorted_list] + except ValueError as err: + raise ValueError(f"Invalid IP of {sort_type} input: {err}") from err diff --git a/netutils/lib_helpers.py b/netutils/lib_helpers.py index ad7395ca..13bdeba2 100755 --- a/netutils/lib_helpers.py +++ b/netutils/lib_helpers.py @@ -5,14 +5,6 @@ from netutils.lib_mapper import NAPALM_LIB_MAPPER -try: - from napalm import get_network_driver - from napalm.base.exceptions import ModuleImportError -except ImportError: - HAS_NAPALM = False -else: - HAS_NAPALM = True - def get_napalm_getters() -> t.Dict[str, t.Dict[str, bool]]: """Utility to return a dictionary of napalm getters based on install napalm version. @@ -31,8 +23,13 @@ def get_napalm_getters() -> t.Dict[str, t.Dict[str, bool]]: >>> napalm_getters["eos"]["get_ipv6_neighbors_table"] # doctest: +SKIP >>> False # doctest: +SKIP """ - if not HAS_NAPALM: - raise ImportError("Napalm must be install for this function to operate.") + try: + # Import NAPALM here at call time, rather than at import time, as importing NAPALM is rather time consuming + # pylint: disable=import-outside-toplevel + from napalm import get_network_driver + from napalm.base.exceptions import ModuleImportError + except ImportError as err: + raise ImportError("Napalm must be installed for this function to operate.") from err napalm_dict: t.Dict[str, t.Dict[str, bool]] = {} oses = NAPALM_LIB_MAPPER.keys() diff --git a/netutils/lib_mapper.py b/netutils/lib_mapper.py index 34ab1756..bd0816d1 100755 --- a/netutils/lib_mapper.py +++ b/netutils/lib_mapper.py @@ -3,6 +3,138 @@ import copy import typing as t +# AERLEON | Normalized +AERLEON_LIB_MAPPER = { + "arista": "arista_eos", + "aruba": "aruba_aoscx", + "brocade": "ruckus_fastiron", + "cisco": "cisco_ios", + "ciscoasa": "cisco_asa", + "cisconx": "cisco_nxos", + "ciscoxr": "cisco_iosxr", + "cloudarmor": "cloudarmor", + "gce": "gce", + "gcp_hf": "gcp_hf", + "ipset": "ipset", + "iptables": "iptables", + "juniper": "juniper_junos", + "juniperevo": "juniper_evo", + "k8s": "k8s", + "msmpc": "juniper_msmpc", + "openconfig": "openconfig", + "pcap": "pcap", + "packetfilter": "packetfilter", + "speedway": "speedway", + "srx": "juniper_srx", + "srxlo": "juniper_srx", + "paloalto": "paloalto_panos", + "nsxv": "vmware_nsxv", + "nsxt": "vmware_nsxt", + "sonic": "sonic", + "windows": "windows", + "windows_advfirewall": "windows_advfirewall", +} + +# Normalized | AERLEON +AERLEON_LIB_MAPPER_REVERSE = { + "arista_eos": "arista", + "aruba_aoscx": "aruba", + "brocade_fastiron": "brocade", + "brocade_netiron": "brocade", + "cisco_ios": "cisco", + "cisco_asa": "ciscoasa", + "cisco_nxos": "cisconx", + "cisco_iosxr": "ciscoxr", + "cloudarmor": "cloudarmor", + "gce": "gce", + "gcp_hf": "gcp_hf", + "ipset": "ipset", + "iptables": "iptables", + "juniper_junos": "juniper", + "juniper_evo": "juniperevo", + "juniper_msmpc": "msmpc", + "juniper_srx": "srxlo", + "k8s": "k8s", + "openconfig": "openconfig", + "packetfilter": "packetfilter", + "paloalto_panos": "paloalto", + "pcap": "pcap", + "ruckus_fastiron": "brocade", + "vmware_nsxv": "nsxv", + "vmware_nsxt": "nsxt", + "speedway": "speedway", + "sonic": "sonic", + "windows_ipsec": "windows", + "windows_advfirewall": "windows_advfirewall", +} + + +# CAPIRCA | Normalized +CAPIRCA_LIB_MAPPER = { + "arista": "arista_eos", + "aruba": "aruba_aoscx", + "brocade": "ruckus_fastiron", + "cisco": "cisco_ios", + "ciscoasa": "cisco_asa", + "cisconx": "cisco_nxos", + "ciscoxr": "cisco_iosxr", + "cloudarmor": "cloudarmor", + "gce": "gce", + "gcp_hf": "gcp_hf", + "ipset": "ipset", + "iptables": "iptables", + "juniper": "juniper_junos", + "juniperevo": "juniper_evo", + "k8s": "k8s", + "msmpc": "juniper_msmpc", + "openconfig": "openconfig", + "pcap": "pcap", + "packetfilter": "packetfilter", + "speedway": "speedway", + "srx": "juniper_srx", + "srxlo": "juniper_srx", + "paloalto": "paloalto_panos", + "nsxv": "vmware_nsxv", + "nsxt": "vmware_nsxt", + "sonic": "sonic", + "windows": "windows", + "windows_advfirewall": "windows_advfirewall", +} + +# Normalized | CAPIRCA +CAPIRCA_LIB_MAPPER_REVERSE = { + "arista_eos": "arista", + "aruba_aoscx": "aruba", + "brocade_fastiron": "brocade", + "brocade_netiron": "brocade", + "cisco_ios": "cisco", + "cisco_asa": "ciscoasa", + "cisco_nxos": "cisconx", + "cisco_iosxr": "ciscoxr", + "cloudarmor": "cloudarmor", + "gce": "gce", + "gcp_hf": "gcp_hf", + "ipset": "ipset", + "iptables": "iptables", + "juniper_junos": "juniper", + "juniper_evo": "juniperevo", + "juniper_msmpc": "msmpc", + "juniper_srx": "srxlo", + "k8s": "k8s", + "openconfig": "openconfig", + "packetfilter": "packetfilter", + "paloalto_panos": "paloalto", + "pcap": "pcap", + "ruckus_fastiron": "brocade", + "vmware_nsxv": "nsxv", + "vmware_nsxt": "nsxt", + "speedway": "speedway", + "sonic": "sonic", + "windows_ipsec": "windows", + "windows_advfirewall": "windows_advfirewall", +} + + _NETMIKO_LIB_MAPPER: t.Dict[str, t.Dict[str, str]] = { "a10": {}, "accedian": {}, @@ -124,6 +256,7 @@ _NTCTEMPLATES_LIB_MAPPER["watchguard_firebox"] = "watchguard_firebox" NTCTEMPLATES_LIB_MAPPER = {key: _NTCTEMPLATES_LIB_MAPPER[key] for key in sorted(_NTCTEMPLATES_LIB_MAPPER)} +# NAPALM | Normalized NAPALM_LIB_MAPPER = { "aoscx": "aruba_aoscx", "asa": "cisco_asa", @@ -131,7 +264,7 @@ "eos": "arista_eos", "f5": "bigip_f5", "fortios": "fortinet", - "huawei": "huawei_vrp", + "huawei_vrp": "huawei", "ios": "cisco_ios", "iosxr": "cisco_xr", "junos": "juniper_junos", @@ -143,6 +276,7 @@ "vyos": "brocade_vyos", } +# PYTNC | Normalized PYNTC_LIB_MAPPER = { "arista_eos_eapi": "arista_eos", "cisco_aireos_ssh": "cisco_wlc", @@ -153,13 +287,16 @@ "juniper_junos_netconf": "juniper_junos", } +# Ansible | Normalized ANSIBLE_LIB_MAPPER = { + "a10.acos_axapi.a10": "a10", "arista.eos.eos": "arista_eos", "arubanetworks.aoscx": "aruba_aoscx", "ciena.saos6.saos6": "ciena_saos", "cisco.asa.asa": "cisco_asa", "cisco.ios.ios": "cisco_ios", "cisco.iosxr.iosxr": "cisco_xr", + "cisco.meraki.meraki": "cisco_meraki", "cisco.nxos.nxos": "cisco_nxos", "community.network.ce": "huawei", "community.network.cnos": "lenovo_cnos", @@ -174,13 +311,18 @@ "community.network.slxos": "extreme_slx", "community.network.sros": "nokia_sros", "community.network.voss": "extreme_vsp", + "dellemc.enterprise_sonic.sonic": "sonic", "dellemc.os10.0s10": "dell_os10", "dellemc.os6.os6": "dell_os6", "dellemc.os9.os9": "dell_os9", + "f5networks.f5_bigip.bigip": "bigip_f5", + "fortinet.fortios.fortios": "fortinet", "junipernetworks.junos.junos": "juniper_junos", + "paloaltonetworks.panos.panos": "paloalto_panos", "vyos.vyos.vyos": "vyos", } +# PYATS | Normalized PYATS_LIB_MAPPER = { "asa": "cisco_asa", "bigip": "f5_tmsh", @@ -195,6 +337,7 @@ "viptela": "cisco_viptella", } +# SCRAPLI | Normalized SCRAPLI_LIB_MAPPER = { "arista_eos": "arista_eos", "aruba_aoscx": "aruba_aoscx", @@ -204,6 +347,7 @@ "juniper_junos": "juniper_junos", } +# HIERCONFIG | Normalized HIERCONFIG_LIB_MAPPER = { "eos": "arista_eos", "fastiron": "ruckus_fastiron", @@ -213,6 +357,7 @@ "nxos": "cisco_nxos", } +# Netutils Parser | Normalized NETUTILSPARSER_LIB_MAPPER = { "arista_eos": "arista_eos", "aruba_aoscx": "aruba_aoscx", @@ -220,7 +365,7 @@ "cisco_aireos": "cisco_aireos", "cisco_asa": "cisco_asa", "cisco_ios": "cisco_ios", - "cisco_iosxr": "cisco_iosxr", + "cisco_iosxr": "cisco_xr", "cisco_nxos": "cisco_nxos", "citrix_netscaler": "citrix_netscaler", "extreme_netiron": "extreme_netiron", @@ -236,6 +381,27 @@ "ubiquiti_airos": "ubiquiti_airos", } +# Forward Networks Parser | Normalized +FORWARDNETWORKS_LIB_MAPPER = { + "ARISTA_EOS": "arista_eos", + "ARUBA_SWITCH": "aruba_aoscx", + "ASA": "cisco_asa", + "EXTREME_NOS": "extreme_netiron", + "FORTINET": "fortinet_fortios", + "F5": "bigip_f5", + "IOS": "cisco_ios", + "IOS_XE": "cisco_ios", + "IOS_XR": "cisco_iosxr", + "JUNOS": "juniper_junos", + "LINUX": "linux", + "LINUX_OVS_OFCTL": "linux", + "NETSCALER": "netscaler", + "NXOS": "cisco_nxos", + "PAN_OS": "paloalto_panos", + "SRX": "juniper_junos", +} + +# Normalized | NAPALM NAPALM_LIB_MAPPER_REVERSE = { "arista_eos": "eos", "aruba_aoscx": "aoscx", @@ -246,30 +412,38 @@ "cisco_nxos": "nxos", "cisco_wlc": "cisco_wlc_ssh", "cisco_xr": "iosxr", + "cisco_xe": "cisco_ios", "fortinet": "fortios", - "huawei_vrp": "huawei", + "huawei": "huawei_vrp", "juniper_junos": "junos", "mikrotik_routeros": "ros", "nokia_sros": "sros", "paloalto_panos": "panos", } +# Normalized | PYTNC PYNTC_LIB_MAPPER_REVERSE = { "arista_eos": "arista_eos_eapi", "cisco_asa": "cisco_asa_ssh", "cisco_ios": "cisco_ios_ssh", + "cisco_xe": "cisco_ios_ssh", "cisco_nxos": "cisco_nxos_nxapi", "cisco_wlc": "cisco_aireos_ssh", "f5_tmsh": "f5_tmos_icontrol", "juniper_junos": "juniper_junos_netconf", } +# Normalized | ANSIBLE ANSIBLE_LIB_MAPPER_REVERSE = { + "a10": "a10.acos_axapi.a10", "arista_eos": "arista.eos.eos", "aruba_aoscx": "arubanetworks.aoscx", + "bigip_f5": "f5networks.f5_bigip.bigip", "ciena_saos": "ciena.saos6.saos6", "cisco_asa": "cisco.asa.asa", + "cisco_xe": "cisco.ios.ios", "cisco_ios": "cisco.ios.ios", + "cisco_meraki": "cisco.meraki.meraki", "cisco_nxos": "cisco.nxos.nxos", "cisco_xr": "cisco.iosxr.iosxr", "dell_os10": "dellemc.os10.0s10", @@ -281,22 +455,27 @@ "extreme_nos": "community.network.nos", "extreme_slx": "community.network.slxos", "extreme_vsp": "community.network.voss", + "fortinet": "fortinet.fortios.fortios", "huawei": "community.network.ce", "juniper_junos": "junipernetworks.junos.junos", "lenovo_cnos": "community.network.cnos", "lenovo_enos": "community.network.enos", "mikrotik_routeros": "community.network.routeros", "nokia_sros": "community.network.sros", + "paloalto_panos": "paloaltonetworks.panos.panos", "pluribus": "community.network.netvisor", "ruckus_icx": "community.network.icx", + "sonic": "dellemc.enterprise_sonic.sonic", "vyos": "vyos.vyos.vyos", } +# Normalized | PYATS PYATS_LIB_MAPPER_REVERSE = { "cisco_asa": "asa", "cisco_dnac": "dnac", "cisco_ios": "iosxe", "cisco_nxos": "nxos", + "cisco_xe": "iosxe", "cisco_viptella": "viptela", "cisco_xr": "iosxr", "f5_tmsh": "bigip", @@ -305,6 +484,7 @@ "nokia_sros": "sros", } +# Normalized | Scrapli SCRAPLI_LIB_MAPPER_REVERSE = { "arista_eos": "arista_eos", "aruba_aoscx": "aruba_aoscx", @@ -314,6 +494,7 @@ "juniper_junos": "juniper_junos", } +# Normalized | HIERCONFIG HIERCONFIG_LIB_MAPPER_REVERSE = { "arista_eos": "eos", "cisco_ios": "ios", @@ -323,6 +504,7 @@ "ruckus_fastiron": "fastiron", } +# Normalized | Netutils Parser NETUTILSPARSER_LIB_MAPPER_REVERSE = { "arista_eos": "arista_eos", "aruba_aoscx": "aruba_aoscx", @@ -330,8 +512,8 @@ "cisco_aireos": "cisco_aireos", "cisco_asa": "cisco_asa", "cisco_ios": "cisco_ios", - "cisco_iosxr": "cisco_iosxr", "cisco_nxos": "cisco_nxos", + "cisco_xr": "cisco_iosxr", "citrix_netscaler": "citrix_netscaler", "extreme_netiron": "extreme_netiron", "fortinet_fortios": "fortinet_fortios", @@ -346,21 +528,41 @@ "ubiquiti_airos": "ubiquiti_airos", } +# Normalized | Forward Networks Parser +FORWARDNETWORKS_LIB_MAPPER_REVERSE = { + "arista_eos": "ARISTA_EOS", + "aruba_aoscx": "ARUBA_SWITCH", + "bigip_f5": "F5", + "cisco_asa": "ASA", + "cisco_ios": "IOS", + "cisco_iosxr": "IOS_XR", + "cisco_nxos": "NXOS", + "extreme_netiron": "EXTREME_NOS", + "fortinet_fortios": "FORTINET", + "juniper_junos": "JUNOS", + "linux": "LINUX", + "netscaler": "NETSCALER", + "paloalto_panos": "PAN_OS", +} + # Deep copy the reverse, where there is no actual translation happening. NETMIKO_LIB_MAPPER_REVERSE = copy.deepcopy(NETMIKO_LIB_MAPPER) NTCTEMPLATES_LIB_MAPPER_REVERSE = copy.deepcopy(NTCTEMPLATES_LIB_MAPPER) + # Deep copy the reverse, where there is no actual translation happening with special # consideration for OS's not in netmiko. _MAIN_LIB_MAPPER = copy.deepcopy(NETMIKO_LIB_MAPPER) _MAIN_LIB_MAPPER["aruba_aoscx"] = "aruba_aoscx" _MAIN_LIB_MAPPER["cisco_dnac"] = "cisco_dnac" +_MAIN_LIB_MAPPER["cisco_meraki"] = "cisco_meraki" _MAIN_LIB_MAPPER["cisco_viptella"] = "cisco_viptella" _MAIN_LIB_MAPPER["huawei_vrp"] = "huawei_vrp" _MAIN_LIB_MAPPER["lenovo_cnos"] = "lenovo_cnos" _MAIN_LIB_MAPPER["lenovo_enos"] = "lenovo_enos" _MAIN_LIB_MAPPER["ruckus_icx"] = "ruckus_icx" _MAIN_LIB_MAPPER["ruckus_smartzone"] = "ruckus_smartzone" +_MAIN_LIB_MAPPER["sonic"] = "sonic" _MAIN_LIB_MAPPER["vmware_nsxv"] = "vmware_nsxv" _MAIN_LIB_MAPPER["watchguard_firebox"] = "watchguard_firebox" MAIN_LIB_MAPPER = {key: _MAIN_LIB_MAPPER[key] for key in sorted(_MAIN_LIB_MAPPER)} diff --git a/netutils/os_version.py b/netutils/os_version.py index 09268de9..1fb5da6a 100755 --- a/netutils/os_version.py +++ b/netutils/os_version.py @@ -1,13 +1,10 @@ """Functions for working with OS Versions.""" import typing as t -from distutils.version import LooseVersion # pylint: disable=deprecated-module +from netutils._private.version import LooseVersion, StrictVersion # type: ignore -def get_upgrade_path( - current_version: str, - target_version: str, - firmware_list: t.List[str], -) -> t.List[str]: + +def get_upgrade_path(current_version: str, target_version: str, firmware_list: t.List[str]) -> t.List[str]: """Utility to return the upgrade path from the current to target firmware version. Returns: @@ -47,3 +44,86 @@ def get_upgrade_path( upgrade_path.append(target_version) return upgrade_path + + +def _compare_version(current_version: str, comparison: str, target_version: str, version_type: str) -> bool: + # Convert version strings to Version objects for comparison + if version_type == "loose": + current_ver_obj = LooseVersion(current_version) + target_ver_obj = LooseVersion(target_version) + elif version_type == "strict": + current_ver_obj = StrictVersion(current_version) + target_ver_obj = StrictVersion(target_version) + + # Perform the comparison based on the comparison operation + if comparison == "<": + return bool(current_ver_obj < target_ver_obj) + if comparison == "<=": + return bool(current_ver_obj <= target_ver_obj) + if comparison == "==": + return bool(current_ver_obj == target_ver_obj) + if comparison == "!=": + return bool(current_ver_obj != target_ver_obj) + if comparison == ">": + return bool(current_ver_obj > target_ver_obj) + if comparison == ">=": + return bool(current_ver_obj >= target_ver_obj) + raise ValueError(f"Invalid comparison operator: {comparison}") + + +def compare_version_loose(current_version: str, comparison: str, target_version: str) -> bool: + """ + Compares two version strings using the specified comparison operation, based on LooseVersion. + + Args: + current_version (str): The current version string to compare. + comparison (str): The comparison operation as a string (<, <=, ==, !=, >, >=). + target_version (str): The target version string to compare against. + + Returns: + bool: The result of the comparison. + + Raises: + ValueError: If there is an invalid comparison. + TypeError: If not a valid version. + + Example: + >>> from netutils.os_version import compare_version_loose + >>> compare_version_loose("3.3.3a", "==", "3.3.3a") + True + >>> compare_version_loose("3.3.2", "<=", "3.3.3") + True + >>> compare_version_loose("3.3.2", ">=", "3.3.3") + False + >>> + """ + return _compare_version(current_version, comparison, target_version, "loose") + + +def compare_version_strict(current_version: str, comparison: str, target_version: str) -> bool: + """ + Compares two version strings using the specified comparison operation, based on LooseVersion. + + Args: + current_version (str): The current version string to compare. + comparison (str): The comparison operation as a string (<, <=, ==, !=, >, >=). + target_version (str): The target version string to compare against. + + Returns: + bool: The result of the comparison. + + Raises: + ValueError: If there is an invalid comparison. + ValueError: If not a valid version. + + Example: + >>> from netutils.os_version import compare_version_strict + >>> compare_version_strict("3.3.3", "==", "3.3.3") + True + >>> compare_version_strict("3.3.2", "<=", "3.3.3") + True + >>> compare_version_strict("3.3.2", ">=", "3.3.3") + False + >>> + """ + return _compare_version(current_version, comparison, target_version, "strict") diff --git a/netutils/utils.py b/netutils/utils.py index ec63436a..7dbc8c5c 100755 --- a/netutils/utils.py +++ b/netutils/utils.py @@ -88,8 +88,11 @@ "get_napalm_getters": "lib_helpers.get_napalm_getters", "paloalto_panos_brace_to_set": "config.conversion.paloalto_panos_brace_to_set", "palo_alto_clean_newlines": "config.conversion.palo_alto_clean_newlines", + "compare_version_loose": "os_version.compare_version_loose", + "compare_version_strict": "os_version.compare_version_strict", "get_upgrade_path": "os_version.get_upgrade_path", "hash_data": "hash.hash_data", + "get_ips_sorted": "ip.get_ips_sorted", } diff --git a/poetry.lock b/poetry.lock index 9130579b..6e6a72d6 100755 --- a/poetry.lock +++ b/poetry.lock @@ -1,23 +1,18 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "astroid" -version = "2.15.6" +version = "3.1.0" description = "An abstract syntax tree for Python with inference support." optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.8.0" files = [ - {file = "astroid-2.15.6-py3-none-any.whl", hash = "sha256:389656ca57b6108f939cf5d2f9a2a825a3be50ba9d589670f393236e0a03b91c"}, - {file = "astroid-2.15.6.tar.gz", hash = "sha256:903f024859b7c7687d7a7f3a3f73b17301f8e42dfd9cc9df9d4418172d3e2dbd"}, + {file = "astroid-3.1.0-py3-none-any.whl", hash = "sha256:951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819"}, + {file = "astroid-3.1.0.tar.gz", hash = "sha256:ac248253bfa4bd924a0de213707e7ebeeb3138abeb48d798784ead1e56d419d4"}, ] [package.dependencies] -lazy-object-proxy = ">=1.4.0" typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} -wrapt = [ - {version = ">=1.11,<2", markers = "python_version < \"3.11\""}, - {version = ">=1.14,<2", markers = "python_version >= \"3.11\""}, -] [[package]] name = "astunparse" @@ -533,19 +528,19 @@ test = ["pytest (>=6)"] [[package]] name = "flake8" -version = "5.0.4" +version = "7.0.0" description = "the modular source code checker: pep8 pyflakes and co" optional = false -python-versions = ">=3.6.1" +python-versions = ">=3.8.1" files = [ - {file = "flake8-5.0.4-py2.py3-none-any.whl", hash = "sha256:7a1cf6b73744f5806ab95e526f6f0d8c01c66d7bbe349562d22dfca20610b248"}, - {file = "flake8-5.0.4.tar.gz", hash = "sha256:6fbe320aad8d6b95cec8b8e47bc933004678dc63095be98528b7bdd2a9f510db"}, + {file = "flake8-7.0.0-py2.py3-none-any.whl", hash = "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3"}, + {file = "flake8-7.0.0.tar.gz", hash = "sha256:33f96621059e65eec474169085dc92bf26e7b2d47366b70be2f67ab80dc25132"}, ] [package.dependencies] mccabe = ">=0.7.0,<0.8.0" -pycodestyle = ">=2.9.0,<2.10.0" -pyflakes = ">=2.5.0,<2.6.0" +pycodestyle = ">=2.11.0,<2.12.0" +pyflakes = ">=3.2.0,<3.3.0" [[package]] name = "future" @@ -783,51 +778,6 @@ six = "*" transitions = "*" yamlordereddictloader = "*" -[[package]] -name = "lazy-object-proxy" -version = "1.9.0" -description = "A fast and thorough lazy object proxy." -optional = false -python-versions = ">=3.7" -files = [ - {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, -] - [[package]] name = "lxml" version = "4.9.3" @@ -1020,16 +970,6 @@ files = [ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, @@ -1502,13 +1442,13 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "pycodestyle" -version = "2.9.1" +version = "2.11.1" description = "Python style guide checker" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "pycodestyle-2.9.1-py2.py3-none-any.whl", hash = "sha256:d1735fc58b418fd7c5f658d28d943854f8a849b01a5d0a1e6f3f3fdd0166804b"}, - {file = "pycodestyle-2.9.1.tar.gz", hash = "sha256:2c9607871d58c76354b697b42f5d57e1ada7d261c261efac224b664affdc5785"}, + {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"}, + {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"}, ] [[package]] @@ -1558,13 +1498,13 @@ test = ["coverage", "mock"] [[package]] name = "pyflakes" -version = "2.5.0" +version = "3.2.0" description = "passive checker of Python programs" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "pyflakes-2.5.0-py2.py3-none-any.whl", hash = "sha256:4579f67d887f804e67edb544428f264b7b24f435b263c4614f384135cea553d2"}, - {file = "pyflakes-2.5.0.tar.gz", hash = "sha256:491feb020dca48ccc562a8c0cbe8df07ee13078df59813b83959cbdada312ea3"}, + {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"}, + {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"}, ] [[package]] @@ -1583,23 +1523,24 @@ plugins = ["importlib-metadata"] [[package]] name = "pylint" -version = "2.17.5" +version = "3.1.0" description = "python code static checker" optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.8.0" files = [ - {file = "pylint-2.17.5-py3-none-any.whl", hash = "sha256:73995fb8216d3bed149c8d51bba25b2c52a8251a2c8ac846ec668ce38fab5413"}, - {file = "pylint-2.17.5.tar.gz", hash = "sha256:f7b601cbc06fef7e62a754e2b41294c2aa31f1cb659624b9a85bcba29eaf8252"}, + {file = "pylint-3.1.0-py3-none-any.whl", hash = "sha256:507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74"}, + {file = "pylint-3.1.0.tar.gz", hash = "sha256:6a69beb4a6f63debebaab0a3477ecd0f559aa726af4954fc948c51f7a2549e23"}, ] [package.dependencies] -astroid = ">=2.15.6,<=2.17.0-dev0" +astroid = ">=3.1.0,<=3.2.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = [ {version = ">=0.2", markers = "python_version < \"3.11\""}, - {version = ">=0.3.6", markers = "python_version >= \"3.11\""}, + {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, + {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, ] -isort = ">=4.2.5,<6" +isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" mccabe = ">=0.6,<0.8" platformdirs = ">=2.2.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} @@ -1759,7 +1700,6 @@ files = [ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, @@ -1767,15 +1707,8 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, - {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, - {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, - {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, @@ -1792,7 +1725,6 @@ files = [ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, @@ -1800,7 +1732,6 @@ files = [ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, @@ -1852,99 +1783,104 @@ rpds-py = ">=0.7.0" [[package]] name = "regex" -version = "2023.8.8" +version = "2023.12.25" description = "Alternative regular expression module, to replace re." optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "regex-2023.8.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:88900f521c645f784260a8d346e12a1590f79e96403971241e64c3a265c8ecdb"}, - {file = "regex-2023.8.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3611576aff55918af2697410ff0293d6071b7e00f4b09e005d614686ac4cd57c"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8a0ccc8f2698f120e9e5742f4b38dc944c38744d4bdfc427616f3a163dd9de5"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c662a4cbdd6280ee56f841f14620787215a171c4e2d1744c9528bed8f5816c96"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cf0633e4a1b667bfe0bb10b5e53fe0d5f34a6243ea2530eb342491f1adf4f739"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:551ad543fa19e94943c5b2cebc54c73353ffff08228ee5f3376bd27b3d5b9800"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54de2619f5ea58474f2ac211ceea6b615af2d7e4306220d4f3fe690c91988a61"}, - {file = "regex-2023.8.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5ec4b3f0aebbbe2fc0134ee30a791af522a92ad9f164858805a77442d7d18570"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3ae646c35cb9f820491760ac62c25b6d6b496757fda2d51be429e0e7b67ae0ab"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ca339088839582d01654e6f83a637a4b8194d0960477b9769d2ff2cfa0fa36d2"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:d9b6627408021452dcd0d2cdf8da0534e19d93d070bfa8b6b4176f99711e7f90"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:bd3366aceedf274f765a3a4bc95d6cd97b130d1dda524d8f25225d14123c01db"}, - {file = "regex-2023.8.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7aed90a72fc3654fba9bc4b7f851571dcc368120432ad68b226bd593f3f6c0b7"}, - {file = "regex-2023.8.8-cp310-cp310-win32.whl", hash = "sha256:80b80b889cb767cc47f31d2b2f3dec2db8126fbcd0cff31b3925b4dc6609dcdb"}, - {file = "regex-2023.8.8-cp310-cp310-win_amd64.whl", hash = "sha256:b82edc98d107cbc7357da7a5a695901b47d6eb0420e587256ba3ad24b80b7d0b"}, - {file = "regex-2023.8.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1e7d84d64c84ad97bf06f3c8cb5e48941f135ace28f450d86af6b6512f1c9a71"}, - {file = "regex-2023.8.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ce0f9fbe7d295f9922c0424a3637b88c6c472b75eafeaff6f910494a1fa719ef"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06c57e14ac723b04458df5956cfb7e2d9caa6e9d353c0b4c7d5d54fcb1325c46"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e7a9aaa5a1267125eef22cef3b63484c3241aaec6f48949b366d26c7250e0357"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b7408511fca48a82a119d78a77c2f5eb1b22fe88b0d2450ed0756d194fe7a9a"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14dc6f2d88192a67d708341f3085df6a4f5a0c7b03dec08d763ca2cd86e9f559"}, - {file = "regex-2023.8.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48c640b99213643d141550326f34f0502fedb1798adb3c9eb79650b1ecb2f177"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0085da0f6c6393428bf0d9c08d8b1874d805bb55e17cb1dfa5ddb7cfb11140bf"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:964b16dcc10c79a4a2be9f1273fcc2684a9eedb3906439720598029a797b46e6"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7ce606c14bb195b0e5108544b540e2c5faed6843367e4ab3deb5c6aa5e681208"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:40f029d73b10fac448c73d6eb33d57b34607f40116e9f6e9f0d32e9229b147d7"}, - {file = "regex-2023.8.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3b8e6ea6be6d64104d8e9afc34c151926f8182f84e7ac290a93925c0db004bfd"}, - {file = "regex-2023.8.8-cp311-cp311-win32.whl", hash = "sha256:942f8b1f3b223638b02df7df79140646c03938d488fbfb771824f3d05fc083a8"}, - {file = "regex-2023.8.8-cp311-cp311-win_amd64.whl", hash = "sha256:51d8ea2a3a1a8fe4f67de21b8b93757005213e8ac3917567872f2865185fa7fb"}, - {file = "regex-2023.8.8-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e951d1a8e9963ea51efd7f150450803e3b95db5939f994ad3d5edac2b6f6e2b4"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:704f63b774218207b8ccc6c47fcef5340741e5d839d11d606f70af93ee78e4d4"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22283c769a7b01c8ac355d5be0715bf6929b6267619505e289f792b01304d898"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91129ff1bb0619bc1f4ad19485718cc623a2dc433dff95baadbf89405c7f6b57"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de35342190deb7b866ad6ba5cbcccb2d22c0487ee0cbb251efef0843d705f0d4"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b993b6f524d1e274a5062488a43e3f9f8764ee9745ccd8e8193df743dbe5ee61"}, - {file = "regex-2023.8.8-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3026cbcf11d79095a32d9a13bbc572a458727bd5b1ca332df4a79faecd45281c"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:293352710172239bf579c90a9864d0df57340b6fd21272345222fb6371bf82b3"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:d909b5a3fff619dc7e48b6b1bedc2f30ec43033ba7af32f936c10839e81b9217"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:3d370ff652323c5307d9c8e4c62efd1956fb08051b0e9210212bc51168b4ff56"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:b076da1ed19dc37788f6a934c60adf97bd02c7eea461b73730513921a85d4235"}, - {file = "regex-2023.8.8-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e9941a4ada58f6218694f382e43fdd256e97615db9da135e77359da257a7168b"}, - {file = "regex-2023.8.8-cp36-cp36m-win32.whl", hash = "sha256:a8c65c17aed7e15a0c824cdc63a6b104dfc530f6fa8cb6ac51c437af52b481c7"}, - {file = "regex-2023.8.8-cp36-cp36m-win_amd64.whl", hash = "sha256:aadf28046e77a72f30dcc1ab185639e8de7f4104b8cb5c6dfa5d8ed860e57236"}, - {file = "regex-2023.8.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:423adfa872b4908843ac3e7a30f957f5d5282944b81ca0a3b8a7ccbbfaa06103"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ae594c66f4a7e1ea67232a0846649a7c94c188d6c071ac0210c3e86a5f92109"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e51c80c168074faa793685656c38eb7a06cbad7774c8cbc3ea05552d615393d8"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:09b7f4c66aa9d1522b06e31a54f15581c37286237208df1345108fcf4e050c18"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e73e5243af12d9cd6a9d6a45a43570dbe2e5b1cdfc862f5ae2b031e44dd95a8"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:941460db8fe3bd613db52f05259c9336f5a47ccae7d7def44cc277184030a116"}, - {file = "regex-2023.8.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f0ccf3e01afeb412a1a9993049cb160d0352dba635bbca7762b2dc722aa5742a"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:2e9216e0d2cdce7dbc9be48cb3eacb962740a09b011a116fd7af8c832ab116ca"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:5cd9cd7170459b9223c5e592ac036e0704bee765706445c353d96f2890e816c8"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:4873ef92e03a4309b3ccd8281454801b291b689f6ad45ef8c3658b6fa761d7ac"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:239c3c2a339d3b3ddd51c2daef10874410917cd2b998f043c13e2084cb191684"}, - {file = "regex-2023.8.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1005c60ed7037be0d9dea1f9c53cc42f836188227366370867222bda4c3c6bd7"}, - {file = "regex-2023.8.8-cp37-cp37m-win32.whl", hash = "sha256:e6bd1e9b95bc5614a7a9c9c44fde9539cba1c823b43a9f7bc11266446dd568e3"}, - {file = "regex-2023.8.8-cp37-cp37m-win_amd64.whl", hash = "sha256:9a96edd79661e93327cfeac4edec72a4046e14550a1d22aa0dd2e3ca52aec921"}, - {file = "regex-2023.8.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f2181c20ef18747d5f4a7ea513e09ea03bdd50884a11ce46066bb90fe4213675"}, - {file = "regex-2023.8.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a2ad5add903eb7cdde2b7c64aaca405f3957ab34f16594d2b78d53b8b1a6a7d6"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9233ac249b354c54146e392e8a451e465dd2d967fc773690811d3a8c240ac601"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:920974009fb37b20d32afcdf0227a2e707eb83fe418713f7a8b7de038b870d0b"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd2b6c5dfe0929b6c23dde9624483380b170b6e34ed79054ad131b20203a1a63"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96979d753b1dc3b2169003e1854dc67bfc86edf93c01e84757927f810b8c3c93"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ae54a338191e1356253e7883d9d19f8679b6143703086245fb14d1f20196be9"}, - {file = "regex-2023.8.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2162ae2eb8b079622176a81b65d486ba50b888271302190870b8cc488587d280"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c884d1a59e69e03b93cf0dfee8794c63d7de0ee8f7ffb76e5f75be8131b6400a"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:cf9273e96f3ee2ac89ffcb17627a78f78e7516b08f94dc435844ae72576a276e"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:83215147121e15d5f3a45d99abeed9cf1fe16869d5c233b08c56cdf75f43a504"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f7454aa427b8ab9101f3787eb178057c5250478e39b99540cfc2b889c7d0586"}, - {file = "regex-2023.8.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0640913d2c1044d97e30d7c41728195fc37e54d190c5385eacb52115127b882"}, - {file = "regex-2023.8.8-cp38-cp38-win32.whl", hash = "sha256:0c59122ceccb905a941fb23b087b8eafc5290bf983ebcb14d2301febcbe199c7"}, - {file = "regex-2023.8.8-cp38-cp38-win_amd64.whl", hash = "sha256:c12f6f67495ea05c3d542d119d270007090bad5b843f642d418eb601ec0fa7be"}, - {file = "regex-2023.8.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:82cd0a69cd28f6cc3789cc6adeb1027f79526b1ab50b1f6062bbc3a0ccb2dbc3"}, - {file = "regex-2023.8.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bb34d1605f96a245fc39790a117ac1bac8de84ab7691637b26ab2c5efb8f228c"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:987b9ac04d0b38ef4f89fbc035e84a7efad9cdd5f1e29024f9289182c8d99e09"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dd6082f4e2aec9b6a0927202c85bc1b09dcab113f97265127c1dc20e2e32495"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7eb95fe8222932c10d4436e7a6f7c99991e3fdd9f36c949eff16a69246dee2dc"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7098c524ba9f20717a56a8d551d2ed491ea89cbf37e540759ed3b776a4f8d6eb"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b694430b3f00eb02c594ff5a16db30e054c1b9589a043fe9174584c6efa8033"}, - {file = "regex-2023.8.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b2aeab3895d778155054abea5238d0eb9a72e9242bd4b43f42fd911ef9a13470"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:988631b9d78b546e284478c2ec15c8a85960e262e247b35ca5eaf7ee22f6050a"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:67ecd894e56a0c6108ec5ab1d8fa8418ec0cff45844a855966b875d1039a2e34"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:14898830f0a0eb67cae2bbbc787c1a7d6e34ecc06fbd39d3af5fe29a4468e2c9"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:f2200e00b62568cfd920127782c61bc1c546062a879cdc741cfcc6976668dfcf"}, - {file = "regex-2023.8.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9691a549c19c22d26a4f3b948071e93517bdf86e41b81d8c6ac8a964bb71e5a6"}, - {file = "regex-2023.8.8-cp39-cp39-win32.whl", hash = "sha256:6ab2ed84bf0137927846b37e882745a827458689eb969028af8032b1b3dac78e"}, - {file = "regex-2023.8.8-cp39-cp39-win_amd64.whl", hash = "sha256:5543c055d8ec7801901e1193a51570643d6a6ab8751b1f7dd9af71af467538bb"}, - {file = "regex-2023.8.8.tar.gz", hash = "sha256:fcbdc5f2b0f1cd0f6a56cdb46fe41d2cce1e644e3b68832f3eeebc5fb0f7712e"}, + {file = "regex-2023.12.25-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0694219a1d54336fd0445ea382d49d36882415c0134ee1e8332afd1529f0baa5"}, + {file = "regex-2023.12.25-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b014333bd0217ad3d54c143de9d4b9a3ca1c5a29a6d0d554952ea071cff0f1f8"}, + {file = "regex-2023.12.25-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d865984b3f71f6d0af64d0d88f5733521698f6c16f445bb09ce746c92c97c586"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e0eabac536b4cc7f57a5f3d095bfa557860ab912f25965e08fe1545e2ed8b4c"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c25a8ad70e716f96e13a637802813f65d8a6760ef48672aa3502f4c24ea8b400"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9b6d73353f777630626f403b0652055ebfe8ff142a44ec2cf18ae470395766e"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9cc99d6946d750eb75827cb53c4371b8b0fe89c733a94b1573c9dd16ea6c9e4"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88d1f7bef20c721359d8675f7d9f8e414ec5003d8f642fdfd8087777ff7f94b5"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cb3fe77aec8f1995611f966d0c656fdce398317f850d0e6e7aebdfe61f40e1cd"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7aa47c2e9ea33a4a2a05f40fcd3ea36d73853a2aae7b4feab6fc85f8bf2c9704"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:df26481f0c7a3f8739fecb3e81bc9da3fcfae34d6c094563b9d4670b047312e1"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c40281f7d70baf6e0db0c2f7472b31609f5bc2748fe7275ea65a0b4601d9b392"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:d94a1db462d5690ebf6ae86d11c5e420042b9898af5dcf278bd97d6bda065423"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ba1b30765a55acf15dce3f364e4928b80858fa8f979ad41f862358939bdd1f2f"}, + {file = "regex-2023.12.25-cp310-cp310-win32.whl", hash = "sha256:150c39f5b964e4d7dba46a7962a088fbc91f06e606f023ce57bb347a3b2d4630"}, + {file = "regex-2023.12.25-cp310-cp310-win_amd64.whl", hash = "sha256:09da66917262d9481c719599116c7dc0c321ffcec4b1f510c4f8a066f8768105"}, + {file = "regex-2023.12.25-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1b9d811f72210fa9306aeb88385b8f8bcef0dfbf3873410413c00aa94c56c2b6"}, + {file = "regex-2023.12.25-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d902a43085a308cef32c0d3aea962524b725403fd9373dea18110904003bac97"}, + {file = "regex-2023.12.25-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d166eafc19f4718df38887b2bbe1467a4f74a9830e8605089ea7a30dd4da8887"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7ad32824b7f02bb3c9f80306d405a1d9b7bb89362d68b3c5a9be53836caebdb"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:636ba0a77de609d6510235b7f0e77ec494d2657108f777e8765efc060094c98c"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fda75704357805eb953a3ee15a2b240694a9a514548cd49b3c5124b4e2ad01b"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f72cbae7f6b01591f90814250e636065850c5926751af02bb48da94dfced7baa"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db2a0b1857f18b11e3b0e54ddfefc96af46b0896fb678c85f63fb8c37518b3e7"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7502534e55c7c36c0978c91ba6f61703faf7ce733715ca48f499d3dbbd7657e0"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:e8c7e08bb566de4faaf11984af13f6bcf6a08f327b13631d41d62592681d24fe"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:283fc8eed679758de38fe493b7d7d84a198b558942b03f017b1f94dda8efae80"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f44dd4d68697559d007462b0a3a1d9acd61d97072b71f6d1968daef26bc744bd"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:67d3ccfc590e5e7197750fcb3a2915b416a53e2de847a728cfa60141054123d4"}, + {file = "regex-2023.12.25-cp311-cp311-win32.whl", hash = "sha256:68191f80a9bad283432385961d9efe09d783bcd36ed35a60fb1ff3f1ec2efe87"}, + {file = "regex-2023.12.25-cp311-cp311-win_amd64.whl", hash = "sha256:7d2af3f6b8419661a0c421584cfe8aaec1c0e435ce7e47ee2a97e344b98f794f"}, + {file = "regex-2023.12.25-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8a0ccf52bb37d1a700375a6b395bff5dd15c50acb745f7db30415bae3c2b0715"}, + {file = "regex-2023.12.25-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c3c4a78615b7762740531c27cf46e2f388d8d727d0c0c739e72048beb26c8a9d"}, + {file = "regex-2023.12.25-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ad83e7545b4ab69216cef4cc47e344d19622e28aabec61574b20257c65466d6a"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7a635871143661feccce3979e1727c4e094f2bdfd3ec4b90dfd4f16f571a87a"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d498eea3f581fbe1b34b59c697512a8baef88212f92e4c7830fcc1499f5b45a5"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:43f7cd5754d02a56ae4ebb91b33461dc67be8e3e0153f593c509e21d219c5060"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51f4b32f793812714fd5307222a7f77e739b9bc566dc94a18126aba3b92b98a3"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba99d8077424501b9616b43a2d208095746fb1284fc5ba490139651f971d39d9"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4bfc2b16e3ba8850e0e262467275dd4d62f0d045e0e9eda2bc65078c0110a11f"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8c2c19dae8a3eb0ea45a8448356ed561be843b13cbc34b840922ddf565498c1c"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:60080bb3d8617d96f0fb7e19796384cc2467447ef1c491694850ebd3670bc457"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b77e27b79448e34c2c51c09836033056a0547aa360c45eeeb67803da7b0eedaf"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:518440c991f514331f4850a63560321f833979d145d7d81186dbe2f19e27ae3d"}, + {file = "regex-2023.12.25-cp312-cp312-win32.whl", hash = "sha256:e2610e9406d3b0073636a3a2e80db05a02f0c3169b5632022b4e81c0364bcda5"}, + {file = "regex-2023.12.25-cp312-cp312-win_amd64.whl", hash = "sha256:cc37b9aeebab425f11f27e5e9e6cf580be7206c6582a64467a14dda211abc232"}, + {file = "regex-2023.12.25-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:da695d75ac97cb1cd725adac136d25ca687da4536154cdc2815f576e4da11c69"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d126361607b33c4eb7b36debc173bf25d7805847346dd4d99b5499e1fef52bc7"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4719bb05094d7d8563a450cf8738d2e1061420f79cfcc1fa7f0a44744c4d8f73"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5dd58946bce44b53b06d94aa95560d0b243eb2fe64227cba50017a8d8b3cd3e2"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22a86d9fff2009302c440b9d799ef2fe322416d2d58fc124b926aa89365ec482"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2aae8101919e8aa05ecfe6322b278f41ce2994c4a430303c4cd163fef746e04f"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e692296c4cc2873967771345a876bcfc1c547e8dd695c6b89342488b0ea55cd8"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:263ef5cc10979837f243950637fffb06e8daed7f1ac1e39d5910fd29929e489a"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d6f7e255e5fa94642a0724e35406e6cb7001c09d476ab5fce002f652b36d0c39"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:88ad44e220e22b63b0f8f81f007e8abbb92874d8ced66f32571ef8beb0643b2b"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:3a17d3ede18f9cedcbe23d2daa8a2cd6f59fe2bf082c567e43083bba3fb00347"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d15b274f9e15b1a0b7a45d2ac86d1f634d983ca40d6b886721626c47a400bf39"}, + {file = "regex-2023.12.25-cp37-cp37m-win32.whl", hash = "sha256:ed19b3a05ae0c97dd8f75a5d8f21f7723a8c33bbc555da6bbe1f96c470139d3c"}, + {file = "regex-2023.12.25-cp37-cp37m-win_amd64.whl", hash = "sha256:a6d1047952c0b8104a1d371f88f4ab62e6275567d4458c1e26e9627ad489b445"}, + {file = "regex-2023.12.25-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b43523d7bc2abd757119dbfb38af91b5735eea45537ec6ec3a5ec3f9562a1c53"}, + {file = "regex-2023.12.25-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:efb2d82f33b2212898f1659fb1c2e9ac30493ac41e4d53123da374c3b5541e64"}, + {file = "regex-2023.12.25-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7fca9205b59c1a3d5031f7e64ed627a1074730a51c2a80e97653e3e9fa0d415"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086dd15e9435b393ae06f96ab69ab2d333f5d65cbe65ca5a3ef0ec9564dfe770"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e81469f7d01efed9b53740aedd26085f20d49da65f9c1f41e822a33992cb1590"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:34e4af5b27232f68042aa40a91c3b9bb4da0eeb31b7632e0091afc4310afe6cb"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9852b76ab558e45b20bf1893b59af64a28bd3820b0c2efc80e0a70a4a3ea51c1"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff100b203092af77d1a5a7abe085b3506b7eaaf9abf65b73b7d6905b6cb76988"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cc038b2d8b1470364b1888a98fd22d616fba2b6309c5b5f181ad4483e0017861"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:094ba386bb5c01e54e14434d4caabf6583334090865b23ef58e0424a6286d3dc"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5cd05d0f57846d8ba4b71d9c00f6f37d6b97d5e5ef8b3c3840426a475c8f70f4"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:9aa1a67bbf0f957bbe096375887b2505f5d8ae16bf04488e8b0f334c36e31360"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:98a2636994f943b871786c9e82bfe7883ecdaba2ef5df54e1450fa9869d1f756"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:37f8e93a81fc5e5bd8db7e10e62dc64261bcd88f8d7e6640aaebe9bc180d9ce2"}, + {file = "regex-2023.12.25-cp38-cp38-win32.whl", hash = "sha256:d78bd484930c1da2b9679290a41cdb25cc127d783768a0369d6b449e72f88beb"}, + {file = "regex-2023.12.25-cp38-cp38-win_amd64.whl", hash = "sha256:b521dcecebc5b978b447f0f69b5b7f3840eac454862270406a39837ffae4e697"}, + {file = "regex-2023.12.25-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f7bc09bc9c29ebead055bcba136a67378f03d66bf359e87d0f7c759d6d4ffa31"}, + {file = "regex-2023.12.25-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e14b73607d6231f3cc4622809c196b540a6a44e903bcfad940779c80dffa7be7"}, + {file = "regex-2023.12.25-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9eda5f7a50141291beda3edd00abc2d4a5b16c29c92daf8d5bd76934150f3edc"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc6bb9aa69aacf0f6032c307da718f61a40cf970849e471254e0e91c56ffca95"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:298dc6354d414bc921581be85695d18912bea163a8b23cac9a2562bbcd5088b1"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f4e475a80ecbd15896a976aa0b386c5525d0ed34d5c600b6d3ebac0a67c7ddf"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:531ac6cf22b53e0696f8e1d56ce2396311254eb806111ddd3922c9d937151dae"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22f3470f7524b6da61e2020672df2f3063676aff444db1daa283c2ea4ed259d6"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:89723d2112697feaa320c9d351e5f5e7b841e83f8b143dba8e2d2b5f04e10923"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0ecf44ddf9171cd7566ef1768047f6e66975788258b1c6c6ca78098b95cf9a3d"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:905466ad1702ed4acfd67a902af50b8db1feeb9781436372261808df7a2a7bca"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:4558410b7a5607a645e9804a3e9dd509af12fb72b9825b13791a37cd417d73a5"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:7e316026cc1095f2a3e8cc012822c99f413b702eaa2ca5408a513609488cb62f"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3b1de218d5375cd6ac4b5493e0b9f3df2be331e86520f23382f216c137913d20"}, + {file = "regex-2023.12.25-cp39-cp39-win32.whl", hash = "sha256:11a963f8e25ab5c61348d090bf1b07f1953929c13bd2309a0662e9ff680763c9"}, + {file = "regex-2023.12.25-cp39-cp39-win_amd64.whl", hash = "sha256:e693e233ac92ba83a87024e1d32b5f9ab15ca55ddd916d878146f4e3406b5c91"}, + {file = "regex-2023.12.25.tar.gz", hash = "sha256:29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5"}, ] [[package]] @@ -2360,90 +2296,6 @@ files = [ [package.extras] test = ["pytest (>=6.0.0)", "setuptools (>=65)"] -[[package]] -name = "wrapt" -version = "1.15.0" -description = "Module for decorators, wrappers and monkey patching." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -files = [ - {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"}, - {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"}, - {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"}, - {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"}, - {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"}, - {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"}, - {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"}, - {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"}, - {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"}, - {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"}, - {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"}, - {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"}, - {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"}, - {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"}, - {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"}, - {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"}, - {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"}, - {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, - {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, -] - [[package]] name = "yamllint" version = "1.32.0" @@ -2496,4 +2348,4 @@ optionals = ["jsonschema", "napalm"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "edbe4200862a8ff8d2c55b57de0a0c7b1b58acbe0275bea2d1444bc2059c1728" +content-hash = "450d6722c6146d1680a5c710f1085d19f064d7392dc7a10f0b77fbda0b1dacc1" diff --git a/pyproject.toml b/pyproject.toml index ff78e42e..e42c8f06 100755 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "netutils" -version = "1.6.0" +version = "1.7.0" description = "Common helper functions useful in network automation." authors = ["Network to Code, LLC "] license = "Apache-2.0" @@ -17,6 +17,7 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] include = [ "LICENSE", @@ -37,8 +38,8 @@ bandit = "*" black = "*" coverage = "*" invoke = "*" -flake8 = "*" -pylint = "*" +flake8 = {version = "^7.0", python = ">=3.8.1,<4.0"} +pylint = "^3.0.0" pytest = "*" pyyaml = "*" pydocstyle = "*" @@ -54,7 +55,7 @@ mkdocs-python-classy = "0.1.3" [tool.black] line-length = 120 -target-version = ['py38', 'py39', 'py310', 'py311'] +target-version = ['py38', 'py39', 'py310', 'py311', 'py312'] include = '\.pyi?$' exclude = ''' ( @@ -104,7 +105,7 @@ testpaths = "tests/" addopts = "-vv --doctest-modules -p no:warnings --ignore-glob='*mock*'" [tool.mypy] -python_version = 3.11 +python_version = 3.12 ignore_errors = false disallow_untyped_calls = true disallow_untyped_defs = true diff --git a/tasks.py b/tasks.py index 045025af..c614d147 100755 --- a/tasks.py +++ b/tasks.py @@ -1,7 +1,6 @@ """Tasks for use with Invoke.""" import os import sys -from distutils.util import strtobool # pylint: disable=W0402 from invoke import task @@ -24,14 +23,20 @@ def is_truthy(arg): """ if isinstance(arg, bool): return arg - return bool(strtobool(arg)) + + val = str(arg).lower() + if val in ("y", "yes", "t", "true", "on", "1"): + return True + if val in ("n", "no", "f", "false", "off", "0"): + return False + raise ValueError(f"Invalid truthy value: `{arg}`") PYPROJECT_CONFIG = toml.load("pyproject.toml") TOOL_CONFIG = PYPROJECT_CONFIG["tool"]["poetry"] # Can be set to a separate Python version to be used for launching or building image -PYTHON_VER = os.getenv("PYTHON_VER", "3.11") +PYTHON_VER = os.getenv("PYTHON_VER", "3.12") # Name of the docker image/image IMAGE_NAME = os.getenv("IMAGE_NAME", TOOL_CONFIG["name"]) # Tag for the image @@ -264,7 +269,7 @@ def tests(context, local=INVOKE_LOCAL): @task def clean_container(context): """Remove stopped containers that source for image `netutils:`.""" - exec_cmd = """docker container rm $(docker container ls -a | grep -E "^\S+\s+netutils:" | awk 'NR>1 {print $1}')""" # noqa: W605 # pylint:disable=anomalous-backslash-in-string + exec_cmd = r"""docker container rm $(docker container ls -a | grep -E "^\S+\s+netutils:" | awk 'NR>1 {print $1}')""" run_cmd(context, exec_cmd, local=True) diff --git a/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_actual.txt b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_actual.txt new file mode 100755 index 00000000..7c968cd0 --- /dev/null +++ b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_actual.txt @@ -0,0 +1,14 @@ +hostname dual-banner +! +banner exec ^C +========= +actual config exec banner +-======== +^C +banner motd ^C +====== +actual config motd banner +====== + || ($hostname) || +^C +! diff --git a/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_exec_actual.txt b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_exec_actual.txt new file mode 100644 index 00000000..7c968cd0 --- /dev/null +++ b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_exec_actual.txt @@ -0,0 +1,14 @@ +hostname dual-banner +! +banner exec ^C +========= +actual config exec banner +-======== +^C +banner motd ^C +====== +actual config motd banner +====== + || ($hostname) || +^C +! diff --git a/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_exec_feature.py b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_exec_feature.py new file mode 100644 index 00000000..dedb9262 --- /dev/null +++ b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_exec_feature.py @@ -0,0 +1,2 @@ +feature = {"name": "exec banner", "ordered": False, "section": ["banner exec"]} +network_os = "cisco_ios" diff --git a/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_exec_intended.txt b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_exec_intended.txt new file mode 100644 index 00000000..d5bdb903 --- /dev/null +++ b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_exec_intended.txt @@ -0,0 +1,14 @@ +hostname dual-banner +! +banner exec ^C +========= +intended config exec banner +-======== +^C +banner motd ^C +====== +intended config motd banner +====== + || ($hostname) || +^C +! \ No newline at end of file diff --git a/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_exec_received.py b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_exec_received.py new file mode 100644 index 00000000..23b530ba --- /dev/null +++ b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_exec_received.py @@ -0,0 +1,10 @@ +data = { + "compliant": False, + "missing": "banner exec ^C\n=========\nintended config exec banner\n-========^C", + "extra": "banner exec ^C\n=========\nactual config exec banner\n-========^C", + "cannot_parse": True, + "unordered_compliant": False, + "ordered_compliant": False, + "actual": "banner exec ^C\n=========\nactual config exec banner\n-========^C", + "intended": "banner exec ^C\n=========\nintended config exec banner\n-========^C", +} diff --git a/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_feature.py b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_feature.py new file mode 100755 index 00000000..6aa27755 --- /dev/null +++ b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_feature.py @@ -0,0 +1,2 @@ +feature = {"name": "exec banner", "ordered": False, "section": ["banner"]} +network_os = "cisco_ios" diff --git a/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_intended.txt b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_intended.txt new file mode 100755 index 00000000..d5bdb903 --- /dev/null +++ b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_intended.txt @@ -0,0 +1,14 @@ +hostname dual-banner +! +banner exec ^C +========= +intended config exec banner +-======== +^C +banner motd ^C +====== +intended config motd banner +====== + || ($hostname) || +^C +! \ No newline at end of file diff --git a/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_motd_actual.txt b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_motd_actual.txt new file mode 100644 index 00000000..7c968cd0 --- /dev/null +++ b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_motd_actual.txt @@ -0,0 +1,14 @@ +hostname dual-banner +! +banner exec ^C +========= +actual config exec banner +-======== +^C +banner motd ^C +====== +actual config motd banner +====== + || ($hostname) || +^C +! diff --git a/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_motd_feature.py b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_motd_feature.py new file mode 100644 index 00000000..cc99abc6 --- /dev/null +++ b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_motd_feature.py @@ -0,0 +1,2 @@ +feature = {"name": "exec banner", "ordered": False, "section": ["banner motd"]} +network_os = "cisco_ios" diff --git a/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_motd_intended.txt b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_motd_intended.txt new file mode 100644 index 00000000..d5bdb903 --- /dev/null +++ b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_motd_intended.txt @@ -0,0 +1,14 @@ +hostname dual-banner +! +banner exec ^C +========= +intended config exec banner +-======== +^C +banner motd ^C +====== +intended config motd banner +====== + || ($hostname) || +^C +! \ No newline at end of file diff --git a/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_motd_received.py b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_motd_received.py new file mode 100644 index 00000000..cbe38ba1 --- /dev/null +++ b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_motd_received.py @@ -0,0 +1,10 @@ +data = { + "compliant": False, + "missing": "banner motd ^C\n======\nintended config motd banner\n======\n || ($hostname) ||^C", + "extra": "banner motd ^C\n======\nactual config motd banner\n======\n || ($hostname) ||^C", + "cannot_parse": True, + "unordered_compliant": False, + "ordered_compliant": False, + "actual": "banner motd ^C\n======\nactual config motd banner\n======\n || ($hostname) ||^C", + "intended": "banner motd ^C\n======\nintended config motd banner\n======\n || ($hostname) ||^C", +} diff --git a/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_received.py b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_received.py new file mode 100755 index 00000000..c140a6c5 --- /dev/null +++ b/tests/unit/mock/config/compliance/feature_compliance/ios_dual_banner_received.py @@ -0,0 +1,10 @@ +data = { + "compliant": False, + "missing": "banner exec ^C\n=========\nintended config exec banner\n-========^C\nbanner motd ^C\n======\nintended config motd banner\n======\n || ($hostname) ||^C", + "extra": "banner exec ^C\n=========\nactual config exec banner\n-========^C\nbanner motd ^C\n======\nactual config motd banner\n======\n || ($hostname) ||^C", + "cannot_parse": True, + "unordered_compliant": False, + "ordered_compliant": False, + "actual": "banner exec ^C\n=========\nactual config exec banner\n-========^C\nbanner motd ^C\n======\nactual config motd banner\n======\n || ($hostname) ||^C", + "intended": "banner exec ^C\n=========\nintended config exec banner\n-========^C\nbanner motd ^C\n======\nintended config motd banner\n======\n || ($hostname) ||^C", +} diff --git a/tests/unit/test_acl.py b/tests/unit/test_acl.py index b7ce7f1f..2e88a29c 100755 --- a/tests/unit/test_acl.py +++ b/tests/unit/test_acl.py @@ -8,7 +8,7 @@ verify_acl = [ { "sent": dict( - name="Check multiple sources pass. Check convesion of non-alpha tcp, e.g. with a dash", + name="Check multiple sources pass. Check conversion of non-alpha tcp, e.g. with a dash", src_ip=["192.168.1.10", "192.168.1.11", "192.168.1.15-192.168.1.20"], dst_ip="172.16.0.10", dst_port="tcp/www-http", diff --git a/tests/unit/test_compliance.py b/tests/unit/test_compliance.py index cd43a7c6..63b1ce7b 100755 --- a/tests/unit/test_compliance.py +++ b/tests/unit/test_compliance.py @@ -91,7 +91,12 @@ def test_feature_compliance(_file, get_text_data, get_python_data): received_data = get_python_data(truncate_file + "_received.py", "data") feature = get_python_data(truncate_file + "_feature.py", "feature") nos = get_python_data(truncate_file + "_feature.py", "network_os") - assert compliance.feature_compliance(feature, actual_config, intended_config, nos) == received_data + + # Parse feature configs from config files + backup_str = compliance.section_config(feature, actual_config, nos) + intended_str = compliance.section_config(feature, intended_config, nos) + + assert compliance.feature_compliance(feature, backup_str, intended_str, nos) == received_data def test_incorrect_cfg_type(): diff --git a/tests/unit/test_ip.py b/tests/unit/test_ip.py index f3898382..b76447e0 100755 --- a/tests/unit/test_ip.py +++ b/tests/unit/test_ip.py @@ -1,4 +1,5 @@ """Test for the IP functions.""" + import ipaddress import pytest @@ -471,6 +472,49 @@ {"sent": {"ip_network": "224.0.0.0/24"}, "received": False}, ] +SORTED_IPS = [ + { + "sent": "10.0.10.0/24,10.0.100.0/24,10.0.12.0/24,10.0.200.0/24", + "expected": ["10.0.10.0/24", "10.0.12.0/24", "10.0.100.0/24", "10.0.200.0/24"], + "sort_type": "network", + }, + { + "sent": "10.0.10.0/24, 10.0.100.0/24, 10.0.12.0/24, 10.0.200.0/24", + "expected": ["10.0.10.0/24", "10.0.12.0/24", "10.0.100.0/24", "10.0.200.0/24"], + "sort_type": "network", + }, + { + "sent": "192.168.1.1,10.1.1.2,172.16.10.1", + "expected": ["10.1.1.2", "172.16.10.1", "192.168.1.1"], + "sort_type": "address", + }, + { + "sent": "192.168.1.1/24,10.1.1.2/32,172.16.10.1/16", + "expected": ["10.1.1.2/32", "172.16.10.1/16", "192.168.1.1/24"], + "sort_type": "interface", + }, + { + "sent": "10.0.0.0/24, 10.0.0.0/16, 10.0.0.0/18", + "expected": ["10.0.0.0/16", "10.0.0.0/18", "10.0.0.0/24"], + "sort_type": "network", + }, + { + "sent": ["10.0.10.0/24", "10.0.100.0/24", "10.0.12.0/24", "10.0.200.0/24"], + "expected": ["10.0.10.0/24", "10.0.12.0/24", "10.0.100.0/24", "10.0.200.0/24"], + "sort_type": "network", + }, + { + "sent": ["192.168.1.1", "10.1.1.2", "172.16.10.1"], + "expected": ["10.1.1.2", "172.16.10.1", "192.168.1.1"], + "sort_type": "address", + }, + { + "sent": ["192.168.1.1/24", "10.1.1.2/32", "172.16.10.1/16"], + "expected": ["10.1.1.2/32", "172.16.10.1/16", "192.168.1.1/24"], + "sort_type": "interface", + }, +] + @pytest.mark.parametrize("data", IP_TO_HEX) def test_ip_to_hex(data): @@ -617,3 +661,23 @@ def test_ipaddress_network(data): @pytest.mark.parametrize("data", IS_CLASSFUL) def test_is_classful(data): assert ip.is_classful(**data["sent"]) == data["received"] + + +@pytest.mark.parametrize("data", SORTED_IPS) +def test_get_ips_sorted(data): + assert data["expected"] == ip.get_ips_sorted(data["sent"], sort_type=data["sort_type"]) + + +def test_get_ips_sorted_exception_invalid_list(): + with pytest.raises(ValueError, match="Not a concatenated list of IPs as expected."): + ip.get_ips_sorted("10.1.1.1/24 10.2.2.2/16") + + +def test_get_ips_sorted_exception_invalid_instance_type(): + with pytest.raises(ValueError, match="Not a concatenated list of IPs as expected."): + ip.get_ips_sorted({"10.1.1.1/24", "10.2.2.2/16"}) + + +def test_get_ips_sorted_invalid_sort_type(): + with pytest.raises(ValueError, match="Invalid sort type passed. Must be `address`, `interface`, or `network`."): + ip.get_ips_sorted("10.0.0.0/24,192.168.0.0/16", sort_type="wrong_type") diff --git a/tests/unit/test_lib_helpers.py b/tests/unit/test_lib_helpers.py index 9b6acb14..f9166f78 100755 --- a/tests/unit/test_lib_helpers.py +++ b/tests/unit/test_lib_helpers.py @@ -5,8 +5,8 @@ from netutils.lib_helpers import get_napalm_getters -@mock.patch("netutils.lib_helpers.HAS_NAPALM", False) +@mock.patch.dict("sys.modules", {"napalm": None}) def test_get_napalm_getters_napalm_not_installed(): with pytest.raises(ImportError) as exc: get_napalm_getters() - assert "Napalm must be install for this function to operate." == str(exc.value) + assert "Napalm must be installed for this function to operate." == str(exc.value) diff --git a/tests/unit/test_lib_helpers_optionals.py b/tests/unit/test_lib_helpers_optionals.py index 9d829966..2662efbe 100755 --- a/tests/unit/test_lib_helpers_optionals.py +++ b/tests/unit/test_lib_helpers_optionals.py @@ -7,7 +7,7 @@ def test_get_napalm_getters_napalm_installed_default(): pytest.importorskip("napalm") - with mock.patch("netutils.lib_helpers.get_network_driver"): + with mock.patch("napalm.get_network_driver"): napalm_getters = get_napalm_getters() assert all(item in napalm_getters.keys() for item in ["asa", "eos", "fortios"]) diff --git a/tests/unit/test_lib_mapper.py b/tests/unit/test_lib_mapper.py index 40a9a923..736c95f9 100755 --- a/tests/unit/test_lib_mapper.py +++ b/tests/unit/test_lib_mapper.py @@ -1,4 +1,5 @@ """Test for the lib_mapper definitions.""" + import pytest from netutils import lib_mapper @@ -23,6 +24,8 @@ def test_lib_mapper(): assert lib_mapper.NAPALM_LIB_MAPPER_REVERSE[lib_mapper.ANSIBLE_LIB_MAPPER["cisco.ios.ios"]] == "ios" assert lib_mapper.HIERCONFIG_LIB_MAPPER["ios"] == "cisco_ios" assert lib_mapper.HIERCONFIG_LIB_MAPPER_REVERSE[lib_mapper.HIERCONFIG_LIB_MAPPER["ios"]] == "ios" + assert lib_mapper.FORWARDNETWORKS_LIB_MAPPER["IOS"] == "cisco_ios" + assert lib_mapper.FORWARDNETWORKS_LIB_MAPPER_REVERSE[lib_mapper.FORWARDNETWORKS_LIB_MAPPER["IOS"]] == "IOS" @pytest.mark.parametrize("lib", LIBRARIES) @@ -32,6 +35,8 @@ def test_lib_mapper_reverse(lib): _mapper.pop("nxos_ssh") mapper = dict((v, k) for k, v in _mapper.items()) rev_mapper = getattr(lib_mapper, f"{lib}_LIB_MAPPER_REVERSE") + if lib in ["ANSIBLE", "NAPALM", "PYATS", "PYNTC"]: + rev_mapper.pop("cisco_xe") assert mapper == rev_mapper @@ -46,6 +51,6 @@ def test_lib_mapper_alpha(lib): def test_netutils_parser(): - """Test that the paser_map in compliance have been added to NETUTILSPARSER lib mappers.""" + """Test that the parser_map in compliance have been added to NETUTILSPARSER lib mappers.""" assert parser_map.keys() == lib_mapper.NETUTILSPARSER_LIB_MAPPER.keys() assert list(parser_map.keys()) == sorted(list(lib_mapper.NETUTILSPARSER_LIB_MAPPER.keys())) diff --git a/tests/unit/test_os_versions.py b/tests/unit/test_os_versions.py index e6ee7b22..bc96709e 100755 --- a/tests/unit/test_os_versions.py +++ b/tests/unit/test_os_versions.py @@ -1,13 +1,41 @@ """Test for the lib_helpers definitions.""" import pytest -from netutils.os_version import get_upgrade_path +from netutils import os_version from netutils.constants import UPGRADE_PATHS +LOOSE_VERSION = [ + {"sent": {"current_version": "10.1", "comparison": ">=", "target_version": "10.2"}, "received": False}, + {"sent": {"current_version": "2.0.1", "comparison": "<", "target_version": "2.0.2"}, "received": True}, + {"sent": {"current_version": "1.0", "comparison": "==", "target_version": "1.0"}, "received": True}, + {"sent": {"current_version": "1.2.3", "comparison": "!=", "target_version": "1.2.3"}, "received": False}, + {"sent": {"current_version": "0.9.9", "comparison": ">", "target_version": "0.9.8"}, "received": True}, + {"sent": {"current_version": "3.3.3", "comparison": "<=", "target_version": "3.3.4"}, "received": True}, + {"sent": {"current_version": "2020.01.01", "comparison": ">=", "target_version": "2020.01.01"}, "received": True}, + {"sent": {"current_version": "2020.1.1", "comparison": "==", "target_version": "2020.01.01"}, "received": True}, + {"sent": {"current_version": "2.0.0a", "comparison": "<", "target_version": "2.0.1"}, "received": True}, + {"sent": {"current_version": "1.10", "comparison": ">", "target_version": "1.2"}, "received": True}, + {"sent": {"current_version": "3.3.3b", "comparison": "==", "target_version": "3.3.3b"}, "received": True}, + {"sent": {"current_version": "1.0.0", "comparison": "!=", "target_version": "2.0.0"}, "received": True}, +] + +STRICT_VERSION = [ + {"sent": {"current_version": "10.1", "comparison": ">=", "target_version": "10.2"}, "received": False}, + {"sent": {"current_version": "2.0.1", "comparison": "<", "target_version": "2.0.2"}, "received": True}, + {"sent": {"current_version": "1.0", "comparison": "==", "target_version": "1.0"}, "received": True}, + {"sent": {"current_version": "1.2.3", "comparison": "!=", "target_version": "1.2.3"}, "received": False}, + {"sent": {"current_version": "0.9.9", "comparison": ">", "target_version": "0.9.8"}, "received": True}, + {"sent": {"current_version": "3.3.3", "comparison": "<=", "target_version": "3.3.4"}, "received": True}, + {"sent": {"current_version": "2020.01.01", "comparison": ">=", "target_version": "2020.01.01"}, "received": True}, + {"sent": {"current_version": "1.10", "comparison": ">", "target_version": "1.2"}, "received": True}, + {"sent": {"current_version": "1.0.0", "comparison": "!=", "target_version": "2.0.0"}, "received": True}, +] + + def test_get_upgrade_path(): return_values = ["9.1.15-h1", "10.0.0", "10.0.12", "10.1.0", "10.1.9"] - assert get_upgrade_path("9.1.6", "10.1.9", UPGRADE_PATHS["PANOS_OFFICIAL_V1"]) == return_values - assert get_upgrade_path("9.1.6", "10.1.9", UPGRADE_PATHS["PANOS_MAJOR_ONLY_V1"]) == [ + assert os_version.get_upgrade_path("9.1.6", "10.1.9", UPGRADE_PATHS["PANOS_OFFICIAL_V1"]) == return_values + assert os_version.get_upgrade_path("9.1.6", "10.1.9", UPGRADE_PATHS["PANOS_MAJOR_ONLY_V1"]) == [ "10.0.0", "10.1.0", "10.1.9", @@ -16,9 +44,26 @@ def test_get_upgrade_path(): def test_get_upgrade_path_current_greater_than_target(): with pytest.raises(ValueError, match="Target version must be newer than current version."): - get_upgrade_path("10.1.9", "9.1.6", UPGRADE_PATHS["PANOS_MAJOR_ONLY_V1"]) + os_version.get_upgrade_path("10.1.9", "9.1.6", UPGRADE_PATHS["PANOS_MAJOR_ONLY_V1"]) def test_get_upgrade_path_current_equals_target(): with pytest.raises(ValueError, match="Target version equals current version. No upgrade necessary."): - get_upgrade_path("10.1.9", "10.1.9", UPGRADE_PATHS["PANOS_MAJOR_ONLY_V1"]) + os_version.get_upgrade_path("10.1.9", "10.1.9", UPGRADE_PATHS["PANOS_MAJOR_ONLY_V1"]) + + +@pytest.mark.parametrize("data", LOOSE_VERSION) +def test_compare_loose(data): + assert os_version.compare_version_loose(**data["sent"]) == data["received"] + + +@pytest.mark.parametrize("data", STRICT_VERSION) +def test_compare_strict(data): + assert os_version.compare_version_strict(**data["sent"]) == data["received"] + + +def test_compare_strict_bad_version(): + with pytest.raises(ValueError, match="invalid version number."): + os_version.compare_version_strict("3.3.3b", "==", "3.3.3b") + with pytest.raises(ValueError, match="Invalid comparison operator:"): + os_version.compare_version_strict("3.3.3", "not-an-operator", "3.3.3") diff --git a/tests/unit/test_private_version.py b/tests/unit/test_private_version.py new file mode 100644 index 00000000..428abd45 --- /dev/null +++ b/tests/unit/test_private_version.py @@ -0,0 +1,76 @@ +"""Tests for distutils.version.""" +# pylint: disable=deprecated-module,missing-class-docstring,invalid-name,protected-access,consider-using-f-string,no-else-continue,raise-missing-from + +# Taken from https://github.com/python/cpython/blob/3.11/Lib/distutils/tests/test_version.py + +import unittest +from netutils._private.version import LooseVersion +from netutils._private.version import StrictVersion + + +class VersionTestCase(unittest.TestCase): + def test_prerelease(self): + version = StrictVersion("1.2.3a1") + self.assertEqual(version.version, (1, 2, 3)) + self.assertEqual(version.prerelease, ("a", 1)) + self.assertEqual(str(version), "1.2.3a1") + + version = StrictVersion("1.2.0") + self.assertEqual(str(version), "1.2") + + def test_cmp_strict(self): + versions = ( + ("1.5.1", "1.5.2b2", -1), + ("161", "3.10a", ValueError), + ("8.02", "8.02", 0), + ("3.4j", "1996.07.12", ValueError), + ("3.2.pl0", "3.1.1.6", ValueError), + ("2g6", "11g", ValueError), + ("0.9", "2.2", -1), + ("1.2.1", "1.2", 1), + ("1.1", "1.2.2", -1), + ("1.2", "1.1", 1), + ("1.2.1", "1.2.2", -1), + ("1.2.2", "1.2", 1), + ("1.2", "1.2.2", -1), + ("0.4.0", "0.4", 0), + ("1.13++", "5.5.kw", ValueError), + ) + + for v1, v2, wanted in versions: + try: + res = StrictVersion(v1)._cmp(StrictVersion(v2)) + except ValueError: + if wanted is ValueError: + continue + else: + raise AssertionError(("cmp(%s, %s) " "shouldn't raise ValueError") % (v1, v2)) + self.assertEqual(res, wanted, "cmp(%s, %s) should be %s, got %s" % (v1, v2, wanted, res)) + res = StrictVersion(v1)._cmp(v2) + self.assertEqual(res, wanted, "cmp(%s, %s) should be %s, got %s" % (v1, v2, wanted, res)) + res = StrictVersion(v1)._cmp(object()) + self.assertIs(res, NotImplemented, "cmp(%s, %s) should be NotImplemented, got %s" % (v1, v2, res)) + + def test_cmp(self): + versions = ( + ("1.5.1", "1.5.2b2", -1), + ("161", "3.10a", 1), + ("8.02", "8.02", 0), + ("3.4j", "1996.07.12", -1), + ("3.2.pl0", "3.1.1.6", 1), + ("2g6", "11g", -1), + ("0.960923", "2.2beta29", -1), + ("1.13++", "5.5.kw", -1), + ) + + for v1, v2, wanted in versions: + res = LooseVersion(v1)._cmp(LooseVersion(v2)) + self.assertEqual(res, wanted, "cmp(%s, %s) should be %s, got %s" % (v1, v2, wanted, res)) + res = LooseVersion(v1)._cmp(v2) + self.assertEqual(res, wanted, "cmp(%s, %s) should be %s, got %s" % (v1, v2, wanted, res)) + res = LooseVersion(v1)._cmp(object()) + self.assertIs(res, NotImplemented, "cmp(%s, %s) should be NotImplemented, got %s" % (v1, v2, res)) + + +def test_suite(): + return unittest.TestLoader().loadTestsFromTestCase(VersionTestCase) diff --git a/tests/unit/test_time.py b/tests/unit/test_time.py index 5d1a242a..585b5688 100755 --- a/tests/unit/test_time.py +++ b/tests/unit/test_time.py @@ -1,4 +1,4 @@ -"""Test for the tiem functions.""" +"""Test for the time functions.""" import pytest from netutils.time import uptime_string_to_seconds, uptime_seconds_to_string