python-netgear-switch-library 0.0.post352__tar.gz → 0.0.post354__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/PKG-INFO +1 -1
  2. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/superpowers/specs/2026-08-02-snmp-surface-findings.md +83 -0
  3. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/_version.py +2 -2
  4. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/web.py +32 -0
  5. python_netgear_switch_library-0.0.post354/tests/fixtures/http/gsm7252ps_http_configuration.html +177 -0
  6. python_netgear_switch_library-0.0.post354/tests/fixtures/http/gsm7252ps_syslog_configuration.html +258 -0
  7. python_netgear_switch_library-0.0.post354/tests/fixtures/http/gsm7252ps_user_configuration.html +176 -0
  8. python_netgear_switch_library-0.0.post354/tests/fixtures/http/gsm7252ps_vlan_status_live.html +233 -0
  9. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/.github/workflows/ci.yml +0 -0
  10. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/.github/workflows/deb.yml +0 -0
  11. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/.github/workflows/publish-pypi.yml +0 -0
  12. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/.gitignore +0 -0
  13. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/.readthedocs.yaml +0 -0
  14. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/CLAUDE.md +0 -0
  15. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/LICENSE +0 -0
  16. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/README.md +0 -0
  17. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/RELEASING.md +0 -0
  18. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/debian/changelog +0 -0
  19. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/debian/control +0 -0
  20. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/debian/copyright +0 -0
  21. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/debian/rules +0 -0
  22. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/debian/source/format +0 -0
  23. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/Makefile +0 -0
  24. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/_ext/filelinks.py +0 -0
  25. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/_ext/support_tables.py +0 -0
  26. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/_static/models/gs105pe.png +0 -0
  27. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/_static/models/gs110emx.png +0 -0
  28. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/_static/models/gs305ep.png +0 -0
  29. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/_static/models/gs728tpp.png +0 -0
  30. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/_static/models/gsm7228ps.jpg +0 -0
  31. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/_static/models/gsm7252ps.jpg +0 -0
  32. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/_static/models/m4300-16x.png +0 -0
  33. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/_static/models/m4300-24x.png +0 -0
  34. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/_static/ngsw.css +0 -0
  35. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/api/cli.rst +0 -0
  36. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/api/core.rst +0 -0
  37. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/api/facades.rst +0 -0
  38. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/api/index.rst +0 -0
  39. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/api/mcp.rst +0 -0
  40. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/api/operations.rst +0 -0
  41. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/api/protocols.rst +0 -0
  42. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/api/transport.rst +0 -0
  43. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/api/virtual.rst +0 -0
  44. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/cli.rst +0 -0
  45. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/conf.py +0 -0
  46. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/development.rst +0 -0
  47. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/fake/index.rst +0 -0
  48. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/fake/internals.rst +0 -0
  49. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/fake/serving.rst +0 -0
  50. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/fake/testing.rst +0 -0
  51. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/guide/concepts.rst +0 -0
  52. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/guide/configuration.rst +0 -0
  53. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/guide/installation.rst +0 -0
  54. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/guide/principles.rst +0 -0
  55. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/guide/quickstart.rst +0 -0
  56. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/guide/reading.rst +0 -0
  57. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/guide/writing.rst +0 -0
  58. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/index.rst +0 -0
  59. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/mcp.rst +0 -0
  60. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/models/gs105pe.rst +0 -0
  61. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/models/gs110emx.rst +0 -0
  62. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/models/gs305ep.rst +0 -0
  63. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/models/gs728tpp.rst +0 -0
  64. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/models/gsm7228ps.rst +0 -0
  65. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/models/gsm7252ps.rst +0 -0
  66. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/models/index.rst +0 -0
  67. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/models/m4300-16x.rst +0 -0
  68. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/models/m4300-24x.rst +0 -0
  69. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/models/support.rst +0 -0
  70. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/protocols/cli.rst +0 -0
  71. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/protocols/http/cheetah-form.rst +0 -0
  72. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/protocols/http/cheetah-v1.rst +0 -0
  73. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/protocols/http/gambit.rst +0 -0
  74. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/protocols/http/merge-hash-cgi.rst +0 -0
  75. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/protocols/http/xml-api.rst +0 -0
  76. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/protocols/http.rst +0 -0
  77. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/protocols/index.rst +0 -0
  78. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/protocols/nsdp.rst +0 -0
  79. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/protocols/snmp.rst +0 -0
  80. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/superpowers/plans/2026-07-15-foundation.md +0 -0
  81. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/superpowers/plans/2026-07-17-slice-02-snmp-read-core.md +0 -0
  82. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/superpowers/plans/2026-07-17-slice-03-read-apis.md +0 -0
  83. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/superpowers/plans/2026-07-18-slice-04-snmp-write.md +0 -0
  84. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/superpowers/plans/2026-07-18-slice-05-nsdp.md +0 -0
  85. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/superpowers/plans/2026-07-18-slice-06-http.md +0 -0
  86. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/superpowers/plans/2026-07-18-slice-07-cli.md +0 -0
  87. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/superpowers/plans/2026-07-18-slice-08-packaging-ci.md +0 -0
  88. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/superpowers/plans/2026-07-23-gsm7252ps-http-xe-dialect.md +0 -0
  89. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/superpowers/specs/2026-07-15-netgear-control-library-design.md +0 -0
  90. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/docs/superpowers/specs/2026-07-23-gsm7252ps-http-xe-dialect-design.md +0 -0
  91. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/packaging/apt-index.html +0 -0
  92. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/packaging/ci-build.sh +0 -0
  93. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/packaging/deb-version.py +0 -0
  94. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/pyproject.toml +0 -0
  95. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/__init__.py +0 -0
  96. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/_dispatch.py +0 -0
  97. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/aio_api.py +0 -0
  98. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/capabilities.py +0 -0
  99. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/cli/__init__.py +0 -0
  100. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/cli/capture.py +0 -0
  101. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/cli/context.py +0 -0
  102. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/cli/format.py +0 -0
  103. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/cli/main.py +0 -0
  104. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/cli/resolve.py +0 -0
  105. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/cli/safety.py +0 -0
  106. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/cli_read.py +0 -0
  107. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/cli_write.py +0 -0
  108. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/config.py +0 -0
  109. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/errors.py +0 -0
  110. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/http_read.py +0 -0
  111. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/http_write.py +0 -0
  112. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/mcp/__init__.py +0 -0
  113. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/mcp/server.py +0 -0
  114. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/models.py +0 -0
  115. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/nsdp_read.py +0 -0
  116. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/nsdp_write.py +0 -0
  117. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/__init__.py +0 -0
  118. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/cli/__init__.py +0 -0
  119. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/cli/commands.py +0 -0
  120. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/cli/parse.py +0 -0
  121. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/http/__init__.py +0 -0
  122. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/http/crypt.py +0 -0
  123. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/http/endpoints.py +0 -0
  124. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/http/forms.py +0 -0
  125. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/http/parse.py +0 -0
  126. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/http/session.py +0 -0
  127. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/http/types.py +0 -0
  128. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/nsdp/__init__.py +0 -0
  129. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/nsdp/auth.py +0 -0
  130. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/nsdp/client.py +0 -0
  131. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/nsdp/parsers.py +0 -0
  132. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/nsdp/protocol.py +0 -0
  133. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/nsdp/types.py +0 -0
  134. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/nsdp/write.py +0 -0
  135. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/snmp/__init__.py +0 -0
  136. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/snmp/client.py +0 -0
  137. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/snmp/oids.py +0 -0
  138. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/snmp/parse.py +0 -0
  139. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/protocols/snmp/write.py +0 -0
  140. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/py.typed +0 -0
  141. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/registry.py +0 -0
  142. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/snmp_read.py +0 -0
  143. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/snmp_write.py +0 -0
  144. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/sync_api.py +0 -0
  145. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/__init__.py +0 -0
  146. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/aio/__init__.py +0 -0
  147. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/aio/nsdp_udp.py +0 -0
  148. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/aio/snmp_pysnmp.py +0 -0
  149. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/cli/__init__.py +0 -0
  150. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/cli/console.py +0 -0
  151. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/cli/session.py +0 -0
  152. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/cli/ssh.py +0 -0
  153. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/cli/telnet.py +0 -0
  154. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/http/__init__.py +0 -0
  155. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/http/client.py +0 -0
  156. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/sync/__init__.py +0 -0
  157. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/sync/nsdp_udp.py +0 -0
  158. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/transport/sync/snmp_netsnmp_cli.py +0 -0
  159. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/__init__.py +0 -0
  160. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/cli_fastpath.py +0 -0
  161. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/faces/__init__.py +0 -0
  162. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/faces/cli.py +0 -0
  163. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/faces/http.py +0 -0
  164. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/faces/mibview.py +0 -0
  165. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/faces/nsdp.py +0 -0
  166. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/faces/snmp.py +0 -0
  167. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/seed.py +0 -0
  168. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/server.py +0 -0
  169. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/state.py +0 -0
  170. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/web_fastpath_vlan.py +0 -0
  171. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/web_fastpath_xui.py +0 -0
  172. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/web_gs105pe.py +0 -0
  173. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/web_gs110emx.py +0 -0
  174. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/web_gs110emx_templates.py +0 -0
  175. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/web_gs728tpp.py +0 -0
  176. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/web_gsm7228ps.py +0 -0
  177. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/web_gsm7252ps.py +0 -0
  178. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/src/netgear_switch/virtual/web_m4300.py +0 -0
  179. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/capture_parity.py +0 -0
  180. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_capture.py +0 -0
  181. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_cli_integration.py +0 -0
  182. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_control_poe_port.py +0 -0
  183. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_control_vlan_ip.py +0 -0
  184. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_format.py +0 -0
  185. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_main_framework.py +0 -0
  186. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_new_commands.py +0 -0
  187. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_op_coverage.py +0 -0
  188. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_prompt_wiring.py +0 -0
  189. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_read_commands.py +0 -0
  190. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_resolve.py +0 -0
  191. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_safety.py +0 -0
  192. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/cli/test_serve.py +0 -0
  193. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/conftest.py +0 -0
  194. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/equivalence.py +0 -0
  195. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/captures/gsm7228ps.json +0 -0
  196. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/captures/gsm7252ps.json +0 -0
  197. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/captures/m4300-16x.json +0 -0
  198. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/captures/m4300-24x.json +0 -0
  199. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7228ps_environment.txt +0 -0
  200. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7228ps_lldp.txt +0 -0
  201. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7228ps_mac_table.txt +0 -0
  202. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7228ps_network.txt +0 -0
  203. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7228ps_poe.txt +0 -0
  204. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7228ps_port_all.txt +0 -0
  205. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7228ps_show_version.txt +0 -0
  206. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7228ps_vlan.txt +0 -0
  207. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7228ps_vlan_brief.txt +0 -0
  208. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7228ps_vlan_port_all.txt +0 -0
  209. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7252ps_show_environment.txt +0 -0
  210. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7252ps_show_interface_ethernet_1_0_1.txt +0 -0
  211. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7252ps_show_lldp_remote_device_all.txt +0 -0
  212. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7252ps_show_mac_addr_table.txt +0 -0
  213. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7252ps_show_network.txt +0 -0
  214. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7252ps_show_poe_port_info_all.txt +0 -0
  215. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7252ps_show_port_all.txt +0 -0
  216. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7252ps_show_version.txt +0 -0
  217. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7252ps_show_vlan_90.txt +0 -0
  218. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7252ps_show_vlan_brief.txt +0 -0
  219. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/gsm7252ps_show_vlan_port_all.txt +0 -0
  220. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_environment.txt +0 -0
  221. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_interface_ethernet_1_0_1.txt +0 -0
  222. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_ip_management.txt +0 -0
  223. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_lldp_remote_device_all.txt +0 -0
  224. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_mac_addr_table.txt +0 -0
  225. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_poe_port_info_all.txt +0 -0
  226. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_port_all.txt +0 -0
  227. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_version.txt +0 -0
  228. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_vlan.txt +0 -0
  229. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_vlan_1.txt +0 -0
  230. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_vlan_4.txt +0 -0
  231. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_vlan_5.txt +0 -0
  232. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_16x_show_vlan_port_all.txt +0 -0
  233. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_24x_show_environment.txt +0 -0
  234. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_24x_show_interface_ethernet_1_0_1.txt +0 -0
  235. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_24x_show_ip_management.txt +0 -0
  236. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_24x_show_lldp_remote_device_all.txt +0 -0
  237. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_24x_show_mac_addr_table.txt +0 -0
  238. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_24x_show_port_all.txt +0 -0
  239. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_24x_show_version.txt +0 -0
  240. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_24x_show_vlan.txt +0 -0
  241. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_24x_show_vlan_5.txt +0 -0
  242. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_24x_show_vlan_90.txt +0 -0
  243. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/cli/m4300_24x_show_vlan_port_all.txt +0 -0
  244. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs105pe_membership.html +0 -0
  245. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs105pe_portstats.html +0 -0
  246. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs105pe_pvid.html +0 -0
  247. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs105pe_status.html +0 -0
  248. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs105pe_switch_info.html +0 -0
  249. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs105pe_vlancfg.html +0 -0
  250. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs110emx_cf8021q.html +0 -0
  251. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs110emx_interface_stats.html +0 -0
  252. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs110emx_login.html +0 -0
  253. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs110emx_port_settings.html +0 -0
  254. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs110emx_pvid.html +0 -0
  255. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs110emx_redirect.html +0 -0
  256. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs110emx_sysinfo.html +0 -0
  257. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs110emx_vlanmembership.html +0 -0
  258. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs305ep_dashboard.html +0 -0
  259. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs305ep_login.html +0 -0
  260. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs305ep_membership.html +0 -0
  261. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs305ep_poestatus.html +0 -0
  262. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs305ep_portstats.html +0 -0
  263. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs305ep_pvid.html +0 -0
  264. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs305ep_vlancfg.html +0 -0
  265. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs728tpp_device_info_and_sensors.xml +0 -0
  266. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs728tpp_lldp.xml +0 -0
  267. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs728tpp_macs.xml +0 -0
  268. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs728tpp_mgmt_ip.xml +0 -0
  269. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs728tpp_poe.xml +0 -0
  270. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs728tpp_ports.xml +0 -0
  271. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs728tpp_pvids_membership.xml +0 -0
  272. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs728tpp_vlan_membership_per_vlan.xml +0 -0
  273. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gs728tpp_vlans.xml +0 -0
  274. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7228ps_basicAddressTable.html +0 -0
  275. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7228ps_ipConfiguration.html +0 -0
  276. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7228ps_lldpRemoteInventory.html +0 -0
  277. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7228ps_poeInterfaceConfiguration.html +0 -0
  278. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7228ps_portPvidConfiguration.html +0 -0
  279. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7228ps_portStatistics.html +0 -0
  280. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7228ps_portsConfiguration.html +0 -0
  281. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7228ps_sysInfo.html +0 -0
  282. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7228ps_vlanPortCfg_vlan5.html +0 -0
  283. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7228ps_vlanStatus.html +0 -0
  284. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7252ps_basicAddressTable.html +0 -0
  285. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7252ps_ipConfiguration.html +0 -0
  286. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7252ps_lldpRemoteInventory.html +0 -0
  287. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7252ps_login.html +0 -0
  288. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7252ps_poeInterfaceConfiguration.html +0 -0
  289. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7252ps_portPvidConfiguration.html +0 -0
  290. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7252ps_portStatistics.html +0 -0
  291. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7252ps_portsConfiguration.html +0 -0
  292. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7252ps_sysInfo.html +0 -0
  293. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan1.html +0 -0
  294. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan141.html +0 -0
  295. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/gsm7252ps_vlanStatus.html +0 -0
  296. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_16x_lldpRemoteInventory.html +0 -0
  297. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_16x_mgmtVlanIpv4Configuration.html +0 -0
  298. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_16x_poeInterfaceConfiguration.html +0 -0
  299. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_16x_portsConfiguration.html +0 -0
  300. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_16x_vlanportcfg_vlan4.html +0 -0
  301. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_24x_poeInterfaceConfiguration.html +0 -0
  302. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_addresstable.html +0 -0
  303. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_lldpRemoteInventory.html +0 -0
  304. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_mgmtVlanIpv4Configuration.html +0 -0
  305. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_ports.html +0 -0
  306. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_portstats.html +0 -0
  307. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_pvid.html +0 -0
  308. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_sysinfo.html +0 -0
  309. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_vlanportcfg_vlan1.html +0 -0
  310. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/http/m4300_vlanstatus.html +0 -0
  311. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/snmp/gsm7252ps_fans.txt +0 -0
  312. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/snmp/gsm7252ps_ifhighspeed.txt +0 -0
  313. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/snmp/gsm7252ps_ifoperstatus.txt +0 -0
  314. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/fixtures/snmp/gsm7252ps_psu.txt +0 -0
  315. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/http_specs.py +0 -0
  316. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/cli/test_cli_parse.py +0 -0
  317. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/http/test_crypt.py +0 -0
  318. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/http/test_endpoints.py +0 -0
  319. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/http/test_forms.py +0 -0
  320. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/http/test_parse.py +0 -0
  321. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/nsdp/test_auth.py +0 -0
  322. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/nsdp/test_parsers.py +0 -0
  323. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/nsdp/test_protocol.py +0 -0
  324. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/nsdp/test_write_frame.py +0 -0
  325. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/snmp/test_client.py +0 -0
  326. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/snmp/test_oids.py +0 -0
  327. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/snmp/test_parse_lldp_macs.py +0 -0
  328. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/snmp/test_parse_mgmt_ip.py +0 -0
  329. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/snmp/test_parse_poe_sensors.py +0 -0
  330. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/snmp/test_parse_ports.py +0 -0
  331. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/snmp/test_parse_system_info.py +0 -0
  332. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/snmp/test_parse_vlans.py +0 -0
  333. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/protocols/snmp/test_write_encode.py +0 -0
  334. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_aio_api.py +0 -0
  335. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_capabilities.py +0 -0
  336. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_cli_read.py +0 -0
  337. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_cli_vlan_write.py +0 -0
  338. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_cli_write.py +0 -0
  339. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_config.py +0 -0
  340. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_cross_backend_equivalence.py +0 -0
  341. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_deb_version.py +0 -0
  342. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_dispatch.py +0 -0
  343. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_docs_coverage.py +0 -0
  344. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_errors.py +0 -0
  345. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_facade_equivalence.py +0 -0
  346. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_http_dispatch.py +0 -0
  347. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_http_equivalence.py +0 -0
  348. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_http_read.py +0 -0
  349. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_http_vlan_membership.py +0 -0
  350. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_http_write.py +0 -0
  351. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_http_xui_writes.py +0 -0
  352. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_import.py +0 -0
  353. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_mcp_server.py +0 -0
  354. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_models.py +0 -0
  355. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_models_snmp_read.py +0 -0
  356. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_nsdp_integration.py +0 -0
  357. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_nsdp_read.py +0 -0
  358. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_nsdp_write.py +0 -0
  359. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_public_api.py +0 -0
  360. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_quality_gates.py +0 -0
  361. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_registry.py +0 -0
  362. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_snmp_integration.py +0 -0
  363. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_snmp_read.py +0 -0
  364. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_snmp_write.py +0 -0
  365. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_sync_api.py +0 -0
  366. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_version.py +0 -0
  367. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/test_write_equivalence.py +0 -0
  368. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/transport/_fastpath_fake.py +0 -0
  369. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/transport/test_cli_console.py +0 -0
  370. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/transport/test_cli_scp_cert.py +0 -0
  371. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/transport/test_cli_telnet.py +0 -0
  372. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/transport/test_http_client.py +0 -0
  373. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/transport/test_nsdp_udp_sync.py +0 -0
  374. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/transport/test_set_transport.py +0 -0
  375. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/transport/test_snmp_netsnmp_cli.py +0 -0
  376. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/transport/test_snmp_pysnmp.py +0 -0
  377. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/transport/test_value_parity.py +0 -0
  378. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_cli_cross_backend.py +0 -0
  379. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_cli_gsm7228ps_parity.py +0 -0
  380. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_gsm7228ps_seed.py +0 -0
  381. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_hostname.py +0 -0
  382. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_m4300_seeds.py +0 -0
  383. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_mibview.py +0 -0
  384. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_mutable_state.py +0 -0
  385. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_nsdp_state.py +0 -0
  386. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_serve_daemon.py +0 -0
  387. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_snmp_write_face.py +0 -0
  388. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_state_seed.py +0 -0
  389. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_switchport_vlan_write.py +0 -0
  390. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_syslog_fidelity.py +0 -0
  391. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_virtual_http_face.py +0 -0
  392. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_virtual_nsdp_face.py +0 -0
  393. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_virtual_snmp_face.py +0 -0
  394. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/tests/virtual/test_web_projection.py +0 -0
  395. {python_netgear_switch_library-0.0.post352 → python_netgear_switch_library-0.0.post354}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-netgear-switch-library
3
- Version: 0.0.post352
3
+ Version: 0.0.post354
4
4
  Summary: Python library and CLI to query and control Netgear switches over SNMP, NSDP and HTTP.
5
5
  Author-email: Tim Ansell <me@mith.ro>
6
6
  License-Expression: Apache-2.0
@@ -256,3 +256,86 @@ or a toggle performed on a switch that is safe to lose contact with. Writing
256
256
  `ip http server` / `no ip ssh server` on the strength of FASTPATH convention
257
257
  would be precisely the inference this project forbids — and the cost of being
258
258
  wrong is a switch that can no longer be reached.
259
+
260
+
261
+ ## DEFECT: HTTP `create_vlan` cannot work on the FASTPATH models
262
+
263
+ Found 2026-08-02 by driving `create_vlan` over each backend of gsm7252ps
264
+ (10.1.5.22) against the live switch:
265
+
266
+ | Backend | Result |
267
+ |---|---|
268
+ | SNMP | created, deleted, VLAN set restored — PASS |
269
+ | SSH | created, deleted, VLAN set restored — PASS |
270
+ | **HTTP** | **`HttpUnexpectedPageError: no CSRF 'hash' token on page before write`** |
271
+
272
+ `HttpWriter.create_vlan` was written for the **Plus** dialect and only ever
273
+ worked there. Its own comment says so — *"web UI 8021qCf.cgi has no VLAN-name
274
+ field"* — that is the gs305ep/gs105pe `.cgi` page. It scrapes an
275
+ `<input name="hash">` CSRF token and posts `forms.vlan_add_form`.
276
+
277
+ On a FASTPATH model `vlan_config_path` is `/vlanStatus.html`, and a live
278
+ capture of that page (`tests/fixtures/http/gsm7252ps_vlan_status_live.html`)
279
+ shows it carries **no `hash` input at all** — only `applet_port`,
280
+ `applet_unit`, `dbgopt` and the XUI cell hiddens (`1.N.14.v_1_1_M`). It is an
281
+ XUI page and needs the two-`FORM` `submit_flag` shape, not the Plus form.
282
+
283
+ ### Why nothing caught it
284
+
285
+ * **The capability oracle says HTTP=yes.** `_http_path_for` only asks whether
286
+ `vlan_config_path` is set. It is — it just points at a page this writer
287
+ cannot drive.
288
+ * **The mock passes.** `virtual/web.py` emits
289
+ `<input type="hidden" name="hash" ...>` on *every* rendered page, including
290
+ the FASTPATH ones. The real FASTPATH page has no such input, so the mock and
291
+ the writer agree with each other while both disagree with the device — the
292
+ exact failure principle 5 describes, and why a green suite proved nothing.
293
+
294
+ ### Scope
295
+
296
+ Confirmed on gsm7252ps. The same code path and page type apply to `gsm7228ps`,
297
+ `m4300-24x` and `m4300-16x`, so they are expected to fail identically — an
298
+ inference, and each needs its own live check before it is recorded as fact.
299
+ `gs728tpp` is a different dialect (GoAhead XML) and untested here.
300
+
301
+ ### What has to change
302
+
303
+ 1. The mock must stop emitting a `hash` token on pages that do not have one.
304
+ That alone will turn the existing suite red, which is the correct outcome.
305
+ 2. `create_vlan` needs an XUI implementation for the FASTPATH dialects.
306
+ 3. Until it exists, the oracle must report HTTP `create_vlan` unsupported on
307
+ those models rather than claiming it works.
308
+
309
+
310
+ ### Follow-up: no FASTPATH page carries the token, and the tests cannot see it
311
+
312
+ Probing every write page on the live gsm7252ps:
313
+
314
+ | Page | `hash` present |
315
+ |---|---|
316
+ | `/vlanStatus.html` | no |
317
+ | `/poeInterfaceConfiguration.html` | no |
318
+ | `/portPvidConfiguration.html` | no |
319
+ | `/switching/dot1q/vlan_port_cfg.html` | no |
320
+ | `/portsConfiguration.html` | no |
321
+
322
+ So the token is absent from the **whole XE FASTPATH dialect**, not just the VLAN
323
+ page, and every `_csrf`-scraping write is affected on those models — not only
324
+ `create_vlan`.
325
+
326
+ The mock is now faithful: `virtual/web.py` emits the token only for the Plus
327
+ dialects that really have it, and driving HTTP `create_vlan` against the fake
328
+ reproduces the live failure on gsm7252ps while still succeeding on gs305ep.
329
+
330
+ **`tests/test_capabilities.py` stayed green through that change, and it was
331
+ right to.** Its `_refused()` counts only `UnsupportedCapabilityError` and
332
+ `NotImplementedError` as a refusal; anything else "means the backend ACCEPTED
333
+ the operation and tried, which is exactly what Support.SUPPORTED claims". An
334
+ `HttpUnexpectedPageError` is therefore success by that definition. The test
335
+ verifies **dispatch**, not **outcome** — by design — so it can never catch a
336
+ write that reaches the right backend and then fails there.
337
+
338
+ That is a gap in the safety net, not a bug in the test. Catching this class
339
+ needs a different check: drive each write against the mock and assert the state
340
+ actually changed. Recorded here so the next person does not assume a green
341
+ capability suite means the writes work.
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.0.post352'
22
- __version_tuple__ = version_tuple = (0, 0, 'post352')
21
+ __version__ = version = '0.0.post354'
22
+ __version_tuple__ = version_tuple = (0, 0, 'post354')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -39,8 +39,40 @@ def _hash_input() -> str:
39
39
  return f'<input type="hidden" name="hash" value="{_HASH}">'
40
40
 
41
41
 
42
+ def _has_csrf_hash(spec: HttpModelSpec) -> bool:
43
+ """Whether this model's real web UI carries an ``<input name="hash">``.
44
+
45
+ ONLY the Plus ``.cgi`` dialects do. MEASURED 2026-08-02: a live capture of
46
+ the FASTPATH ``vlanStatus.html`` on gsm7252ps (10.1.5.22, committed as
47
+ ``tests/fixtures/http/gsm7252ps_vlan_status_live.html``) carries no ``hash``
48
+ input anywhere -- only ``applet_port``, ``applet_unit``, ``dbgopt`` and the
49
+ XUI cell hiddens.
50
+
51
+ This mock used to emit the token on EVERY page regardless of dialect, and
52
+ that is how ``HttpWriter.create_vlan`` -- which scrapes the token and is
53
+ written for the Plus form -- passed here while failing on real FASTPATH
54
+ hardware with "no CSRF 'hash' token on page before write". The mock and the
55
+ writer agreed with each other while both disagreed with the device, which
56
+ is exactly the failure principle 5 exists to prevent. Emitting it only
57
+ where the hardware does makes the mock refuse the same write the switch
58
+ refuses.
59
+ """
60
+ from ..protocols.http.endpoints import HtmlDialect
61
+
62
+ return spec.html_dialect in {HtmlDialect.STANDARD, HtmlDialect.GS105PE}
63
+
64
+
42
65
  def render_page(
43
66
  state: VirtualSwitchState, spec: HttpModelSpec, path: str, form: dict[str, str]
67
+ ) -> str:
68
+ html = _render_page_body(state, spec, path, form)
69
+ if not _has_csrf_hash(spec):
70
+ html = html.replace(_hash_input(), "")
71
+ return html
72
+
73
+
74
+ def _render_page_body(
75
+ state: VirtualSwitchState, spec: HttpModelSpec, path: str, form: dict[str, str]
44
76
  ) -> str:
45
77
  if path == spec.dashboard_path:
46
78
  return _render_dashboard(state)
@@ -0,0 +1,177 @@
1
+
2
+
3
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4
+ <!-- This file is auto-generated by XE - DON'T EDIT -->
5
+ <HTML>
6
+ <HEAD>
7
+ <!-- USR_FTL_DBG: head_start -->
8
+ <LINK REL=stylesheet HREF="/base/style.css" TYPE="text/css">
9
+ <script src="/base/js/rollover.js" type="text/javascript"></script>
10
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
11
+ <TITLE>NetGear - HTTP Configuration</TITLE>
12
+ <!--[if IE 6]>
13
+ <link href="/css/ie6.css" rel="stylesheet" type="text/css" id="fastpath">
14
+ <![endif]-->
15
+ <![if !(IE 6)]>
16
+ <link href="/css/non-ie6.css" rel="stylesheet" type="text/css" id="fastpath">
17
+ <![endif]>
18
+ <link href="/css/ng8xui.css" rel="stylesheet" type="text/css" id="fastpath">
19
+ <script type="text/javascript" src="/scripts/xui_common.js"></script>
20
+ <script type="text/javascript" >xuiIncludeCommonJSFiles("/scripts/");</script>
21
+ <script type="text/javascript" src="/scripts/_xe_httpConfiguration.js"></script>
22
+ <!-- USR_FTL_DBG: head_end -->
23
+ </HEAD>
24
+ <BODY CLASS=page>
25
+
26
+ <FORM method=post ACTION="/httpConfiguration.html/a0">
27
+ <INPUT TYPE="hidden" NAME="applet_port" XC=hidden VALUE="">
28
+ <INPUT TYPE="hidden" NAME="applet_unit" XC=hidden VALUE="">
29
+ <INPUT TYPE="hidden" NAME="dbgopt" XC=hidden VALUE="0">
30
+ </FORM>
31
+ <FORM method=post ACTION="/httpConfiguration.html/a1">
32
+ <DIV ID="xui_preload">
33
+ <DIV ID="preload"><IMG SRC="/images/preload.gif" ALIGN="middle">Loading page, please wait....</DIV>
34
+ </DIV>
35
+ <DIV ID="topdiv" style="display:none;">
36
+ <!-- USR_FTL_DBG: form_start -->
37
+ <div id="xuiMainDiv" class="xuiMainBody mainContainer"><table class="xuiDetailsContainer"><tbody>
38
+ <tr><td class="xuiFont15Bold">HTTP Configuration</td></tr>
39
+ <tr><td class="xuiSpacerHeight9"/></tr>
40
+
41
+ <!-- USR_FTL_DBG: group_common_start 1 1 -->
42
+ <tr id="1">
43
+ <td><table class="xuiTableStyle" cellspacing="0" cellpadding="0" >
44
+ <tbody>
45
+ <tr>
46
+ <td colspan="3">
47
+ <table class="xuiTableStyle" cellpadding="0" cellspacing="0" id="1" ><tbody>
48
+ <tr>
49
+ <td class="xuiSubSectionTabTopLeft xuiSpacer80Percent font12BoldBlue" colspan="2">HTTP Configuration</td>
50
+ <td class="xuiSubSectionTabTopRight xuiSpacer20Percent">
51
+ <a onclick="newWindow('/base/help/help.html#httpConfiguration','httpConfiguration','550','500')" href="javascript: void(0);">
52
+ <img height="12" width="12" title="Click for help" src="/base/images/help_icon.gif"/></a>
53
+ </td>
54
+ </tr>
55
+ <tr>
56
+ <td class="xuiSubSectionTabTopShadow" colspan="3"></td>
57
+ </tr>
58
+ </tbody></table>
59
+ </td>
60
+ </tr>
61
+ <tr>
62
+ <td class="xuiSubSectionBodyDot">&nbsp;</td>
63
+ <td class="xuiSpacer100Percent"><table class="xuiTableStyle" id="1" cellspacing="0" cellpadding="0"><tbody>
64
+ <!-- USR_FTL_DBG: node_start -->
65
+ <TR id=1_1 class=deftestme>
66
+ <TD class=defleft id=1_1_1>HTTP Access</TD>
67
+ <TD class=defright id=1_1_1><INPUT xid=1_1_1 TYPE=hidden NAME=v_1_1_1 VALUE="Enable"></TD>
68
+ </TR>
69
+ <!-- USR_FTL_DBG: node_end -->
70
+ <!-- USR_FTL_DBG: node_start -->
71
+ <TR id=1_2 class=deftestme>
72
+ <TD class=defleft id=1_2_1>Java Mode</TD>
73
+ <TD class=defright id=1_2_1><INPUT xid=1_2_1 TYPE=hidden NAME=v_1_2_1 VALUE="Enable"></TD>
74
+ </TR>
75
+ <!-- USR_FTL_DBG: node_end -->
76
+ <!-- USR_FTL_DBG: node_start -->
77
+ <TR id=1_3 class=deftestme>
78
+ <TD class=defleft id=1_3_1>HTTP Session Soft Timeout (Minutes)</TD>
79
+ <TD class=defright id=1_3_1><INPUT xid=1_3_1 TYPE=hidden NAME=v_1_3_1 VALUE="60"></TD>
80
+ </TR>
81
+ <!-- USR_FTL_DBG: node_end -->
82
+ <!-- USR_FTL_DBG: node_start -->
83
+ <TR id=1_4 class=deftestme>
84
+ <TD class=defleft id=1_4_1>HTTP Session Hard Timeout (Hours)</TD>
85
+ <TD class=defright id=1_4_1><INPUT xid=1_4_1 TYPE=hidden NAME=v_1_4_1 VALUE="24"></TD>
86
+ </TR>
87
+ <!-- USR_FTL_DBG: node_end -->
88
+ <!-- USR_FTL_DBG: node_start -->
89
+ <TR id=1_5 class=deftestme>
90
+ <TD class=defleft id=1_5_1>Maximum Number of HTTP Sessions</TD>
91
+ <TD class=defright id=1_5_1><INPUT xid=1_5_1 TYPE=hidden NAME=v_1_5_1 VALUE="16"></TD>
92
+ </TR>
93
+ <!-- USR_FTL_DBG: node_end -->
94
+ <!-- USR_FTL_DBG: node_start -->
95
+ <TR id=1_6 class=deftestme>
96
+ <TD class=defleft id=1_6_1>Authentication List</TD>
97
+ <TD class=defright id=1_6_1><INPUT xid=1_6_1 TYPE=hidden NAME=v_1_6_1 VALUE="HttpListName"></TD>
98
+ </TR>
99
+ <!-- USR_FTL_DBG: node_end -->
100
+ </tbody></table></td>
101
+ <td class="xuiSubSectionBodyDotRight">&nbsp;</td>
102
+ </tr>
103
+ <tr><td class="xuiSubSectionBottom" colspan="3">&nbsp;</td></tr>
104
+ <tr><td class="xuiSpacerHeight15"/></tr>
105
+ </tbody></table></td>
106
+ </tr>
107
+ <!-- USR_FTL_DBG: group_common_end 1 1 -->
108
+
109
+
110
+
111
+
112
+
113
+ <!-- redirection elements -->
114
+ <INPUT TYPE="hidden" NAME="submit_flag" XC=hidden VALUE="0">
115
+ <INPUT TYPE="hidden" NAME="submit_target" XC=hidden VALUE="httpConfiguration.html">
116
+ <INPUT TYPE="hidden" NAME="err_flag" XC=hidden SIZE="16" MAXLENGTH="15" VALUE="0">
117
+ <INPUT TYPE="hidden" NAME="err_msg" XC=hidden SIZE="80" MAXLENGTH="79" VALUE="">
118
+ <INPUT TYPE="hidden" NAME="clazz_information" XC=hidden VALUE="httpConfiguration.html">
119
+ </tbody></table></div>
120
+ <!-- USR_FTL_DBG: form_end -->
121
+ <!-- USR_FTL_DBG: page_buttons_start -->
122
+ <div id="xuiButtonsDiv"><table align="right" class="xuiRightHAlign"><tr>
123
+
124
+
125
+
126
+ <TD id=2_1_1><INPUT xid=2_1_1 DISABLED TYPE=hidden NAME=v_2_1_1 VALUE="CANCEL"></TD>
127
+ <TD id=2_1_2><INPUT xid=2_1_2 DISABLED TYPE=hidden NAME=v_2_1_2 VALUE="APPLY"></TD>
128
+
129
+
130
+
131
+ </tr></table></div>
132
+ <!-- USR_FTL_DBG: page_buttons_end -->
133
+ <script type="text/javascript" >
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+ xeValData.xv_1_3_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 60.";
142
+ xeValData.xv_1_3_1_630 = "Error: Unable to set '$$objName$$' with '$$objValue$$'. The format is invalid.";
143
+ xeValData.xv_1_3_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 60.";
144
+ xeData.min_1_3_1 = "1";
145
+ xeData.max_1_3_1 = "60";
146
+ xeData.minnls_1_3_1 = 842;
147
+ xeData.maxnls_1_3_1 = 842;
148
+ xeValData.xv_1_4_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 168.";
149
+ xeValData.xv_1_4_1_630 = "Error: Unable to set '$$objName$$' with '$$objValue$$'. The format is invalid.";
150
+ xeValData.xv_1_4_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 168.";
151
+ xeData.min_1_4_1 = "1";
152
+ xeData.max_1_4_1 = "168";
153
+ xeData.minnls_1_4_1 = 842;
154
+ xeData.maxnls_1_4_1 = 842;
155
+ xeValData.xv_1_5_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 0 to 16.";
156
+ xeValData.xv_1_5_1_630 = "Error: Unable to set '$$objName$$' with '$$objValue$$'. The format is invalid.";
157
+ xeValData.xv_1_5_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 0 to 16.";
158
+ xeData.min_1_5_1 = "0";
159
+ xeData.max_1_5_1 = "16";
160
+ xeData.minnls_1_5_1 = 842;
161
+ xeData.maxnls_1_5_1 = 842;
162
+
163
+
164
+
165
+
166
+
167
+ xeData.arghelp_1_3_1 = "(0 to 60)";
168
+ xeData.arghelp_1_4_1 = "(0 to 168)";
169
+ xeData.arghelp_1_5_1 = "(0 to 16)";
170
+ var global_repeats = new Array();
171
+ </script>
172
+ </DIV>
173
+ </FORM>
174
+
175
+ </BODY>
176
+ </HTML>
177
+
@@ -0,0 +1,258 @@
1
+
2
+
3
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4
+ <!-- This file is auto-generated by XE - DON'T EDIT -->
5
+ <HTML>
6
+ <HEAD>
7
+ <!-- USR_FTL_DBG: head_start -->
8
+ <LINK REL=stylesheet HREF="/base/style.css" TYPE="text/css">
9
+ <script src="/base/js/rollover.js" type="text/javascript"></script>
10
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
11
+ <TITLE>NetGear - Syslog Configuration</TITLE>
12
+ <!--[if IE 6]>
13
+ <link href="/css/ie6.css" rel="stylesheet" type="text/css" id="fastpath">
14
+ <![endif]-->
15
+ <![if !(IE 6)]>
16
+ <link href="/css/non-ie6.css" rel="stylesheet" type="text/css" id="fastpath">
17
+ <![endif]>
18
+ <link href="/css/ng8xui.css" rel="stylesheet" type="text/css" id="fastpath">
19
+ <script type="text/javascript" src="/scripts/xui_common.js"></script>
20
+ <script type="text/javascript" >xuiIncludeCommonJSFiles("/scripts/");</script>
21
+ <script type="text/javascript" src="/scripts/_xe_syslogConfiguration.js"></script>
22
+ <!-- USR_FTL_DBG: head_end -->
23
+ </HEAD>
24
+ <BODY CLASS=page>
25
+
26
+ <FORM method=post ACTION="/syslogConfiguration.html/a0">
27
+ <INPUT TYPE="hidden" NAME="applet_port" XC=hidden VALUE="">
28
+ <INPUT TYPE="hidden" NAME="applet_unit" XC=hidden VALUE="">
29
+ <INPUT TYPE="hidden" NAME="dbgopt" XC=hidden VALUE="0">
30
+
31
+
32
+
33
+
34
+ </FORM>
35
+ <FORM method=post ACTION="/syslogConfiguration.html/a1">
36
+ <DIV ID="xui_preload">
37
+ <DIV ID="preload"><IMG SRC="/images/preload.gif" ALIGN="middle">Loading page, please wait....</DIV>
38
+ </DIV>
39
+ <DIV ID="topdiv" style="display:none;">
40
+ <!-- USR_FTL_DBG: form_start -->
41
+ <div id="xuiMainDiv" class="xuiMainBody mainContainer"><table class="xuiDetailsContainer"><tbody>
42
+ <tr><td class="xuiFont15Bold">Syslog Configuration</td></tr>
43
+ <tr><td class="xuiSpacerHeight9"/></tr>
44
+
45
+ <!-- USR_FTL_DBG: group_common_start 1 1 -->
46
+ <tr id="1">
47
+ <td><table class="xuiTableStyle" cellspacing="0" cellpadding="0" >
48
+ <tbody>
49
+ <tr>
50
+ <td colspan="3">
51
+ <table class="xuiTableStyle" cellpadding="0" cellspacing="0" id="1" ><tbody>
52
+ <tr>
53
+ <td class="xuiSubSectionTabTopLeft xuiSpacer80Percent font12BoldBlue" colspan="2">Syslog Configuration</td>
54
+ <td class="xuiSubSectionTabTopRight xuiSpacer20Percent">
55
+ <a onclick="newWindow('/base/help/help.html#syslogConfiguration','syslogConfiguration','550','500')" href="javascript: void(0);">
56
+ <img height="12" width="12" title="Click for help" src="/base/images/help_icon.gif"/></a>
57
+ </td>
58
+ </tr>
59
+ <tr>
60
+ <td class="xuiSubSectionTabTopShadow" colspan="3"></td>
61
+ </tr>
62
+ </tbody></table>
63
+ </td>
64
+ </tr>
65
+ <tr>
66
+ <td class="xuiSubSectionBodyDot">&nbsp;</td>
67
+ <td class="xuiSpacer100Percent"><table class="xuiTableStyle" id="1" cellspacing="0" cellpadding="0"><tbody>
68
+ <!-- USR_FTL_DBG: node_start -->
69
+ <TR id=1_1 class=deftestme>
70
+ <TD class=defleft id=1_1_1>Admin Status</TD>
71
+ <TD class=defright id=1_1_1><INPUT xid=1_1_1 TYPE=hidden NAME=v_1_1_1 VALUE="Enable"></TD>
72
+ </TR>
73
+ <!-- USR_FTL_DBG: node_end -->
74
+ <!-- USR_FTL_DBG: node_start -->
75
+ <TR id=1_2 class=deftestme>
76
+ <TD class=defleft id=1_2_1>Local UDP Port</TD>
77
+ <TD class=defright id=1_2_1><INPUT xid=1_2_1 TYPE=hidden NAME=v_1_2_1 VALUE="514"></TD>
78
+ </TR>
79
+ <!-- USR_FTL_DBG: node_end -->
80
+ <!-- USR_FTL_DBG: node_start -->
81
+ <TR id=1_3 class=deftestme>
82
+ <TD class=defleft id=1_3_1>Messages Received</TD>
83
+ <TD class=defright id=1_3_1><INPUT xid=1_3_1 TYPE=hidden NAME=v_1_3_1 VALUE="9583"></TD>
84
+ </TR>
85
+ <!-- USR_FTL_DBG: node_end -->
86
+ <!-- USR_FTL_DBG: node_start -->
87
+ <TR id=1_5 class=deftestme>
88
+ <TD class=defleft id=1_5_1>Messages Relayed</TD>
89
+ <TD class=defright id=1_5_1><INPUT xid=1_5_1 TYPE=hidden NAME=v_1_5_1 VALUE="15"></TD>
90
+ </TR>
91
+ <!-- USR_FTL_DBG: node_end -->
92
+ <!-- USR_FTL_DBG: node_start -->
93
+ <TR id=1_4 class=deftestme>
94
+ <TD class=defleft id=1_4_1>Messages Ignored</TD>
95
+ <TD class=defright id=1_4_1><INPUT xid=1_4_1 TYPE=hidden NAME=v_1_4_1 VALUE="0"></TD>
96
+ </TR>
97
+ <!-- USR_FTL_DBG: node_end -->
98
+ </tbody></table></td>
99
+ <td class="xuiSubSectionBodyDotRight">&nbsp;</td>
100
+ </tr>
101
+ <tr><td class="xuiSubSectionBottom" colspan="3">&nbsp;</td></tr>
102
+ <tr><td class="xuiSpacerHeight15"/></tr>
103
+ </tbody></table></td>
104
+ </tr>
105
+ <!-- USR_FTL_DBG: group_common_end 1 1 -->
106
+
107
+
108
+
109
+ <!-- USR_FTL_DBG: group_common_start 1 1 -->
110
+ <tr id="2">
111
+ <td><table class="xuiTableStyle" cellspacing="0" cellpadding="0" >
112
+ <tbody>
113
+ <tr>
114
+ <td colspan="3">
115
+ <table class="xuiTableStyle" cellpadding="0" cellspacing="0" id="2" ><tbody>
116
+ <tr>
117
+ <td class="xuiSubSectionTabTopLeft xuiSpacer80Percent font12BoldBlue" colspan="2">Host Configuration</td>
118
+ <td class="xuiSubSectionTabTopRight xuiSpacer20Percent">
119
+ <a onclick="newWindow('/base/help/help.html#hosSyslogConfiguration','hosSyslogConfiguration','550','500')" href="javascript: void(0);">
120
+ <img height="12" width="12" title="Click for help" src="/base/images/help_icon.gif"/></a>
121
+ </td>
122
+ </tr>
123
+ <tr>
124
+ <td class="xuiSubSectionTabTopShadow" colspan="3"></td>
125
+ </tr>
126
+ </tbody></table>
127
+ </td>
128
+ </tr>
129
+ <tr>
130
+ <td class="xuiSubSectionBodyDot">&nbsp;</td>
131
+ <td class="xuiSpacer100Percent"><table class="xuiTableStyle" id="2" cellspacing="0" cellpadding="0"><tbody>
132
+ <!-- USR_FTL_DBG: repeat_start -->
133
+ <tr id='repeat_2_1'><td class="xuiPaddingSubSectionBodyWide" colspan=200>
134
+ <table id="tbl1" class="xuiTableStyle" cellspacing="0" cellpadding="0" ><tbody>
135
+ <TR id=2_1>
136
+ <!-- gecb.VTableHdrTd start -->
137
+ <td class="def_TH geRight"></td>
138
+ <!-- gecb.VTableHdrTd end -->
139
+ <TD class="def_TH alt0 firstCol" id=2_1_7>IP Address Type</TD>
140
+ <TD class="def_TH alt0" id=2_1_1>Host Address</TD>
141
+ <TD class="def_TH alt0" id=2_1_2>Status</TD>
142
+ <TD class="def_TH alt0" id=2_1_3>Port</TD>
143
+ <TD class="def_TH alt0" id=2_1_4>Severity Filter</TD>
144
+ </TR>
145
+ <!-- USR_FTL_DBG: repeat.VTableHdrThAll is not used -->
146
+ <TR id=g_2_1 >
147
+ <!-- gecb.VTableGlobalRow start -->
148
+ <td class="def_getd geRight"><INPUT id="2_1_null" type="checkbox" name="gecb121" xgc ></td>
149
+ <!-- gecb.VTableGlobalRow end -->
150
+ <TD style="display:none" class="def_getd alt0" id=g_2_1_6 ><INPUT xid=g_2_1_6 TYPE=hidden NAME=v_g_2_1_6 VALUE=""></TD>
151
+ <TD class="def_getd alt0 firstCol" id=g_2_1_7><INPUT xid=g_2_1_7 TYPE=hidden NAME=v_g_2_1_7 VALUE=""></TD>
152
+ <TD class="def_getd alt0" id=g_2_1_1><INPUT xid=g_2_1_1 TYPE=hidden NAME=v_g_2_1_1 VALUE=""></TD>
153
+ <TD class="def_getd alt0" id=g_2_1_2><INPUT xid=g_2_1_2 TYPE=hidden NAME=v_g_2_1_2 VALUE=""></TD>
154
+ <TD class="def_getd alt0" id=g_2_1_3><INPUT xid=g_2_1_3 TYPE=hidden NAME=v_g_2_1_3 VALUE=""></TD>
155
+ <TD class="def_getd alt0" id=g_2_1_4><INPUT xid=g_2_1_4 TYPE=hidden NAME=v_g_2_1_4 VALUE=""></TD>
156
+ <TD style="display:none" class="def_getd alt0" id=g_2_1_5 ><INPUT xid=g_2_1_5 TYPE=hidden NAME=v_g_2_1_5 VALUE="Add"></TD>
157
+ </TR>
158
+
159
+
160
+
161
+ <TR p="1.0.10" id=2_1>
162
+ <!-- gecb.VTableRow start -->
163
+ <td id="2_1_null" p="1.0.10" class="def alt0 geRight">
164
+ <INPUT id="2_1_null" type="checkbox" name="1.0.1.gecb122" xgc ></td>
165
+ <!-- gecb.VTableRow end -->
166
+ <TD style="display:none" class="def alt0" p="1.0.10" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.0.1.v_2_1_6 VALUE="1"></TD>
167
+ <TD class="def alt0 firstCol" p="1.0.10" id=2_1_7><INPUT xid=2_1_7 TYPE=hidden NAME=1.0.1.v_2_1_7 VALUE="IPv4">IPv4</TD>
168
+ <TD class="def alt0" p="1.0.10" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.0.1.v_2_1_1 VALUE="10.1.5.1">10.1.5.1</TD>
169
+ <TD class="def alt0" p="1.0.10" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.0.1.v_2_1_2 VALUE="Active">Active</TD>
170
+ <TD class="def alt0" p="1.0.10" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.0.1.v_2_1_3 VALUE="514">514</TD>
171
+ <TD class="def alt0" p="1.0.10" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.0.1.v_2_1_4 VALUE="Info"></TD>
172
+ <TD style="display:none" class="def alt0" p="1.0.10" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.0.1.v_2_1_5 VALUE="Add"></TD>
173
+ </TR>
174
+
175
+
176
+
177
+ </tbody></table></td></tr>
178
+ <!-- USR_FTL_DBG: repeat_end -->
179
+ </tbody></table></td>
180
+ <td class="xuiSubSectionBodyDotRight">&nbsp;</td>
181
+ </tr>
182
+ <tr><td class="xuiSubSectionBottom" colspan="3">&nbsp;</td></tr>
183
+ <tr><td class="xuiSpacerHeight15"/></tr>
184
+ </tbody></table></td>
185
+ </tr>
186
+ <!-- USR_FTL_DBG: group_common_end 1 1 -->
187
+
188
+
189
+
190
+
191
+ <!-- redirection elements -->
192
+ <INPUT TYPE="hidden" NAME="submit_flag" XC=hidden VALUE="0">
193
+ <INPUT TYPE="hidden" NAME="submit_target" XC=hidden VALUE="syslogConfiguration.html">
194
+ <INPUT TYPE="hidden" NAME="err_flag" XC=hidden SIZE="16" MAXLENGTH="15" VALUE="0">
195
+ <INPUT TYPE="hidden" NAME="err_msg" XC=hidden SIZE="80" MAXLENGTH="79" VALUE="">
196
+ <INPUT TYPE="hidden" NAME="clazz_information" XC=hidden VALUE="syslogConfiguration.html">
197
+ </tbody></table></div>
198
+ <!-- USR_FTL_DBG: form_end -->
199
+ <!-- USR_FTL_DBG: page_buttons_start -->
200
+ <div id="xuiButtonsDiv"><table align="right" class="xuiRightHAlign"><tr>
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+ <TD id=4_1_1><INPUT xid=4_1_1 DISABLED TYPE=hidden NAME=v_4_1_1 VALUE="ADD"></TD>
209
+
210
+
211
+ <TD id=4_3_1><INPUT xid=4_3_1 DISABLED TYPE=hidden NAME=v_4_3_1 VALUE="DELETE"></TD>
212
+
213
+
214
+ <TD id=4_4_1><INPUT xid=4_4_1 DISABLED TYPE=hidden NAME=v_4_4_1 VALUE="CANCEL"></TD>
215
+
216
+
217
+ <TD id=4_2_1><INPUT xid=4_2_1 DISABLED TYPE=hidden NAME=v_4_2_1 VALUE="APPLY"></TD>
218
+
219
+
220
+ </tr></table></div>
221
+ <!-- USR_FTL_DBG: page_buttons_end -->
222
+ <script type="text/javascript" >
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+ xeValData.xv_1_2_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 65535.";
231
+ xeValData.xv_1_2_1_630 = "Error: Unable to set '$$objName$$' with '$$objValue$$'. The format is invalid.";
232
+ xeValData.xv_1_2_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 65535.";
233
+ xeData.min_1_2_1 = "1";
234
+ xeData.max_1_2_1 = "65535";
235
+ xeData.minnls_1_2_1 = 842;
236
+ xeData.maxnls_1_2_1 = 842;
237
+
238
+
239
+
240
+ xeValData.xv_g_2_1_1_631 = "Error! Invalid String:Unable to set '$$objName$$' with '$$objValue$$'.";
241
+ xeValData.xv_g_2_1_3_630 = "Error: Unable to set '$$objName$$' with '$$objValue$$'. The format is invalid.";
242
+ xeValData.xv_g_2_1_3_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 65535.";
243
+ xeValData.xv_g_2_1_3_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 65535.";
244
+ xeData.min_g_2_1_3 = "1";
245
+ xeData.max_g_2_1_3 = "65535";
246
+ xeData.minnls_g_2_1_3 = 842;
247
+ xeData.maxnls_g_2_1_3 = 842;
248
+
249
+
250
+ xeData.arghelp_1_2_1 = "(1 to 65535)";
251
+ var global_repeats = new Array();
252
+ </script>
253
+ </DIV>
254
+ </FORM>
255
+
256
+ </BODY>
257
+ </HTML>
258
+