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.
- package/LICENSE +21 -0
- package/README.md +302 -0
- package/dist/consumer.ef.b64 +1 -0
- package/dist/consumer.gr.b64 +1 -0
- package/dist/consumer.txt +16379 -0
- package/dist/hosting.ef.b64 +1 -0
- package/dist/hosting.gr.b64 +1 -0
- package/dist/hosting.txt +7648 -0
- package/lib/access/ef.cjs +181 -0
- package/lib/access/ef.d.cts +8 -0
- package/lib/access/ef.d.ts +8 -0
- package/lib/access/ef.js +151 -0
- package/lib/access/gr.cjs +149 -0
- package/lib/access/gr.d.cts +8 -0
- package/lib/access/gr.d.ts +8 -0
- package/lib/access/gr.js +119 -0
- package/lib/access-ef-Cyg9fXiX.d.cts +3 -0
- package/lib/access-ef-Cyg9fXiX.d.ts +3 -0
- package/lib/access-gr-K1sbUYPZ.d.cts +3 -0
- package/lib/access-gr-K1sbUYPZ.d.ts +3 -0
- package/lib/data/access-ef.cjs +99 -0
- package/lib/data/access-ef.d.cts +2 -0
- package/lib/data/access-ef.d.ts +2 -0
- package/lib/data/access-ef.js +68 -0
- package/lib/data/access-gr.cjs +99 -0
- package/lib/data/access-gr.d.cts +2 -0
- package/lib/data/access-gr.d.ts +2 -0
- package/lib/data/access-gr.js +68 -0
- package/lib/data/hosting-ef.cjs +99 -0
- package/lib/data/hosting-ef.d.cts +2 -0
- package/lib/data/hosting-ef.d.ts +2 -0
- package/lib/data/hosting-ef.js +68 -0
- package/lib/data/hosting-gr.cjs +99 -0
- package/lib/data/hosting-gr.d.cts +2 -0
- package/lib/data/hosting-gr.d.ts +2 -0
- package/lib/data/hosting-gr.js +68 -0
- package/lib/hosting/ef.cjs +181 -0
- package/lib/hosting/ef.d.cts +8 -0
- package/lib/hosting/ef.d.ts +8 -0
- package/lib/hosting/ef.js +151 -0
- package/lib/hosting/gr.cjs +149 -0
- package/lib/hosting/gr.d.cts +8 -0
- package/lib/hosting/gr.d.ts +8 -0
- package/lib/hosting/gr.js +119 -0
- package/lib/hosting-ef-BYHAv_eT.d.cts +3 -0
- package/lib/hosting-ef-BYHAv_eT.d.ts +3 -0
- package/lib/hosting-gr-ISZyiWi7.d.cts +3 -0
- package/lib/hosting-gr-ISZyiWi7.d.ts +3 -0
- package/lib/index.cjs +335 -0
- package/lib/index.d.cts +12 -0
- package/lib/index.d.ts +12 -0
- package/lib/index.js +295 -0
- package/lib/metadata-CbVhAyw9.d.cts +59 -0
- package/lib/metadata-CbVhAyw9.d.ts +59 -0
- package/lib/runtime.cjs +239 -0
- package/lib/runtime.d.cts +17 -0
- package/lib/runtime.d.ts +17 -0
- package/lib/runtime.js +208 -0
- package/lib/types-BeWCbJlo.d.cts +27 -0
- package/lib/types-BeWCbJlo.d.ts +27 -0
- package/package.json +109 -0
|
@@ -0,0 +1,181 @@
|
|
|
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/access-ef.ts
|
|
21
|
+
var access_ef_exports = {};
|
|
22
|
+
__export(access_ef_exports, {
|
|
23
|
+
ACCESS_EF_B64: () => ACCESS_EF_B64,
|
|
24
|
+
ACCESS_EF_SET: () => ACCESS_EF_SET,
|
|
25
|
+
access: () => access,
|
|
26
|
+
isAccessASN: () => isAccessASN
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(access_ef_exports);
|
|
29
|
+
|
|
30
|
+
// src/generated/access-ef.ts
|
|
31
|
+
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==";
|
|
32
|
+
|
|
33
|
+
// src/runtime/base64.ts
|
|
34
|
+
function toUint8Array(data) {
|
|
35
|
+
if (data instanceof Uint8Array) {
|
|
36
|
+
return data;
|
|
37
|
+
}
|
|
38
|
+
if (typeof Buffer !== "undefined") {
|
|
39
|
+
return new Uint8Array(Buffer.from(data, "base64"));
|
|
40
|
+
}
|
|
41
|
+
const decoded = atob(data);
|
|
42
|
+
const bytes = new Uint8Array(decoded.length);
|
|
43
|
+
for (let i = 0; i < decoded.length; i++) {
|
|
44
|
+
bytes[i] = decoded.charCodeAt(i);
|
|
45
|
+
}
|
|
46
|
+
return bytes;
|
|
47
|
+
}
|
|
48
|
+
function bitAt(bytes, bitPosition) {
|
|
49
|
+
return bytes[bitPosition >> 3] >> 7 - (bitPosition & 7) & 1;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// src/runtime/header.ts
|
|
53
|
+
function dataView(bytes) {
|
|
54
|
+
return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
55
|
+
}
|
|
56
|
+
function readCommonHeader(bytes) {
|
|
57
|
+
if (bytes.byteLength < 14) {
|
|
58
|
+
throw new Error("ASN dataset is too short to contain a valid header");
|
|
59
|
+
}
|
|
60
|
+
const view = dataView(bytes);
|
|
61
|
+
return {
|
|
62
|
+
offset: view.getUint32(0, true),
|
|
63
|
+
count: view.getUint32(4, true),
|
|
64
|
+
range: view.getUint32(8, true),
|
|
65
|
+
k: view.getUint8(12),
|
|
66
|
+
l: view.getUint8(13)
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function metadataFromHeader(header, kind, encoding) {
|
|
70
|
+
return {
|
|
71
|
+
kind,
|
|
72
|
+
encoding,
|
|
73
|
+
offset: header.offset,
|
|
74
|
+
count: header.count,
|
|
75
|
+
range: header.range,
|
|
76
|
+
minASN: header.offset,
|
|
77
|
+
maxASN: header.offset + header.range - 1
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// src/runtime/normalize.ts
|
|
82
|
+
function normalizeASN(input) {
|
|
83
|
+
if (typeof input === "number") {
|
|
84
|
+
return Number.isSafeInteger(input) && input > 0 ? input : null;
|
|
85
|
+
}
|
|
86
|
+
const value = String(input).trim();
|
|
87
|
+
const match = /^(?:AS)?(\d+)$/i.exec(value);
|
|
88
|
+
if (!match) return null;
|
|
89
|
+
const asn = Number(match[1]);
|
|
90
|
+
return Number.isSafeInteger(asn) && asn > 0 ? asn : null;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// src/runtime/ef.ts
|
|
94
|
+
function readEFSubHeader(bytes) {
|
|
95
|
+
if (bytes.byteLength < 28) {
|
|
96
|
+
throw new Error("ASN EF dataset is too short to contain a valid sub-header");
|
|
97
|
+
}
|
|
98
|
+
const view = dataView(bytes);
|
|
99
|
+
return {
|
|
100
|
+
lowOffset: view.getUint32(14, true),
|
|
101
|
+
highOffset: view.getUint32(18, true),
|
|
102
|
+
selectOffset: view.getUint32(22, true),
|
|
103
|
+
selectStep: view.getUint16(26, true)
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
function createEFSet(data, options = {}) {
|
|
107
|
+
const bytes = toUint8Array(data);
|
|
108
|
+
const header = readCommonHeader(bytes);
|
|
109
|
+
if (header.l === 0) {
|
|
110
|
+
throw new Error("ASN dataset is not Elias-Fano encoded");
|
|
111
|
+
}
|
|
112
|
+
const view = dataView(bytes);
|
|
113
|
+
const sub = readEFSubHeader(bytes);
|
|
114
|
+
const lowMask = (1 << header.l) - 1;
|
|
115
|
+
const kind = options.kind ?? "hosting";
|
|
116
|
+
const metadata = metadataFromHeader(header, kind, "ef");
|
|
117
|
+
function selectZero(n) {
|
|
118
|
+
if (n === 0) return 0;
|
|
119
|
+
const sampleIndex = Math.floor((n - 1) / sub.selectStep);
|
|
120
|
+
let position = view.getUint32(sub.selectOffset + sampleIndex * 4, true);
|
|
121
|
+
const target = n - sampleIndex * sub.selectStep;
|
|
122
|
+
let count = 0;
|
|
123
|
+
while (count < target) {
|
|
124
|
+
if (bitAt(bytes, sub.highOffset * 8 + position) === 0) {
|
|
125
|
+
count++;
|
|
126
|
+
}
|
|
127
|
+
position++;
|
|
128
|
+
}
|
|
129
|
+
return position;
|
|
130
|
+
}
|
|
131
|
+
function readLow(index) {
|
|
132
|
+
let value = 0;
|
|
133
|
+
const bitPosition = sub.lowOffset * 8 + index * header.l;
|
|
134
|
+
for (let i = 0; i < header.l; i++) {
|
|
135
|
+
value = value << 1 | bitAt(bytes, bitPosition + i);
|
|
136
|
+
}
|
|
137
|
+
return value;
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
kind,
|
|
141
|
+
encoding: "ef",
|
|
142
|
+
metadata,
|
|
143
|
+
has(input) {
|
|
144
|
+
const asn = normalizeASN(input);
|
|
145
|
+
if (asn === null) return false;
|
|
146
|
+
if (asn < header.offset || asn > header.offset + header.range - 1) return false;
|
|
147
|
+
const relative = asn - header.offset;
|
|
148
|
+
const high = relative >> header.l;
|
|
149
|
+
const low = relative & lowMask;
|
|
150
|
+
let start;
|
|
151
|
+
let end;
|
|
152
|
+
if (high === 0) {
|
|
153
|
+
start = 0;
|
|
154
|
+
end = selectZero(1) - 1;
|
|
155
|
+
} else {
|
|
156
|
+
const previousZero = selectZero(high);
|
|
157
|
+
const nextZero = selectZero(high + 1);
|
|
158
|
+
start = previousZero - high;
|
|
159
|
+
end = nextZero - (high + 1);
|
|
160
|
+
}
|
|
161
|
+
for (let i = start; i < end; i++) {
|
|
162
|
+
if (readLow(i) === low) return true;
|
|
163
|
+
}
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// src/entries/access-ef.ts
|
|
170
|
+
var access = createEFSet(ACCESS_EF_B64, { kind: "access" });
|
|
171
|
+
var ACCESS_EF_SET = access;
|
|
172
|
+
function isAccessASN(asn) {
|
|
173
|
+
return access.has(asn);
|
|
174
|
+
}
|
|
175
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
176
|
+
0 && (module.exports = {
|
|
177
|
+
ACCESS_EF_B64,
|
|
178
|
+
ACCESS_EF_SET,
|
|
179
|
+
access,
|
|
180
|
+
isAccessASN
|
|
181
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { A as ASNSet, a as ASNInput } from '../types-BeWCbJlo.cjs';
|
|
2
|
+
export { A as ACCESS_EF_B64 } from '../access-ef-Cyg9fXiX.cjs';
|
|
3
|
+
|
|
4
|
+
declare const access: ASNSet;
|
|
5
|
+
declare const ACCESS_EF_SET: ASNSet;
|
|
6
|
+
declare function isAccessASN(asn: ASNInput): boolean;
|
|
7
|
+
|
|
8
|
+
export { ACCESS_EF_SET, access, isAccessASN };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { A as ASNSet, a as ASNInput } from '../types-BeWCbJlo.js';
|
|
2
|
+
export { A as ACCESS_EF_B64 } from '../access-ef-Cyg9fXiX.js';
|
|
3
|
+
|
|
4
|
+
declare const access: ASNSet;
|
|
5
|
+
declare const ACCESS_EF_SET: ASNSet;
|
|
6
|
+
declare function isAccessASN(asn: ASNInput): boolean;
|
|
7
|
+
|
|
8
|
+
export { ACCESS_EF_SET, access, isAccessASN };
|
package/lib/access/ef.js
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// src/generated/access-ef.ts
|
|
2
|
+
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==";
|
|
3
|
+
|
|
4
|
+
// src/runtime/base64.ts
|
|
5
|
+
function toUint8Array(data) {
|
|
6
|
+
if (data instanceof Uint8Array) {
|
|
7
|
+
return data;
|
|
8
|
+
}
|
|
9
|
+
if (typeof Buffer !== "undefined") {
|
|
10
|
+
return new Uint8Array(Buffer.from(data, "base64"));
|
|
11
|
+
}
|
|
12
|
+
const decoded = atob(data);
|
|
13
|
+
const bytes = new Uint8Array(decoded.length);
|
|
14
|
+
for (let i = 0; i < decoded.length; i++) {
|
|
15
|
+
bytes[i] = decoded.charCodeAt(i);
|
|
16
|
+
}
|
|
17
|
+
return bytes;
|
|
18
|
+
}
|
|
19
|
+
function bitAt(bytes, bitPosition) {
|
|
20
|
+
return bytes[bitPosition >> 3] >> 7 - (bitPosition & 7) & 1;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// src/runtime/header.ts
|
|
24
|
+
function dataView(bytes) {
|
|
25
|
+
return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
26
|
+
}
|
|
27
|
+
function readCommonHeader(bytes) {
|
|
28
|
+
if (bytes.byteLength < 14) {
|
|
29
|
+
throw new Error("ASN dataset is too short to contain a valid header");
|
|
30
|
+
}
|
|
31
|
+
const view = dataView(bytes);
|
|
32
|
+
return {
|
|
33
|
+
offset: view.getUint32(0, true),
|
|
34
|
+
count: view.getUint32(4, true),
|
|
35
|
+
range: view.getUint32(8, true),
|
|
36
|
+
k: view.getUint8(12),
|
|
37
|
+
l: view.getUint8(13)
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function metadataFromHeader(header, kind, encoding) {
|
|
41
|
+
return {
|
|
42
|
+
kind,
|
|
43
|
+
encoding,
|
|
44
|
+
offset: header.offset,
|
|
45
|
+
count: header.count,
|
|
46
|
+
range: header.range,
|
|
47
|
+
minASN: header.offset,
|
|
48
|
+
maxASN: header.offset + header.range - 1
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// src/runtime/normalize.ts
|
|
53
|
+
function normalizeASN(input) {
|
|
54
|
+
if (typeof input === "number") {
|
|
55
|
+
return Number.isSafeInteger(input) && input > 0 ? input : null;
|
|
56
|
+
}
|
|
57
|
+
const value = String(input).trim();
|
|
58
|
+
const match = /^(?:AS)?(\d+)$/i.exec(value);
|
|
59
|
+
if (!match) return null;
|
|
60
|
+
const asn = Number(match[1]);
|
|
61
|
+
return Number.isSafeInteger(asn) && asn > 0 ? asn : null;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// src/runtime/ef.ts
|
|
65
|
+
function readEFSubHeader(bytes) {
|
|
66
|
+
if (bytes.byteLength < 28) {
|
|
67
|
+
throw new Error("ASN EF dataset is too short to contain a valid sub-header");
|
|
68
|
+
}
|
|
69
|
+
const view = dataView(bytes);
|
|
70
|
+
return {
|
|
71
|
+
lowOffset: view.getUint32(14, true),
|
|
72
|
+
highOffset: view.getUint32(18, true),
|
|
73
|
+
selectOffset: view.getUint32(22, true),
|
|
74
|
+
selectStep: view.getUint16(26, true)
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function createEFSet(data, options = {}) {
|
|
78
|
+
const bytes = toUint8Array(data);
|
|
79
|
+
const header = readCommonHeader(bytes);
|
|
80
|
+
if (header.l === 0) {
|
|
81
|
+
throw new Error("ASN dataset is not Elias-Fano encoded");
|
|
82
|
+
}
|
|
83
|
+
const view = dataView(bytes);
|
|
84
|
+
const sub = readEFSubHeader(bytes);
|
|
85
|
+
const lowMask = (1 << header.l) - 1;
|
|
86
|
+
const kind = options.kind ?? "hosting";
|
|
87
|
+
const metadata = metadataFromHeader(header, kind, "ef");
|
|
88
|
+
function selectZero(n) {
|
|
89
|
+
if (n === 0) return 0;
|
|
90
|
+
const sampleIndex = Math.floor((n - 1) / sub.selectStep);
|
|
91
|
+
let position = view.getUint32(sub.selectOffset + sampleIndex * 4, true);
|
|
92
|
+
const target = n - sampleIndex * sub.selectStep;
|
|
93
|
+
let count = 0;
|
|
94
|
+
while (count < target) {
|
|
95
|
+
if (bitAt(bytes, sub.highOffset * 8 + position) === 0) {
|
|
96
|
+
count++;
|
|
97
|
+
}
|
|
98
|
+
position++;
|
|
99
|
+
}
|
|
100
|
+
return position;
|
|
101
|
+
}
|
|
102
|
+
function readLow(index) {
|
|
103
|
+
let value = 0;
|
|
104
|
+
const bitPosition = sub.lowOffset * 8 + index * header.l;
|
|
105
|
+
for (let i = 0; i < header.l; i++) {
|
|
106
|
+
value = value << 1 | bitAt(bytes, bitPosition + i);
|
|
107
|
+
}
|
|
108
|
+
return value;
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
kind,
|
|
112
|
+
encoding: "ef",
|
|
113
|
+
metadata,
|
|
114
|
+
has(input) {
|
|
115
|
+
const asn = normalizeASN(input);
|
|
116
|
+
if (asn === null) return false;
|
|
117
|
+
if (asn < header.offset || asn > header.offset + header.range - 1) return false;
|
|
118
|
+
const relative = asn - header.offset;
|
|
119
|
+
const high = relative >> header.l;
|
|
120
|
+
const low = relative & lowMask;
|
|
121
|
+
let start;
|
|
122
|
+
let end;
|
|
123
|
+
if (high === 0) {
|
|
124
|
+
start = 0;
|
|
125
|
+
end = selectZero(1) - 1;
|
|
126
|
+
} else {
|
|
127
|
+
const previousZero = selectZero(high);
|
|
128
|
+
const nextZero = selectZero(high + 1);
|
|
129
|
+
start = previousZero - high;
|
|
130
|
+
end = nextZero - (high + 1);
|
|
131
|
+
}
|
|
132
|
+
for (let i = start; i < end; i++) {
|
|
133
|
+
if (readLow(i) === low) return true;
|
|
134
|
+
}
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// src/entries/access-ef.ts
|
|
141
|
+
var access = createEFSet(ACCESS_EF_B64, { kind: "access" });
|
|
142
|
+
var ACCESS_EF_SET = access;
|
|
143
|
+
function isAccessASN(asn) {
|
|
144
|
+
return access.has(asn);
|
|
145
|
+
}
|
|
146
|
+
export {
|
|
147
|
+
ACCESS_EF_B64,
|
|
148
|
+
ACCESS_EF_SET,
|
|
149
|
+
access,
|
|
150
|
+
isAccessASN
|
|
151
|
+
};
|
|
@@ -0,0 +1,149 @@
|
|
|
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/access-gr.ts
|
|
21
|
+
var access_gr_exports = {};
|
|
22
|
+
__export(access_gr_exports, {
|
|
23
|
+
ACCESS_GR_B64: () => ACCESS_GR_B64,
|
|
24
|
+
ACCESS_GR_SET: () => ACCESS_GR_SET,
|
|
25
|
+
access: () => access,
|
|
26
|
+
isAccessASN: () => isAccessASN
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(access_gr_exports);
|
|
29
|
+
|
|
30
|
+
// src/generated/access-gr.ts
|
|
31
|
+
var ACCESS_GR_B64 = "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IITmDOfBMogcrugN4lGiopURpDPSEQ5RGJKFwUBWsgxFjHSlE6FiUIIzEQw5wiHMVp5C2UjMMZzCOQ6B4QoIQsCIQxlFFKI0I1OjJMFZ4UtIwYQlpjEJJhjSgLECEOxqTCDUFDRndcIxlhTAgiBDgCEtZEKK5RQz8hXlhnSMsyRiMYqziQEo1pSQI1hZWMKJzmYIcq4BCFgWwhrhkNLGs7C8kZZKzpgE+FccommaNMo1ECIo4wihtyIxOGIpDsXGVi3CUMcwg0jDumGEIxlCMQoHSiEIK/yKIEYSlaEIXIKMggyCJ8QgiCEWt8w0yyEaggSLHG9XQkp2uaJQZkiKto2j4GhEiIYYcI1tDEsIpgoMt5bBrIRbXwDWJFLbiCFRKEqRLKQ4kFCRRTqgkKsZ3CYEgUGUILLgvKsJSoHnuMZR0lGOZQgwkpCJSioGkgwmMeRcCE4uRSj02kJAYUiAjEgRhlEtMqBIEeEopkBOEiVyREcgTGYUDQYKhCQkZAiGMIRiEgN4QhaMwgkGEIQhKswQpCYihBEUIglCcpiBIMQRiKMgSFGg5AjCEQiBCEYiBCIwTkCUZRFGEIRhCEJBGGgIQmIIZTIGIYgiEEhwkCEgSiGEIQhIM4x7RCSEo4CIScrTBLQyQgWjjIxQ1jEhphWRHRBGIJSVtEQKhsIqMRLUl1oKEzDIFINhXNGocI5TzleU5KtQaBCE+AlywnEWOlBSDMgozzlFGefkVZCkITm21nIhkEQq4AjIFqxVf+1gjUBEQYRBKEgghCEsp6RhEIJQiMMIpQmIcjnCQtIiuQYYooFkFGEYQhGUghkIMs/aRY3QPcL82gMTP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////U2EIw4xHHHSQZTleEgXDFQIYzqdX1Oao5QmIL+cwSEOMzxBOEqMRQnIs6AhCOIRKZvrIIIhiCEIRCCMJTDEEYQiCMgRoIEIjmDAGgw7JkiCc4iriCIgZkvCcszWOCEYWqGQMrVlK4shXiCEgVQLNEMKQiIU6RjCMggvad5FCGMg4AqhgEhBGFCI4yCCERAlCKXOEKKAsnMEZAhCExkhCIIzhEIKRKFPEKdbBoYp5WpeNUzSiCIYRCCIIRicEIRiEQgiFEEZyCC4UQglUUYiulCFcRzFYsIhjHOUZwsDhCEISPCNLTiCQwgtEIISBOEQiBSI5GGGO6MYjiIIRCCEEyAn2QnRQsQRhIEYiDQMIwhCEJAnCQRAhOEYjCCJK2EIRbjlIUI0QBHhGtyThEI6UmCUYxFGFIUDGEjlCJdOlUgkiIRATChqOcV5KCiOMYSDOQI1BkKUgRtIQZDBvOoksITBEgYQjEEoQhGMIQmGQxhDCURAoEMIQhlCgjxiIdBBCCIJTiUQMERAkI8hAiCWNpxDCIRApIEJgiEQQQlEIJBjCIZQhEQIQ0kIMkAgpEZ5BFEIIhGkCNQxOUIZShGQQwmLQ22tjcBxhUIpEDCMIRhCRATEEMIQhCIJhBCMIzhCEQgiGgIQjCFQTCCQQQjEIIhjKMohBCIgTDEkhQl9o95UrQcKlDCkgZxiUp43iQWArihQZyDEGEghBCYggjKcIwkGYRBKCIIghEYYRBEGQR0rCNLCFOkUUAxhXGMd8RSoCgQyBCEcAwiEEYTFKEIQiGEQiCEYUMRIAkEQ5mBIMKyBCEqQkIE4ShENhAmSyEQjEIQIzEGkzxPC4K4xDEkIRDCEggjKIJBBIMZREEIIxECIoREGxwRJhGlA4DvCEZChGEwTFOFJRBIQYxiOZBAijcYhHilO0izDMEwSICooznOcRxiKlJQiCEQjhIYIwyk/eYYWmCQIXEQRgVhCpRQiCY5yrMhgUjSISghGFqBIKEwQhIMgiDGIYiDKMIRkMJJQhCQRyFCGRozwDGIIgpGIgiDMIQklCdLWEG42FoRxmQ6QYRoWEoQnCQZxueY6CjEIKAhERJQjrgMUJAoIEYyECUYiCEQIinGEJhlEIhhDCEJAoEMIhFEEohFEIZRiDOIYhHHCcoyFHdCEYhlEIbBwkOT9pRoGhyZIBOCEL0DHAQ5glOEIgoEQRgjSEIhhEEpSjCIKiCIwQSlGZQRjEEIRBEIpSECcYxFG5cRSmMIIzuMIUBTXmOQ5yvmYUJxBKV6RHCMqghJEJRylCMZCoEEQQhKUiwjGHCEI4kEMMYxLKgQRiCFJzhCQgxjCNBhEGEpxICFoaounQEpQlGERkCCVBQhEIJRjGEYglEEIg/eaEwQkJAgI3nYgmFH8wYrCKMJARkGGMpUHZIYYaAlGEggiIIYQjCUgQlGIpkjQYoTUnKopRjCUgSHhOQKSiHQIQhFEMQhlGQJFqIE4WBKYaUCiGUIhnkOwJBDCMJRiMkIkGOFwghGEgQkCEQRCGIRBGEMYzhGQgTCCIgsYhCMV5WKFEIJRBOEZCnMUIkCIEIRjOQojiCQQhBOMLQhGIY2BMkZRBEkZgikeEYRiMPgSUoonBEGQI0mGrMY4ijIQJkiGEgTFCMIRDCIIRhCIIRGCMIwhGEJghEEIghEIQRtKc5mCMQ6yCCKIKyFeMgihOQoiFQZZ1BEIyP//////////////////////////////////////////j9DEoCh4RrEQ4zBCZQjEGVRAiCIwYQrWYiBhUMSQiCIwQnCMJQhCIRBkEIYQiMEZRCCgSChCEKCmKRRBEGcxChaQgQjkZ/////////////////TwQHSIgf4BtCuAZQjGcgTiRHmCRBRFIEoyDQEpipIIiiiCs5QnpsINASEEFQynCsghlCQyThIGxwQhCEIhhCEQSmCEIgjCcwghCMQyoMQIhhCwqjlDUUJwhaYKijOEISjMQRAhEEQRDIEIwjCQQxlEkQTFOGAJgiCMwQjEcxQkMeA6hIkgWEihDEkIlDUEQjMIVISBEIQgmEURQyiCJYTHlGEoRCYJS3mEMLEFEMIQiUIIwjWIwyiIYKSlCEIQhIEjAsEEIwhiQYR1mewRTBOOsSxQhCpQoQ/pCUQgjIUZTkGERgiCUggjGEIVhEUN5QhC9wiiUJajWxGGMIxkEIP9IjBKI4wjIIxRhGcUAhq3BRIIJSCCISTEEEhghCIjhDGEJghCIxpGiCkozoCQJGBIgJghO2ELgiG0IRqCZ5jD/whiQEIQhGEowlGMQxCEEJECCG8IRCCciRnCcjD0HCMKf7CmWNRBBSUIglSEIQhKIYSDKUIRhCQIQhGVb4WCFUEwyoiSRpgmONQhroQGErTjEQyziEEIgkEIRwkEcJBDSUIghGEIQjCMIXKQEIoGjS39coRqUIRSCGQISEGQJhBSMx0oDBGYo0hENhBlYk4cYjvQYSfiQ4gkwPJOSYjVHFKhaCEcQQSkcIQxkOEVplkIwixBCwaTxihEELRKWVqjhKU6jBQ8qA67VhalJmjIEZBBKQbQlGEYlKMIIZRcRCwFZDANZXkCEhCEEch8oSBOKhMqibDh43f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////3r3iliK9QRHNKHCmgKlpKSeZQTEQoIXLGNsg1DSVkCHYVShCIYiHPOgk7TKEEJiCGgJWJKKcayraRAihEcYUpIQc40hEYnIgI3J1pEMkgSDKwqlrMKo5SlWE5BhQsJiLCIIwiSgxNYgyOKERDoSVRxSCQEIijDQI7hHrEaAohmEUcoTDEERVkaJahkCc8RyCSgQQvEYTgtGUKDBYMQRBQNByIQaNJiCaEoQ6xDlC5rAkQ1KhbVLLFaUgVDDIww4EJC041BgCaMaRMQ4g0kSFbGiIIrRne8RRGSs4THDKURhjGIYQmEaNJnDSwIRqEGEQilIERBHKIwQhpGEeIOY8RwoCQYREEEowjEFELnrWEKzmMWUpSIctIQsYQVYxFjEMzoiDIEp5XEGSNZkhOwwjoENKpDJIUJwlGgYSBkNCoQ2hSVBRGMZYSKGExCnIEshSnZWNBhmGIxEkIgsSxtC+ZTCPKJgQiKcggnSUxxKMhjChE5AlUsDCUphCORQxxHKSqOAxhMwsMUqihMYIZyCCN8iaCLGmIgWpUtwia4jICsjUCOWaJIWncJDkljCYkIUrGMqjrINKBHGUTSkhbOug4QmGkjAkGEIiiPAM4j4CpCERxCGsgqisdAMIpRCJCJISBjCFQUqScpQoKFpBLEcZIknWMyklCmkzSDmCIR2SLGfIG5wQrSUpYVFc0QRFMgSixFGIpHBMMSxnKMZozkYeMpShWpIzsKOeghUEnlKQRhhCc0ZhFCc5IxljjJAVkBDGawSxwHGFYxCaEJkJmCYo0lMN6GnCQYiFUMwYAoCsqAjC8IiBWI0JmCmIVCDLGxIRiQY4cRhlMJThBulcEwYGFUEiBWBKESFhGNDSxJaJIsIxqGFSjiWMJDiHghEZCBzCEdaAhGQbIpgsEYciqw8ZTIseU5AxCaoIghSgojzGII5GBCqgJoBiEYayFQI8sgSslGUQhCSLhYZDjCUQg2iQhJgtC0oyGGYJBiI8QmxVFSaQThQFEgwRRmMExGjQM44SmEZcIwp0iaYhBNHZWMoQoEpCBuTKUJRTrGUchgjOgRCjlMcIzFpMI7CCKFIzDCoSjhSVYRQCOsYSjEYSipKVLhmQaRTIDhaI5hjOpQbVCQRZ4UjC4ZWBI1BHjMMYhrGQkc4UCVpQdJAsHjCEM0o4ymIEokDOJ4hjCNEh5RFGUREneQMKDMjMR6ThEFYZ7xjdAYZSjK1ISEEERXBGR8aBxFCQY4gjUcISiQIbgskCGEijBhCg7FjKQSQhQ1hDBENCxStGsRjkCIkIRnEErI1pINRCBGYJ1IE64gROqC0hDFEZshKDFmhc2YISXJekRiwRDlGwjgiEILTBiIZ2osZHqNIEKxEaVxDDIxQTjUN4kPakrEGY0ZClojCsTwrIg4wnlDQI0DBICmYYnQRBGMJQxiRMqF6oiNNRcEgnCCIMglpYUxDjaIpDBGUUoSCjIQUCGT5wnEdIhnEoQgidASFVomCK4YQzFEJeYIVKGQIQhWURBnCIVIiBnjEwIQrUJ5azmEG0RRzhOljhkOK8YSoeHMo4VEFiKJ/CWtJUiYliDxChCoIUkClYoBBI8YTuIgRlHGaFAnEDYwqiC4HwBIoS6ztvMEjRGFQU0hDDIwzwwBOFBIFhYMInvWEhhkKcxBErGJLG1nGIjzHCMZDLEYJlBSWioZyjUELCShrGdZlTmCaBQzBKVY4UvSMQiSFUw6hnJGsqgwqKWZKiOKUKnCEFEQhkCgKQ1CWQJRNCFCxnkQoQysGIgTnEiYQjEcMRhEGEjQ2jEYQ3CUEJ2hZAsKCSDTKRISlCKcIkHUIyBmGUIUDK0qlwlFpeF5VjWGIRTGOKEZiDHGMxBlCIIplKGkglnCURGlSYgQjiE543iK1qQnGcQolDhcJMkDSsOVq0l+AhgkSMONLiBKOUpRJKYSCnoCEOgywqEsQVhIyDtgIhR7RBDkRgEY6IIwkGJQziIgsxQmEEprzlYw0QwlMxBgsGgLSICYgSWICMoxkEIhCElNQcZTnEERBCYUrSCOooyYTuJGigpBPIMg1hQUzCGCIZDkEkJDCxhEdAkhSthwwDGFswoCkGhoSkIgJyiCQYxqGVSjHGURjRliIpoTJEQoWpYchyiRCkRxFEoxYRLUQZUhrE+YIQiUwLGQnO0IiJCMxhBgKgiTJZmO6U0Q10jhPCOo1IjpSMpBFSMf////////////////////////////+5L4UHigpMcWU1JUiNN////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////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YRFGEiBiQMZDBEISBDCIpCiGYIShCIYRKCIQgjCcLRnCIphDIlRjhUERxDKERmjEMYhCCMQwiGUiAmKYhSCIUQlESMoRFGEYwiCIwghGpYiHEMQhhCMJhCEIISiII4xCUhAhLEgIRhWRhBiNEEQUhCI4hpIGgZAiCIYhiEIZVBGIZAmEEQlDEMIhhKEWNAQjKEIxFgYcYjjChASIEIhxCEQY2iWc5xioEd4hiCEQQhMEISCKEoxjWIgRPKcIijCUQRhGkJhiGQZ2CIEQmCEIqGMEQ4jBFQQ4XQqYfV8CywCDKIxBjMNgglKNwRhEc4hkNlSJxXW1nWIZhGfsYMaCJeMpRkOQKxqS4pDlXEQg1FYEqiiEFSSDMERTDEIJYTlCYJAnGcpSjNCEIlBGlFLbhnSM4RrKUYynFJAZMQzpKEwSBIFbwpuCMa3wZhnEMUJRUDEFgrRNMgxXoGYQQpsWEzRBCNGaMSNoxkEEwlypcziQZm9fXFIsZI7uAJZBFNClx7gqIkoiBCVphGa9JA0CY4JkLJWWUIT1/T///////GaE4+caC/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////mUMqVDUgIwhCJRxDKUghhGULBhLEUZxiMJpBhCMYRFcIRiFCUbCJIMIQiIUojECIZXBEIwiJIUUJkkREkxCCEMZBCaUZxhIIggpKUgyCCMZCFGcQYyjEM5BiCQpSlEIJ0KOESBGCEZApCQIgoQYgglCMpCkMMQhiFAEIRkEczQkGKohBpCFAxMZKIxxDSMgRDGgIhBGQYREK0oThGMIikCEQSDC0YgmCIpyKGE8BAiKKEggjOIQQhIMihCEUJ0DIERAjMYIhCMUJnjEYYSCKUwRhIUKCDRQkxEBYQYTKCYiAjMMgxBcI0BmkKUohhE0gSILEMwgoWMRTkGZRzUkEUxiIQIRVDRE0hk0xhYKEwTf////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wlEuojFVDv8YxhWcYzvbQZcpRc8YxwXGlQRz6qIp4FqhgPk7CjC+Vb1uUG0bBQw49lRAhHGOMI1ds0MySNg2ayQX6jrWMWzhveQziC2STI0WFSi0IuAbnG4MZKbCKeVgcJZTMggZhMQtT8yTJdg9XYaMWQUvshWLkGYUPbycqwtHHB4pB2lnGoX//+ZJQqpdiWLwKKogRThTAULYiUG+Xgn5DbTQEea6QrwhRmC0PhwkMwYiZDJ+30GwXPEiMPArzDPSELAhmokTEFvacNkImDHyknET3R4GFJrbnjIeSmhSHE4CCMW1U5BGEgpiiL4XrYc4lQFiGRMixIynxXlIGYQ0wRjhYXYMWA915MDIAhuDG98iA5YIy8ws1fjGWEphUUwvekpM0DYSpRyDkhO8kwo6Q1mFEmFZnG5r/1tMluKFBAiOfVUYpHEIlg/VXoO22Y+MrxHKYwfXCIjJhK3PDaaZ6lkCfIVg6MaYIVVkOTMT1B67hfIyuSEZ4xT5PLK2IMLxWA=";
|
|
32
|
+
|
|
33
|
+
// src/runtime/base64.ts
|
|
34
|
+
function toUint8Array(data) {
|
|
35
|
+
if (data instanceof Uint8Array) {
|
|
36
|
+
return data;
|
|
37
|
+
}
|
|
38
|
+
if (typeof Buffer !== "undefined") {
|
|
39
|
+
return new Uint8Array(Buffer.from(data, "base64"));
|
|
40
|
+
}
|
|
41
|
+
const decoded = atob(data);
|
|
42
|
+
const bytes = new Uint8Array(decoded.length);
|
|
43
|
+
for (let i = 0; i < decoded.length; i++) {
|
|
44
|
+
bytes[i] = decoded.charCodeAt(i);
|
|
45
|
+
}
|
|
46
|
+
return bytes;
|
|
47
|
+
}
|
|
48
|
+
function bitAt(bytes, bitPosition) {
|
|
49
|
+
return bytes[bitPosition >> 3] >> 7 - (bitPosition & 7) & 1;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// src/runtime/header.ts
|
|
53
|
+
function dataView(bytes) {
|
|
54
|
+
return new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
55
|
+
}
|
|
56
|
+
function readCommonHeader(bytes) {
|
|
57
|
+
if (bytes.byteLength < 14) {
|
|
58
|
+
throw new Error("ASN dataset is too short to contain a valid header");
|
|
59
|
+
}
|
|
60
|
+
const view = dataView(bytes);
|
|
61
|
+
return {
|
|
62
|
+
offset: view.getUint32(0, true),
|
|
63
|
+
count: view.getUint32(4, true),
|
|
64
|
+
range: view.getUint32(8, true),
|
|
65
|
+
k: view.getUint8(12),
|
|
66
|
+
l: view.getUint8(13)
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function metadataFromHeader(header, kind, encoding) {
|
|
70
|
+
return {
|
|
71
|
+
kind,
|
|
72
|
+
encoding,
|
|
73
|
+
offset: header.offset,
|
|
74
|
+
count: header.count,
|
|
75
|
+
range: header.range,
|
|
76
|
+
minASN: header.offset,
|
|
77
|
+
maxASN: header.offset + header.range - 1
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// src/runtime/normalize.ts
|
|
82
|
+
function normalizeASN(input) {
|
|
83
|
+
if (typeof input === "number") {
|
|
84
|
+
return Number.isSafeInteger(input) && input > 0 ? input : null;
|
|
85
|
+
}
|
|
86
|
+
const value = String(input).trim();
|
|
87
|
+
const match = /^(?:AS)?(\d+)$/i.exec(value);
|
|
88
|
+
if (!match) return null;
|
|
89
|
+
const asn = Number(match[1]);
|
|
90
|
+
return Number.isSafeInteger(asn) && asn > 0 ? asn : null;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// src/runtime/gr.ts
|
|
94
|
+
function createGRSet(data, options = {}) {
|
|
95
|
+
const bytes = toUint8Array(data);
|
|
96
|
+
const header = readCommonHeader(bytes);
|
|
97
|
+
if (header.k === 0) {
|
|
98
|
+
throw new Error("ASN dataset is not Golomb-Rice encoded");
|
|
99
|
+
}
|
|
100
|
+
const bucket = new Uint16Array(Math.ceil(header.range / 16));
|
|
101
|
+
if (header.count > 0) {
|
|
102
|
+
bucket[0] |= 1;
|
|
103
|
+
}
|
|
104
|
+
let bitPosition = 14 * 8;
|
|
105
|
+
let relative = 0;
|
|
106
|
+
for (let i = 1; i < header.count; i++) {
|
|
107
|
+
let q = 0;
|
|
108
|
+
while (bitAt(bytes, bitPosition) === 1) {
|
|
109
|
+
q++;
|
|
110
|
+
bitPosition++;
|
|
111
|
+
}
|
|
112
|
+
bitPosition++;
|
|
113
|
+
let r = 0;
|
|
114
|
+
for (let j = 0; j < header.k; j++) {
|
|
115
|
+
r = r << 1 | bitAt(bytes, bitPosition);
|
|
116
|
+
bitPosition++;
|
|
117
|
+
}
|
|
118
|
+
relative += q << header.k | r;
|
|
119
|
+
bucket[relative >> 4] |= 1 << (relative & 15);
|
|
120
|
+
}
|
|
121
|
+
const kind = options.kind ?? "hosting";
|
|
122
|
+
const metadata = metadataFromHeader(header, kind, "gr");
|
|
123
|
+
return {
|
|
124
|
+
kind,
|
|
125
|
+
encoding: "gr",
|
|
126
|
+
metadata,
|
|
127
|
+
has(input) {
|
|
128
|
+
const asn = normalizeASN(input);
|
|
129
|
+
if (asn === null) return false;
|
|
130
|
+
const position = asn - header.offset;
|
|
131
|
+
if (position < 0 || position >= header.range) return false;
|
|
132
|
+
return (bucket[position >> 4] >> (position & 15) & 1) === 1;
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// src/entries/access-gr.ts
|
|
138
|
+
var access = createGRSet(ACCESS_GR_B64, { kind: "access" });
|
|
139
|
+
var ACCESS_GR_SET = access;
|
|
140
|
+
function isAccessASN(asn) {
|
|
141
|
+
return access.has(asn);
|
|
142
|
+
}
|
|
143
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
144
|
+
0 && (module.exports = {
|
|
145
|
+
ACCESS_GR_B64,
|
|
146
|
+
ACCESS_GR_SET,
|
|
147
|
+
access,
|
|
148
|
+
isAccessASN
|
|
149
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { A as ASNSet, a as ASNInput } from '../types-BeWCbJlo.cjs';
|
|
2
|
+
export { A as ACCESS_GR_B64 } from '../access-gr-K1sbUYPZ.cjs';
|
|
3
|
+
|
|
4
|
+
declare const access: ASNSet;
|
|
5
|
+
declare const ACCESS_GR_SET: ASNSet;
|
|
6
|
+
declare function isAccessASN(asn: ASNInput): boolean;
|
|
7
|
+
|
|
8
|
+
export { ACCESS_GR_SET, access, isAccessASN };
|