fido2-lib
Version:
A library for performing FIDO 2.0 / WebAuthn functionality
2,284 lines (2,281 loc) • 1.41 MB
JavaScript
var __defProp = Object.defineProperty;
var __export = (target2, all) => {
for (var name in all)
__defProp(target2, name, { get: all[name], enumerable: true });
};
// lib/utils.js
var utils_exports = {};
__export(utils_exports, {
ab2str: () => ab2str,
abToBuf: () => abToBuf,
abToHex: () => abToHex,
abToInt: () => abToInt,
abToPem: () => abToPem,
appendBuffer: () => appendBuffer,
arrayBufferEquals: () => arrayBufferEquals,
b64ToJsObject: () => b64ToJsObject,
coerceToArrayBuffer: () => coerceToArrayBuffer,
coerceToBase64: () => coerceToBase64,
coerceToBase64Url: () => coerceToBase64Url,
isBase64Url: () => isBase64Url,
isPem: () => isPem,
isPositiveInteger: () => isPositiveInteger,
jsObjectToB64: () => jsObjectToB64,
pemToBase64: () => pemToBase64,
str2ab: () => str2ab,
tools: () => toolbox_exports
});
// lib/toolbox.js
var toolbox_exports = {};
__export(toolbox_exports, {
base64: () => base64,
cbor: () => cbor_v1_5_exports,
checkDomainOrUrl: () => checkDomainOrUrl,
checkOrigin: () => checkOrigin,
checkRpId: () => checkRpId,
checkUrl: () => checkUrl,
decodeProtectedHeader: () => decodeProtectedHeader,
fromBER: () => fromBER2,
getEmbeddedJwk: () => getEmbeddedJwk,
getHostname: () => getHostname,
hashDigest: () => hashDigest,
importJWK: () => importJWK,
jwtVerify: () => jwtVerify,
pkijs: () => pkijs,
randomValues: () => randomValues,
verifySignature: () => verifySignature,
webcrypto: () => webcrypto2
});
// deno:https://unpkg.com/tldts@6.1.11/dist/index.esm.min.js
function a(a2, o2) {
let e2 = 0, i2 = a2.length, n2 = false;
if (!o2) {
if (a2.startsWith("data:")) return null;
for (; e2 < a2.length && a2.charCodeAt(e2) <= 32; ) e2 += 1;
for (; i2 > e2 + 1 && a2.charCodeAt(i2 - 1) <= 32; ) i2 -= 1;
if (47 === a2.charCodeAt(e2) && 47 === a2.charCodeAt(e2 + 1)) e2 += 2;
else {
const o4 = a2.indexOf(":/", e2);
if (-1 !== o4) {
const i3 = o4 - e2, n3 = a2.charCodeAt(e2), s4 = a2.charCodeAt(e2 + 1), t3 = a2.charCodeAt(e2 + 2), r2 = a2.charCodeAt(e2 + 3), u2 = a2.charCodeAt(e2 + 4);
if (5 === i3 && 104 === n3 && 116 === s4 && 116 === t3 && 112 === r2 && 115 === u2) ;
else if (4 === i3 && 104 === n3 && 116 === s4 && 116 === t3 && 112 === r2) ;
else if (3 === i3 && 119 === n3 && 115 === s4 && 115 === t3) ;
else if (2 === i3 && 119 === n3 && 115 === s4) ;
else for (let i4 = e2; i4 < o4; i4 += 1) {
const o5 = 32 | a2.charCodeAt(i4);
if (!(o5 >= 97 && o5 <= 122 || o5 >= 48 && o5 <= 57 || 46 === o5 || 45 === o5 || 43 === o5)) return null;
}
for (e2 = o4 + 2; 47 === a2.charCodeAt(e2); ) e2 += 1;
}
}
let o3 = -1, s3 = -1, t2 = -1;
for (let r2 = e2; r2 < i2; r2 += 1) {
const e3 = a2.charCodeAt(r2);
if (35 === e3 || 47 === e3 || 63 === e3) {
i2 = r2;
break;
}
64 === e3 ? o3 = r2 : 93 === e3 ? s3 = r2 : 58 === e3 ? t2 = r2 : e3 >= 65 && e3 <= 90 && (n2 = true);
}
if (-1 !== o3 && o3 > e2 && o3 < i2 && (e2 = o3 + 1), 91 === a2.charCodeAt(e2)) return -1 !== s3 ? a2.slice(e2 + 1, s3).toLowerCase() : null;
-1 !== t2 && t2 > e2 && t2 < i2 && (i2 = t2);
}
for (; i2 > e2 + 1 && 46 === a2.charCodeAt(i2 - 1); ) i2 -= 1;
const s2 = 0 !== e2 || i2 !== a2.length ? a2.slice(e2, i2) : a2;
return n2 ? s2.toLowerCase() : s2;
}
function o(a2) {
return a2 >= 97 && a2 <= 122 || a2 >= 48 && a2 <= 57 || a2 > 127;
}
function e(a2) {
if (a2.length > 255) return false;
if (0 === a2.length) return false;
if (!o(a2.charCodeAt(0)) && 46 !== a2.charCodeAt(0) && 95 !== a2.charCodeAt(0)) return false;
let e2 = -1, i2 = -1;
const n2 = a2.length;
for (let s2 = 0; s2 < n2; s2 += 1) {
const n3 = a2.charCodeAt(s2);
if (46 === n3) {
if (s2 - e2 > 64 || 46 === i2 || 45 === i2 || 95 === i2) return false;
e2 = s2;
} else if (!o(n3) && 45 !== n3 && 95 !== n3) return false;
i2 = n3;
}
return n2 - e2 - 1 <= 63 && 45 !== i2;
}
var i = function({ allowIcannDomains: a2 = true, allowPrivateDomains: o2 = false, detectIp: e2 = true, extractHostname: i2 = true, mixedInputs: n2 = true, validHosts: s2 = null, validateHostname: t2 = true }) {
return {
allowIcannDomains: a2,
allowPrivateDomains: o2,
detectIp: e2,
extractHostname: i2,
mixedInputs: n2,
validHosts: s2,
validateHostname: t2
};
}({});
function n(o2, n2, s2, t2, r2) {
const u2 = function(a2) {
return void 0 === a2 ? i : function({ allowIcannDomains: a3 = true, allowPrivateDomains: o3 = false, detectIp: e2 = true, extractHostname: i2 = true, mixedInputs: n3 = true, validHosts: s3 = null, validateHostname: t3 = true }) {
return {
allowIcannDomains: a3,
allowPrivateDomains: o3,
detectIp: e2,
extractHostname: i2,
mixedInputs: n3,
validHosts: s3,
validateHostname: t3
};
}(a2);
}(t2);
return "string" != typeof o2 ? r2 : (u2.extractHostname ? u2.mixedInputs ? r2.hostname = a(o2, e(o2)) : r2.hostname = a(o2, false) : r2.hostname = o2, 0 === n2 || null === r2.hostname || u2.detectIp && (r2.isIp = function(a2) {
if (a2.length < 3) return false;
let o3 = a2.startsWith("[") ? 1 : 0, e2 = a2.length;
if ("]" === a2[e2 - 1] && (e2 -= 1), e2 - o3 > 39) return false;
let i2 = false;
for (; o3 < e2; o3 += 1) {
const e3 = a2.charCodeAt(o3);
if (58 === e3) i2 = true;
else if (!(e3 >= 48 && e3 <= 57 || e3 >= 97 && e3 <= 102 || e3 >= 65 && e3 <= 90)) return false;
}
return i2;
}(l = r2.hostname) || function(a2) {
if (a2.length < 7) return false;
if (a2.length > 15) return false;
let o3 = 0;
for (let e2 = 0; e2 < a2.length; e2 += 1) {
const i2 = a2.charCodeAt(e2);
if (46 === i2) o3 += 1;
else if (i2 < 48 || i2 > 57) return false;
}
return 3 === o3 && 46 !== a2.charCodeAt(0) && 46 !== a2.charCodeAt(a2.length - 1);
}(l), r2.isIp) ? r2 : u2.validateHostname && u2.extractHostname && !e(r2.hostname) ? (r2.hostname = null, r2) : (s2(r2.hostname, u2, r2), 2 === n2 || null === r2.publicSuffix ? r2 : (r2.domain = function(a2, o3, e2) {
if (null !== e2.validHosts) {
const a3 = e2.validHosts;
for (const e3 of a3) if (function(a4, o4) {
return !!a4.endsWith(o4) && (a4.length === o4.length || "." === a4[a4.length - o4.length - 1]);
}(o3, e3)) return e3;
}
let i2 = 0;
if (o3.startsWith(".")) for (; i2 < o3.length && "." === o3[i2]; ) i2 += 1;
return a2.length === o3.length - i2 ? null : function(a3, o4) {
const e3 = a3.length - o4.length - 2, i3 = a3.lastIndexOf(".", e3);
return -1 === i3 ? a3 : a3.slice(i3 + 1);
}(o3, a2);
}(r2.publicSuffix, r2.hostname, u2), 3 === n2 || null === r2.domain ? r2 : (r2.subdomain = function(a2, o3) {
return o3.length === a2.length ? "" : a2.slice(0, -o3.length - 1);
}(r2.hostname, r2.domain), 4 === n2 || (r2.domainWithoutSuffix = (m2 = r2.domain, c = r2.publicSuffix, m2.slice(0, -c.length - 1))), r2))));
var l, m2, c;
}
var s = /* @__PURE__ */ function() {
const a2 = [
1,
{}
], o2 = [
0,
{
city: a2
}
];
return [
0,
{
ck: [
0,
{
www: a2
}
],
jp: [
0,
{
kawasaki: o2,
kitakyushu: o2,
kobe: o2,
nagoya: o2,
sapporo: o2,
sendai: o2,
yokohama: o2
}
]
}
];
}();
var t = /* @__PURE__ */ function() {
const a2 = [
1,
{}
], o2 = [
2,
{}
], e2 = [
1,
{
gov: a2,
com: a2,
org: a2,
net: a2,
edu: a2
}
], i2 = [
0,
{
"*": o2
}
], n2 = [
1,
{
blogspot: o2
}
], s2 = [
1,
{
gov: a2
}
], t2 = [
0,
{
notebook: o2,
studio: o2
}
], r2 = [
0,
{
notebook: o2
}
], u2 = [
0,
{
notebook: o2,
"notebook-fips": o2,
studio: o2
}
], l = [
0,
{
notebook: o2,
"notebook-fips": o2,
studio: o2,
"studio-fips": o2
}
], m2 = [
0,
{
"*": a2
}
], c = [
0,
{
cloud: o2
}
], d = [
1,
{
co: o2
}
], g = [
2,
{
nodes: o2
}
], k = [
0,
{
s3: o2,
"s3-accesspoint": o2,
"s3-website": o2
}
], h = [
0,
{
s3: o2,
"s3-accesspoint": o2
}
], p = [
0,
{
"execute-api": o2,
"emrappui-prod": o2,
"emrnotebooks-prod": o2,
"emrstudio-prod": o2,
dualstack: h,
s3: o2,
"s3-accesspoint": o2,
"s3-object-lambda": o2,
"s3-website": o2
}
], b = [
0,
{
direct: o2
}
], y = [
2,
{
id: o2
}
], f = [
0,
{
"webview-assets": o2
}
], v = [
0,
{
vfs: o2,
"webview-assets": o2
}
], w = [
0,
{
"execute-api": o2,
"emrappui-prod": o2,
"emrnotebooks-prod": o2,
"emrstudio-prod": o2,
dualstack: k,
s3: o2,
"s3-accesspoint": o2,
"s3-object-lambda": o2,
"s3-website": o2,
"aws-cloud9": f,
cloud9: v
}
], x = [
0,
{
"execute-api": o2,
"emrappui-prod": o2,
"emrnotebooks-prod": o2,
"emrstudio-prod": o2,
dualstack: h,
s3: o2,
"s3-accesspoint": o2,
"s3-object-lambda": o2,
"s3-website": o2,
"aws-cloud9": f,
cloud9: v
}
], z = [
0,
{
"execute-api": o2,
"emrappui-prod": o2,
"emrnotebooks-prod": o2,
"emrstudio-prod": o2,
dualstack: k,
s3: o2,
"s3-accesspoint": o2,
"s3-object-lambda": o2,
"s3-website": o2,
"analytics-gateway": o2,
"aws-cloud9": f,
cloud9: v
}
], j = [
0,
{
"execute-api": o2,
dualstack: h,
s3: o2,
"s3-accesspoint": o2,
"s3-object-lambda": o2,
"s3-website": o2
}
], q = [
0,
{
s3: o2,
"s3-accesspoint": o2,
"s3-accesspoint-fips": o2,
"s3-fips": o2,
"s3-website": o2
}
], I = [
0,
{
"execute-api": o2,
"emrappui-prod": o2,
"emrnotebooks-prod": o2,
"emrstudio-prod": o2,
dualstack: q,
s3: o2,
"s3-accesspoint": o2,
"s3-accesspoint-fips": o2,
"s3-fips": o2,
"s3-object-lambda": o2,
"s3-website": o2,
"aws-cloud9": f,
cloud9: v
}
], S = [
0,
{
s3: o2,
"s3-accesspoint": o2,
"s3-accesspoint-fips": o2,
"s3-fips": o2
}
], C = [
0,
{
"execute-api": o2,
"emrappui-prod": o2,
"emrnotebooks-prod": o2,
"emrstudio-prod": o2,
dualstack: S,
s3: o2,
"s3-accesspoint": o2,
"s3-accesspoint-fips": o2,
"s3-fips": o2,
"s3-object-lambda": o2,
"s3-website": o2
}
], A = [
0,
{
auth: o2
}
], P = [
0,
{
auth: o2,
"auth-fips": o2
}
], H = [
0,
{
apps: o2
}
], W = [
0,
{
paas: o2
}
], D = [
0,
{
app: o2
}
], O = [
2,
{
eu: o2
}
], L = [
0,
{
site: o2
}
], B = [
0,
{
pages: o2
}
], E = [
1,
{
com: a2,
edu: a2,
net: a2,
org: a2
}
], F = [
0,
{
j: o2
}
], G = [
0,
{
jelastic: o2
}
], J = [
0,
{
user: o2
}
], K = [
1,
{
ybo: o2
}
], M = [
0,
{
cust: o2,
reservd: o2
}
], N = [
0,
{
cust: o2
}
], Q = [
1,
{
gov: a2,
edu: a2,
mil: a2,
com: a2,
org: a2,
net: a2
}
], R = [
0,
{
s3: o2
}
], T = [
1,
{
edu: a2,
biz: a2,
net: a2,
org: a2,
gov: a2,
info: a2,
com: a2
}
], U = [
1,
{
gov: a2,
blogspot: o2
}
], V = [
1,
{
framer: o2
}
], X2 = [
1,
{
barsy: o2
}
], Y2 = [
0,
{
forgot: o2
}
], Z = [
1,
{
gs: a2
}
], $ = [
0,
{
nes: a2
}
], _ = [
1,
{
k12: a2,
cc: a2,
lib: a2
}
], aa = [
1,
{
cc: a2,
lib: a2
}
];
return [
0,
{
ac: [
1,
{
com: a2,
edu: a2,
gov: a2,
net: a2,
mil: a2,
org: a2,
drr: o2
}
],
ad: [
1,
{
nom: a2
}
],
ae: [
1,
{
co: a2,
net: a2,
org: a2,
sch: a2,
ac: a2,
gov: a2,
mil: a2,
blogspot: o2
}
],
aero: [
1,
{
"accident-investigation": a2,
"accident-prevention": a2,
aerobatic: a2,
aeroclub: a2,
aerodrome: a2,
agents: a2,
aircraft: a2,
airline: a2,
airport: a2,
"air-surveillance": a2,
airtraffic: a2,
"air-traffic-control": a2,
ambulance: a2,
amusement: a2,
association: a2,
author: a2,
ballooning: a2,
broker: a2,
caa: a2,
cargo: a2,
catering: a2,
certification: a2,
championship: a2,
charter: a2,
civilaviation: a2,
club: a2,
conference: a2,
consultant: a2,
consulting: a2,
control: a2,
council: a2,
crew: a2,
design: a2,
dgca: a2,
educator: a2,
emergency: a2,
engine: a2,
engineer: a2,
entertainment: a2,
equipment: a2,
exchange: a2,
express: a2,
federation: a2,
flight: a2,
fuel: a2,
gliding: a2,
government: a2,
groundhandling: a2,
group: a2,
hanggliding: a2,
homebuilt: a2,
insurance: a2,
journal: a2,
journalist: a2,
leasing: a2,
logistics: a2,
magazine: a2,
maintenance: a2,
media: a2,
microlight: a2,
modelling: a2,
navigation: a2,
parachuting: a2,
paragliding: a2,
"passenger-association": a2,
pilot: a2,
press: a2,
production: a2,
recreation: a2,
repbody: a2,
res: a2,
research: a2,
rotorcraft: a2,
safety: a2,
scientist: a2,
services: a2,
show: a2,
skydiving: a2,
software: a2,
student: a2,
trader: a2,
trading: a2,
trainer: a2,
union: a2,
workinggroup: a2,
works: a2
}
],
af: e2,
ag: [
1,
{
com: a2,
org: a2,
net: a2,
co: a2,
nom: a2
}
],
ai: [
1,
{
off: a2,
com: a2,
net: a2,
org: a2,
uwu: o2
}
],
al: [
1,
{
com: a2,
edu: a2,
gov: a2,
mil: a2,
net: a2,
org: a2,
blogspot: o2
}
],
am: [
1,
{
co: a2,
com: a2,
commune: a2,
net: a2,
org: a2,
radio: o2,
blogspot: o2,
neko: o2,
nyaa: o2
}
],
ao: [
1,
{
ed: a2,
gv: a2,
og: a2,
co: a2,
pb: a2,
it: a2
}
],
aq: a2,
ar: [
1,
{
bet: a2,
com: n2,
coop: a2,
edu: a2,
gob: a2,
gov: a2,
int: a2,
mil: a2,
musica: a2,
mutual: a2,
net: a2,
org: a2,
senasa: a2,
tur: a2
}
],
arpa: [
1,
{
e164: a2,
"in-addr": a2,
ip6: a2,
iris: a2,
uri: a2,
urn: a2
}
],
as: s2,
asia: [
1,
{
cloudns: o2
}
],
at: [
1,
{
ac: [
1,
{
sth: a2
}
],
co: n2,
gv: a2,
or: a2,
funkfeuer: [
0,
{
wien: o2
}
],
futurecms: [
0,
{
"*": o2,
ex: i2,
in: i2
}
],
futurehosting: o2,
futuremailing: o2,
ortsinfo: [
0,
{
ex: i2,
kunden: i2
}
],
biz: o2,
info: o2,
"123webseite": o2,
priv: o2,
myspreadshop: o2,
"12hp": o2,
"2ix": o2,
"4lima": o2,
"lima-city": o2
}
],
au: [
1,
{
com: [
1,
{
blogspot: o2,
cloudlets: [
0,
{
mel: o2
}
],
myspreadshop: o2
}
],
net: a2,
org: a2,
edu: [
1,
{
act: a2,
catholic: a2,
nsw: [
1,
{
schools: a2
}
],
nt: a2,
qld: a2,
sa: a2,
tas: a2,
vic: a2,
wa: a2
}
],
gov: [
1,
{
qld: a2,
sa: a2,
tas: a2,
vic: a2,
wa: a2
}
],
asn: a2,
id: a2,
info: a2,
conf: a2,
oz: a2,
act: a2,
nsw: a2,
nt: a2,
qld: a2,
sa: a2,
tas: a2,
vic: a2,
wa: a2
}
],
aw: [
1,
{
com: a2
}
],
ax: [
1,
{
be: o2,
cat: o2,
es: o2,
eu: o2,
gg: o2,
mc: o2,
us: o2,
xy: o2
}
],
az: [
1,
{
com: a2,
net: a2,
int: a2,
gov: a2,
org: a2,
edu: a2,
info: a2,
pp: a2,
mil: a2,
name: a2,
pro: a2,
biz: a2
}
],
ba: [
1,
{
com: a2,
edu: a2,
gov: a2,
mil: a2,
net: a2,
org: a2,
rs: o2,
blogspot: o2
}
],
bb: [
1,
{
biz: a2,
co: a2,
com: a2,
edu: a2,
gov: a2,
info: a2,
net: a2,
org: a2,
store: a2,
tv: a2
}
],
bd: m2,
be: [
1,
{
ac: a2,
webhosting: o2,
blogspot: o2,
interhostsolutions: c,
kuleuven: [
0,
{
ezproxy: o2
}
],
"123website": o2,
myspreadshop: o2,
transurl: i2
}
],
bf: s2,
bg: [
1,
{
0: a2,
1: a2,
2: a2,
3: a2,
4: a2,
5: a2,
6: a2,
7: a2,
8: a2,
9: a2,
a: a2,
b: a2,
c: a2,
d: a2,
e: a2,
f: a2,
g: a2,
h: a2,
i: a2,
j: a2,
k: a2,
l: a2,
m: a2,
n: a2,
o: a2,
p: a2,
q: a2,
r: a2,
s: a2,
t: a2,
u: a2,
v: a2,
w: a2,
x: a2,
y: a2,
z: a2,
blogspot: o2,
barsy: o2
}
],
bh: e2,
bi: [
1,
{
co: a2,
com: a2,
edu: a2,
or: a2,
org: a2
}
],
biz: [
1,
{
activetrail: o2,
cloudns: o2,
jozi: o2,
dyndns: o2,
"for-better": o2,
"for-more": o2,
"for-some": o2,
"for-the": o2,
selfip: o2,
webhop: o2,
orx: o2,
mmafan: o2,
myftp: o2,
"no-ip": o2,
dscloud: o2
}
],
bj: [
1,
{
africa: a2,
agro: a2,
architectes: a2,
assur: a2,
avocats: a2,
co: a2,
com: a2,
eco: a2,
econo: a2,
edu: a2,
info: a2,
loisirs: a2,
money: a2,
net: a2,
org: a2,
ote: a2,
resto: a2,
restaurant: a2,
tourism: a2,
univ: a2,
blogspot: o2
}
],
bm: e2,
bn: [
1,
{
com: a2,
edu: a2,
gov: a2,
net: a2,
org: a2,
co: o2
}
],
bo: [
1,
{
com: a2,
edu: a2,
gob: a2,
int: a2,
org: a2,
net: a2,
mil: a2,
tv: a2,
web: a2,
academia: a2,
agro: a2,
arte: a2,
blog: a2,
bolivia: a2,
ciencia: a2,
cooperativa: a2,
democracia: a2,
deporte: a2,
ecologia: a2,
economia: a2,
empresa: a2,
indigena: a2,
industria: a2,
info: a2,
medicina: a2,
movimiento: a2,
musica: a2,
natural: a2,
nombre: a2,
noticias: a2,
patria: a2,
politica: a2,
profesional: a2,
plurinacional: a2,
pueblo: a2,
revista: a2,
salud: a2,
tecnologia: a2,
tksat: a2,
transporte: a2,
wiki: a2
}
],
br: [
1,
{
"9guacu": a2,
abc: a2,
adm: a2,
adv: a2,
agr: a2,
aju: a2,
am: a2,
anani: a2,
aparecida: a2,
app: a2,
arq: a2,
art: a2,
ato: a2,
b: a2,
barueri: a2,
belem: a2,
bhz: a2,
bib: a2,
bio: a2,
blog: a2,
bmd: a2,
boavista: a2,
bsb: a2,
campinagrande: a2,
campinas: a2,
caxias: a2,
cim: a2,
cng: a2,
cnt: a2,
com: [
1,
{
blogspot: o2,
simplesite: o2
}
],
contagem: a2,
coop: a2,
coz: a2,
cri: a2,
cuiaba: a2,
curitiba: a2,
def: a2,
des: a2,
det: a2,
dev: a2,
ecn: a2,
eco: a2,
edu: a2,
emp: a2,
enf: a2,
eng: a2,
esp: a2,
etc: a2,
eti: a2,
far: a2,
feira: a2,
flog: a2,
floripa: a2,
fm: a2,
fnd: a2,
fortal: a2,
fot: a2,
foz: a2,
fst: a2,
g12: a2,
geo: a2,
ggf: a2,
goiania: a2,
gov: [
1,
{
ac: a2,
al: a2,
am: a2,
ap: a2,
ba: a2,
ce: a2,
df: a2,
es: a2,
go: a2,
ma: a2,
mg: a2,
ms: a2,
mt: a2,
pa: a2,
pb: a2,
pe: a2,
pi: a2,
pr: a2,
rj: a2,
rn: a2,
ro: a2,
rr: a2,
rs: a2,
sc: a2,
se: a2,
sp: a2,
to: a2
}
],
gru: a2,
imb: a2,
ind: a2,
inf: a2,
jab: a2,
jampa: a2,
jdf: a2,
joinville: a2,
jor: a2,
jus: a2,
leg: [
1,
{
ac: o2,
al: o2,
am: o2,
ap: o2,
ba: o2,
ce: o2,
df: o2,
es: o2,
go: o2,
ma: o2,
mg: o2,
ms: o2,
mt: o2,
pa: o2,
pb: o2,
pe: o2,
pi: o2,
pr: o2,
rj: o2,
rn: o2,
ro: o2,
rr: o2,
rs: o2,
sc: o2,
se: o2,
sp: o2,
to: o2
}
],
lel: a2,
log: a2,
londrina: a2,
macapa: a2,
maceio: a2,
manaus: a2,
maringa: a2,
mat: a2,
med: a2,
mil: a2,
morena: a2,
mp: a2,
mus: a2,
natal: a2,
net: a2,
niteroi: a2,
nom: m2,
not: a2,
ntr: a2,
odo: a2,
ong: a2,
org: a2,
osasco: a2,
palmas: a2,
poa: a2,
ppg: a2,
pro: a2,
psc: a2,
psi: a2,
pvh: a2,
qsl: a2,
radio: a2,
rec: a2,
recife: a2,
rep: a2,
ribeirao: a2,
rio: a2,
riobranco: a2,
riopreto: a2,
salvador: a2,
sampa: a2,
santamaria: a2,
santoandre: a2,
saobernardo: a2,
saogonca: a2,
seg: a2,
sjc: a2,
slg: a2,
slz: a2,
sorocaba: a2,
srv: a2,
taxi: a2,
tc: a2,
tec: a2,
teo: a2,
the: a2,
tmp: a2,
trd: a2,
tur: a2,
tv: a2,
udi: a2,
vet: a2,
vix: a2,
vlog: a2,
wiki: a2,
zlg: a2
}
],
bs: [
1,
{
com: a2,
net: a2,
org: a2,
edu: a2,
gov: a2,
we: o2
}
],
bt: e2,
bv: a2,
bw: [
1,
{
co: a2,
org: a2
}
],
by: [
1,
{
gov: a2,
mil: a2,
com: n2,
of: a2,
mycloud: o2,
mediatech: o2
}
],
bz: [
1,
{
com: a2,
net: a2,
org: a2,
edu: a2,
gov: a2,
za: o2,
gsj: o2
}
],
ca: [
1,
{
ab: a2,
bc: a2,
mb: a2,
nb: a2,
nf: a2,
nl: a2,
ns: a2,
nt: a2,
nu: a2,
on: a2,
pe: a2,
qc: a2,
sk: a2,
yk: a2,
gc: a2,
barsy: o2,
awdev: i2,
co: o2,
blogspot: o2,
"no-ip": o2,
myspreadshop: o2
}
],
cat: a2,
cc: [
1,
{
cloudns: o2,
ftpaccess: o2,
"game-server": o2,
myphotos: o2,
scrapping: o2,
twmail: o2,
csx: o2,
fantasyleague: o2,
spawn: [
0,
{
instances: o2
}
]
}
],
cd: s2,
cf: n2,
cg: a2,
ch: [
1,
{
square7: o2,
blogspot: o2,
flow: [
0,
{
ae: [
0,
{
alp1: o2
}
],
appengine: o2
}
],
"linkyard-cloud": o2,
dnsking: o2,
gotdns: o2,
"123website": o2,
myspreadshop: o2,
firenet: [
0,
{
"*": o2,
svc: i2
}
],
"12hp": o2,
"2ix": o2,
"4lima": o2,
"lima-city": o2
}
],
ci: [
1,
{
org: a2,
or: a2,
com: a2,
co: a2,
edu: a2,
ed: a2,
ac: a2,
net: a2,
go: a2,
asso: a2,
"xn--aroport-bya": a2,
"a\xE9roport": a2,
int: a2,
presse: a2,
md: a2,
gouv: a2,
fin: o2,
nl: o2
}
],
ck: m2,
cl: [
1,
{
co: a2,
gob: a2,
gov: a2,
mil: a2,
blogspot: o2
}
],
cm: [
1,
{
co: a2,
com: a2,
gov: a2,
net: a2
}
],
cn: [
1,
{
ac: a2,
com: [
1,
{
amazonaws: [
0,
{
"cn-north-1": [
0,
{
"execute-api": o2,
"emrappui-prod": o2,
"emrnotebooks-prod": o2,
"emrstudio-prod": o2,
dualstack: k,
s3: o2,
"s3-accesspoint": o2,
"s3-deprecated": o2,
"s3-object-lambda": o2,
"s3-website": o2
}
],
"cn-northwest-1": p,
compute: i2,
airflow: [
0,
{
"cn-north-1": i2,
"cn-northwest-1": i2
}
],
eb: [
0,
{
"cn-north-1": o2,
"cn-northwest-1": o2
}
],
elb: i2
}
],
sagemaker: [
0,
{
"cn-north-1": t2,
"cn-northwest-1": t2
}
]
}
],
edu: a2,
gov: a2,
net: a2,
org: a2,
mil: a2,
"xn--55qx5d": a2,
"\u516C\u53F8": a2,
"xn--io0a7i": a2,
"\u7F51\u7EDC": a2,
"xn--od0alg": a2,
"\u7DB2\u7D61": a2,
ah: a2,
bj: a2,
cq: a2,
fj: a2,
gd: a2,
gs: a2,
gz: a2,
gx: a2,
ha: a2,
hb: a2,
he: a2,
hi: a2,
hl: a2,
hn: a2,
jl: a2,
js: a2,
jx: a2,
ln: a2,
nm: a2,
nx: a2,
qh: a2,
sc: a2,
sd: a2,
sh: a2,
sn: a2,
sx: a2,
tj: a2,
xj: a2,
xz: a2,
yn: a2,
zj: a2,
hk: a2,
mo: a2,
tw: a2,
"canva-apps": o2,
instantcloud: o2,
quickconnect: b
}
],
co: [
1,
{
arts: a2,
com: n2,
edu: a2,
firm: a2,
gov: a2,
info: a2,
int: a2,
mil: a2,
net: a2,
nom: a2,
org: a2,
rec: a2,
web: a2,
carrd: o2,
crd: o2,
otap: i2,
leadpages: o2,
lpages: o2,
mypi: o2,
n4t: o2,
firewalledreplit: y,
repl: y,
supabase: o2
}
],
com: [
1,
{
a2hosted: o2,
cpserver: o2,
devcdnaccesso: i2,
adobeaemcloud: [
2,
{
dev: i2
}
],
airkitapps: o2,
"airkitapps-au": o2,
aivencloud: o2,
kasserver: o2,
amazonaws: [
0,
{
"af-south-1": w,
"ap-east-1": x,
"ap-northeast-1": z,
"ap-northeast-2": z,
"ap-northeast-3": w,
"ap-south-1": z,
"ap-south-2": j,
"ap-southeast-1": z,
"ap-southeast-2": z,
"ap-southeast-3": p,
"ap-southeast-4": j,
"ca-central-1": I,
"ca-west-1": [
0,
{
"execute-api": o2,
dualstack: q,
s3: o2,
"s3-accesspoint": o2,
"s3-accesspoint-fips": o2,
"s3-fips": o2,
"s3-website": o2
}
],
"eu-central-1": z,
"eu-central-2": j,
"eu-north-1": x,
"eu-south-1": w,
"eu-south-2": j,
"eu-west-1": [
0,
{
"execute-api": o2,
"emrappui-prod": o2,
"emrnotebooks-prod": o2,
"emrstudio-prod": o2,
dualstack: k,
s3: o2,
"s3-accesspoint": o2,
"s3-deprecated": o2,
"s3-object-lambda": o2,
"s3-website": o2,
"analytics-gateway": o2,
"aws-cloud9": f,
cloud9: v
}
],
"eu-west-2": x,
"eu-west-3": w,
"il-central-1": [
0,
{
"execute-api": o2,
dualstack: h,
s3: o2,
"s3-accesspoint": o2,
"s3-object-lambda": o2,
"s3-website": o2,
"aws-cloud9": f,
cloud9: [
0,
{
vfs: o2
}
]
}
],
"me-central-1": p,
"me-south-1": x,
"sa-east-1": w,
"us-east-1": [
2,
{
"execute-api": o2,
"emrappui-prod": o2,
"emrnotebooks-prod": o2,
"emrstudio-prod": o2,
dualstack: q,
s3: o2,
"s3-accesspoint": o2,
"s3-accesspoint-fips": o2,
"s3-deprecated": o2,
"s3-fips": o2,
"s3-object-lambda": o2,
"s3-website": o2,
"analytics-gateway": o2,
"aws-cloud9": f,
cloud9: v
}
],
"us-east-2": [
0,
{
"execute-api": o2,
"emrappui-prod": o2,
"emrnotebooks-prod": o2,
"emrstudio-prod": o2,
dualstack: S,
s3: o2,
"s3-accesspoint": o2,
"s3-accesspoint-fips": o2,
"s3-deprecated": o2,
"s3-fips": o2,
"s3-object-lambda": o2,
"s3-website": o2,
"analytics-gateway": o2,
"aws-cloud9": f,
cloud9: v
}
],
"us-gov-east-1": C,
"us-gov-west-1": C,
"us-west-1": I,
"us-west-2": [
0,
{
"execute-api": o2,
"emrappui-prod": o2,
"emrnotebooks-prod": o2,
"emrstudio-prod": o2,
dualstack: q,
s3: o2,
"s3-accesspoint": o2,
"s3-accesspoint-fips": o2,
"s3-deprecated": o2,
"s3-fips": o2,
"s3-object-lambda": o2,
"s3-website": o2,
"analytics-gateway": o2,
"aws-cloud9": f,
cloud9: v
}
],
compute: i2,
"compute-1": i2,
airflow: [
0,
{
"ap-northeast-1": i2,
"ap-northeast-2": i2,
"ap-south-1": i2,
"ap-southeast-1": i2,
"ap-southeast-2": i2,
"ca-central-1": i2,
"eu-central-1": i2,
"eu-north-1": i2,
"eu-west-1": i2,
"eu-west-2": i2,
"eu-west-3": i2,
"sa-east-1": i2,
"us-east-1": i2,
"us-east-2": i2,
"us-west-2": i2
}
],
s3: o2,
"s3-1": o2,
"s3-ap-east-1": o2,
"s3-ap-northeast-1": o2,
"s3-ap-northeast-2": o2,
"s3-ap-northeast-3": o2,
"s3-ap-south-1": o2,
"s3-ap-southeast-1": o2,
"s3-ap-southeast-2": o2,
"s3-ca-central-1": o2,
"s3-eu-central-1": o2,
"s3-eu-north-1": o2,
"s3-eu-west-1": o2,
"s3-eu-west-2": o2,
"s3-eu-west-3": o2,
"s3-external-1": o2,
"s3-fips-us-gov-east-1": o2,
"s3-fips-us-gov-west-1": o2,
"s3-global": [
0,
{
accesspoint: [
0,
{
mrap: o2
}
]
}
],
"s3-me-south-1": o2,
"s3-sa-east-1": o2,
"s3-us-east-2": o2,
"s3-us-gov-east-1": o2,
"s3-us-gov-west-1": o2,
"s3-us-west-1": o2,
"s3-us-west-2": o2,
"s3-website-ap-northeast-1": o2,
"s3-website-ap-southeast-1": o2,
"s3-website-ap-southeast-2": o2,
"s3-website-eu-west-1": o2,
"s3-website-sa-east-1": o2,
"s3-website-us-east-1": o2,
"s3-website-us-gov-west-1": o2,
"s3-website-us-west-1": o2,
"s3-website-us-west-2": o2,
elb: i2
}
],
amazoncognito: [
0,
{
"af-south-1": A,
"ap-northeast-1": A,
"ap-northeast-2": A,
"ap-northeast-3": A,
"ap-south-1": A,
"ap-southeast-1": A,
"ap-southeast-2": A,
"ap-southeast-3": A,
"ca-central-1": A,
"eu-central-1": A,
"eu-north-1": A,
"eu-south-1": A,
"eu-west-1": A,
"eu-west-2": A,
"eu-west-3": A,
"il-central-1": A,
"me-south-1": A,
"sa-east-1": A,
"us-east-1": P,
"us-east-2": P,
"us-gov-west-1": [
0,
{
"auth-fips": o2
}
],
"us-west-1": P,
"us-west-2": P
}
],
amplifyapp: i2,
awsapprunner: i2,
elasticbeanstalk: [
2,
{
"af-south-1": o2,
"ap-east-1": o2,
"ap-northeast-1": o2,
"ap-northeast-2": o2,
"ap-northeast-3": o2,
"ap-south-1": o2,
"ap-southeast-1": o2,
"ap-southeast-2": o2,
"ap-southeast-3": o2,
"ca-central-1": o2,
"eu-central-1": o2,
"eu-north-1": o2,
"eu-south-1": o2,
"eu-west-1": o2,
"eu-west-2": o2,
"eu-west-3": o2,
"il-central-1": o2,
"me-south-1": o2,
"sa-east-1": o2,
"us-east-1": o2,
"us-east-2": o2,
"us-gov-east-1": o2,
"us-gov-west-1": o2,
"us-west-1": o2,
"us-west-2": o2
}
],
awsglobalaccelerator: o2,
siiites: o2,
appspacehosted: o2,
appspaceusercontent: o2,
"on-aptible": o2,
myasustor: o2,
"balena-devices": o2,
betainabox: o2,
boutir: o2,
bplaced: o2,
cafjs: o2,
"canva-apps": o2,
br: o2,
cn: o2,
de: o2,
eu: o2,
jpn: o2,
mex: o2,
ru: o2,
sa: o2,
uk: o2,
us: o2,
za: o2,
ar: o2,
hu: o2,
kr: o2,
no: o2,
qc: o2,
uy: o2,
africa: o2,
gr: o2,
co: o2,
jdevcloud: o2,
wpdevcloud: o2,
cloudcontrolled: o2,
cloudcontrolapp: o2,
"cf-ipfs": o2,
"cloudflare-ipfs": o2,
trycloudflare: o2,
cprapid: i2,
"customer-oci": [
0,
{
"*": o2,
oci: i2,
ocp: i2,
ocs: i2
}
],
"cyclic-app": o2,
dattolocal: o2,
dattorelay: o2,
dattoweb: o2,
mydatto: o2,
builtwithdark: o2,
datadetect: [
0,
{
demo: o2,
instance: o2
}
],
ddns5: o2,
discordsays: o2,
discordsez: o2,
drayddns: o2,
dreamhosters: o2,
mydrobo: o2,
"dyndns-at-home": o2,
"dyndns-at-work": o2,
"dyndns-blog": o2,
"dyndns-free": o2,
"dyndns-home": o2,
"dyndns-ip": o2,
"dyndns-mail": o2,
"dyndns-office": o2,
"dyndns-pics": o2,
"dyndns-remote": o2,
"dyndns-server": o2,
"dyndns-web": o2,
"dyndns-wiki": o2,
"dyndns-work": o2,
blogdns: o2,
cechire: o2,
dnsalias: o2,
dnsdojo: o2,
doesntexist: o2,
dontexist: o2,
doomdns: o2,
"dyn-o-saur": o2,
dynalias: o2,
"est-a-la-maison": o2,
"est-a-la-masion": o2,
"est-le-patron": o2,
"est-mon-blogueur": o2,
"from-ak": o2,
"from-al": o2,
"from-ar": o2,
"from-ca": o2,
"from-ct": o2,
"from-dc": o2,
"from-de": o2,
"from-fl": o2,
"from-ga": o2,
"from-hi": o2,
"from-ia": o2,
"from-id": o2,
"from-il": o2,
"from-in": o2,
"from-ks": o2,
"from-ky": o2,
"from-ma": o2,
"from-md": o2,
"from-mi": o2,
"from-mn": o2,
"from-mo": o2,
"from-ms": o2,
"from-mt": o2,
"from-nc": o2,
"from-nd": o2,
"from-ne": o2,
"from-nh": o2,
"from-nj": o2,
"from-nm": o2,
"from-nv": o2,
"from-oh": o2,
"from-ok": o2,
"from-or": o2,
"from-pa": o2,
"from-pr": o2,
"from-ri": o2,
"from-sc": o2,
"from-sd": o2,
"from-tn": o2,
"from-tx": o2,
"from-ut": o2,
"from-va": o2,
"from-vt": o2,
"from-wa": o2,
"from-wi": o2,
"from-wv": o2,
"from-wy": o2,
getmyip: o2,
gotdns: o2,
"hobby-site": o2,
homelinux: o2,
homeunix: o2,
iamallama: o2,
"is-a-anarchist": o2,
"is-a-blogger": o2,
"is-a-bookkeeper": o2,
"is-a-bulls-fan": o2,
"is-a-caterer": o2,
"is-a-chef": o2,
"is-a-conservative": o2,
"is-a-cpa": o2,
"is-a-cubicle-slave": o2,
"is-a-democrat": o2,
"is-a-designer": o2,
"is-a-doctor": o2,
"is-a-financialadvisor": o2,
"is-a-geek": o2,
"is-a-green": o2,
"is-a-guru": o2,
"is-a-hard-worker": o2,
"is-a-hunter": o2,
"is-a-landscaper": o2,
"is-a-lawyer": o2,
"is-a-liberal": o2,
"is-a-libertarian": o2,
"is-a-llama": o2,
"is-a-musician": o2,
"is-a-nascarfan": o2,
"is-a-nurse": o2,
"is-a-painter": o2,
"is-a-personaltrainer": o2,
"is-a-photographer": o2,
"is-a-player": o2,
"is-a-republican": o2,
"is-a-rockstar": o2,
"is-a-socialist": o2,
"is-a-student": o2,
"is-a-teacher": o2,
"is-a-techie": o2,
"is-a-therapist": o2,
"is-an-accountant": o2,
"is-an-actor": o2,
"is-an-actress": o2,
"is-an-anarchist": o2,
"is-an-artist": o2,
"is-an-engineer": o2,
"is-an-entertainer": o2,
"is-certified": o2,
"is-gone": o2,
"is-into-anime": o2,
"is-into-cars": o2,
"is-into-cartoons": o2,
"is-into-games": o2,
"is-leet": o2,
"is-not-certified": o2,
"is-slick": o2,
"is-uberleet": o2,
"is-with-theband": o2,
"isa-geek": o2,
"isa-hockeynut": o2,
issmarterthanyou: o2,
"likes-pie": o2,
likescandy: o2,
"neat-url": o2,
"saves-the-whales": o2,
selfip: o2,
"sells-for-less": o2,
"sells-for-u": o2,
servebbs: o2,
"simple-url": o2,
"space-to-rent": o2,
"teaches-yoga": o2,
writesthisblog: o2,
digitaloceanspaces: i2,
ddnsfree: o2,
ddnsgeek: o2,
giize: o2,
gleeze: o2,
kozow: o2,
loseyourip: o2,
ooguy: o2,
theworkpc: o2,
mytuleap: o2,
"tuleap-partners": o2,
encoreapi: o2,
evennode: [
0,
{
"eu-1": o2,
"eu-2": o2,
"eu-3": o2,
"eu-4": o2,
"us-1": o2,
"us-2": o2,
"us-3": o2,
"us-4": o2
}
],
onfabrica: o2,
"fastly-edge": o2,
"fastly-terrarium": o2,
"fastvps-server": o2,
mydobiss: o2,
firebaseapp: o2,
fldrv: o2,
forgeblocks: o2,
framercanvas: o2,
"freebox-os": o2,
freeboxos: o2,
freemyip: o2,
aliases121: o2,
gentapps: o2,
gentlentapis: o2,
githubusercontent: o2,
"0emm": i2,
appspot: [
2,
{
r: i2
}
],
codespot: o2,
googleapis: o2,
googlecode: o2,
pagespeedmobilizer: o2,
publishproxy: o2,
withgoogle: o2,
withyoutube: o2,
blogspot: o2,
awsmppl: o2,
herokuapp: o2,
herokussl: o2,
impertrixcdn: o2,
impertrix: o2,
smushcdn: o2,
wphostedmail: o2,
wpmucdn: o2,
pixolino: o2,
amscompute: o2,
dopaas: o2,
"hosted-by-previder": W,
hosteur: [
0,
{
"rag-cloud": o2,
"rag-cloud-ch": o2
}
],
"ik-server": [
0,
{
jcloud: o2,
"jcloud-ver-jpc": o2
}
],
jelastic: [
0,
{
demo: o2
}
],
kilatiron: o2,
massivegrid: W,
wafaicloud: [
0,
{
jed: o2,
lon: o2,
ryd: o2
}
],
joyent: [
0,
{
cns: i2
}
],
ktistory: o2,
lpuserconten