asn-blocklist 1.20260703.0

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 (61) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +302 -0
  3. package/dist/consumer.ef.b64 +1 -0
  4. package/dist/consumer.gr.b64 +1 -0
  5. package/dist/consumer.txt +16379 -0
  6. package/dist/hosting.ef.b64 +1 -0
  7. package/dist/hosting.gr.b64 +1 -0
  8. package/dist/hosting.txt +7648 -0
  9. package/lib/access/ef.cjs +181 -0
  10. package/lib/access/ef.d.cts +8 -0
  11. package/lib/access/ef.d.ts +8 -0
  12. package/lib/access/ef.js +151 -0
  13. package/lib/access/gr.cjs +149 -0
  14. package/lib/access/gr.d.cts +8 -0
  15. package/lib/access/gr.d.ts +8 -0
  16. package/lib/access/gr.js +119 -0
  17. package/lib/access-ef-Cyg9fXiX.d.cts +3 -0
  18. package/lib/access-ef-Cyg9fXiX.d.ts +3 -0
  19. package/lib/access-gr-K1sbUYPZ.d.cts +3 -0
  20. package/lib/access-gr-K1sbUYPZ.d.ts +3 -0
  21. package/lib/data/access-ef.cjs +99 -0
  22. package/lib/data/access-ef.d.cts +2 -0
  23. package/lib/data/access-ef.d.ts +2 -0
  24. package/lib/data/access-ef.js +68 -0
  25. package/lib/data/access-gr.cjs +99 -0
  26. package/lib/data/access-gr.d.cts +2 -0
  27. package/lib/data/access-gr.d.ts +2 -0
  28. package/lib/data/access-gr.js +68 -0
  29. package/lib/data/hosting-ef.cjs +99 -0
  30. package/lib/data/hosting-ef.d.cts +2 -0
  31. package/lib/data/hosting-ef.d.ts +2 -0
  32. package/lib/data/hosting-ef.js +68 -0
  33. package/lib/data/hosting-gr.cjs +99 -0
  34. package/lib/data/hosting-gr.d.cts +2 -0
  35. package/lib/data/hosting-gr.d.ts +2 -0
  36. package/lib/data/hosting-gr.js +68 -0
  37. package/lib/hosting/ef.cjs +181 -0
  38. package/lib/hosting/ef.d.cts +8 -0
  39. package/lib/hosting/ef.d.ts +8 -0
  40. package/lib/hosting/ef.js +151 -0
  41. package/lib/hosting/gr.cjs +149 -0
  42. package/lib/hosting/gr.d.cts +8 -0
  43. package/lib/hosting/gr.d.ts +8 -0
  44. package/lib/hosting/gr.js +119 -0
  45. package/lib/hosting-ef-BYHAv_eT.d.cts +3 -0
  46. package/lib/hosting-ef-BYHAv_eT.d.ts +3 -0
  47. package/lib/hosting-gr-ISZyiWi7.d.cts +3 -0
  48. package/lib/hosting-gr-ISZyiWi7.d.ts +3 -0
  49. package/lib/index.cjs +335 -0
  50. package/lib/index.d.cts +12 -0
  51. package/lib/index.d.ts +12 -0
  52. package/lib/index.js +295 -0
  53. package/lib/metadata-CbVhAyw9.d.cts +59 -0
  54. package/lib/metadata-CbVhAyw9.d.ts +59 -0
  55. package/lib/runtime.cjs +239 -0
  56. package/lib/runtime.d.cts +17 -0
  57. package/lib/runtime.d.ts +17 -0
  58. package/lib/runtime.js +208 -0
  59. package/lib/types-BeWCbJlo.d.cts +27 -0
  60. package/lib/types-BeWCbJlo.d.ts +27 -0
  61. package/package.json +109 -0
@@ -0,0 +1,3 @@
1
+ declare const HOSTING_GR_B64 = "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qpA3oWOG6i/gQlohE5EHKMjzhYrURmkY5BHYJ5TCrY4zhLg4DlpJ1jG6ggYTju1cQaynMoyMQcA5QuGK64lcoT4CIhE4Il7ZklIYxCXvmbOtlqyFFQKEJBLGsoz7BDJjGpfSta6KMoxFXCIXVgIk0EkqCnLqWdrIVrWYh4ospVIJxIE4SoQtEKFhwphEQmGtkkJ4xKSUyESsEN5cDSEyQDFWMso2hJFmKFSTKJskiJLCG/4ECGkYShCQ4RBG142iV3DMqUjMUZ3BWQLWFuCMU8gnGeUI4ZSUiNPEMIyrU1CIn4SCE4+BwpQjaNQZGJSQOgsr1ExjM1wRkwmpGK0vZGpSFINIIUpHERqQ0og5CC2tcXLCu7Ocg1DsKTBQnAwsEMSFu+r9GYYwtSL1bDEhOt0CcxQwmmCJ6xEgIiWQLVkKwrjFc9Ivhji0DEb/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vIzyh6tSSBHgIjzG/yc1Mo6FmGUhRoTsHD9d0CUsESFA5KokM0qsNGEdxWUlYryMpmwJ/MnCKDhCasaX/UJ4iFIcNQiBMgxRy/EvDCsR0UGVWKyfyRcFYb3ISrJsVzRfvdENFTCpspQjKsYhCYIv4Vhm4uGGBkPN2D8fROgMebEYh6ZHBgTJ+IZP/XymLu09fwHnW0WNzhQqwdwVJrhun5w9LDz4g7ofPFx8oe4/XLy1RSJH+BtwQ4BGh6/VYEr5T4W0lClTD4g4YhyVTPx+QT+cZ4J6wvHDrGF79/cVKb8Xu+8b/7GTh1HCShFyBqCNPA+36A5c6urnv3Ktk1fluQKqb8aBBOQ54zlHg/0bdKiv3pEHnEv4V5SCERQbAqu/k8mIVihTBhKFnyaYPZ+PxKhj8HngOHOTb8npsiOJeRWKyKBOlAhLKJRf3/zMNNg/2un0tMcsQbiV4PmXZQNdQVJG3FsjZLXiT5ZD6LDMg9AQq+nV////////////////////////////////////////////yLbEhg1BpJBzUcSE/4v//////2h//////////OgbTyhSj9f6ufiQGqJ3LhGMvs2dxZ3OP/6sBkNIb/ogM0Q1MkCpqHkPHgj0260h5LfF0dB4BsWLp+Y5WHpFz8Y/y/3FRvH+s6YtV3+8VqzO/76aa+oOD/4FCjz9UAqvTJQZItBbPx43BsRAv/cVUEDGDtk+NkSoraTez1xigRX4PNTZBilbleL0T/DA6YZojy3laoO05KPET5dn8zP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////18NFiwq5fDDQO3w8I+gxIhJpnLazgTb46p5A8JRhUzmkYTCQTjPIRUNkFHokyzYJRqRopK1kMcORWcR4NcLITEWcczdED3myVh2qvpCIbTqUQ9TYl8vk6Nh7hslvsnRhQGh5Umjcg8vjHolagsp0igjMlNyxjmITpFQqUOtp2hDhnUUpaEEMg6dY73nEoIkyKIZa8BIhW+otYmlyueQw0WDKdfIIXfFKlLqwqCeegwWU1Q1oL0WCObylUEpsZiR6RRwhO0w8K07T1DsU+iwLFiUt51LplfPzFE8ocplIcm1shCDgZQisV8cmLjS90BwiJcbpHmMRdgtIYu9yFtaSFMjsdHtEYLS0i5AtgmEeOGRPK4IX1KPgN3UhNmwDLhbPPrwy7UoDUcXpl6RhpzWjeZUhWOu3liLgOhNkwtKuSFe9j1WzkrgNEWyBOkZl81Yx02lbuNGjQVDAkKcSiNDnFTmHKe6AORqj58M5tD+BUGxqSojCl5hQ4yjtOINgXzhgTUlI0CJKr5xsNgiX2ChV7ipD3UsgmrSKASQznIWo4bz+EpghxLFV6OLAPKhmKAkUAhYCnSnEGQ8xSOEmATeZKjlKTlhDELOVSxBjutgvVOim+lxGPnihpQRSD49RNSoLFaAx3xjD2ywmOkIzsFPwQxIFWVTW1hI0QhKElKOGgJQ5qGGEbW7MQkKg4VE5bRB8wziGZJqFvmIm7iblJAonjKODSaKFEvapssxPpohuslJhvKoeHz9YavqYcpqhFsUzsIMwQrCFx6BG6Z4c20Im4xIkNGUasQa4kF+MTf8D5RLkCUKdcFh0ZBB0SqIoRcUsWRFq4/wdUoiDrNQ5BLeg4mqjEJrBSowGaJN5oBbK1IjSHxLrUcqG3xpqTb4sDWyY4YahiPCLRYJUMCRLuWxAZzqFVlI1NYRsEtbRwBXIdJiBrMaRJyDI4Mi1/Kw4VzyULWhMJ2MKF1MrkZiuItJiRJXEs51YSLQY51DKYYxGhWYh0RyiOJQhqUQJlGVa5UXGMJ1rS1Rp8KFiO0dhB6UzQVRWyNmWwgaSOOU8Q7XwKaqQ7IhmWYhTLRpK25y0vW2c1wSzyvgLEGQzYCkcXIVLFaaTin5ZEpnOFQilM4RFhNGN5hCCs+IIxLHEKYQZBrlW0Yr3kZF/////////////////////////////8PkW0xHT8Zv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0mhCom8d6VpqbiEgSxhDCxCArDSEQlimNGGcJQ5LzDGwIpQjamMgSxiHERIUQokaXQGQbzBUcYzn1iClM9T0w8FakcEpAiwiQExczDFEcQitdUI4hO6BrEOBBXKlXHgVSjaGtZypOosC5WablUjSeMYxvXQxD3BO4rBtQkRBihsZEUx3lRo7JZShpxDg1twO3cw7cLDnFIIlRQ4bzrrNGYUIbBDG48AilSKuEJhyRMISxNZcUJocdzz5PRiWH8Z0wBCV2ERBMSgd8wQhXJmtPKcKwqcqs2pBzphHMpJzuOl56UugP4AniWFjNataXRaBEoepSxBHErFsaYvw7CoaKRHnYpp7xzvDQN3GospynYdgiqeIWCkO3YGN1Pkq46VhrYoVboA9giFpaOkg16nQ9ZQk10CIGBJCkRhINZlhVoSFa0ZJotpRMcmRhFisXUt8DkFOJhwjGHCdCY0kRHpw+PDEx+IRlTcsSjYj00yOZ5S+JEqboqXRyDPb1LgOgyPkMhCBskhKzBhIIa4qYxwhGcoSGTTSxFrBiewSRGIowjhuhGERhME3moHgS5CSuoGFiY0WjCutEgRGGKKAql1V3nCNAWUzSmfMGu0US5SisaJuwOQzWW+OI4zfhUMR08ZWBokyiJJFu+bATnsuTiYUfp0CC0dUVt/JDqzXLN+Nch/sFoC4YjzKLNGMTiYFmSIxHjQbEIzK2kqqLjeEaEoRFX4ndBb5ik+h3j2wP//rT/im4VZv/9v//////6ceMTuP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0FUiAM5TFGdkYUCqpvCKpCUWVlSMgeZ5hM+yTDgGo5ohukEJmKIo3hdYgUkYVLgTmJBZidK0yAmOpgxDqFRLArIga1VJVtcJVoSJimnUEYxkFFyTYEBccQwm6pStKkJdqQ0jVSM6tv/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Rku/E2UbF+DMZBPhIhnOXD28UeQklXxWptIeqLESegrNDhtbiJAPy/IOL0r1iH+ANrWeou7qC75Kf2T7oJ+aB4+VPvKYvbt86fHcn5lFi+UtdvZGZuExqrDdIaxf//7fEYvEGA5ThY7DdgJTk5Pi3rsXFfKHr6eDV5vfgh05/Fu5f8U9whE6SYIw7v+njOv9g8PfoiMEmYO8k6kM8Xg1UhKr+x7iQsshFOPIEc0Qp+bqH3fZUX82G0z4MOWZyD9JT6AobnOcSownVKkIemuPDleY/C3qO6tyEq+xU7uQ1mJAtqmwBrQMLSNWQ0gd0cMlpVaiQmI8iSrhw7U1SpF+t/qw/wnND39116XeSPPJalQ=";
2
+
3
+ export { HOSTING_GR_B64 as H };
@@ -0,0 +1,3 @@
1
+ declare const HOSTING_GR_B64 = "PgAAAOAdAAC0JAYABAD+DHoXUf//0x/2BCsv0bdTFnIMJ1BCMJCFGRRzBCKcvWgeT88SjQp1+AUAv/5rPrL0I+0P/////3tIIQUdYhEfMRmYIQzilusqVOMRMZioD/giGPw5itoIQbVEEMRNATMOMKxMLm+zqZHGIP+sNl+Unuh8e1PsF7YAydH+KP5YE263GWcQRLEGETLjINSUiEnI4xWf7/e///4jmEQJJAhwxlnUNgxLY0IhleNrI2HDrFP///2QWEMXREEIRcm5xV2JicKG0YxByHEgU3SGYkYSrCMYVEeEcRQqEJwUiIZ6EQNeQIR2ICgt6bTQkcK11j4nTCbIYXNnfSbOQUCe5JQlEkKihONYg4CrCikl5RBWUcwXLynbQmbq3b3TpQJYTElkDdAh5AziFGQMA1kENowiIFU4UKPGQR4yLcQbRDcQI5ymW0JpusoQpGF4RhERUhkpGcxgoYkaHhHAgSgmYEIljOkI0jItbBTMO0ggiCZQQjUMjcBQiESgp2COsKhkWU06GGCNJaG2hap7qcjQlEJk0NKhCCI4mZSk6DPRhKddTsxQlK0ZrC5GnEYs9SXBYtFgtI2o5hvKjbqm9fnDZ1w3Et/j+H6pxmkMeo+FCwiMk4eh5hGljmUYjzSBV4KkatxRjXLOZUMFCkpROfX41TxsIMkUJGOmwhaEmaZImBhGpOY5ChGIjTCUGGAwlYJhPUYTYoYBhUQhEUmDG2JAmDEE6kpCMzRlKYoT5iuWWE+sYsxguGMJyjiN5YVDYprDlcUM4SkFQeWwQRqSMYpb1SkXJHl8WwIr8oxFGdLjhi0EOg9QQqNpdOqRmY/OvPylUK1+OFEsIlHIw8wxGofhWFxBsCVMKzKInkPzZr0BOeWf/mbE0+mAqiqWGRtGA8XAY5oGrURBjpOZUQWIeJOBBSk63tMEQSEalpQtSa4yWuxvDokGQQ0Mg11iKZRaHhaYhDMHA2gYolo8qkFuH+dYTxiPTXVQpy4VhULJTCxnmGkvzFCF8kUFNShHY4OC0/2qmT1GMU55Uo0DD2wEM8xxnGOIUJsXYInLhJbsKRaoBoEXUMTbg5AttF+1fCc6ZyBaGMIQhCELu+RcE7LCzY718zcQxVKVsRPIrWcdy3BCJExbCGbEIi0wSoIHGPdyn4CBn6IqrHb1C4wiCEIZwoFGwlWenk7GWSatVlLsSSnit4YHMUlVJwvMGuBNSBIWMRUUYWpUhpzsM0IyDwmGJSiMacZjqpEhNbFjHmvIy9pKg8sBphaBkGFvIwaRpqpWsgTaoTsmjSqIdLFyQxvQ3xiQvJH3LPsDLy+wQpqwkHMPq/nYxjgkiG8KhHhCE3GOXgEf/AE1MFlV0KBF0foSwfKKcJBFdVwDDXMMs1WY0pkGQgq9MShKGJ8xCFppGYshSjM8wxoociQ2aAU9TbTLaIRhjkDSQRTVyF+AQ00nMMjloE06TvUQwklHWMNS9gTJDYhL8aEMCNBeExViQoUitqhtWY6soxjSJ4lGmcJjGmOWHaVZ0JO+wjAmOWoRiHFjG4hys0EI9zBjkWSBWKcIdKSqc1x3pivfCTxMlmIKgR6nXFKY0UMUXCE6azYEhlM8JRcpjl0feYMfr4yQ5Tf/904qIqugNp7IhkrpiWFVXVumK7fplEbCNGXMhUf5w4QtOQhUDacZFBnEMpDmEQSxnhIEJaQiISplFSvdckgUGzPM29IUTGQfDPMmdcQz44LxFQNcpBlKkMsgnmCuELKjnIVgRNOxM4di8wYQnjG8mqWAJLDwCGNTI2BiKbjI2QY15EIHyHsO6lHYWJYkn8Ah4eMXrmT7EBNiIRse0XEvYIKUOc+4rGkGUh1HjUYg4Cx2BUwgnNQIRUZChjcQK3SLM2hCxWGCqrpMdZqJYljmDdQFLNJIRskfIQaoeMgWULixwdAiNa4ShM5wnsyaMIqoGKu8xzE/KquNAoAkRvtMa9A5UHj7xoCGEl6U8C7CjZRw6z0Fit2B4sT1HqDUge5gylaIJsnwxOck6BGcGYd4RHEpI1FvRgQ31ofS15xipmJKYKN1RMVuVQyhIjVYY62igGR9hwhvJlVDOowkfE4h5EFeEYyjhCiBJwn2w4rca6zkjmEZw2CgP2hWaBQdkcWnYYVNxiCzFPSNBRwcJwkl4SjdMGZj1WMUOIY9WIQXEvKm9eq8ocnAgTWoH7v5UliLAY+9yk6jwhoWQ4xkQQZ5xaYlRHYVJSCseQ+5QR4FsjCHLaZC0zhoKspE2EgLZK4oUmgMII5moIsoiHDwSfUerCaMIilPgPiCLwpsOIUoiGdiPH2/XKGKEYVFZKGEtSCkGo+Wg53CWQZwiMJ8EJFsGKY9TQjiOqLGIR1BwQvWciCMGaAgXFGYhKk5COjFKSswhjOIjw3HYmQwXGOkMIxmUFAUFSEx0qwHcIdCFwDcI4VFIsmyQ6TrQY8W9hzXjZXegyLxMZXANFv5aRQRnLIUNKkdgpR7qAugRlgaGKq68WOKYxQ2kIIWATyjVrET0/G4tIyOlMfFS0puMyhU56TRsFHq2nMms2Kqid1RRlLwVnTvM5EI2TlJzrmUdo4xKgPkIrQw8MRyiIsTpIT3JbfkJbPcexoYAyPXATZkovL0hMEcQckxijY16UlIdy4D1ZKBqERiia6kjk8sWHBwutHEpMQtgiJnjUXLIoZS3JRRIKwwpBFJEcIlpCGMzmYCh00hhYaciYUMxXUnhEuOc1kq0ielgVEG0axmSkJ2vGKEwz5yDTqGWkSIY4VRlmJTOTZwPelreSrCkJCDrCJOFioqyroQoJuN0BXFomjsaYVcM2+bImEnPy9zyyJLVvUFTFjpiIitOHgKe+QtDu9mhZ8elxKAkIhw52IISOVNyXiaOwgxbmnrIIIUVKUUZ8AzNGRRhBPkiKtliSick8kaHoKO7H2hYeULEpdKOWKM46CVmhWtIihYUjoRciUlqLGyEVMyWIrJQE5HRHUU7857TpCEyxxkoGHAeJajhCcOwhLsRYzL5IGLGcZw4M4a+JaBMFG0SQ1qtexQ0CMSEg1YyIUjZpG4ZTBxB0DWEJIqTQiEiFshBHUMYXSQ2E8a1sMmURSFEobhDtYdGdExgukmFqESAQinKEoRhPGwbfjJqWogg1iJAWcR71xDoKccxcAQjH1lQuQQoKSyndiEVwS6SJGHoGoYoXBEKVaoLOWswTzmSqJQRMCSwYTRnGkU4kTtGvYcjiyiO141qif0bLgk0KZHYPdWMeiAk5QxhOSWcYZzMgSRcbZ3GFKSAYTDYFJCwGlKpiC4nBoSE4ioUGMN6THIWEKrgjMZEeqwwzHITCcM1cOvhFCUQhjaIkYcCu4qkDC2wr0kO1GEr6uERdpSUShTJfEGQ7+hJSCW/cPQNjV+BAU2oqWliRJKhe38RiYM9ou9DuJ+NviNNhoKE+RqBDyBEt5xcpLyPiOYXrPiG0zZ5x4hGOEWK2B9s8+YRRwNNhGK1pPRCw0gshQ53BiursgGdTZOmMgWHDwxwj1kViSWOB7A4ETtraVdOtEbpikIYpDOW2OGZtKwpJgxGoNTrzD3FImKlQ0wnrUUkUA7pm2RiugFUVGUqpA3oWOG6i/gQlohE5EHKMjzhYrURmkY5BHYJ5TCrY4zhLg4DlpJ1jG6ggYTju1cQaynMoyMQcA5QuGK64lcoT4CIhE4Il7ZklIYxCXvmbOtlqyFFQKEJBLGsoz7BDJjGpfSta6KMoxFXCIXVgIk0EkqCnLqWdrIVrWYh4ospVIJxIE4SoQtEKFhwphEQmGtkkJ4xKSUyESsEN5cDSEyQDFWMso2hJFmKFSTKJskiJLCG/4ECGkYShCQ4RBG142iV3DMqUjMUZ3BWQLWFuCMU8gnGeUI4ZSUiNPEMIyrU1CIn4SCE4+BwpQjaNQZGJSQOgsr1ExjM1wRkwmpGK0vZGpSFINIIUpHERqQ0og5CC2tcXLCu7Ocg1DsKTBQnAwsEMSFu+r9GYYwtSL1bDEhOt0CcxQwmmCJ6xEgIiWQLVkKwrjFc9Ivhji0DEb/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vIzyh6tSSBHgIjzG/yc1Mo6FmGUhRoTsHD9d0CUsESFA5KokM0qsNGEdxWUlYryMpmwJ/MnCKDhCasaX/UJ4iFIcNQiBMgxRy/EvDCsR0UGVWKyfyRcFYb3ISrJsVzRfvdENFTCpspQjKsYhCYIv4Vhm4uGGBkPN2D8fROgMebEYh6ZHBgTJ+IZP/XymLu09fwHnW0WNzhQqwdwVJrhun5w9LDz4g7ofPFx8oe4/XLy1RSJH+BtwQ4BGh6/VYEr5T4W0lClTD4g4YhyVTPx+QT+cZ4J6wvHDrGF79/cVKb8Xu+8b/7GTh1HCShFyBqCNPA+36A5c6urnv3Ktk1fluQKqb8aBBOQ54zlHg/0bdKiv3pEHnEv4V5SCERQbAqu/k8mIVihTBhKFnyaYPZ+PxKhj8HngOHOTb8npsiOJeRWKyKBOlAhLKJRf3/zMNNg/2un0tMcsQbiV4PmXZQNdQVJG3FsjZLXiT5ZD6LDMg9AQq+nV////////////////////////////////////////////yLbEhg1BpJBzUcSE/4v//////2h//////////OgbTyhSj9f6ufiQGqJ3LhGMvs2dxZ3OP/6sBkNIb/ogM0Q1MkCpqHkPHgj0260h5LfF0dB4BsWLp+Y5WHpFz8Y/y/3FRvH+s6YtV3+8VqzO/76aa+oOD/4FCjz9UAqvTJQZItBbPx43BsRAv/cVUEDGDtk+NkSoraTez1xigRX4PNTZBilbleL0T/DA6YZojy3laoO05KPET5dn8zP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////18NFiwq5fDDQO3w8I+gxIhJpnLazgTb46p5A8JRhUzmkYTCQTjPIRUNkFHokyzYJRqRopK1kMcORWcR4NcLITEWcczdED3myVh2qvpCIbTqUQ9TYl8vk6Nh7hslvsnRhQGh5Umjcg8vjHolagsp0igjMlNyxjmITpFQqUOtp2hDhnUUpaEEMg6dY73nEoIkyKIZa8BIhW+otYmlyueQw0WDKdfIIXfFKlLqwqCeegwWU1Q1oL0WCObylUEpsZiR6RRwhO0w8K07T1DsU+iwLFiUt51LplfPzFE8ocplIcm1shCDgZQisV8cmLjS90BwiJcbpHmMRdgtIYu9yFtaSFMjsdHtEYLS0i5AtgmEeOGRPK4IX1KPgN3UhNmwDLhbPPrwy7UoDUcXpl6RhpzWjeZUhWOu3liLgOhNkwtKuSFe9j1WzkrgNEWyBOkZl81Yx02lbuNGjQVDAkKcSiNDnFTmHKe6AORqj58M5tD+BUGxqSojCl5hQ4yjtOINgXzhgTUlI0CJKr5xsNgiX2ChV7ipD3UsgmrSKASQznIWo4bz+EpghxLFV6OLAPKhmKAkUAhYCnSnEGQ8xSOEmATeZKjlKTlhDELOVSxBjutgvVOim+lxGPnihpQRSD49RNSoLFaAx3xjD2ywmOkIzsFPwQxIFWVTW1hI0QhKElKOGgJQ5qGGEbW7MQkKg4VE5bRB8wziGZJqFvmIm7iblJAonjKODSaKFEvapssxPpohuslJhvKoeHz9YavqYcpqhFsUzsIMwQrCFx6BG6Z4c20Im4xIkNGUasQa4kF+MTf8D5RLkCUKdcFh0ZBB0SqIoRcUsWRFq4/wdUoiDrNQ5BLeg4mqjEJrBSowGaJN5oBbK1IjSHxLrUcqG3xpqTb4sDWyY4YahiPCLRYJUMCRLuWxAZzqFVlI1NYRsEtbRwBXIdJiBrMaRJyDI4Mi1/Kw4VzyULWhMJ2MKF1MrkZiuItJiRJXEs51YSLQY51DKYYxGhWYh0RyiOJQhqUQJlGVa5UXGMJ1rS1Rp8KFiO0dhB6UzQVRWyNmWwgaSOOU8Q7XwKaqQ7IhmWYhTLRpK25y0vW2c1wSzyvgLEGQzYCkcXIVLFaaTin5ZEpnOFQilM4RFhNGN5hCCs+IIxLHEKYQZBrlW0Yr3kZF/////////////////////////////8PkW0xHT8Zv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0mhCom8d6VpqbiEgSxhDCxCArDSEQlimNGGcJQ5LzDGwIpQjamMgSxiHERIUQokaXQGQbzBUcYzn1iClM9T0w8FakcEpAiwiQExczDFEcQitdUI4hO6BrEOBBXKlXHgVSjaGtZypOosC5WablUjSeMYxvXQxD3BO4rBtQkRBihsZEUx3lRo7JZShpxDg1twO3cw7cLDnFIIlRQ4bzrrNGYUIbBDG48AilSKuEJhyRMISxNZcUJocdzz5PRiWH8Z0wBCV2ERBMSgd8wQhXJmtPKcKwqcqs2pBzphHMpJzuOl56UugP4AniWFjNataXRaBEoepSxBHErFsaYvw7CoaKRHnYpp7xzvDQN3GospynYdgiqeIWCkO3YGN1Pkq46VhrYoVboA9giFpaOkg16nQ9ZQk10CIGBJCkRhINZlhVoSFa0ZJotpRMcmRhFisXUt8DkFOJhwjGHCdCY0kRHpw+PDEx+IRlTcsSjYj00yOZ5S+JEqboqXRyDPb1LgOgyPkMhCBskhKzBhIIa4qYxwhGcoSGTTSxFrBiewSRGIowjhuhGERhME3moHgS5CSuoGFiY0WjCutEgRGGKKAql1V3nCNAWUzSmfMGu0US5SisaJuwOQzWW+OI4zfhUMR08ZWBokyiJJFu+bATnsuTiYUfp0CC0dUVt/JDqzXLN+Nch/sFoC4YjzKLNGMTiYFmSIxHjQbEIzK2kqqLjeEaEoRFX4ndBb5ik+h3j2wP//rT/im4VZv/9v//////6ceMTuP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0FUiAM5TFGdkYUCqpvCKpCUWVlSMgeZ5hM+yTDgGo5ohukEJmKIo3hdYgUkYVLgTmJBZidK0yAmOpgxDqFRLArIga1VJVtcJVoSJimnUEYxkFFyTYEBccQwm6pStKkJdqQ0jVSM6tv/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Rku/E2UbF+DMZBPhIhnOXD28UeQklXxWptIeqLESegrNDhtbiJAPy/IOL0r1iH+ANrWeou7qC75Kf2T7oJ+aB4+VPvKYvbt86fHcn5lFi+UtdvZGZuExqrDdIaxf//7fEYvEGA5ThY7DdgJTk5Pi3rsXFfKHr6eDV5vfgh05/Fu5f8U9whE6SYIw7v+njOv9g8PfoiMEmYO8k6kM8Xg1UhKr+x7iQsshFOPIEc0Qp+bqH3fZUX82G0z4MOWZyD9JT6AobnOcSownVKkIemuPDleY/C3qO6tyEq+xU7uQ1mJAtqmwBrQMLSNWQ0gd0cMlpVaiQmI8iSrhw7U1SpF+t/qw/wnND39116XeSPPJalQ=";
2
+
3
+ export { HOSTING_GR_B64 as H };
package/lib/index.cjs ADDED
@@ -0,0 +1,335 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/entries/index.ts
21
+ var entries_exports = {};
22
+ __export(entries_exports, {
23
+ DATASETS: () => DATASETS,
24
+ DATA_VERSION: () => DATA_VERSION,
25
+ FORMAT_VERSION: () => FORMAT_VERSION,
26
+ PACKAGE_VERSION: () => PACKAGE_VERSION,
27
+ access: () => access,
28
+ classifyASN: () => classifyASN,
29
+ classifyWithSets: () => classifyWithSets,
30
+ createASNSet: () => createASNSet,
31
+ createEFSet: () => createEFSet,
32
+ createGRSet: () => createGRSet,
33
+ hosting: () => hosting,
34
+ isAccessASN: () => isAccessASN,
35
+ isHostingASN: () => isHostingASN,
36
+ normalizeASN: () => normalizeASN
37
+ });
38
+ module.exports = __toCommonJS(entries_exports);
39
+
40
+ // src/generated/access-ef.ts
41
+ var ACCESS_EF_B64 = "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CiBEigUsN58Z5JsBC35XEWi/jHkW3+N44DzPI/QDVcqd2Zq5rcv3jdBb0+FJr1f4mHBZ/80rN672WfFN6fE82OwocvXr3mq9S19a7ATZxhkNoHr+B8KJRXt9+XZ0oPlIkElYA8zXJtF7Vh8VHAFL4HsFJFZXMK3dvVS6tsGATeUKCrVltXvt1p1op1IjXQIG0JU2ZpTWLtYgAgXbrV/ejr7Ab0gALXL7u2t1VjdyVL171KaXAFICVlGLEVam+7ttp373cisGN3oAAHfuz1zmu82ctbAAB3TKjU1NlZNVZOtbN7tt3XYq26NqDWZtTTu1u7d9r3HW2LVSrZSWizWXbttu7XbtbvZqrd3bbt2mnVN3vfZzvvbd7u63e4ytdre6qldl6/fpfvfTcoPWmVytWhRVU2dlWi97a7d2613W22aKdau7ay2e7SbvdbtdXW05XdWy3bbz3Sd5brd1Zqqr5byq698buXdUdVettrwz0Ncs6tdlRVdLc7Ws3TOjUrqasrdtVTSp22i9WqOrGtdea2bnel60a2kXbm61a5u3Sb2caiprtVloO6uyqq1VdStFuKu++3fdd1lLq9tNh92293O+7tv21fXXuJrr6cvYtrKqVVU2a1ounXXBks1RuSGbm6y4tC3FjtN2FtSclemle2rq1bc69uWrcYtuur1btLbVt4EFua6zso4rZsrhjk1e9ot3sLWqzcq7X41XJNbYubpSW3t0i/l91rt23vexvcdyc1bf7r3u3caDdf99rqvVl6Vk1mJLdbTNacW5v2y2s26OStVSm0Y2N1atm5oLcdpaud22b9tOmWtoBXtJyXNRoJvX2y77u93O+r977993ve7377/u7+/f9+99vv3e3ZdiVv3vv3+/uZtYVttaz1u5GTc+7Jtdu923ntbXcUFtrZadyxWlb1JapFqLUi3ayU827VYu0q97juq5dpqtbWG1qNZncqmpbLq2WpzeXKm1p1uTStpjTDrdsmWzdpK1yq7X/9jt61lTtupK67XcnVzWU7UnddG7st1pY2utbZlu316Zre2nY6u3zqq+at1drNNuUttVrW6ZaqK5ALbg7Pde93vX93u3Xu+73uzvd+339297e93e3vfW97363GYG4tbtbHfbbaufeA7N713W7cXN+9uttzerSu7uT2q3btrWWZ26bztncu1uvdNgtK+SZC7lVtKlkilUrRfS7r6tx6kva60qL2qbV17e+qmtG7q9Uylp5XXtSrP326W1vtdzyrctq23V+3LqZLaXWrTtrtbXZ6BX7WrTz615Utke1Ovdtu9lZbtenaq6mtLTDVr21vf727xd7V663Y7u997b9diutoe+/jLGo9tSVoKq1lCJTawJNlq1vrz1aztnW7W21e+1GVbbd2rNLvaXbd3LVrd3r8rL3urd2tW6HtlO2rZrWN7W3Pa3avN7dq2226u9bapnvVv288623VvWetn1de2tXbU261q3Nbdve3k2OfLO13qyyt7N1XNnaYtfbrM9eN37Pd93339/fv/fv9/fd77/X99/e+/ffe/e/6/f9/fd73fe++/97/f375/e/ff+/v3/f77778kTSi0CGqrlOqqcflKpKLW2aKoueW7MjtGzHa2qK222hW7oy1aD+92aavXSuUM2lbrzzevms29182ZbvbO6tq51W1b5d27yvO1Xa7ura6G06vbvXunWuryubTaLK1mm2t9dJS9s23OsX36n0C+3t9YP4qy27VF1bXWxetNzztVtrap1bt3tpu3t029ktvNtdu9qshsna73q3XXdVdTu7v752+/vd7+3777f7/u+/v773f737/cd63XVba7tVp8vbXLHrra21W5G2s7le3OqKXsTqsvrQAWvfv5n++e1126uf73QuqwE1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnm09va7ZC17Ab27x7fXKB9/97/e9tab2vm2q+vV1b3Wfd7617tXb3v6nWnv379tVbatq7/2/vvdvdrra/O2fuve+/e3U999xau/vf7+97drvabd2+97tlZ72nTXvu293ly++/v3v386977te31fvfv7+/du7r+3dd+8pVPb3+7/39/fvv7+9/d4MW3dztttdt/vvfd/v23XcvXK93373/fVvbu/ffbte+6217+/v377667bffd79vV2bd9u7u7+/MBu+23vdt277u/fvfu/fNu+/e7XZa2e771b995X333733379++7fXcvfa4DdZb3Xffffvfe93v+97a717Tdq713vW97+75tvd7737ft6oTe97++/4Fe3W4wGVvu2zz79+/bvNvvXuu/fd29t7q/fe2/7/fe/fj63P3u+/e+/d7vu694ur3dLvt+/v/v7/f9de3t197rfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQrru+73fa7u/339/fu/dvu35gAAAAAAAAAAAAAAAAEW8Bbb31Hvvd3e3K97u+3y/v9/vvu+3nd3fe/7/fd7ffva6rvd3u9/ee8+7Xt99732/7vdu13W3WwN9777/dn17aXf0Bvfvt0c+++/b/c3t931b3u2Aa/33++d9vVfANd77++/v6rntbu6tr6/333f++3rUCe7997tre3rmtwV1atc231+5u3tq92u7bYrbb93vbsW1be909qscKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoy16yttV27a3VpX7Vre9221vu7bsXYvbtbXd69+3HV9dt9tc692+3Xtd9tvd93avdmtdri1PdW27c7Xdr217Xzv3zbe7vu/PMa9+/qr212vXOuz7W1u7dXe+2u29u93XTe92tqt3u7t161be3bK3G7vPqra62ldry2uttu27vWqr7e+vTfu1a7r27tvr3W26rt1cZe2tfdr7d3nZ3Xcrqveu7ctra293tbut3u3t7vWzu17x7bS9bs+7tWzu3ey7nb9TepjZbtfer253d3Lq/Ytd3btvfXVa23re3Xs8btlvbq7W3b5vm329u9b7t12q7e2Xq9ruvu09Ldm1ne9vWfdda1vqdXt37a17d73Vt22923uXd7vVt93Ts3dmstPNdWtvutK1t2vbdtba7Tt27Otzq72qs2W32t27689ZN3d61XXrp2/e+eW91Xm212esu46Mu1rb3b127rrW4rdNOvOe1va3q+7zqr19vdle7NrXW9rXzbdbXNt27fZvu2t33W7vub29q61vrt3fbay1uu7ee/Nu7t9a3XbrXLbWg943bd3PG73ULaeU7W97PeW123dvq995nu+27ptV3b1972d22vWu7u/dt7Vu3rd1vdbua3tW73btpVrNWrbe4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAq1VyrqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC69731++/fe+799+/vvv9/f3v37+/vf3v7/u+9/fv397/ft+9+/W7+33++/vf7979/tu77/vv7+v3v9333+/37/f37/3737/v799/v3d7/b/vf3f3u993779/b/f7+9+979/3ff3v/v9/7fffvvv3d73/e/u/vv+9+/7393/fb+7v3+/37979+/vf37+/v/fe9+/f97++77979++++/f977997939+/ve/vVOz9+33+/f3vft/f3fu/dv37f3e/373v9/fv9/f333/d79+/37vv+/v7vv+9++999799+97+79+3b7733337vu/vfv93v7+7+/339+7+3/b733/f733/ff3v+77+/vff3v++/vu/fd973d9zvf93e/d79977vv3399/t++++/v79++3v77/ff9977379+9/ffv937vf9/vd79d399999/vvv2/d7339+32/vvvv99+/37+79/ff39+77++76/3+/+9/t/f73/f7/vvtvrX3u3e9993vu9733drU3fe97t79+99+9+93t7u/72/r773u+99+/fvd++9/e/2+9t73u/33e93ff76+/397277t6/e5/fu/ffvl79b7e+9t5t/377u77993e+t7rq0Qa7e77e9Nql3ou173W7Pbu7vvrvu8/apu7vVre+2nqm9bua671d7Fxv1VGxQq6RrrU93urzXaryBAAAAAAAaxcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABu3fe99532/t72/e+33dtb36++773z77vt73v2/e+772573T3fv32+/fve3r7ff3u+9+7vvfdXb3d73W77uvb3avd3V0tugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrTIe3U1wulayVWWQ7NVrVIt22FTaI0jXES7imJ041iVNbM1Y8pakIVmQrF0Ih2oLM6AAAblLDbtdZgRRRtk3jYTdmgQpLsULPam0LV0ZwUuKTpNY7M93Qttbq0yXXVaOZMrmqspjFB20quVWjVarNa1EgNpXsV12CSyZruC60WZrpsmqdMGFQVLqkFWsgEAAAADAgAANQQAAO4GAABbCQAAtgsAAD8OAAANEQAAXRMAAMgVAACdGAAAKRsAAMMdAAB7IQAAyyMAAGcmAADxKAAA8SkAAPEqAADxKwAA8SwAAPEtAADxLgAA8S8AAPEwAADxMQAA8TIAAPEzAADxNAAA8TUAAPE2AADxNwAA8zgAAGU8AABgQAAA0UMAAD9FAAABSAAAs0oAALNLAACzTAAAs00AALNOAACzTwAAs1AAALNRAACzUgAAs1MAALVUAADaVwAA6VoAAAZeAAAIYQAAxWMAANlkAADZZQAA2WYAANlnAADZaAAA2WkAANlqAADZawAA2WwAANltAADdbgAAMXUAAB97AADyfgAAK4AAACuBAAArggAAK4MAACuEAAArhQAAK4YAACuHAAAriAAAK4kAACuKAAAriwAALYwAANqOAADajwAA2pAAANqRAADakgAA2pMAANqUAADalQAA2pYAANqXAADamAAA2pkAANqaAADamwAA2pwAAN2dAAC6nwAAt6EAAA==";
42
+
43
+ // src/generated/hosting-ef.ts
44
+ var HOSTING_EF_B64 = "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d08+Cih0QkwpCnCmWrRt8Rj9ZKgOQjGnir6BwiGlQy3d8xEJGzoj/odIXgOHC3vlZYRTqIb0xtjnh4rp5edlEM8BYfnXQDOnbyla7gyoS9Phwr75I63S4ddI7c71uTPETnn518Aii4RcCd9vTvAfCSOt9yU/Y40C6FCHYAdfJpbOdXJDX2nRZQ3moTcQwmiICrg3QVNXRVMrAUHcsl8BmGEgIu/Y6mVs4ND4cUtKWmV6H1GiMV8TZwzN7ZXnmBHrGuAz3sI/wuXUsayhmNjfB1iZQAhMKZdYgdIb189XHOgshQbxpJyGzpG5rX5ICHobTnSyyA6ZmO7DbXxFnwFpoMv5A5N/ok7D+xvOvfssOdH31tDMkQ4Q4kqky6/HTXmx19W+JkwKmXNCIkvB/u9DjVDxgTOKrAKLxT3/fvs6LsngKNRgAAfrd19Vvdh5O9/PfqK3C0yljLkKWrv7tvvYRgD963ffdu0AG69p23evp3v7v37t99XtrdtNuzf39e3u87Sm97rfe/fu73fve6f39373vv3727/719997fttrvb31rrs/bd27ts7VE1WhIu7b+Xtvcsvbbdya+7Xre8/32672+72/fffbs7v7L2+9299bsl13vPu1tZp6tvd7Xvu5le0G672tXt97vXm/u+uufdXu79u49h7rXdrp09bbtY2fbcvftp013u63YZ7v/TbaqrubXb7d7btM6q1t/dqpqmr1W7fW99bu/r7vuvV11bfV9b11263Nqc5NvZDve71nDtV6Hm+zrs77Xe9e+9tttffduPb33fb1267592vdvu7vO9fb9vXb3Xnt2uW7q+2drvzaOk6gHWbXW6Vyu6dG3973+777WL8691tur7vt7t+7bbur2+3rdttbN6dY069Zn23ft9u99d9e29O27Xntuu2p72dVrpca71bun25uyurLbde9Ld9ve2027t5avtd3rtt47v3vVZu7vN2tOvW+uz223y+tq1uyHdrnr+7be7z1uu3vbX32+9Rrfq5vetRb3evze/27t7r23vvfbbvfru+9++vt33re511166Lu7Vztbq1u+3nI7urz1bqezW9XN65u91tvu11q27tNnevb3dXvLpqbdtut7bd777cvbtXdre++97z27btabqt7223m7W7TXJO6e7bVtprVvu9be877ev3117t6p7227b37m3dde72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";
45
+
46
+ // src/generated/metadata.ts
47
+ var DATA_VERSION = "1--";
48
+ var FORMAT_VERSION = 1;
49
+ var PACKAGE_VERSION = "1.20260703.0";
50
+ var DATASETS = {
51
+ "hostingGR": {
52
+ "kind": "hosting",
53
+ "encoding": "gr",
54
+ "rawFile": "dist/hosting.gr.b64",
55
+ "bytes": 7553,
56
+ "offset": 62,
57
+ "count": 7648,
58
+ "range": 402612,
59
+ "minASN": 62,
60
+ "maxASN": 402673,
61
+ "k": 4,
62
+ "l": 0
63
+ },
64
+ "hostingEF": {
65
+ "kind": "hosting",
66
+ "encoding": "ef",
67
+ "rawFile": "dist/hosting.ef.b64",
68
+ "bytes": 7537,
69
+ "offset": 62,
70
+ "count": 7648,
71
+ "range": 402612,
72
+ "minASN": 62,
73
+ "maxASN": 402673,
74
+ "k": 0,
75
+ "l": 5
76
+ },
77
+ "accessGR": {
78
+ "kind": "access",
79
+ "encoding": "gr",
80
+ "rawFile": "dist/consumer.gr.b64",
81
+ "bytes": 12782,
82
+ "offset": 3,
83
+ "count": 16379,
84
+ "range": 402628,
85
+ "minASN": 3,
86
+ "maxASN": 402630,
87
+ "k": 4,
88
+ "l": 0
89
+ },
90
+ "accessEF": {
91
+ "kind": "access",
92
+ "encoding": "ef",
93
+ "rawFile": "dist/consumer.ef.b64",
94
+ "bytes": 13807,
95
+ "offset": 3,
96
+ "count": 16379,
97
+ "range": 402628,
98
+ "minASN": 3,
99
+ "maxASN": 402630,
100
+ "k": 0,
101
+ "l": 4
102
+ }
103
+ };
104
+
105
+ // src/runtime/base64.ts
106
+ function toUint8Array(data) {
107
+ if (data instanceof Uint8Array) {
108
+ return data;
109
+ }
110
+ if (typeof Buffer !== "undefined") {
111
+ return new Uint8Array(Buffer.from(data, "base64"));
112
+ }
113
+ const decoded = atob(data);
114
+ const bytes = new Uint8Array(decoded.length);
115
+ for (let i = 0; i < decoded.length; i++) {
116
+ bytes[i] = decoded.charCodeAt(i);
117
+ }
118
+ return bytes;
119
+ }
120
+ function bitAt(bytes, bitPosition) {
121
+ return bytes[bitPosition >> 3] >> 7 - (bitPosition & 7) & 1;
122
+ }
123
+
124
+ // src/runtime/header.ts
125
+ function dataView(bytes) {
126
+ return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
127
+ }
128
+ function readCommonHeader(bytes) {
129
+ if (bytes.byteLength < 14) {
130
+ throw new Error("ASN dataset is too short to contain a valid header");
131
+ }
132
+ const view = dataView(bytes);
133
+ return {
134
+ offset: view.getUint32(0, true),
135
+ count: view.getUint32(4, true),
136
+ range: view.getUint32(8, true),
137
+ k: view.getUint8(12),
138
+ l: view.getUint8(13)
139
+ };
140
+ }
141
+ function metadataFromHeader(header, kind, encoding) {
142
+ return {
143
+ kind,
144
+ encoding,
145
+ offset: header.offset,
146
+ count: header.count,
147
+ range: header.range,
148
+ minASN: header.offset,
149
+ maxASN: header.offset + header.range - 1
150
+ };
151
+ }
152
+ function detectEncoding(header) {
153
+ if (header.k > 0 && header.l === 0) return "gr";
154
+ if (header.k === 0 && header.l > 0) return "ef";
155
+ throw new Error("Unable to detect ASN dataset encoding");
156
+ }
157
+
158
+ // src/runtime/normalize.ts
159
+ function normalizeASN(input) {
160
+ if (typeof input === "number") {
161
+ return Number.isSafeInteger(input) && input > 0 ? input : null;
162
+ }
163
+ const value = String(input).trim();
164
+ const match = /^(?:AS)?(\d+)$/i.exec(value);
165
+ if (!match) return null;
166
+ const asn = Number(match[1]);
167
+ return Number.isSafeInteger(asn) && asn > 0 ? asn : null;
168
+ }
169
+
170
+ // src/runtime/ef.ts
171
+ function readEFSubHeader(bytes) {
172
+ if (bytes.byteLength < 28) {
173
+ throw new Error("ASN EF dataset is too short to contain a valid sub-header");
174
+ }
175
+ const view = dataView(bytes);
176
+ return {
177
+ lowOffset: view.getUint32(14, true),
178
+ highOffset: view.getUint32(18, true),
179
+ selectOffset: view.getUint32(22, true),
180
+ selectStep: view.getUint16(26, true)
181
+ };
182
+ }
183
+ function createEFSet(data, options = {}) {
184
+ const bytes = toUint8Array(data);
185
+ const header = readCommonHeader(bytes);
186
+ if (header.l === 0) {
187
+ throw new Error("ASN dataset is not Elias-Fano encoded");
188
+ }
189
+ const view = dataView(bytes);
190
+ const sub = readEFSubHeader(bytes);
191
+ const lowMask = (1 << header.l) - 1;
192
+ const kind = options.kind ?? "hosting";
193
+ const metadata = metadataFromHeader(header, kind, "ef");
194
+ function selectZero(n) {
195
+ if (n === 0) return 0;
196
+ const sampleIndex = Math.floor((n - 1) / sub.selectStep);
197
+ let position = view.getUint32(sub.selectOffset + sampleIndex * 4, true);
198
+ const target = n - sampleIndex * sub.selectStep;
199
+ let count = 0;
200
+ while (count < target) {
201
+ if (bitAt(bytes, sub.highOffset * 8 + position) === 0) {
202
+ count++;
203
+ }
204
+ position++;
205
+ }
206
+ return position;
207
+ }
208
+ function readLow(index) {
209
+ let value = 0;
210
+ const bitPosition = sub.lowOffset * 8 + index * header.l;
211
+ for (let i = 0; i < header.l; i++) {
212
+ value = value << 1 | bitAt(bytes, bitPosition + i);
213
+ }
214
+ return value;
215
+ }
216
+ return {
217
+ kind,
218
+ encoding: "ef",
219
+ metadata,
220
+ has(input) {
221
+ const asn = normalizeASN(input);
222
+ if (asn === null) return false;
223
+ if (asn < header.offset || asn > header.offset + header.range - 1) return false;
224
+ const relative = asn - header.offset;
225
+ const high = relative >> header.l;
226
+ const low = relative & lowMask;
227
+ let start;
228
+ let end;
229
+ if (high === 0) {
230
+ start = 0;
231
+ end = selectZero(1) - 1;
232
+ } else {
233
+ const previousZero = selectZero(high);
234
+ const nextZero = selectZero(high + 1);
235
+ start = previousZero - high;
236
+ end = nextZero - (high + 1);
237
+ }
238
+ for (let i = start; i < end; i++) {
239
+ if (readLow(i) === low) return true;
240
+ }
241
+ return false;
242
+ }
243
+ };
244
+ }
245
+
246
+ // src/runtime/gr.ts
247
+ function createGRSet(data, options = {}) {
248
+ const bytes = toUint8Array(data);
249
+ const header = readCommonHeader(bytes);
250
+ if (header.k === 0) {
251
+ throw new Error("ASN dataset is not Golomb-Rice encoded");
252
+ }
253
+ const bucket = new Uint16Array(Math.ceil(header.range / 16));
254
+ if (header.count > 0) {
255
+ bucket[0] |= 1;
256
+ }
257
+ let bitPosition = 14 * 8;
258
+ let relative = 0;
259
+ for (let i = 1; i < header.count; i++) {
260
+ let q = 0;
261
+ while (bitAt(bytes, bitPosition) === 1) {
262
+ q++;
263
+ bitPosition++;
264
+ }
265
+ bitPosition++;
266
+ let r = 0;
267
+ for (let j = 0; j < header.k; j++) {
268
+ r = r << 1 | bitAt(bytes, bitPosition);
269
+ bitPosition++;
270
+ }
271
+ relative += q << header.k | r;
272
+ bucket[relative >> 4] |= 1 << (relative & 15);
273
+ }
274
+ const kind = options.kind ?? "hosting";
275
+ const metadata = metadataFromHeader(header, kind, "gr");
276
+ return {
277
+ kind,
278
+ encoding: "gr",
279
+ metadata,
280
+ has(input) {
281
+ const asn = normalizeASN(input);
282
+ if (asn === null) return false;
283
+ const position = asn - header.offset;
284
+ if (position < 0 || position >= header.range) return false;
285
+ return (bucket[position >> 4] >> (position & 15) & 1) === 1;
286
+ }
287
+ };
288
+ }
289
+
290
+ // src/runtime/set.ts
291
+ function createASNSet(data, options = {}) {
292
+ const bytes = toUint8Array(data);
293
+ const encoding = options.encoding === "auto" || options.encoding === void 0 ? detectEncoding(readCommonHeader(bytes)) : options.encoding;
294
+ if (encoding === "gr") {
295
+ return createGRSet(bytes, { kind: options.kind });
296
+ }
297
+ return createEFSet(bytes, { kind: options.kind });
298
+ }
299
+
300
+ // src/runtime/classify.ts
301
+ function classifyWithSets(asn, sets) {
302
+ if (sets.hosting?.has(asn)) return "hosting";
303
+ if (sets.access?.has(asn)) return "access";
304
+ return "unknown";
305
+ }
306
+
307
+ // src/entries/index.ts
308
+ var hosting = createEFSet(HOSTING_EF_B64, { kind: "hosting" });
309
+ var access = createEFSet(ACCESS_EF_B64, { kind: "access" });
310
+ function classifyASN(asn) {
311
+ return classifyWithSets(asn, { hosting, access });
312
+ }
313
+ function isHostingASN(asn) {
314
+ return hosting.has(asn);
315
+ }
316
+ function isAccessASN(asn) {
317
+ return access.has(asn);
318
+ }
319
+ // Annotate the CommonJS export names for ESM import in node:
320
+ 0 && (module.exports = {
321
+ DATASETS,
322
+ DATA_VERSION,
323
+ FORMAT_VERSION,
324
+ PACKAGE_VERSION,
325
+ access,
326
+ classifyASN,
327
+ classifyWithSets,
328
+ createASNSet,
329
+ createEFSet,
330
+ createGRSet,
331
+ hosting,
332
+ isAccessASN,
333
+ isHostingASN,
334
+ normalizeASN
335
+ });
@@ -0,0 +1,12 @@
1
+ export { D as DATASETS, a as DATA_VERSION, F as FORMAT_VERSION, P as PACKAGE_VERSION } from './metadata-CbVhAyw9.cjs';
2
+ export { classifyWithSets, createASNSet, createEFSet, createGRSet, normalizeASN } from './runtime.cjs';
3
+ import { A as ASNSet, a as ASNInput, b as ASNClass } from './types-BeWCbJlo.cjs';
4
+ export { c as ASNEncoding, d as ASNListKind, e as ASNSetMetadata } from './types-BeWCbJlo.cjs';
5
+
6
+ declare const hosting: ASNSet;
7
+ declare const access: ASNSet;
8
+ declare function classifyASN(asn: ASNInput): ASNClass;
9
+ declare function isHostingASN(asn: ASNInput): boolean;
10
+ declare function isAccessASN(asn: ASNInput): boolean;
11
+
12
+ export { ASNClass, ASNInput, ASNSet, access, classifyASN, hosting, isAccessASN, isHostingASN };
package/lib/index.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ export { D as DATASETS, a as DATA_VERSION, F as FORMAT_VERSION, P as PACKAGE_VERSION } from './metadata-CbVhAyw9.js';
2
+ export { classifyWithSets, createASNSet, createEFSet, createGRSet, normalizeASN } from './runtime.js';
3
+ import { A as ASNSet, a as ASNInput, b as ASNClass } from './types-BeWCbJlo.js';
4
+ export { c as ASNEncoding, d as ASNListKind, e as ASNSetMetadata } from './types-BeWCbJlo.js';
5
+
6
+ declare const hosting: ASNSet;
7
+ declare const access: ASNSet;
8
+ declare function classifyASN(asn: ASNInput): ASNClass;
9
+ declare function isHostingASN(asn: ASNInput): boolean;
10
+ declare function isAccessASN(asn: ASNInput): boolean;
11
+
12
+ export { ASNClass, ASNInput, ASNSet, access, classifyASN, hosting, isAccessASN, isHostingASN };