diff --git a/ext/webextension/package-lock.json b/ext/webextension/package-lock.json index 93877a9..363325e 100644 --- a/ext/webextension/package-lock.json +++ b/ext/webextension/package-lock.json @@ -12,6 +12,7 @@ "jest": "^27.3.1", "jest-puppeteer": "^6.0.0", "jest-webextension-mock": "^3.7.19", + "pngjs3": "^6.0.1", "puppeteer": "^11.0.0" } }, @@ -1515,6 +1516,15 @@ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", "dev": true }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, "node_modules/browserslist": { "version": "4.18.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz", @@ -2848,6 +2858,16 @@ "node": ">= 4" } }, + "node_modules/immer": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.7.tgz", + "integrity": "sha512-KGllzpbamZDvOIxnmJ0jI840g7Oikx58lBPWV0hUh7dtAyZpFqqrBZdKka5GlTwMTZ1Tjc/bKKW4VSFAt6BqMA==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -4311,6 +4331,12 @@ "node": ">=6" } }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4419,6 +4445,19 @@ "node": ">=8" } }, + "node_modules/pngjs3": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/pngjs3/-/pngjs3-6.0.1.tgz", + "integrity": "sha512-3dqkpjsmDW+CHujoP2RWLT7z7ZkAYfU5w8B7QjfW/sAXmNBsEeA5AY5z+O/ceUOIIfH6FpccyS7r3y+PXFo8GQ==", + "dev": true, + "dependencies": { + "browserify-zlib": "^0.2.0", + "immer": "^9.0.6" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -6661,6 +6700,15 @@ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", "dev": true }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, "browserslist": { "version": "4.18.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz", @@ -7648,6 +7696,12 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, + "immer": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.7.tgz", + "integrity": "sha512-KGllzpbamZDvOIxnmJ0jI840g7Oikx58lBPWV0hUh7dtAyZpFqqrBZdKka5GlTwMTZ1Tjc/bKKW4VSFAt6BqMA==", + "dev": true + }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -8797,6 +8851,12 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -8878,6 +8938,16 @@ "find-up": "^4.0.0" } }, + "pngjs3": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/pngjs3/-/pngjs3-6.0.1.tgz", + "integrity": "sha512-3dqkpjsmDW+CHujoP2RWLT7z7ZkAYfU5w8B7QjfW/sAXmNBsEeA5AY5z+O/ceUOIIfH6FpccyS7r3y+PXFo8GQ==", + "dev": true, + "requires": { + "browserify-zlib": "^0.2.0", + "immer": "^9.0.6" + } + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", diff --git a/ext/webextension/package.json b/ext/webextension/package.json index 31a7d08..c0baa6c 100644 --- a/ext/webextension/package.json +++ b/ext/webextension/package.json @@ -7,12 +7,15 @@ "unittest": "node --experimental-vm-modules node_modules/jest/bin/jest.js --silent=false src/*.test.js" }, "type": "module", - "jest": { "transform": {} }, + "jest": { + "transform": {} + }, "devDependencies": { + "eslint": "^8.2.0", "jest": "^27.3.1", "jest-puppeteer": "^6.0.0", "jest-webextension-mock": "^3.7.19", - "puppeteer": "^11.0.0", - "eslint": "^8.2.0" + "pngjs3": "^6.0.1", + "puppeteer": "^11.0.0" } } diff --git a/ext/webextension/src/lib/getdomain.js b/ext/webextension/src/lib/getdomain.js index 536c9fe..467b32f 100644 --- a/ext/webextension/src/lib/getdomain.js +++ b/ext/webextension/src/lib/getdomain.js @@ -1,36 +1,67 @@ -import {tldlookup, tldcommon} from './getdomain_lut.js' - -export function getDomain(url) { - //TODO decode Punycodeed urls (RFC 3492 and RFC 5891) - const parts = url.split('.').reverse(); - let res = []; - let lut = tldlookup; - let v; - - for (v=0; v < parts.length; v++) { - const part = parts[v]; - if (!lut) break; - if (part in lut) { - res.push(part); - lut = lut[part] - } - else if ('*' in lut) { - res.push(e); - lut = null; - } else - break; +function loadImage(url) { + let img = new Image(); + return new Promise(res=>{ + img.onload = ()=>{ + res(img); + } + img.src = url; + }); +} + +async function getPixels(url) { + let img = await loadImage(url); + let canvas = document.createElement('canvas'); + canvas.height = img.height; + canvas.width = img.width; + let context = canvas.getContext('2d'); + context.drawImage(img, 0, 0); + return context.getImageData(0, 0, img.width, img.height).data; +} + + +function pixeldata_to_json(pixeldata) { + pixeldata = pixeldata.filter((_,i)=> i%4 ==0); + const blob = new Blob([pixeldata], {type: 'text/plain; charset=utf-8'}); + return blob.text(); +} + +export class PslLookup { + constructor(args) { + args = args || {}; + args = Object.assign({tableLoader: getPixels, tableurl: "./getdomain.json.png"}, args); + this.psltable = args.tableLoader(args.tableurl) + .then(pixeldata_to_json) + .then(JSON.parse) + .catch(e=>{console.log("something is failing",e)}); } - if (v < parts.length) - res.push(parts[v]); - if (parts.length > 2 && parts[1] in tldcommon - && tldcommon[parts[1]].includes(parts[0]) && res.length < 3) { - res = parts.slice(0, 3); + async waitTableReady() { + let lut = await this.psltable; + this.psltable = lut; } - - v = parts.indexOf('blogspot'); - if (v >= 0) - res = parts.slice(0, v + 2); - return res.reverse().join('.'); + getDomain(url) { + let lut = this.psltable; + const parts = url.split('.').reverse(); + let res = []; + let v; + + for (v=0; v < parts.length; v++) { + const part = parts[v]; + if (!lut) break; + if (part in lut) { + res.push(part); + lut = lut[part] + } + else if ('*' in lut) { + res.push(part); + lut = null; + } else + break; + } + if (v < parts.length) + res.push(parts[v]); + + return res.reverse().join('.'); + } } diff --git a/ext/webextension/src/lib/getdomain.json.png b/ext/webextension/src/lib/getdomain.json.png new file mode 100644 index 0000000..3126a21 Binary files /dev/null and b/ext/webextension/src/lib/getdomain.json.png differ diff --git a/ext/webextension/src/lib/getdomain.test.js b/ext/webextension/src/lib/getdomain.test.js index 4188e9f..b0263f8 100644 --- a/ext/webextension/src/lib/getdomain.test.js +++ b/ext/webextension/src/lib/getdomain.test.js @@ -1,8 +1,38 @@ +/* globals global */ "use strict"; -import {jest, it, expect, beforeEach} from '@jest/globals' -import {getDomain} from './getdomain.js' +import {it, expect} from '@jest/globals' +import {PslLookup} from './getdomain.js' +import fs from 'fs'; +import {PNG} from 'pngjs3' +// import { sync as PNGSync } from 'pngjs3'; +import { URL } from 'url'; + +function pngPixels(url) { + const url_abspath = new URL(url, import.meta.url).pathname; + const data = fs.readFileSync(url_abspath); + + return new Promise(resolve=>{ + new PNG().parse(data, function (error, data) { + resolve(data.data); + }); + }); +} + +class MockBlob { + constructor(data/*, params*/) { + let txt = data.toString("utf8"); + this.text = ()=>{return Promise.resolve(txt)}; + } +} +global.Blob = MockBlob; + +it('gets the correct domain from url', async () => { + + + const psl = new PslLookup({tableLoader: pngPixels}); + await psl.waitTableReady() + const getDomain = psl.getDomain.bind(psl); -it('gets the correct domain from url', () => { expect(getDomain('example.com')).toBe('example.com'); expect(getDomain('amazon.com')).toBe('amazon.com'); expect(getDomain('show.amazon.com')).toBe('amazon.com'); diff --git a/ext/webextension/src/lib/getdomain_lut.js b/ext/webextension/src/lib/getdomain_lut.js deleted file mode 100644 index c052a48..0000000 --- a/ext/webextension/src/lib/getdomain_lut.js +++ /dev/null @@ -1,2 +0,0 @@ -export const tldlookup={shop:{barsy:0},gu:{web:0,guam:0},gt:{ind:0,blog:0,de:0,gob:0,to:0},gp:{asso:0,mobi:0,app:0},gy:{be:0},trade:{ybo:0},gg:{cya:0,kaas:0,panel:{daemon:0}},ge:{pvt:0},london:{of:0,in:0},solutions:{diher:{"*":0}},edu:{rit:{"git-pages":0}},earth:{dapps:{"*":0,bzz:{"*":0}}},ca:{on:0,yk:0,ab:0,nl:0,mb:0,nb:0,bc:0,nf:0,sk:0,qc:0,myspreadshop:0,gc:0,barsy:0,pe:0,"no-ip":0,awdev:{"*":0},ns:0,nt:0,nu:0},gl:{xx:0,biz:0},gi:{ltd:0,mod:0},kh:{"*":0},tz:{me:0,mobi:0,tv:0,hotel:0,ne:0,go:0,sc:0,or:0},lc:{oy:0},zone:{triton:{"*":0},hs:0,lima:0,"cloud66":0},la:{int:0,bnr:0,c:0,per:0},tv:{"on-the-web":0,dyndns:0,"worse-than":0,"better-than":0},tw:{idv:0,club:0,game:0,ebiz:0,url:0,"\u5546\u696d":0,"\u7d44\u7e54":0,com:{mymailer:0},"\u7db2\u8def":0},tt:{coop:0,jobs:0,name:0,int:0,pro:0,aero:0,mobi:0,biz:0,museum:0,travel:0},arpa:{"in-addr":0,iris:0,urn:0,uri:0,"e164":0,"ip6":0},lk:{web:0,soc:0,assn:0,sch:0,grp:0,int:0,hotel:0,ngo:0,ltd:0},li:{caa:0},lv:{id:0,conf:0,asn:0},to:{nyan:0,rdv:0,"611":0,quickconnect:{direct:0},oya:0,vpnplus:0},tm:{nom:0},tj:{web:0,name:0,int:0,nic:0,go:0,biz:0,test:0},ls:{sc:0,de:0,biz:0},th:{shop:0,in:0,mi:0,online:0,go:0,or:0},xyz:{crafting:0,zapto:0,localzone:0,telebit:{"*":0},blogsite:0},eus:{party:{user:0}},ly:{med:0,plc:0,sch:0,id:0},goog:{translate:0,cloud:0,usercontent:{"*":0}},do:{sld:0,web:0,art:0,gob:0},dk:{firm:0,myspreadshop:0,biz:0,reg:0,store:0},"\u0440\u0443\u0441":{"\u043c\u0441\u043a":0,"\u043a\u043e\u043c":0,"\u0431\u0438\u0437":0,"\u043c\u0438\u0440":0,"\u0441\u043f\u0431":0,"\u043a\u0440\u044b\u043c":0,"\u0441\u043e\u0447\u0438":0,"\u043e\u0440\u0433":0,"\u044f":0,"\u0441\u0430\u043c\u0430\u0440\u0430":0},de:{"hs-heilbronn":{it:{pages:0}},"svn-repos":0,"synology-diskstation":0,"git-repos":0,"test-iserv":0,"internet-dns":0,logoip:0,"l-o-g-i-n":0,lebtimnetz:0,"in-butter":0,"synology-ds":0,"dyn-berlin":0,"my-router":0,"lcube-server":0,traeumtgerade:0,spdns:0,"lima-city":0,"dyndns1":0,"taifun-dns":0,"my-vigor":0,"firewall-gateway":0,"dray-dns":0,"g\u00fcnstigbestellen":0,bplaced:0,"dynamisches-dns":0,"syno-ds":0,virtualuser:0,"dyn-vpn":0,dnsupdater:0,"in-vpn":0,barsy:0,"home-webserver":{dyn:0},goip:0,leitungsen:0,schulserver:0,ddnss:{dyn:0,dyndns:0},"2ix":0,fuettertdasnetz:0,"virtual-user":0,"community-pro":0,"g\u00fcnstigliefern":0,isteingeek:0,"my-wan":0,"square7":0,"in-berlin":0,dynvpn:0,speedpartner:{customer:0},"12hp":0,dnshome:0,"in-dsl":0,"dyn-ip24":0,"my-gateway":0,diskussionsbereich:0,istmein:0,"dd-dns":0,frusky:{"*":0},"mein-vigor":0,cosidns:{dyn:0},keymachine:0,"4lima":0,myspreadshop:0,draydns:0,uberspace:{"*":0},"myhome-server":0,"in-brb":0,"mein-iserv":0},vc:{gv:{d:0},"0e":0},me:{"vp4":0,soundcast:0,glitch:0,diskstation:0,filegear:0,daplie:{localhost:0},ukco:0,couk:0,edgestack:0,its:0,"filegear-de":0,priv:0,mcdir:0,noip:0,hopto:0,myds:0,synology:0,dscloud:0,wedeploy:0,"filegear-ie":0,ravendb:0,"filegear-au":0,"filegear-jp":0,"i234":0,"filegear-sg":0,lohmus:0,tbits:0,ddns:0,"tcp4":0,"filegear-gb":0,nohost:0,wbq:0,"c66":0,brasilia:0,barsy:0,loginto:0,mcpe:0,yombo:0,dnsfor:0,webhop:0},dz:{asso:0,tm:0,art:0,pol:0,soc:0},mom:{and:0,for:0},st:{consulado:0,embaixada:0,principe:0,store:0,saotome:0,noho:0},casa:{nabu:{ui:0}},cool:{de:0,elementor:0},name:{his:{forgot:0},her:{forgot:0}},rocks:{webspace:0,myddns:0,"lima-city":0},qa:{name:0,sch:0},team:{discourse:0,jelastic:0},"\u0441\u0440\u0431":{"\u043e\u0431\u0440":0,"\u0443\u043f\u0440":0,"\u0430\u043a":0,"\u043f\u0440":0,"\u043e\u0440\u0433":0,"\u043e\u0434":0},page:{pdns:0,prvcy:0,hlx:0,plesk:0,magnet:0,"hlx3":0},zm:{biz:0,sch:0},work:{to:0,from:0},porn:{indie:0},ee:{med:0,lib:0,pri:0,aip:0,riik:0,fie:0},km:{ass:0,nom:0,asso:0,coop:0,prd:0,tm:0,medecin:0,veterinaire:0,notaires:0,pharmaciens:0,gouv:0,presse:0},eg:{eun:0,sci:0,name:0},za:{nom:0,school:0,web:0,nic:0,ngo:0,grondar:0,tm:0,nis:0,alt:0,law:0,agric:0},ec:{"k12":0,pro:0,med:0,fin:0,gob:0},group:{discourse:0},biz:{"for-more":0,orx:0,"for-the":0,cloudns:0,mmafan:0,"for-better":0,dyndns:0,myftp:0,jozi:0,"no-ip":0,webhop:0,"for-some":0,selfip:0,dscloud:0},design:{bss:0},dev:{curv:0,"deno-staging":0,stg:{"*":0},lclstage:{"*":0},fly:0,iserv:0,workers:0,loginline:0,pages:0,"platter-app":0,stgstage:{"*":0},deno:0,mediatech:0,lcl:{"*":0},webhare:{"*":0},shiftcrypto:0,gateway:{"*":0},githubpreview:0,vercel:0},eu:{dogado:{jelastic:0},cloudns:0,mycd:0,wellbeingzone:0,barsy:0,spdns:0,diskstation:0,transurl:{"*":0}},et:{biz:0,name:0},es:{nom:0,myspreadshop:0,gob:0},er:{"*":0},ru:{nalchik:0,cbg:0,int:0,regruhosting:{jelastic:0},mordovia:0,ras:0,vladikavkaz:0,spb:0,pp:0,mcdir:{vps:0},marine:0,mircloud:0,adygeya:0,kustanai:0,msk:0,grozny:0,test:0,kalmykia:0,myjino:{landing:{"*":0},hosting:{"*":0},vps:{"*":0},spectrum:{"*":0}},pyatigorsk:0,mcpre:0,eurodir:0,nov:0,bir:0,dagestan:0,vladimir:0,"na4u":0,bashkiria:0,cldmail:{hb:0},"lk3":0,mytis:0},rw:{coop:0},network:{azimuth:0,alces:{"*":0},arvo:0,tlon:0},rs:{brendly:{shop:0},in:0,ua:0,ox:0},pictures:{"1337":0},review:{ybo:0},"\u0e44\u0e17\u0e22":{"\u0e23\u0e31\u0e10\u0e1a\u0e32\u0e25":0,"\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08":0,"\u0e17\u0e2b\u0e32\u0e23":0,"\u0e28\u0e36\u0e01\u0e29\u0e32":0,"\u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23":0,"\u0e40\u0e19\u0e47\u0e15":0},asia:{cloudns:0},re:{nom:0,asso:0},health:{hra:0},cu:{inf:0},it:{crotone:0,brindisi:0,gr:0,"monza-brianza":0,ge:0,go:0,massacarrara:0,venice:0,reggiocalabria:0,"trentin-sued-tirol":0,tr:0,ts:0,tp:0,pesarourbino:0,tn:0,to:0,ven:0,te:0,"iglesias-carbonia":0,urbinopesaro:0,"friuli-vgiulia":0,rc:0,livorno:0,lazio:0,"urbino-pesaro":0,campania:0,"vall\u00e9edaoste":0,lombardy:0,chieti:0,"val-daosta":0,"trentino-s-tirol":0,"forl\u00eccesena":0,pescara:0,"bolzano-altoadige":0,pmn:0,"vall\u00e9e-aoste":0,"la-spezia":0,valleaosta:0,"trentins\u00fcdtirol":0,abr:0,"bozen-sudtirol":0,lodi:0,ms:0,prato:0,cuneo:0,"andria-barletta-trani":0,valledaosta:0,tv:0,trentinoaltoadige:0,"trentinosud-tirol":0,basilicata:0,"trentino-s\u00fcdtirol":0,sicily:0,parma:0,florence:0,asti:0,"campidano-medio":0,alessandria:0,piemonte:0,friuliveneziagiulia:0,turin:0,"cesena-forli":0,liguria:0,me:0,mc:0,mb:0,monzaebrianza:0,mo:0,mn:0,mi:0,carraramassa:0,"trentin-s\u00fcdtirol":0,mt:0,"olbia-tempio":0,"carbonia-iglesias":0,cal:0,"trentinos\u00fcd-tirol":0,im:0,"vall\u00e9eaoste":0,ta:0,brescia:0,taa:0,emiliaromagna:0,"trentino-aadige":0,torino:0,sic:0,trieste:0,aoste:0,aosta:0,fr:0,mar:0,"trani-barletta-andria":0,"vald-aosta":0,umbria:0,vibovalentia:0,sardinia:0,fc:0,padua:0,firenze:0,laz:0,fg:0,fi:0,fm:0,dellogliastra:0,"trentin-suedtirol":0,"trentino-a-adige":0,ss:0,sr:0,sp:0,sv:0,si:0,so:0,isernia:0,sa:0,terni:0,aquila:0,vercelli:0,"friuli-venezia-giulia":0,enna:0,"emilia-romagna":0,lc:0,lo:0,li:0,lt:0,lu:0,pavia:0,"vibo-valentia":0,treviso:0,imperia:0,valleeaoste:0,mediocampidano:0,genoa:0,lucca:0,"trentino-sud-tirol":0,en:0,milan:0,"valle-daosta":0,"andria-trani-barletta":0,bulsan:0,re:0,rg:0,ra:0,siena:0,rm:0,rn:0,ro:0,ri:0,toscana:0,pug:0,"trani-andria-barletta":0,caltanissetta:0,"medio-campidano":0,ragusa:0,"trentino-suedtirol":0,olbiatempio:0,"valle-aosta":0,napoli:0,cremona:0,andriabarlettatrani:0,"reggio-calabria":0,tos:0,fe:0,"trentin-sud-tirol":0,venezia:0,"friulive-giulia":0,genova:0,bologna:0,savona:0,piedmont:0,messina:0,modena:0,rieti:0,verbania:0,"massa-carrara":0,potenza:0,puglia:0,bozen:0,trento:0,rimini:0,"trentinsued-tirol":0,neen:{jc:0},"cesena-forl\u00ec":0,"bozen-s\u00fcdtirol":0,traniandriabarletta:0,"monza-e-della-brianza":0,"trentinos\u00fcdtirol":0,arezzo:0,forlicesena:0,lig:0,"trentino-alto-adige":0,nuoro:0,latina:0,molise:0,verona:0,varese:0,"trentino-stirol":0,belluno:0,campobasso:0,milano:0,kr:0,ferrara:0,"bulsan-sudtirol":0,"16-b":0,"forli-cesena":0,cesenaforli:0,monzabrianza:0,sardegna:0,pistoia:0,"valle-d-aosta":0,teramo:0,bergamo:0,aostavalley:0,bas:0,bolzano:0,emr:0,agrigento:0,"trentinoalto-adige":0,monza:0,"bulsan-suedtirol":0,bari:0,laquila:0,pisa:0,"bozen-suedtirol":0,trentinostirol:0,trapani:0,le:0,po:0,como:0,"friuliv-giulia":0,"reggio-emilia":0,"64-b":0,"trentinosued-tirol":0,"friulivenezia-giulia":0,sicilia:0,"trentino-s\u00fcd-tirol":0,altoadige:0,rovigo:0,piacenza:0,ci:0,ch:0,cn:0,cl:0,cb:0,ca:0,ce:0,cz:0,"vall\u00e9e-d-aoste":0,oristano:0,cs:0,cr:0,ct:0,pr:0,pv:0,cam:0,pt:0,pu:0,pz:0,reggioemilia:0,pc:0,pa:0,pg:0,pd:0,pe:0,pi:0,pn:0,naples:0,lecco:0,"carrara-massa":0,lecce:0,siracusa:0,abruzzo:0,barlettatraniandria:0,"balsan-s\u00fcdtirol":0,ascolipiceno:0,catania:0,marche:0,balsan:0,"friuli-v-giulia":0,"trentinos-tirol":0,tempioolbia:0,va:0,vb:0,vc:0,ve:0,vi:0,is:0,"trentino-sudtirol":0,vr:0,vs:0,vt:0,vv:0,sar:0,"forl\u00ec-cesena":0,ancona:0,friulivgiulia:0,andriatranibarletta:0,novara:0,trentino:0,frosinone:0,tuscany:0,viterbo:0,"barletta-trani-andria":0,rome:0,"vallee-d-aoste":0,roma:0,lucania:0,perugia:0,"trentino-sued-tirol":0,sassari:0,trentinosudtirol:0,fvg:0,"ascoli-piceno":0,biella:0,carboniaiglesias:0,campidanomedio:0,"pesaro-urbino":0,mol:0,ogliastra:0,iglesiascarbonia:0,palermo:0,"32-b":0,"friuli-vegiulia":0,vda:0,"trentins\u00fcd-tirol":0,valleedaoste:0,valdaosta:0,"valled-aosta":0,syncloud:0,tranibarlettaandria:0,"dell-ogliastra":0,vicenza:0,veneto:0,umb:0,"trentin-s\u00fcd-tirol":0,bg:0,ba:0,bl:0,bn:0,bo:0,cosenza:0,bi:0,bt:0,udine:0,sondrio:0,br:0,bs:0,suedtirol:0,lombardia:0,cagliari:0,bz:0,matera:0,og:0,pordenone:0,myspreadshop:0,ot:0,or:0,"trentinsud-tirol":0,monzaedellabrianza:0,trentinsudtirol:0,foggia:0,benevento:0,trentinoaadige:0,"trentinoa-adige":0,"cesenaforl\u00ec":0,vao:0,"tempio-olbia":0,"trentin-sudtirol":0,caserta:0,lom:0,"s\u00fcdtirol":0,salerno:0,"val-d-aosta":0,calabria:0,"aosta-valley":0,"alto-adige":0,"vallee-aoste":0,trentinsuedtirol:0,padova:0,"bulsan-s\u00fcdtirol":0,"friuli-veneziagiulia":0,"trentino-altoadige":0,"balsan-sudtirol":0,fermo:0,laspezia:0,ud:0,ag:0,al:0,ao:0,an:0,aq:0,ap:0,ar:0,at:0,av:0,ravenna:0,no:0,na:0,"friuli-ve-giulia":0,tim:{open:{jelastic:{cloud:0}}},mantova:0,nu:0,"balsan-suedtirol":0,avellino:0,macerata:0,taranto:0,catanzaro:0,gorizia:0,trentinosuedtirol:0,friulivegiulia:0,grosseto:0},net:{mypsx:0,homeftp:0,servebbs:0,dynalias:0,"ham-radio-op":0,saveincloud:{jelastic:0,"nordeste-idc":0},dnsup:0,ownip:0,clickrising:0,gb:0,privatizehealthinsurance:0,seidat:0,ts:0,massivegrid:{paas:{"ny-1":0,"ny-2":0,"sg-1":0,"fr-1":0,"lon-1":0,"lon-2":0}},"vps-host":{jelastic:{njs:0,atl:0,ric:0}},"uni5":0,"in-the-band":0,mydissent:0,schokokeks:0,dnsalias:0,"office-on-the":0,homelinux:0,"from-ny":0,blogdns:0,"is-a-chef":0,"cdn77":{r:0},cloudjiffy:{"west1-us":0,"fra1-de":0},twmail:0,adobeaemcloud:0,"azure-mobile":0,serveblog:0,elastx:{"jls-sto2":0,"jls-sto3":0,"jls-sto1":0},faststacks:0,dattolocal:0,za:0,cloudaccess:0,edgeapp:0,azurestaticapps:{westeurope:0,"westus2":0,"eastus2":0,eastasia:0,centralus:0},"kicks-ass":0,ru:0,homeunix:0,"from-co":0,bplaced:0,podzone:0,azurewebsites:0,nhlfan:0,"reserve-online":0,"in-vpn":0,"cdn77-ssl":0,meinforum:0,"bar1":0,"bar0":0,"bar2":0,rackmaze:0,alwaysdata:0,"from-la":0,jp:0,senseering:0,"t3l3p0rt":0,"knx-server":0,buyshouses:0,"cdn-edges":0,casacam:0,"at-band-camp":0,myspreadshop:0,"gets-it":0,sytes:0,definima:0,"isa-geek":0,redirectme:0,myfritz:0,"scrapper-site":0,supabase:0,cloudapp:0,mydatto:0,boomla:0,"feste-ip":0,blackbaudcdn:0,selfip:0,mymediapc:0,"firewall-gateway":0,"is-a-geek":0,scaleforce:{j:0},moonscale:0,"from-az":0,pgafan:0,"dynv6":0,mysecuritycamera:0,dynu:0,memset:0,srcf:{soc:0,user:0},"eating-organic":0,fastly:{map:0,freetls:0,prod:{a:0,global:0},ssl:{a:0,global:0,b:0}},cloudfront:0,ipifony:0,cloudycluster:0,familyds:0,thruhere:0,yandexcloud:{website:0,storage:0},"in-dsl":0,onavstack:0,barsy:0,serveftp:0,bounceme:0,uk:0,webhop:0,iobb:0,"static-access":0,homeip:0,torproject:{pages:0},in:0,cloudfunctions:0,endofinternet:0,hicam:0,"does-it":0,channelsdvr:{u:0},appudo:0,dynathome:0,kinghost:0,dsmynas:0,cryptonomic:{"*":0},myeffect:0,"broke-it":0,"community-pro":0,bitbridge:0,siteleaf:0,"no-ip":0,tsukaeru:{jelastic:0},flynnhosting:0,ddns:0,"sells-it":0,"now-dns":0,ovh:{webpaas:{"*":0},hosting:{"*":0}},hu:0,debian:0,serveminecraft:0,fastlylb:{map:0},"atlassian-dev":{prod:{cdn:0}},krellian:0,tailscale:{beta:0},vpndns:0,dnsdojo:0,fastblog:0,"square7":0,se:0,dontexist:0},ro:{firm:0,nom:0,arts:0,shop:0,www:0,barsy:0,tm:0,rec:0,nt:0,store:0},mp:{ju:0},bd:{"*":0},be:{kuleuven:{ezproxy:0},webhosting:0,myspreadshop:0,interhostsolutions:{cloud:0},transurl:{"*":0}},bg:{o:0,"1":0,"0":0,"3":0,"2":0,"5":0,"4":0,"7":0,"6":0,"9":0,"8":0,a:0,c:0,b:0,e:0,d:0,g:0,f:0,i:0,h:0,k:0,j:0,m:0,l:0,barsy:0,n:0,q:0,p:0,s:0,r:0,u:0,t:0,w:0,v:0,y:0,x:0,z:0},run:{development:0,code:{"*":0},hs:0,servers:0,repl:0,ravendb:0},ba:{rs:0},bb:{tv:0,biz:0,store:0},ps:{plo:0,sec:0},online:{"eero-stage":0,barsy:0,eero:0},marketing:{from:0,with:0},bo:{wiki:0,tecnologia:0,empresa:0,int:0,indigena:0,noticias:0,agro:0,cooperativa:0,patria:0,democracia:0,revista:0,web:0,tv:0,movimiento:0,gob:0,blog:0,arte:0,musica:0,bolivia:0,medicina:0,ciencia:0,industria:0,politica:0,salud:0,ecologia:0,nombre:0,tksat:0,natural:0,pueblo:0,plurinacional:0,economia:0,transporte:0,academia:0,deporte:0,profesional:0},jp:{fukui:{fukui:0,tsuruga:0,ohi:0,echizen:0,takahama:0,mihama:0,eiheiji:0,sakai:0,ikeda:0,minamiechizen:0,katsuyama:0,obama:0,sabae:0,wakasa:0,ono:0},miyazaki:{nichinan:0,miyazaki:0,takaharu:0,shiiba:0,saito:0,kitakata:0,nobeoka:0,kushima:0,kijo:0,kobayashi:0,takazaki:0,ebino:0,hyuga:0,aya:0,kitaura:0,kitagawa:0,takanabe:0,kunitomi:0,miyakonojo:0,tsuno:0,kadogawa:0,gokase:0,nishimera:0,morotsuka:0,kawaminami:0,shintomi:0,mimata:0},gr:0,saga:{saga:0,kashima:0,hizen:0,nishiarita:0,kouhoku:0,taku:0,tara:0,omachi:0,ogi:0,genkai:0,imari:0,yoshinogari:0,kiyama:0,kyuragi:0,arita:0,ouchi:0,karatsu:0,kitagata:0,tosu:0,kamimine:0,kanzaki:0,ariake:0,shiroishi:0,kitahata:0,fukudomi:0,hamatama:0},"\u6803\u6728":0,"\u798f\u5ca1":0,"\u8328\u57ce":0,"\u5c71\u5f62":0,go:0,"\u79cb\u7530":0,yamaguchi:{iwakuni:0,hagi:0,shimonoseki:0,yuu:0,oshima:0,toyota:0,nagato:0,mitou:0,kudamatsu:0,ube:0,tokuyama:0,hikari:0,abu:0,shunan:0,hofu:0,tabuse:0},hokkaido:{noboribetsu:0,kushiro:0,higashikagura:0,kamikawa:0,bihoro:0,imakane:0,ikeda:0,kayabe:0,oketo:0,hamatonbetsu:0,kembuchi:0,kikonai:0,nanporo:0,kunneppu:0,ebetsu:0,tomari:0,sarufutsu:0,bifuka:0,utashinai:0,nakasatsunai:0,iwanai:0,okoppe:0,niikappu:0,shinshinotsu:0,nishiokoppe:0,obihiro:0,otofuke:0,kimobetsu:0,moseushi:0,kyowa:0,embetsu:0,saroma:0,tsukigata:0,wassamu:0,naie:0,sunagawa:0,biei:0,kamifurano:0,oumu:0,taiki:0,kamisunagawa:0,chitose:0,haboro:0,fukagawa:0,iwamizawa:0,shakotan:0,shikabe:0,tohma:0,kamoenai:0,rebun:0,erimo:0,hokuto:0,higashikawa:0,shiraoi:0,tomakomai:0,aibetsu:0,kamishihoro:0,toya:0,bibai:0,nakatombetsu:0,uryu:0,koshimizu:0,kuriyama:0,toyako:0,ishikari:0,rishiri:0,fukushima:0,nayoro:0,hiroo:0,shibecha:0,hidaka:0,shimamaki:0,furubira:0,esan:0,kutchan:0,mukawa:0,niki:0,eniwa:0,abira:0,urausu:0,abashiri:0,tsubetsu:0,horokanai:0,hokuryu:0,muroran:0,mashike:0,atsuma:0,ozora:0,yakumo:0,toyotomi:0,hakodate:0,nanae:0,kitahiroshima:0,horonobe:0,numata:0,shimizu:0,rishirifuji:0,obira:0,shibetsu:0,shari:0,shikaoi:0,kuromatsunai:0,kitami:0,akabira:0,honbetsu:0,nemuro:0,kiyosato:0,takikawa:0,pippu:0,akkeshi:0,biratori:0,ashibetsu:0,rikubetsu:0,minamifurano:0,takinoue:0,nakagawa:0,matsumae:0,esashi:0,tobetsu:0,teshikaga:0,mikasa:0,rankoshi:0,furano:0,ashoro:0,urakawa:0,mombetsu:0,asahikawa:0,chippubetsu:0,toyoura:0,yoichi:0,shiriuchi:0,sobetsu:0,wakkanai:0,date:0,otoineppu:0,shiranuka:0,otobe:0,shintoku:0,shimokawa:0,otaru:0,takasu:0,assabu:0},sapporo:{"*":0},lg:0,kanagawa:{aikawa:0,zushi:0,miura:0,chigasaki:0,kamakura:0,yamakita:0,tsukui:0,samukawa:0,odawara:0,minamiashigara:0,ebina:0,hakone:0,yokosuka:0,isehara:0,oiso:0,kaisei:0,sagamihara:0,atsugi:0,fujisawa:0,matsuda:0,hadano:0,ayase:0,ninomiya:0,zama:0,oi:0,hiratsuka:0,nakai:0,kiyokawa:0,yugawara:0,yamato:0},kagawa:{tadotsu:0,uchinomi:0,manno:0,tonosho:0,kotohira:0,naoshima:0,marugame:0,higashikagawa:0,kanonji:0,zentsuji:0,ayagawa:0,mitoyo:0,takamatsu:0,utazu:0,sanuki:0},fukuoka:{ukiha:0,hakata:0,yamada:0,saigawa:0,shingu:0,chikuho:0,onojo:0,okawa:0,kurume:0,buzen:0,kurogi:0,toyotsu:0,keisen:0,iizuka:0,kasuya:0,higashi:0,chikushino:0,takata:0,nakagawa:0,fukuchi:0,ashiya:0,tagawa:0,kasuga:0,shonai:0,kaho:0,chikujo:0,sasaguri:0,hisayama:0,toho:0,miyawaka:0,shinyoshitomi:0,mizumaki:0,umi:0,kawara:0,usui:0,miyako:0,chikugo:0,omuta:0,oto:0,chuo:0,nakama:0,sue:0,onga:0,yame:0,yukuhashi:0,tsuiki:0,oki:0,soeda:0,munakata:0,nishi:0,okagaki:0,dazaifu:0,miyama:0,yanagawa:0,tachiarai:0,ogori:0,hirokawa:0,minami:0,inatsuki:0,koga:0,nogata:0,kurate:0,chikuzen:0},"\u5c71\u68a8":0,"\u5927\u5206":0,ishikawa:{anamizu:0,nomi:0,nakanoto:0,hakusan:0,uchinada:0,hakui:0,kawakita:0,shika:0,tsurugi:0,nonoichi:0,nanao:0,kaga:0,komatsu:0,wajima:0,kahoku:0,noto:0,kanazawa:0,tsubata:0,suzu:0},"\u5ca9\u624b":0,"\u5317\u6d77\u9053":0,"\u5bcc\u5c71":0,gifu:{mizunami:0,kani:0,higashishirakawa:0,wanouchi:0,godo:0,hichiso:0,hida:0,yaotsu:0,shirakawa:0,mino:0,kasamatsu:0,ikeda:0,nakatsugawa:0,tomika:0,tarui:0,motosu:0,ginan:0,ena:0,sekigahara:0,mitake:0,ogaki:0,minokamo:0,kakamigahara:0,yoro:0,kitagata:0,gujo:0,yamagata:0,sakahogi:0,anpachi:0,hashima:0,gifu:0,kawaue:0,tajimi:0,seki:0,kasahara:0,toki:0,ibigawa:0,takayama:0},kitakyushu:{"*":0},"\u9752\u68ee":0,kawasaki:{"*":0},"\u6c96\u7e04":0,ed:0,osaka:{kita:0,ibaraki:0,sennan:0,higashiyodogawa:0,kanan:0,kishiwada:0,tondabayashi:0,izumiotsu:0,shijonawate:0,sakai:0,kumatori:0,hirakata:0,toyono:0,daito:0,minoh:0,shimamoto:0,kadoma:0,takaishi:0,yao:0,ikeda:0,sayama:0,osakasayama:0,suita:0,abeno:0,higashisumiyoshi:0,izumi:0,katano:0,settsu:0,izumisano:0,chuo:0,hannan:0,taishi:0,habikino:0,kaizuka:0,nishi:0,toyonaka:0,fujiidera:0,higashiosaka:0,neyagawa:0,takatsuki:0,kashiwara:0,minato:0,misaki:0,moriguchi:0,nose:0,tajiri:0,chihayaakasaka:0,matsubara:0,tadaoka:0,kawachinagano:0},"\u5927\u962a":0,okayama:{ibara:0,kibichuo:0,bizen:0,okayama:0,hayashima:0,kurashiki:0,nagi:0,satosho:0,kumenan:0,kagamino:0,niimi:0,akaiwa:0,yakage:0,setouchi:0,shoo:0,kasaoka:0,tamano:0,nishiawakura:0,wake:0,shinjo:0,asakuchi:0,takahashi:0,maniwa:0,misaki:0,tsuyama:0,soja:0},"\u5175\u5eab":0,fukushima:{mishima:0,ono:0,aizumisato:0,soma:0,shimogo:0,okuma:0,kagamiishi:0,kitakata:0,hirata:0,furudono:0,nango:0,hirono:0,fukushima:0,taishin:0,kunimi:0,kitashiobara:0,higashi:0,izumizaki:0,shirakawa:0,showa:0,tanagura:0,yamatsuri:0,koori:0,otama:0,iwaki:0,asakawa:0,tamakawa:0,miharu:0,kaneyama:0,nishigo:0,futaba:0,yanaizu:0,nishiaizu:0,ishikawa:0,yabuki:0,date:0,kawamata:0,iitate:0,aizuwakamatsu:0,sukagawa:0,namie:0,koriyama:0,tenei:0,omotego:0,hanawa:0,samegawa:0,bandai:0,yugawa:0,aizubange:0,inawashiro:0,yamato:0},kagoshima:{nishinoomote:0,izumi:0,akune:0,kanoya:0,yusui:0,minamitane:0,amami:0,nakatane:0,soo:0,matsumoto:0,kinko:0,tarumizu:0,makurazaki:0,satsumasendai:0,kouyama:0,kawanabe:0,isa:0,kagoshima:0,isen:0,hioki:0},shimane:{okinoshima:0,ohda:0,kakinoki:0,nishinoshima:0,akagi:0,yakumo:0,shimane:0,gotsu:0,yatsuka:0,hikawa:0,hikimi:0,izumo:0,ama:0,misato:0,matsue:0,tsuwano:0,unnan:0,tamayu:0,hamada:0,masuda:0,okuizumo:0,yasugi:0,higashiizumo:0},yamanashi:{doshi:0,yamanakako:0,kosuge:0,"minami-alps":0,narusawa:0,oshino:0,yamanashi:0,hayakawa:0,showa:0,nakamichi:0,minobu:0,tabayama:0,fujikawa:0,koshu:0,nanbu:0,nishikatsura:0,ichikawamisato:0,chuo:0,kai:0,fujikawaguchiko:0,uenohara:0,fuefuki:0,hokuto:0,kofu:0,nirasaki:0,fujiyoshida:0,otsuki:0,tsuru:0},"\u5fb3\u5cf6":0,usercontent:0,ehime:{honai:0,tobe:0,kihoku:0,shikokuchuo:0,yawatahama:0,seiyo:0,kamijima:0,matsuno:0,masaki:0,ainan:0,uchiko:0,uwajima:0,namikata:0,toon:0,saijo:0,ozu:0,niihama:0,kumakogen:0,iyo:0,ikata:0,imabari:0,matsuyama:0},tochigi:{ujiie:0,motegi:0,bato:0,mibu:0,kuroiso:0,ashikaga:0,yaita:0,nishikata:0,oyama:0,tochigi:0,nikko:0,iwafune:0,sakura:0,kanuma:0,nogi:0,ohtawara:0,ohira:0,shioya:0,takanezawa:0,mashiko:0,shimotsuke:0,tsuga:0,moka:0,karasuyama:0,utsunomiya:0,haga:0,nasu:0,kaminokawa:0,nasushiobara:0,sano:0,ichikai:0},shiga:{konan:0,omihachiman:0,takashima:0,torahime:0,higashiomi:0,kosei:0,ritto:0,toyosato:0,yasu:0,nagahama:0,nishiazai:0,koka:0,koto:0,notogawa:0,gamo:0,kusatsu:0,takatsuki:0,aisho:0,maibara:0,hikone:0,ryuoh:0,otsu:0,moriyama:0},"\u798f\u5cf6":0,"\u77f3\u5ddd":0,kyoto:{kita:0,miyazu:0,yawata:0,nakagyo:0,seika:0,oyamazaki:0,kameoka:0,kyotanabe:0,ine:0,muko:0,nagaokakyo:0,kumiyama:0,ayabe:0,joyo:0,kizu:0,maizuru:0,kyotamba:0,minamiyamashiro:0,kamo:0,yamashina:0,kyotango:0,ujitawara:0,fukuchiyama:0,higashiyama:0,wazuka:0,minami:0,uji:0,nantan:0,tanabe:0,sakyo:0,ide:0},"\u5948\u826f":0,okinawa:{yonabaru:0,taketomi:0,nakagusuku:0,kitanakagusuku:0,nakijin:0,tarama:0,ogimi:0,uruma:0,haebaru:0,nago:0,tonaki:0,hirara:0,ginowan:0,tomigusuku:0,izena:0,higashi:0,iheya:0,shimoji:0,urasoe:0,kitadaito:0,nishihara:0,minamidaito:0,onna:0,yonaguni:0,motobu:0,ishikawa:0,kunigami:0,zamami:0,itoman:0,ginoza:0,ishigaki:0,okinawa:0,kumejima:0,kin:0,kadena:0,naha:0,nanjo:0,aguni:0,yaese:0,tokashiki:0,yomitan:0,gushikami:0},"\u4f50\u8cc0":0,yamagata:{takahata:0,shirataka:0,yamanobe:0,nagai:0,iide:0,shonai:0,tozawa:0,tendo:0,ohkura:0,mikawa:0,nakayama:0,oishida:0,kahoku:0,murayama:0,oguni:0,sakata:0,sagae:0,yuza:0,kaneyama:0,obanazawa:0,kawanishi:0,shinjo:0,yamagata:0,yonezawa:0,funagata:0,sakegawa:0,nishikawa:0,oe:0,mamurogawa:0,higashine:0,kaminoyama:0,asahi:0,nanyo:0,tsuruoka:0},iwate:{kawai:0,yamada:0,ichinohe:0,karumai:0,tono:0,mizusawa:0,joboji:0,hirono:0,hanamaki:0,iwaizumi:0,kamaishi:0,tanohata:0,kuzumaki:0,fudai:0,shizukuishi:0,noda:0,oshu:0,ichinoseki:0,kuji:0,fujisawa:0,iwate:0,otsuchi:0,hiraizumi:0,ofunato:0,miyako:0,sumita:0,yahaba:0,kunohe:0,shiwa:0,ninohe:0,morioka:0,kitakami:0,kanegasaki:0,rikuzentakata:0},"\u795e\u5948\u5ddd":0,or:0,ibaraki:{ibaraki:0,tone:0,kasama:0,miho:0,kashima:0,hitachi:0,yawara:0,sakai:0,sakuragawa:0,hitachiomiya:0,ogawa:0,naka:0,ina:0,inashiki:0,koga:0,tsukuba:0,shirosato:0,shimotsuma:0,hitachinaka:0,joso:0,yachiyo:0,hitachiota:0,moriya:0,toride:0,tsuchiura:0,kasumigaura:0,asahi:0,ami:0,iwama:0,itako:0,tokai:0,ushiku:0,sowa:0,daigo:0,mito:0,tomobe:0,suifu:0,bando:0,yamagata:0,omitama:0,takahagi:0,shimodate:0,oarai:0,fujishiro:0,tamatsukuri:0,chikusei:0,namegata:0,ryugasaki:0,kamisu:0,uchihara:0,yuki:0},"\u5343\u8449":0,"\u7fa4\u99ac":0,kumamoto:{uto:0,yatsushiro:0,kikuchi:0,takamori:0,nishihara:0,kumamoto:0,choyo:0,uki:0,gyokuto:0,oguni:0,kamiamakusa:0,yamaga:0,ozu:0,mifune:0,mashiki:0,aso:0,arao:0,nagasu:0,amakusa:0,sumoto:0,minamata:0,yamato:0,minamioguni:0},"\u65b0\u6f5f":0,kobe:{"*":0},aomori:{kuroishi:0,hiranai:0,towada:0,mutsu:0,hirosaki:0,takko:0,itayanagi:0,misawa:0,oirase:0,shingo:0,gonohe:0,tsugaru:0,rokunohe:0,hashikami:0,noheji:0,sannohe:0,owani:0,aomori:0,tsuruta:0,shichinohe:0,hachinohe:0,nakadomari:0},wakayama:{shingu:0,inami:0,shirahama:0,kamitonda:0,kainan:0,arida:0,wakayama:0,kushimoto:0,yuasa:0,hirogawa:0,aridagawa:0,kimino:0,kudoyama:0,hidaka:0,nachikatsuura:0,koya:0,katsuragi:0,kitayama:0,iwade:0,mihama:0,misato:0,yura:0,kinokawa:0,kozagawa:0,gobo:0,koza:0,tanabe:0,taiji:0,hashimoto:0},tottori:{misasa:0,kotoura:0,koge:0,hino:0,wakasa:0,sakaiminato:0,nichinan:0,nanbu:0,kawahara:0,chizu:0,yazu:0,tottori:0,yonago:0},ad:0,"\u5bae\u57ce":0,"\u4e09\u91cd":0,nagoya:{"*":0},"\u5e83\u5cf6":0,aichi:{ichinomiya:0,kasugai:0,takahama:0,anjo:0,iwakura:0,gamagori:0,kiyosu:0,fuso:0,shitara:0,higashiura:0,hazu:0,toyokawa:0,chiryu:0,shikatsu:0,kanie:0,toyone:0,nisshin:0,shinshiro:0,yatomi:0,tobishima:0,nishio:0,isshiki:0,kira:0,miyoshi:0,handa:0,konan:0,ama:0,tokai:0,kariya:0,asuke:0,mihama:0,togo:0,inuyama:0,okazaki:0,tokoname:0,toei:0,toyoake:0,chita:0,aisai:0,kota:0,oguchi:0,tsushima:0,toyohashi:0,komaki:0,seto:0,toyota:0,owariasahi:0,tahara:0,hekinan:0,oharu:0,inazawa:0,obu:0},"\u6771\u4eac":0,"\u6ecb\u8cc0":0,"\u9ce5\u53d6":0,hyogo:{sasayama:0,amagasaki:0,ono:0,kakogawa:0,goshiki:0,sanda:0,tatsuno:0,asago:0,sannan:0,sayo:0,kamikawa:0,awaji:0,ichikawa:0,aogaki:0,nishiwaki:0,yokawa:0,shinonsen:0,ashiya:0,himeji:0,kasuga:0,fukusaki:0,taka:0,yashiro:0,inagawa:0,yabu:0,miki:0,akashi:0,yoka:0,takarazuka:0,taishi:0,nishinomiya:0,kamigori:0,tamba:0,toyooka:0,takino:0,kasai:0,harima:0,minamiawaji:0,sumoto:0,ako:0,aioi:0,itami:0,takasago:0,shiso:0,shingu:0,kawanishi:0},"\u611b\u77e5":0,"\u5c90\u961c":0,"\u5cf6\u6839":0,tokyo:{kita:0,machida:0,kokubunji:0,kiyose:0,hinode:0,tachikawa:0,okutama:0,kunitachi:0,minato:0,setagaya:0,ogasawara:0,aogashima:0,inagi:0,komae:0,bunkyo:0,shinjuku:0,suginami:0,tama:0,musashino:0,hachioji:0,edogawa:0,chiyoda:0,musashimurayama:0,hino:0,koganei:0,kodaira:0,arakawa:0,kouzushima:0,ome:0,chuo:0,hachijo:0,katsushika:0,mitaka:0,adachi:0,koto:0,hamura:0,itabashi:0,nerima:0,chofu:0,higashimurayama:0,meguro:0,hinohara:0,shinagawa:0,taito:0,toshima:0,shibuya:0,sumida:0,mizuho:0,fussa:0,akiruno:0,higashikurume:0,fuchu:0,nakano:0,akishima:0,oshima:0,higashiyamato:0,ota:0},toyama:{imizu:0,yamada:0,kurobe:0,unazuki:0,nanto:0,inami:0,tonami:0,uozu:0,taira:0,johana:0,oyabe:0,kamiichi:0,fukumitsu:0,asahi:0,nakaniikawa:0,takaoka:0,toga:0,tateyama:0,toyama:0,fuchu:0,funahashi:0,nyuzen:0,himi:0,namerikawa:0},hiroshima:{shinichi:0,hatsukaichi:0,osakikamijima:0,etajima:0,higashihiroshima:0,hongo:0,naka:0,saka:0,jinsekikogen:0,takehara:0,kumano:0,kui:0,shobara:0,otake:0,asaminami:0,fukuyama:0,mihara:0,seranishi:0,kaita:0,kure:0,fuchu:0,daiwa:0,sera:0,miyoshi:0,onomichi:0},"\u9999\u5ddd":0,saitama:{okegawa:0,satte:0,hatogaya:0,yashio:0,fujimino:0,kuki:0,misato:0,yono:0,iruma:0,toda:0,soka:0,yoshida:0,arakawa:0,tsurugashima:0,kamikawa:0,kamiizumi:0,fujimi:0,ina:0,saitama:0,ogose:0,kounosu:0,shiki:0,kumagaya:0,chichibu:0,kitamoto:0,honjo:0,hatoyama:0,koshigaya:0,hidaka:0,otaki:0,sayama:0,minano:0,ranzan:0,namegawa:0,miyashiro:0,higashichichibu:0,hasuda:0,yokoze:0,ogawa:0,omiya:0,yoshikawa:0,warabi:0,matsubushi:0,kawagoe:0,kamisato:0,niiza:0,ogano:0,kawaguchi:0,yoshimi:0,tokigawa:0,yorii:0,moroyama:0,shiraoka:0,nagatoro:0,fukaya:0,kazo:0,hanno:0,urawa:0,asaka:0,sakado:0,tokorozawa:0,hanyu:0,ryokami:0,sugito:0,higashimatsuyama:0,iwatsuki:0,miyoshi:0,kasukabe:0,kawajima:0},shizuoka:{ito:0,kikugawa:0,higashiizu:0,nishiizu:0,shizuoka:0,izunokuni:0,yoshida:0,matsuzaki:0,shimoda:0,minamiizu:0,mishima:0,hamamatsu:0,kawazu:0,shimada:0,izu:0,fukuroi:0,susono:0,shimizu:0,makinohara:0,kannami:0,fujikawa:0,fujinomiya:0,iwata:0,fuji:0,arai:0,omaezaki:0,kawanehon:0,numazu:0,fujieda:0,kakegawa:0,yaizu:0,atami:0,morimachi:0,kosai:0,gotemba:0,haibara:0},akita:{kyowa:0,noshiro:0,kamioka:0,yokote:0,gojome:0,higashinaruse:0,akita:0,hachirogata:0,fujisato:0,mitane:0,daisen:0,kamikoani:0,yurihonjo:0,ikawa:0,moriyoshi:0,honjo:0,kazuno:0,semboku:0,nikaho:0,honjyo:0,odate:0,kitaakita:0,misato:0,katagami:0,oga:0,ogata:0,happou:0,kosaka:0},yokohama:{"*":0},"\u5ca1\u5c71":0,tokushima:{shishikui:0,matsushige:0,nakagawa:0,ichiba:0,komatsushima:0,aizumi:0,mima:0,minami:0,kainan:0,sanagochi:0,wajiki:0,anan:0,itano:0,tokushima:0,naruto:0,mugi:0,miyoshi:0},"\u611b\u5a9b":0,"\u9577\u91ce":0,"\u798f\u4e95":0,mie:{kumano:0,kameyama:0,kiwa:0,nabari:0,tado:0,toba:0,misugi:0,yokkaichi:0,tamaki:0,matsusaka:0,watarai:0,kiho:0,shima:0,inabe:0,suzuka:0,udono:0,taki:0,tsu:0,asahi:0,taiki:0,kawagoe:0,komono:0,kuwana:0,mihama:0,ureshino:0,kisosaki:0,miyama:0,minamiise:0,meiwa:0,ise:0},ne:{aseinet:{user:0},gehirn:0},chiba:{kimitsu:0,ichinomiya:0,nagara:0,kozaki:0,katori:0,futtsu:0,abiko:0,sosa:0,mutsuzawa:0,matsudo:0,shiroi:0,kisarazu:0,omigawa:0,katsuura:0,urayasu:0,onjuku:0,chosei:0,otaki:0,yokaichiba:0,togane:0,tomisato:0,chuo:0,oamishirasato:0,asahi:0,funabashi:0,chonan:0,kamogawa:0,noda:0,ichikawa:0,yachiyo:0,choshi:0,shisui:0,narita:0,kujukuri:0,kashiwa:0,yachimata:0,mihama:0,shimofusa:0,isumi:0,yotsukaido:0,hanamigawa:0,kyonan:0,mobara:0,narashino:0,kamagaya:0,tateyama:0,inzai:0,yokoshibahikari:0,ichihara:0,sakura:0,tohnosho:0,nagareyama:0,minamiboso:0,shirako:0,sodegaura:0,midori:0,tako:0,sakae:0},"\u548c\u6b4c\u5c71":0,"\u57fc\u7389":0,nara:{kawai:0,kawanishi:0,takatori:0,yamatotakada:0,yamatokoriyama:0,tawaramoto:0,kurotaki:0,kamikitayama:0,gose:0,tenri:0,oyodo:0,oji:0,ando:0,mitsue:0,ikaruga:0,kawakami:0,sakurai:0,nara:0,katsuragi:0,ouda:0,kashihara:0,kanmaki:0,shimoichi:0,kashiba:0,uda:0,tenkawa:0,shinjo:0,koryo:0,shimokitayama:0,yamazoe:0,miyake:0,soni:0,yoshino:0,higashiyoshino:0,ikoma:0,sango:0,nosegawa:0,heguri:0},"\u9759\u5ca1":0,miyagi:{zao:0,osaki:0,ogawara:0,matsushima:0,shibata:0,wakuya:0,onagawa:0,shikama:0,watari:0,yamamoto:0,higashimatsushima:0,tagajo:0,taiwa:0,marumori:0,iwanuma:0,furukawa:0,kakuda:0,murata:0,shichikashuku:0,semine:0,ohira:0,minamisanriku:0,ishinomaki:0,natori:0,kami:0,tomiya:0,misato:0,rifu:0,shiroishi:0,shiogama:0,kawasaki:0,tome:0},"\u4eac\u90fd":0,"\u5c71\u53e3":0,"\u9577\u5d0e":0,"\u9e7f\u5150\u5cf6":0,gunma:{higashiagatsuma:0,itakura:0,tamamura:0,takasaki:0,tomioka:0,tsumagoi:0,shimonita:0,tatebayashi:0,kanra:0,showa:0,maebashi:0,shinto:0,oizumi:0,chiyoda:0,nanmoku:0,kiryu:0,minakami:0,ota:0,shibukawa:0,kawaba:0,fujioka:0,takayama:0,kusatsu:0,ora:0,tsukiyono:0,katashina:0,annaka:0,meiwa:0,ueno:0,yoshioka:0,kanna:0,numata:0,midori:0,naganohara:0,isesaki:0,nakanojo:0},nagasaki:{hasami:0,togitsu:0,oseto:0,shimabara:0,shinkamigoto:0,matsuura:0,hirado:0,unzen:0,kuchinotsu:0,chijiwa:0,futsu:0,omura:0,goto:0,seihi:0,sasebo:0,kawatana:0,iki:0,obama:0,nagasaki:0,saikai:0,isahaya:0,tsushima:0},"\u9ad8\u77e5":0,"\u718a\u672c":0,nagano:{matsukawa:0,sakaki:0,komoro:0,nagano:0,kisofukushima:0,miyada:0,shinanomachi:0,hara:0,matsumoto:0,agematsu:0,iida:0,tatsuno:0,azumino:0,mochizuki:0,iizuna:0,ogawa:0,fujimi:0,ina:0,obuse:0,nakano:0,nozawaonsen:0,ookuwa:0,yasuoka:0,nakagawa:0,ikusaka:0,takamori:0,kawakami:0,minamiaiki:0,otaki:0,ikeda:0,yamanouchi:0,omachi:0,saku:0,togura:0,suwa:0,asahi:0,aoki:0,chikuma:0,karuizawa:0,takagi:0,suzaka:0,kiso:0,nagawa:0,nagiso:0,okaya:0,togakushi:0,achi:0,komagane:0,chikuhoku:0,yamagata:0,chino:0,hiraya:0,wada:0,minamiminowa:0,minamimaki:0,tateshina:0,miyota:0,minowa:0,kitaaiki:0,otari:0,iiyama:0,ooshika:0,yasaka:0,shiojiri:0,hakuba:0,tomi:0,miasa:0,omi:0,shimosuwa:0,iijima:0,anan:0,ueda:0,sakuho:0,sakae:0,takayama:0},oita:{beppu:0,bungoono:0,usa:0,usuki:0,hasama:0,hiji:0,kamitsue:0,himeshima:0,bungotakada:0,oita:0,hita:0,kokonoe:0,taketa:0,kuju:0,saiki:0,yufu:0,kunisaki:0,kusu:0,tsukumi:0},sendai:{"*":0},"\u5bae\u5d0e":0,niigata:{joetsu:0,sanjo:0,seiro:0,agano:0,itoigawa:0,tochio:0,izumozaki:0,ojiya:0,muika:0,uonuma:0,sekikawa:0,nagaoka:0,tokamachi:0,tsunan:0,yoita:0,yahiko:0,yuzawa:0,mitsuke:0,kashiwazaki:0,murakami:0,myoko:0,omi:0,kamo:0,sado:0,tsubame:0,minamiuonuma:0,shibata:0,tainai:0,kariwa:0,gosen:0,aga:0,seirou:0,tagami:0,niigata:0},kochi:{umaji:0,nankoku:0,sakawa:0,toyo:0,okawa:0,ino:0,susaki:0,tosa:0,kitagawa:0,muroto:0,nahari:0,yasuda:0,nishitosa:0,hidaka:0,otoyo:0,tsuno:0,kagami:0,tosashimizu:0,nakamura:0,ochi:0,geisei:0,kami:0,mihara:0,kochi:0,higashitsuno:0,sukumo:0,motoyama:0,niyodogawa:0,aki:0,otsuki:0,yusuhara:0}},bi:{or:0},bj:{barreau:0,asso:0,gouv:0},ma:{press:0},jm:{"*":0},host:{myfast:0,tempurl:0,mircloud:0,fastvps:0,pcloud:0,cloudaccess:0,jele:0,freesite:0,wpmudev:0,half:0},jo:{sch:0,name:0},ws:{"cloud66":0,mypets:0,dyndns:0,advisor:{"*":0}},pub:{barsy:0},br:{taxi:0,feira:0,cuiaba:0,riobranco:0,saogonca:0,radio:0,anani:0,adv:0,vet:0,imb:0,tv:0,blog:0,curitiba:0,adm:0,jab:0,tc:0,bio:0,coop:0,far:0,psc:0,bib:0,aparecida:0,rec:0,not:0,geo:0,zlg:0,boavista:0,niteroi:0,goiania:0,vlog:0,trd:0,ribeirao:0,campinagrande:0,recife:0,cri:0,wiki:0,arq:0,des:0,art:0,londrina:0,tec:0,seg:0,dev:0,odo:0,pvh:0,caxias:0,contagem:0,mat:0,fot:0,cnt:0,abc:0,mus:0,esp:0,rep:0,aju:0,foz:0,cng:0,santoandre:0,gov:{ac:0,am:0,al:0,ce:0,ap:0,go:0,es:0,pr:0,rr:0,rs:0,pb:0,to:0,pa:0,pe:0,rn:0,pi:0,rj:0,ba:0,df:0,mg:0,ro:0,ma:0,sp:0,mt:0,ms:0,sc:0,se:0},emp:0,med:0,jor:0,jampa:0,leg:{ac:0,am:0,al:0,ce:0,ap:0,go:0,es:0,pr:0,rr:0,rs:0,pb:0,to:0,pa:0,pe:0,rn:0,pi:0,rj:0,ba:0,df:0,mg:0,ro:0,ma:0,sp:0,mt:0,ms:0,sc:0,se:0},eco:0,ecn:0,tur:0,ntr:0,lel:0,ggf:0,barueri:0,fortal:0,ato:0,coz:0,maringa:0,etc:0,fnd:0,srv:0,santamaria:0,eti:0,com:{virtualcloud:{scale:{users:0}}},ppg:0,app:0,"9guacu":0,ong:0,riopreto:0,vix:0,poa:0,sorocaba:0,log:0,teo:0,bmd:0,qsl:0,jus:0,udi:0,b:0,slz:0,maceio:0,jdf:0,det:0,joinville:0,cim:0,bhz:0,mp:0,saobernardo:0,slg:0,def:0,salvador:0,nom:{"*":0},pro:0,am:0,rio:0,psi:0,sampa:0,ind:0,inf:0,gru:0,enf:0,eng:0,tmp:0,morena:0,palmas:0,floripa:0,manaus:0,campinas:0,sjc:0,fm:0,bsb:0,osasco:0,"g12":0,natal:0,fst:0,belem:0,the:0,flog:0,agr:0,macapa:0},bs:{we:0},news:{noticeable:0},by:{of:0,mycloud:0,mediatech:0},bz:{gsj:0,za:0},faith:{ybo:0},om:{med:0,museum:0,pro:0},ax:{be:0,mc:0,us:0,cat:0,gg:0,xy:0,eu:0,es:0},ua:{ck:0,uzhgorod:0,kh:0,cn:0,khmelnitskiy:0,chernihiv:0,cc:0,zaporizhzhia:0,lv:0,rivne:0,vn:0,ternopil:0,zhitomir:0,donetsk:0,cx:0,km:0,in:0,zt:0,crimea:0,inf:0,zp:0,cv:0,if:0,lg:0,rv:0,volyn:0,kiev:0,kr:0,dnipropetrovsk:0,kirovograd:0,cherkassy:0,vinnica:0,chernigov:0,kyiv:0,lt:0,kharkov:0,khmelnytskyi:0,dnepropetrovsk:0,chernivtsi:0,lutsk:0,pl:0,odessa:0,dn:0,rovno:0,yalta:0,kherson:0,lugansk:0,sumy:0,cherkasy:0,krym:0,zaporizhzhe:0,pp:0,lviv:0,zhytomyr:0,nikolaev:0,biz:0,poltava:0,chernovtsy:0,kv:0,cr:0,dp:0,odesa:0,te:0,uz:0,sevastopol:0,od:0,v:0,kharkiv:0,mk:0,ks:0,mykolaiv:0,sebastopol:0,vinnytsia:0,"ivano-frankivsk":0,sm:0,ltd:0,sb:0},museum:{kunstsammlung:0,arteducation:0,resistance:0,beeldengeluid:0,mansion:0,cincinnati:0,mill:0,settlement:0,children:0,cody:0,trolley:0,birthplace:0,paris:0,badajoz:0,environment:0,heimatunduhren:0,maryland:0,southwest:0,scienceandindustry:0,sherbrooke:0,artcenter:0,geology:0,saskatchewan:0,miners:0,stateofdelaware:0,school:0,norfolk:0,cranbrook:0,airguard:0,hawaii:0,dinosaur:0,newmexico:0,settlers:0,harvestcelebration:0,force:0,louvre:0,corvette:0,meeres:0,histoire:0,figueres:0,cyber:0,design:0,quebec:0,countryestate:0,nyny:0,copenhagen:0,jamison:0,whaling:0,clock:0,panama:0,schlesisches:0,indian:0,decorativearts:0,public:0,telekommunikation:0,brunel:0,contemporaryart:0,newyork:0,anthropology:0,nationalheritage:0,baseball:0,berkeley:0,gorge:0,iraq:0,bible:0,sanfrancisco:0,naval:0,saintlouis:0,alaska:0,muenster:0,finearts:0,military:0,montreal:0,exeter:0,jewishart:0,family:0,muenchen:0,nebraska:0,colonialwilliamsburg:0,county:0,durham:0,archaeological:0,svizzera:0,hellas:0,stjohn:0,environmentalconservation:0,gateway:0,usa:0,annefrank:0,anthro:0,geelvinck:0,frog:0,music:0,indiana:0,landes:0,glas:0,naturalsciences:0,oregon:0,missile:0,glass:0,berlin:0,schweiz:0,sologne:0,eisenbahn:0,science:0,isleofman:0,stadt:0,can:0,ulm:0,history:0,spy:0,imageandsound:0,finland:0,estate:0,british:0,station:0,garden:0,educational:0,satx:0,torino:0,williamsburg:0,birdart:0,nyc:0,usculture:0,civilisation:0,rockart:0,niepce:0,farm:0,paleo:0,collection:0,bergbau:0,soundandvision:0,philadelphiaarea:0,burghof:0,historicalsociety:0,chiropractic:0,asmatart:0,coal:0,encyclopedic:0,ambulance:0,archaeology:0,amber:0,uscountryestate:0,epilepsy:0,washingtondc:0,cambridge:0,london:0,costume:0,labor:0,plantation:0,museumcenter:0,brandywinevalley:0,wales:0,texas:0,dolls:0,childrensgarden:0,entomology:0,horology:0,naturalhistorymuseum:0,oxford:0,moma:0,chicago:0,association:0,koebenhavn:0,university:0,missoula:0,detroit:0,newport:0,bonn:0,otago:0,square:0,england:0,house:0,society:0,indianapolis:0,portland:0,agriculture:0,usgarden:0,computerhistory:0,canada:0,living:0,hembygdsforbund:0,space:0,seaport:0,casadelamoneda:0,health:0,midatlantic:0,foundation:0,fribourg:0,zoological:0,halloffame:0,luzern:0,california:0,york:0,freemasonry:0,sciencehistory:0,ethnology:0,brasil:0,bushey:0,artdeco:0,florida:0,suisse:0,bilbao:0,farmequipment:0,american:0,flanders:0,freiburg:0,castle:0,pilots:0,austin:0,mad:0,botany:0,museet:0,americana:0,sibenik:0,preservation:0,nationalfirearms:0,lucerne:0,convent:0,antiques:0,capebreton:0,pubol:0,marylhurst:0,presidio:0,muncie:0,volkenkunde:0,mining:0,shell:0,scienceandhistory:0,pittsburgh:0,academy:0,moscow:0,handson:0,broadcast:0,western:0,automotive:0,television:0,eastcoast:0,brussel:0,tree:0,project:0,sweden:0,historical:0,historichouses:0,russia:0,lajolla:0,interactive:0,and:0,palace:0,coldwar:0,madrid:0,boston:0,modern:0,"\u05d9\u05e8\u05d5\u05e9\u05dc\u05d9\u05dd":0,historyofscience:0,usdecorativearts:0,kunst:0,rochester:0,dallas:0,scotland:0,sciences:0,labour:0,online:0,judaica:0,santafe:0,starnberg:0,guernsey:0,wallonie:0,koeln:0,crafts:0,lewismiller:0,egyptian:0,gallery:0,bauern:0,surgeonshall:0,artgallery:0,medical:0,newjersey:0,timekeeping:0,"correios-e-telecomunica\u00e7\u00f5es":0,undersea:0,lancashire:0,surrey:0,contemporary:0,manchester:0,medizinhistorisches:0,elburg:0,basel:0,minnesota:0,filatelia:0,eastafrica:0,larsson:0,chesapeakebay:0,cartoonart:0,maritimo:0,palmsprings:0,photography:0,salvadordali:0,maritime:0,baghdad:0,portlligat:0,silk:0,botanical:0,graz:0,denmark:0,coastaldefence:0,sciencesnaturelles:0,celtic:0,architecture:0,gemological:0,steam:0,motorcycle:0,art:0,beauxarts:0,intelligence:0,national:0,culture:0,computer:0,artanddesign:0,karate:0,farmers:0,state:0,embroidery:0,"\u0438\u043a\u043e\u043c":0,discovery:0,"l\u00e4ns":0,losangeles:0,iron:0,nature:0,castres:0,trustee:0,aquarium:0,grandrapids:0,cymru:0,jfk:0,newhampshire:0,fineart:0,botanicgarden:0,stuttgart:0,bristol:0,railway:0,baltimore:0,naturhistorisches:0,community:0,village:0,naumburg:0,arts:0,helsinki:0,mesaverde:0,workshop:0,axis:0,topology:0,giessen:0,circus:0,franziskaner:0,civilwar:0,kids:0,southcarolina:0,hamburg:0,aviation:0,atlanta:0,nrw:0,plants:0,georgia:0,tank:0,sandiego:0,bill:0,oceanographique:0,air:0,manx:0,newspaper:0,britishcolumbia:0,"comunica\u00e7\u00f5es":0,openair:0,livinghistory:0,juedisches:0,baths:0,ushuaia:0,technology:0,yosemite:0,memorial:0,farmstead:0,media:0,textile:0,schoenbrunn:0,mallorca:0,windmill:0,youth:0,localhistory:0,columbia:0,oceanographic:0,bale:0,monticello:0,cadaques:0,portal:0,assisi:0,stalbans:0,brussels:0,chattanooga:0,theater:0,center:0,paderborn:0,database:0,fortworth:0,americanart:0,westfalen:0,roma:0,alabama:0,cheltenham:0,oregontrail:0,money:0,sciencecenters:0,tcm:0,touch:0,botanicalgarden:0,assassination:0,"science-fiction":0,pharmacy:0,santabarbara:0,jefferson:0,exhibition:0,sydney:0,ski:0,versailles:0,viking:0,australia:0,nativeamerican:0,delmenhorst:0,francaise:0,utah:0,virginia:0,neues:0,cultural:0,press:0,railroad:0,furniture:0,lincoln:0,mansions:0,sciencecenter:0,journalism:0,communications:0,mulhouse:0,judygarland:0,elvendrell:0,uslivinghistory:0,vantaa:0,artsandcrafts:0,creation:0,pacific:0,chocolate:0,michigan:0,kunstunddesign:0,savannahga:0,trust:0,jewelry:0,ddr:0,delaware:0,vlaanderen:0,luxembourg:0,santacruz:0,civilization:0,coloradoplateau:0,stockholm:0,riodejaneiro:0,columbus:0,natuurwetenschappen:0,illustration:0,uvic:0,virtuel:0,"posts-and-telecommunications":0,loyalist:0,bahn:0,wildlife:0,plaza:0,historisches:0,carrier:0,indianmarket:0,schokoladen:0,"watch-and-clock":0,clinton:0,childrens:0,communication:0,essex:0,bruxelles:0,zoology:0,amsterdam:0,jerusalem:0,fundacio:0,ontario:0,philadelphia:0,stpetersburg:0,skole:0,heritage:0,valley:0,war:0,north:0,linz:0,jewish:0,bus:0,watchandclock:0,ushistory:0,arboretum:0,bern:0,omaha:0,naturalhistory:0,salzburg:0,marburg:0,cinema:0,donostia:0,uhren:0,planetarium:0,salem:0,christiansburg:0,research:0,education:0,film:0,culturalcenter:0,americanantiques:0,historisch:0,humanities:0,corporation:0,virtual:0,field:0,pasadena:0,transport:0,museumvereniging:0,fortmissoula:0,juif:0,depot:0,bellevue:0,phoenix:0,monmouth:0,usantiques:0,dali:0,steiermark:0,town:0,yorkshire:0,astronomy:0,usarts:0,building:0,philately:0,barcelona:0,lans:0,time:0,frankfurt:0,karikatur:0},pl:{shop:0,sosnowiec:0,kepno:0,boleslawiec:0,gdynia:0,gda:0,homesklep:0,turek:0,wolomin:0,glogow:0,lomza:0,priv:0,elk:0,kutno:0,rybnik:0,pila:0,tm:0,ilawa:0,mielec:0,mail:0,powiat:0,kalisz:0,nom:0,rel:0,"babia-gora":0,klodzko:0,mielno:0,biz:0,tourism:0,lowicz:0,"kazimierz-dolny":0,pomorskie:0,warmia:0,przeworsk:0,polkowice:0,ketrzyn:0,"rawa-maz":0,beskidy:0,cieszyn:0,mazowsze:0,warszawa:0,ostroda:0,nieruchomosci:0,art:0,lubartow:0,sex:0,targi:0,kartuzy:0,swiebodzin:0,zgorzelec:0,lapy:0,nowaruda:0,zarow:0,szczecin:0,miasta:0,dlugoleka:0,zgora:0,slask:0,pisz:0,swidnik:0,gov:{wif:0,wzmiuw:0,psp:0,oum:0,ug:0,is:0,wiih:0,wskr:0,wiw:0,kwp:0,wios:0,ic:0,zp:0,rzgw:0,umig:0,piw:0,mup:0,pinb:0,ugim:0,pa:0,sko:0,uzs:0,po:0,griw:0,witd:0,kmpsp:0,wuoz:0,upow:0,sdn:0,uppo:0,kwpsp:0,wsa:0,kppsp:0,pup:0,ap:0,sr:0,uw:0,konsulat:0,us:0,psse:0,um:0,starostwo:0,mw:0,oirm:0,so:0,winb:0,sa:0},olsztyn:0,med:0,czest:0,lebork:0,wloclawek:0,pulawy:0,sklep:0,ustka:0,aid:0,sanok:0,suwalki:0,sejny:0,lukow:0,atm:0,tarnobrzeg:0,zachpomor:0,myspreadshop:0,turystyka:0,olecko:0,krasnik:0,agro:0,sos:0,elblag:0,bytom:0,wodzislaw:0,malbork:0,nysa:0,wegrow:0,mazury:0,podlasie:0,konin:0,bielawa:0,jaworzno:0,naklo:0,beep:0,pc:0,starachowice:0,swidnica:0,waw:0,kaszuby:0,jgora:0,czeladz:0,gniezno:0,lubin:0,stargard:0,bialystok:0,opole:0,kobierzyce:0,katowice:0,lublin:0,tychy:0,bialowieza:0,gorlice:0,poniatowa:0,gliwice:0,slupsk:0,walbrzych:0,skoczow:0,radom:0,malopolska:0,podhale:0,wlocl:0,realestate:0,wroclaw:0,"jelenia-gora":0,krakow:0,tgory:0,pomorze:0,"stalowa-wola":0,prochowice:0,grajewo:0,pruszkow:0,karpacz:0,limanowa:0,wroc:0,kolobrzeg:0,olkusz:0,sdscloud:0,rzeszow:0,leczna:0,media:0,travel:0,unicloud:0,bieszczady:0,opoczno:0,auto:0,konskowola:0,sopot:0,"ecommerce-shop":0,swinoujscie:0,wielun:0,lezajsk:0,gmina:0,szczytno:0,ostroleka:0,legnica:0,augustow:0,ostrowiec:0,zagan:0,poznan:0,gdansk:0,szkola:0,bydgoszcz:0,shoparena:0,bedzin:0,mragowo:0,olawa:0,ostrowwlkp:0,zakopane:0,gsm:0},menu:{barsy:0},com:{gr:0,"try-snowplow":0,"is-a-financialadvisor":0,"dyndns-free":0,xnbay:{"u2":0,"u2-local":0},yolasite:0,elasticbeanstalk:{"ap-south-1":0,"ap-northeast-3":0,"us-east-1":0,"ap-northeast-1":0,"ap-southeast-2":0,"eu-west-1":0,"ap-southeast-1":0,"eu-west-2":0,"ca-central-1":0,"ap-northeast-2":0,"us-west-2":0,"us-gov-west-1":0,"us-west-1":0,"eu-central-1":0,"sa-east-1":0,"us-east-2":0,"eu-west-3":0},amscompute:0,ditchyourip:0,"is-a-conservative":0,betainabox:0,"from-fl":0,"is-into-cars":0,observableusercontent:{static:0},giize:0,myshopblocks:0,za:0,"from-ks":0,"est-a-la-maison":0,"from-ky":0,"is-a-nascarfan":0,onrender:0,bplaced:0,myqnapcloud:0,servequake:0,framercanvas:0,stufftoread:0,"is-an-engineer":0,pagespeedmobilizer:0,qbuser:0,scrysec:0,"from-tn":0,"is-a-landscaper":0,"customer-oci":{oci:{"*":0},ocp:{"*":0},ocs:{"*":0},"*":0},mex:0,builtwithdark:0,fldrv:0,dattorelay:0,thingdustdata:0,googlecode:0,barsycenter:0,africa:0,meteorapp:{eu:0},bloxcms:0,servebeer:0,mydatto:0,"from-mi":0,"is-a-geek":0,wpmucdn:0,"is-a-guru":0,jdevcloud:0,datadetect:{demo:0,instance:0},appspaceusercontent:0,mydobiss:0,paywhirl:{"*":0},"dyndns-at-work":0,"from-mo":0,lmpm:{app:0},authgearapps:0,"teaches-yoga":0,"on-aptible":0,linodeobjects:{"*":0},evennode:{"us-4":0,"us-3":0,"us-2":0,"us-1":0,"eu-4":0,"eu-1":0,"eu-3":0,"eu-2":0},issmarterthanyou:0,"point2this":0,"is-a-hard-worker":0,"from-wv":0,"is-an-entertainer":0,"from-wy":0,"is-not-certified":0,blogsyte:0,"from-wa":0,withyoutube:0,"from-wi":0,"is-a-musician":0,"from-pa":0,"alpha-myqnapcloud":0,ddnsfree:0,googleapis:0,dsmynas:0,"from-pr":0,myshopify:0,"is-a-personaltrainer":0,boutir:0,"is-certified":0,gentapps:0,"is-a-doctor":0,wphostedmail:0,"dyndns-work":0,sa:0,"fastly-terrarium":0,dynalias:0,dattoweb:0,"is-slick":0,"saves-the-whales":0,forgeblocks:0,dopaas:0,doomdns:0,"freebox-os":0,orsites:0,digitaloceanspaces:{"*":0},"bounty-full":{alpha:0,beta:0},awsmppl:0,"dyndns-server":0,"fastvps-server":0,appspot:{r:{"*":0}},homesecuritypc:0,gotdns:0,"is-an-anarchist":0,homelinux:0,"is-an-accountant":0,"from-nv":0,"stackhero-network":0,"dyndns-home":0,"from-nm":0,"from-nh":0,"from-nj":0,"from-nd":0,"from-ne":0,adobeaemcloud:{dev:{"*":0}},cloudcontrolled:0,"from-nc":0,clicketcloud:0,barsyonline:0,quicksytes:0,eu:0,"is-a-blogger":0,"from-sd":0,ru:0,writesthisblog:0,servepics:0,"balena-devices":0,kasserver:0,githubusercontent:0,cafjs:0,"is-into-cartoons":0,"is-a-socialist":0,hotelwithflight:0,render:{app:0},sinaapp:0,kilatiron:0,"est-le-patron":0,homesecuritymac:0,stdlib:{api:0},dynns:0,firebaseapp:0,"from-ar":0,"from-al":0,serveexchange:0,"from-ak":0,mysecuritycamera:0,hidora:0,"mythic-beasts":{customer:0,oncilla:0,fentiger:0,vs:0,ocelot:0,lynx:0,x:0,caracal:0,yali:0,onza:0,sphinx:0},impertrixcdn:0,familyds:0,amazonaws:{"us-east-1":{dualstack:{"s3":0}},"us-east-2":{"s3":0,"s3-website":0,dualstack:{"s3":0}},"s3-ca-central-1":0,"s3-website-us-east-1":0,"s3-external-1":0,"s3-website-ap-southeast-1":0,"s3-website-ap-southeast-2":0,elb:{"*":0},"s3-us-west-1":0,"s3-ap-northeast-2":0,"s3-ap-northeast-1":0,"s3-ap-southeast-1":0,"s3-ap-southeast-2":0,"eu-west-2":{"s3":0,"s3-website":0,dualstack:{"s3":0}},"ap-northeast-2":{"s3":0,"s3-website":0,dualstack:{"s3":0}},"s3-fips-us-gov-west-1":0,"ap-northeast-1":{dualstack:{"s3":0}},"s3-eu-central-1":0,"s3-us-gov-west-1":0,"s3-eu-west-1":0,"s3-eu-west-2":0,"s3-eu-west-3":0,"s3-website-sa-east-1":0,"ap-southeast-1":{dualstack:{"s3":0}},"s3-us-east-2":0,"ap-southeast-2":{dualstack:{"s3":0}},"s3-website-us-west-2":0,"s3-ap-south-1":0,"ap-south-1":{"s3":0,"s3-website":0,dualstack:{"s3":0}},"eu-west-1":{dualstack:{"s3":0}},"s3-website-ap-northeast-1":0,"eu-west-3":{"s3":0,"s3-website":0,dualstack:{"s3":0}},compute:{"*":0},"s3-sa-east-1":0,"s3":0,"compute-1":{"*":0},"ca-central-1":{"s3":0,"s3-website":0,dualstack:{"s3":0}},"s3-website-eu-west-1":0,"s3-website-us-west-1":0,"eu-central-1":{"s3":0,"s3-website":0,dualstack:{"s3":0}},"sa-east-1":{dualstack:{"s3":0}},"s3-us-west-2":0},remotewd:0,"dyn-o-saur":0,"is-a-llama":0,servesarcasm:0,mazeplay:0,"is-a-liberal":0,wpenginepowered:{js:0},"is-a-lawyer":0,serveirc:0,myvnc:0,vipsinaapp:0,"0emm":{"*":0},wafaicloud:{ryd:0,lon:0,jed:0},"simple-url":0,"platter-app":0,iamallama:0,"is-an-actor":0,gotpantheon:0,"temp-dns":0,appchizi:0,dreamhosters:0,unusualperson:0,"dyndns-wiki":0,"dyndns-pics":0,kr:0,"dyndns-at-home":0,dontexist:0,"hosted-by-previder":{paas:0},gleeze:0,"hobby-site":0,applinzi:0,pgfog:0,damnserver:0,herokussl:0,shopitsite:0,"townnews-staging":0,"from-ms":0,"from-mt":0,"dyndns-remote":0,massivegrid:{paas:0},devcdnaccesso:{"*":0},"from-mn":0,"from-ma":0,"is-a-player":0,"from-md":0,"from-vt":0,"is-a-designer":0,"dyndns-mail":0,de:0,"is-a-therapist":0,"from-va":0,"is-a-rockstar":0,gentlentapis:0,dnsalias:0,"dyndns-blog":0,"sells-for-less":0,"is-a-chef":0,qc:0,"est-a-la-masion":0,"sells-for-u":0,mydrobo:0,ooguy:0,"from-tx":0,"dev-myqnapcloud":0,"reserve-online":0,cloudcontrolapp:0,"is-a-photographer":0,"is-a-nurse":0,wafflecell:0,securitytactics:0,qualifioapp:0,geekgalaxy:0,"from-de":0,"from-dc":0,"1kapp":0,"001www":0,"from-il":0,"isa-geek":0,"from-in":0,cn:0,"from-id":0,"from-ia":0,miniserver:0,awsglobalaccelerator:0,"is-a-cubicle-slave":0,"firewall-gateway":0,myactivedirectory:0,"health-carereform":0,pleskns:0,myiphost:0,"from-ri":0,ddnslive:0,"space-to-rent":0,pagefrontapp:0,serveftp:0,pythonanywhere:{eu:0},freeboxos:0,jpn:0,"is-into-anime":0,trycloudflare:0,"is-a-bulls-fan":0,"is-a-painter":0,wpdevcloud:0,"from-ga":0,"woltlab-demo":0,linode:{members:0,nodebalancer:{"*":0}},"is-a-student":0,onthewifi:0,ownprovider:0,fbsbx:{apps:0},"is-leet":0,operaunite:0,"postman-echo":0,dnsiskinky:0,myravendb:0,servehttp:0,"qa2":0,"is-into-games":0,joyent:{cns:{"*":0}},mytuleap:0,prgmr:{xen:0},jelastic:{demo:0},getmyip:0,"from-ut":0,"est-mon-blogueur":0,"is-uberleet":0,linodeusercontent:{ip:0},"servemp3":0,"dyndns-office":0,loseyourip:0,ddnsgeek:0,nfshost:0,"is-a-bookkeeper":0,ciscofreak:0,wiardweb:{pages:0},"isa-hockeynut":0,"is-a-libertarian":0,pagexl:0,skygearapp:0,"3utilities":0,blogdns:0,workisboring:0,"is-a-hunter":0,"is-a-democrat":0,smushcdn:0,codespot:0,dattolocal:0,freemyip:0,withgoogle:0,"from-ca":0,"authgear-staging":0,"dyndns-ip":0,outsystemscloud:0,"from-ct":0,rackmaze:0,"is-a-teacher":0,servecounterstrike:0,"is-a-anarchist":0,br:0,cechire:0,theworkpc:0,herokuapp:0,likescandy:0,myspreadshop:0,"net-freaks":0,appspacehosted:0,"ik-server":{"jcloud-ver-jpc":0,jcloud:0},indowapblog:0,myasustor:0,doesntexist:0,"is-a-republican":0,"is-a-techie":0,publishproxy:0,selfip:0,"servep2p":0,servehumour:0,hostedpi:0,siiites:0,"is-a-green":0,"likes-pie":0,onfabrica:0,wixsite:0,"dyndns-web":0,hu:0,hk:0,rhcloud:0,"is-gone":0,"is-a-caterer":0,"tuleap-partners":0,quipelements:{"*":0},uy:0,"is-an-artist":0,us:0,uk:0,"neat-url":0,"is-with-theband":0,"ddns5":0,ddnsking:0,idnblogger:0,logoip:0,"from-sc":0,ar:0,drayddns:0,no:0,"from-or":0,"is-a-cpa":0,pixolino:0,"from-ok":0,lpusercontent:0,"from-oh":0,impertrix:0,hosteur:{"rag-cloud-ch":0,"rag-cloud":0},"from-hi":0,"is-an-actress":0,kozow:0,homeunix:0,servehalflife:0,servegame:0,servebbs:0,"playstation-cloud":0,"4u":0,reservd:0,dnsdojo:0},support:{barsy:0},ck:{"*":0},ci:{md:0,asso:0,gouv:0,"a\u00e9roport":0,int:0,ed:0,presse:0,go:0,nl:0,fin:0,or:0},ch:{firenet:{"*":0,svc:{"*":0}},gotdns:0,"2ix":0,flow:{ae:{"alp1":0},appengine:0},"linkyard-cloud":0,myspreadshop:0,"12hp":0,"4lima":0,dnsking:0,"lima-city":0,"square7":0},co:{firm:0,web:0,arts:0,carrd:0,nom:0,int:0,repl:{id:0},otap:{"*":0},"n4t":0,mypi:0,nodum:0,supabase:0,leadpages:0,rec:0,crd:0,lpages:0},cn:{xj:0,"\u7db2\u7d61":0,gs:0,zj:0,ah:0,gz:0,gx:0,xz:0,gd:0,cq:0,"\u516c\u53f8":0,nm:0,ln:0,tw:0,nx:0,instantcloud:0,tj:0,"\u7f51\u7edc":0,jx:0,yn:0,bj:0,js:0,jl:0,hk:0,hi:0,hn:0,hl:0,hb:0,fj:0,ha:0,he:0,sx:0,mo:0,sh:0,sn:0,sc:0,qh:0,com:{amazonaws:{elb:{"*":0},"cn-north-1":{"s3":0},compute:{"*":0},eb:{"cn-north-1":0,"cn-northwest-1":0}}},sd:0},cl:{gob:0},cc:{spawn:{instances:0},"game-server":0,cloudns:0,scrapping:0,csx:0,myphotos:0,twmail:0,ftpaccess:0,fantasyleague:0},win:{that:0},app:{onflashdrive:0,northflank:{"*":0},run:{a:0},edgecompute:0,ondigitalocean:0,hasura:0,clerk:0,loginline:0,wnext:0,telebit:0,fireweb:0,"platform0":0,noop:0,web:0,framer:0,bookonline:0,developer:{"*":0},clerkstage:0,netlify:0,vercel:0},community:{nog:0,ravendb:0,myforum:0},one:{homelink:0,under:0,onred:{staging:0},service:0,for:0},cz:{metacentrum:{cloud:{"*":0},custom:0},"e4":0,realm:0,muni:{cloud:{flt:0,usr:0}}},cy:{parliament:0,ekloges:0,pro:0,tm:0,biz:0,ltd:0,press:0,com:{scaleforce:{j:0}},name:0},cx:{ath:0},org:{homeftp:0,httpbin:0,dynalias:0,"hobby-site":0,fedorainfracloud:0,collegefan:0,"kicks-ass":0,dynserv:0,pimienta:0,doesntexist:0,doomdns:0,"from-me":0,tuxfamily:0,accesscam:0,pubtls:0,mlbfan:0,homedns:0,edugit:0,dnsalias:0,camdvr:0,sellsyourhome:0,"is-found":0,homelinux:0,gotdns:0,blogdns:0,freeddns:0,"is-a-chef":0,"cdn77":{c:0,rsc:0},twmail:0,mywire:0,za:0,"is-a-patsfan":0,myftp:0,eu:{ch:0,cn:0,ee:0,ca:0,in:0,al:0,cd:0,cz:0,cy:0,au:0,at:0,edu:0,ie:0,es:0,gr:0,ru:0,nl:0,pt:0,no:0,paris:0,tr:0,lt:0,ng:0,lv:0,int:0,nz:0,lu:0,net:0,ro:0,is:0,pl:0,be:0,fr:0,bg:0,dk:0,hr:0,de:0,jp:0,it:0,"q-a":0,fi:0,hu:0,me:0,asso:0,kr:0,mc:0,us:0,sk:0,mt:0,si:0,mk:0,uk:0,my:0,se:0,il:0},"is-very-sweet":0,"is-a-candidate":0,homeunix:0,"game-host":0,podzone:0,"cdn77-secure":{origin:{ssl:0}},"in-vpn":0,amune:{tele:0},selfip:0,readmyblog:0,sweetpepper:0,js:0,nflfan:0,blogsite:0,bmoattachments:0,toolforge:0,"no-ip":0,misconfused:0,"isa-geek":0,zapto:0,hepforge:0,"cable-modem":0,"is-very-good":0,diskstation:0,"is-a-soxfan":0,mayfirst:0,"is-very-bad":0,"is-a-geek":0,hopto:0,"is-very-nice":0,duckdns:0,"is-lost":0,mysecuritycamera:0,cloudns:0,endoftheinternet:0,hk:0,familyds:0,"in-dsl":0,"is-very-evil":0,certmgr:0,barsy:0,dvrdns:0,serveftp:0,wmcloud:0,"is-a-bruinsfan":0,"stuff-4-sale":0,webhop:0,fedorapeople:0,"is-a-celticsfan":0,ae:0,"small-web":0,couchpotatofries:0,fedoraproject:{stg:{os:{app:0}},os:{app:0},cloud:0},potager:0,"mozilla-iot":0,wmflabs:0,endofinternet:0,"my-firewall":0,us:0,"is-saved":0,dsmynas:0,dyndns:{go:0,home:0},altervista:0,ufcfan:0,"read-books":0,myfirewall:0,ddnss:0,"is-a-knight":0,tunk:0,"now-dns":0,servegame:0,"is-a-linux-user":0,webredirect:0,servebbs:0,poivron:0,freedesktop:0,spdns:0,dnsdojo:0,boldlygoingnowhere:0,dontexist:0},cr:{go:0,ed:0,sa:0,or:0,fi:0},cv:{int:0,nome:0},cloud:{voorloper:0,kuleuven:0,jele:0,keliweb:{cs:0},banzai:{"*":0},trafficplex:0,primetel:{uk:0},elementor:0,statics:{"*":0},axarnet:{"es-1":0},urown:0,"jenv-aruba":{aruba:{eur:{"it1":0}},"it1":0},magentosite:{"*":0},"on-rancher":{"*":0},diadem:0,trendhosting:{ch:0,de:0},jotelulu:0,perspecta:0,sensiosite:{"*":0},linkyard:0,vapor:0,oxa:{tn:0,uk:0},reclaim:{ca:0,uk:0,us:0},jelastic:{vip:0}},ad:{nom:0},pr:{est:0,name:0,pro:0,biz:0,isla:0,prof:0},tn:{nat:0,intl:0,mincom:0,ens:0,perso:0,ind:0,tourism:0,orangecloud:0,fin:0},basketball:{aus:0,nz:0},pw:{ed:0,"x443":0,ne:0,cloudns:0,go:0,belau:0,or:0},pt:{int:0,publ:0,nome:0},top:{"now-dns":0,ntdll:0},py:{coop:0},lol:{omg:0},uk:{me:0,police:0,sch:{"*":0},co:{adimo:0,layershift:{j:0},retrosnub:{cust:0},barsy:0,"nh-serv":0,barsyonline:0,wellbeingzone:0,myspreadshop:0,gwiddle:0,"no-ip":0,bytemark:{vm:0,dh:0}},copro:0,nhs:0,plc:0,pymnt:0,hosp:0,ltd:0,org:{affinitylottery:0,lugs:0,weeklylottery:0,raffleentry:0,lug:0,glug:0},gov:{homeoffice:0,service:0},barsy:0,conn:0},ai:{off:0,uwu:0},live:{hlx:0},pa:{med:0,nom:0,abo:0,sld:0,ing:0,gob:0},pg:{"*":0},pe:{nom:0,gob:0},pk:{web:0,gon:0,gok:0,gob:0,biz:0,fam:0,gop:0,gos:0},ph:{i:0,ngo:0},is:{int:0,cupcake:0},today:{prequalifyme:0},systems:{knightpoint:0},hr:{iz:0,from:0,name:0,free:0},academy:{official:0},aero:{show:0,scientist:0,airtraffic:0,"passenger-association":0,group:0,certification:0,crew:0,production:0,fuel:0,ballooning:0,federation:0,emergency:0,government:0,express:0,press:0,association:0,civilaviation:0,recreation:0,repbody:0,groundhandling:0,journalist:0,paragliding:0,logistics:0,charter:0,leasing:0,trading:0,insurance:0,amusement:0,parachuting:0,cargo:0,entertainment:0,res:0,research:0,safety:0,exchange:0,rotorcraft:0,journal:0,broker:0,aircraft:0,microlight:0,works:0,trader:0,airport:0,airline:0,navigation:0,software:0,trainer:0,consulting:0,"accident-investigation":0,agents:0,engineer:0,conference:0,workinggroup:0,"air-surveillance":0,union:0,maintenance:0,engine:0,flight:0,club:0,gliding:0,modelling:0,catering:0,pilot:0,consultant:0,hanggliding:0,design:0,caa:0,control:0,skydiving:0,council:0,"accident-prevention":0,aeroclub:0,aerobatic:0,dgca:0,homebuilt:0,author:0,media:0,magazine:0,equipment:0,educator:0,championship:0,student:0,services:0,aerodrome:0,"air-traffic-control":0,ambulance:0},fj:{pro:0,biz:0,name:0},ht:{shop:0,firm:0,asso:0,coop:0,art:0,rel:0,med:0,pro:0,pol:0,gouv:0,adult:0,perso:0},hu:{shop:0,forum:0,reklam:0,sex:0,video:0,suli:0,sport:0,film:0,priv:0,city:0,media:0,lakas:0,erotika:0,tm:0,ingatlan:0,hotel:0,jogasz:0,bolt:0,szex:0,news:0,erotica:0,tozsde:0,konyvelo:0,agrar:0,casino:0,"2000":0,games:0,utazas:0},hk:{"\u7db2\u7d61":0,"\u4e2a\u4eba":0,"\u6559\u80b2":0,idv:0,"\u7f51\u7edc":0,"\u7f51\u7d61":0,"\u653f\u5e9c":0,"\u7d44\u7ec7":0,"\u7ec4\u7ec7":0,"\u7db2\u7edc":0,secaas:0,"\u500b\u4eba":0,"\u7ec4\u7e54":0,ltd:0,"\u7b87\u4eba":0,"\u7d44\u7e54":0,"\u654e\u80b2":0,"\u516c\u53f8":0,inc:0},mobi:{dscloud:0,barsy:0},hn:{cc:0,gob:0},vn:{int:0,biz:0,pro:0,health:0,name:0},ml:{gouv:0,presse:0},info:{"barrel-of-knowledge":0,webhop:0,"groks-this":0,"barrell-of-knowledge":0,nsupdate:0,dvrcam:0,cloudns:0,"for-our":0,barsy:0,ilovecollege:0,"dynamic-dns":0,dnsupdate:0,"groks-the":0,forumz:0,"v-info":0,"no-ip":0,dyndns:0,"here-for-more":0,selfip:0,knowsitall:0,mayfirst:0},md:{to:0,de:0,jp:0,at:0},mg:{nom:0,tm:0,prd:0},uy:{gub:0},mc:{asso:0,tm:0},mm:{"*":0},science:{ybo:0},mn:{nyc:0},hosting:{opencraft:0},us:{va:{cc:0,"k12":0,lib:0},gu:{cc:0,"k12":0,lib:0},nc:{cc:0,"k12":0,lib:0},co:{cc:0,"k12":0,lib:0},nsn:0,dni:0,ak:{cc:0,"k12":0,lib:0},"is-by":0,platterp:0,al:{cc:0,"k12":0,lib:0},as:{cc:0,"k12":0,lib:0},ar:{cc:0,"k12":0,lib:0},vt:{cc:0,"k12":0,lib:0},il:{cc:0,"k12":0,lib:0},ga:{cc:0,"k12":0,lib:0},in:{cc:0,"k12":0,lib:0},ia:{cc:0,"k12":0,lib:0},az:{cc:0,"k12":0,lib:0},id:{cc:0,"k12":0,lib:0},ct:{cc:0,"k12":0,lib:0},nh:{cc:0,"k12":0,lib:0},fed:0,nm:{cc:0,"k12":0,lib:0},tx:{cc:0,"k12":0,lib:0},la:{cc:0,"k12":0,lib:0},mircloud:0,nd:{cc:0,lib:0},ne:{cc:0,"k12":0,lib:0},tn:{cc:0,"k12":0,lib:0},ny:{cc:0,"k12":0,lib:0},pa:{cc:0,"k12":0,lib:0},vi:{cc:0,"k12":0,lib:0},sc:{cc:0,"k12":0,lib:0},ca:{cc:0,"k12":0,lib:0},nv:{cc:0,"k12":0,lib:0},mn:{cc:0,"k12":0,lib:0},pr:{cc:0,"k12":0,lib:0},"land-4-sale":0,wa:{cc:0,"k12":0,lib:0},cloudns:0,de:{cc:0,"k12":0,lib:0},nj:{cc:0,"k12":0,lib:0},wi:{cc:0,"k12":0,lib:0},dc:{cc:0,"k12":0,lib:0},golffan:0,wv:{cc:0},hi:{cc:0,lib:0},ma:{cc:0,"k12":{chtr:0,paroch:0,pvt:0},lib:0},fl:{cc:0,"k12":0,lib:0},isa:0,wy:{cc:0,"k12":0,lib:0},me:{cc:0,"k12":0,lib:0},md:{cc:0,"k12":0,lib:0},kids:0,ok:{cc:0,"k12":0,lib:0},noip:0,oh:{cc:0,"k12":0,lib:0},ut:{cc:0,"k12":0,lib:0},mo:{cc:0,"k12":0,lib:0},freeddns:0,mi:{"k12":0,tec:0,mus:0,lib:0,cc:0,dst:0,washtenaw:0,eaton:0,cog:0,"ann-arbor":0,gen:0},drud:0,ri:{cc:0,lib:0},ks:{cc:0,"k12":0,lib:0},mt:{cc:0,"k12":0,lib:0},pointto:0,ms:{cc:0,"k12":0,lib:0},"stuff-4-sale":0,enscaled:{phx:0},ky:{cc:0,"k12":0,lib:0},or:{cc:0,"k12":0,lib:0},graphox:0,sd:{cc:0,lib:0}},tc:{me:0,we:0,ch:0},mu:{or:0},mw:{int:0,museum:0,coop:0,biz:0},mv:{coop:0,name:0,int:0,museum:0,aero:0,biz:0,pro:0},store:{sellfy:0,shopware:0,storebase:0},ms:{minisite:0,lab:0},au:{vic:0,wa:0,tas:0,nt:0,act:0,qld:0,asn:0,oz:0,conf:0,edu:{catholic:0,wa:0,vic:0,tas:0,act:0,qld:0,nt:0,sa:0,nsw:{schools:0}},sa:0,gov:{vic:0,qld:0,sa:0,wa:0,tas:0},com:{myspreadshop:0,cloudlets:{mel:0}},id:0,nsw:0},ug:{sc:0,go:0,or:0,ne:0},pm:{own:0},builders:{cloudsite:0},mx:{gob:0},mz:{adv:0},ac:{drr:0},fashion:{of:0},ae:{sch:0},ve:{firm:0,nom:0,arts:0,"e12":0,web:0,int:0,tec:0,bib:0,gob:0,rar:0,rec:0,store:0},ag:{nom:0},vg:{at:0},int:{eu:0},vi:{"k12":0},pro:{med:0,aca:0,recht:0,aaa:0,eng:0,cpa:0,dnstrace:{bci:0},barsy:0,jur:0,cloudns:0,bar:0,avocat:0,law:0,acct:0},ir:{"\u0627\u06cc\u0631\u0627\u0646":0,sch:0,id:0,"\u0627\u064a\u0631\u0627\u0646":0},am:{commune:0,radio:0,nyaa:0,neko:0},site:{byen:0,cloudera:{"*":0},fnwk:0,novecore:0,fastvps:0,platformsh:{"*":0},srht:0,loginline:0,barsy:0,opensocial:0,lelux:0,jele:0,cyon:0,omniwe:0,tst:{"*":0},folionetwork:0,mintere:0},rip:{clan:0},sv:{red:0,gob:0},scot:{gov:{service:0}},ar:{mutual:0,coop:0,int:0,tur:0,gob:0,musica:0,senasa:0,bet:0},im:{tv:0,tt:0,ro:0,co:{plc:0,ltd:0}},vu:{blog:0,me:0,cn:0,dev:0},io:{"mo-siemens":0,apigee:0,browsersafetymark:0,bigv:{"uk0":0},pantheonsite:0,beebyteapp:{"sekd1":0},upli:0,thingdust:{disrec:{cust:0,reservd:0},prod:{cust:0},testing:{cust:0,reservd:0},dev:{cust:0,reservd:0}},boxfuse:0,nodum:0,"hasura-app":0,jele:0,banzaicloud:{backyards:{"*":0},app:0},dappnode:{dyndns:0},resindevice:0,vaporcloud:0,ghost:0,gitlab:0,"dyn53":0,hzc:0,dedyn:0,azurecontainer:{"*":0},qcx:{sys:{"*":0}},nodeart:{stage:0},utwente:0,moonscale:{"*":0},"b-data":0,unispace:{"cloud-fr1":0},qoto:0,lolipop:0,shiftedit:0,vbrplsbx:{g:0},webthings:0,forgerock:{id:0},"2038":0,tickets:0,"fh-muenster":0,pstmn:{mock:0},stolos:{"*":0},protonet:0,loginline:0,sandcats:0,backplaneapp:0,definima:0,"on-rio":{"*":0},resinstaging:{devices:0},github:0,telebit:0,spacekit:0,nid:0,lair:{apps:0},bluebite:0,cleverapps:0,shiftcrypto:0,basicserver:0,bitbucket:0,hostyhosting:0,editorx:0,"on-k3s":{"*":0},wedeploy:0,readthedocs:0,drud:0,barsy:0,beebyte:{paas:0},"s5y":{"*":0},shw:0,ngrok:0,virtualserver:0},in:{firm:0,web:0,nic:0,cloudns:0,barsy:0,supabase:0,res:0,ind:0,gen:0},kw:{ind:0,emb:0},my:{biz:0,name:0},az:{int:0,pp:0,biz:0,name:0,pro:0},ie:{myspreadshop:0},id:{web:0,sch:0,flap:0,wblog:0,ponpes:0,forte:0,biz:0,go:0,my:{rss:{"*":0}},or:0,desa:0,bloger:0},link:{dweb:{"*":0},mypep:0,cyon:0},ovh:{nerdpol:0},ni:{nom:0,web:0,int:0,gob:0,biz:0,in:0},codes:{owo:{"*":0}},nl:{demon:0,"hosting-cluster":0,khplay:0,myspreadshop:0,transurl:{"*":0},amsw:0,cistron:0,virtueeldomein:0},no:{"l\u00f8dingen":0,surnadal:0,farsund:0,"mo-i-rana":0,rennesoy:0,bykle:0,"and\u00f8y":0,folkebibl:0,"h\u00e1mm\u00e1rfeasta":0,troandin:0,"j\u00f8rpeland":0,steigen:0,snasa:0,"mosj\u00f8en":0,lebesby:0,sund:0,skjervoy:0,davvenjarga:0,kvam:0,horten:0,namsos:0,tr:{gs:0},"\u00e5krehamn":0,drangedal:0,hjelmeland:0,tm:{gs:0},bamble:0,amli:0,"dyr\u00f8y":0,etnedal:0,meldal:0,tolga:0,"\u00e5seral":0,rl:{gs:0},hordaland:{os:0},aremark:0,harstad:0,strand:0,"b\u00e1l\u00e1t":0,ringsaker:0,bahccavuotna:0,hobol:0,"\u00f8vre-eiker":0,flatanger:0,"k\u00e5fjord":0,fuoisku:0,sauda:0,fhs:0,ostfold:{valer:0},meraker:0,forde:0,"vard\u00f8":0,andoy:0,hokksund:0,"d\u00f8nna":0,inderoy:0,frana:0,"sand\u00f8y":0,bearalvahki:0,hemne:0,dyroy:0,"r\u00f8d\u00f8y":0,"aurskog-holand":0,kvinesdal:0,vestfold:{sande:0},"s\u00e1lat":0,"m\u00f8re-og-romsdal":{sande:0,"her\u00f8y":0},tingvoll:0,"\u00f8ksnes":0,eid:0,randaberg:0,eidfjord:0,kongsberg:0,nesodden:0,osoyro:0,"stj\u00f8rdalshalsen":0,kvafjord:0,"h\u00f8yanger":0,agdenes:0,radoy:0,hammerfest:0,aarborte:0,eidskog:0,"stor-elvdal":0,tokke:0,"inder\u00f8y":0,"r\u00e1isa":0,"biev\u00e1t":0,gamvik:0,"g\u00e1ls\u00e1":0,eigersund:0,mosvik:0,alta:0,ringebu:0,lillesand:0,lodingen:0,froya:0,austrheim:0,"h\u00e1pmir":0,klabu:0,lom:0,kragero:0,batsfjord:0,"sk\u00e1nit":0,modum:0,hamar:0,tynset:0,hapmir:0,"more-og-romsdal":{sande:0,heroy:0},marker:0,meland:0,"l\u00f8ten":0,"kv\u00e6nangen":0,nesoddtangen:0,jevnaker:0,brumunddal:0,norddal:0,vanylven:0,galsa:0,rissa:0,"\u00f8ygarden":0,fet:0,larvik:0,"k\u00e1r\u00e1\u0161johka":0,"even\u00e1\u0161\u0161i":0,lunner:0,"\u00e5lg\u00e5rd":0,"sor-fron":0,karasjok:0,nordkapp:0,snoasa:0,jorpeland:0,orkdal:0,"m\u00e1tta-v\u00e1rjjat":0,hole:0,badaddja:0,flora:0,"kl\u00e6bu":0,dep:0,trana:0,vagan:0,floro:0,"tysv\u00e6r":0,vega:0,salat:0,mr:{gs:0},fla:0,tysnes:0,rodoy:0,frogn:0,"r\u00e5holt":0,tjeldsund:0,"oppeg\u00e5rd":0,herad:0,porsangu:0,"f\u00f8rde":0,"langev\u00e5g":0,valle:0,hof:0,vindafjord:0,varoy:0,budejju:0,oslo:{gs:0},hol:0,namdalseid:0,vikna:0,"\u00e1lt\u00e1":0,luster:0,eidsvoll:0,hyllestad:0,"r\u00f8st":0,loppa:0,"evje-og-hornnes":0,siellak:0,"fr\u00f8ya":0,sokndal:0,fm:{gs:0},cahcesuolo:0,"n\u00e6r\u00f8y":0,rygge:0,"skj\u00e5k":0,st:{gs:0},"s\u00f8rreisa":0,gloppen:0,sarpsborg:0,aukra:0,sf:{gs:0},kongsvinger:0,akrehamn:0,"bjark\u00f8y":0,nittedal:0,rindal:0,deatnu:0,"m\u00e5lselv":0,kafjord:0,"sondre-land":0,vossevangen:0,alstahaug:0,lerdal:0,porsgrunn:0,"vestre-toten":0,somna:0,beardu:0,telemark:{bo:0,"b\u00f8":0},hurum:0,"finn\u00f8y":0,"b\u00e1id\u00e1r":0,orsta:0,hvaler:0,andebu:0,lardal:0,"kvits\u00f8y":0,grane:0,holmestrand:0,omasvuotna:0,evenassi:0,algard:0,oksnes:0,kirkenes:0,"tj\u00f8me":0,andasuolo:0,"n\u00e5\u00e5mesjevuemie":0,flekkefjord:0,"aver\u00f8y":0,storfjord:0,tromsa:0,"mo\u00e5reke":0,habmer:0,"n\u00f8tter\u00f8y":0,narviika:0,birkenes:0,hjartdal:0,skedsmo:0,haugesund:0,gratangen:0,"v\u00e5gan":0,froland:0,divtasvuodna:0,gol:0,"stj\u00f8rdal":0,kommune:0,malvik:0,hattfjelldal:0,skodje:0,masoy:0,frei:0,sogne:0,romskog:0,svelvik:0,rennebu:0,aejrie:0,honefoss:0,hammarfeasta:0,lorenskog:0,"b\u00e1hccavuotna":0,saltdal:0,slattum:0,arendal:0,divttasvuotna:0,"sm\u00f8la":0,"t\u00f8nsberg":0,stavern:0,bievat:0,afjord:0,sandnes:0,"tr\u00f8gstad":0,beiarn:0,"\u00f8rland":0,eidsberg:0,"s\u00f8gne":0,rana:0,karmoy:0,"l\u00f8renskog":0,loabat:0,"berlev\u00e5g":0,fusa:0,alvdal:0,svalbard:{gs:0},"v\u00e6r\u00f8y":0,gildeskal:0,trysil:0,"dr\u00f8bak":0,"gj\u00f8vik":0,lyngdal:0,kraanghke:0,vagsoy:0,nannestad:0,tjome:0,stord:0,"b\u00e6rum":0,jondal:0,askoy:0,"lind\u00e5s":0,asnes:0,giehtavuoatna:0,"b\u00f8mlo":0,stryn:0,"kv\u00e6fjord":0,smola:0,"nedre-eiker":0,marnardal:0,"m\u00e1latvuopmi":0,"s\u00f8mna":0,barum:0,alesund:0,hornindal:0,halden:0,namsskogan:0,bardu:0,romsa:0,"\u00f8ystre-slidre":0,"br\u00f8nn\u00f8y":0,aknoluokta:0,fetsund:0,"\u00e1k\u014boluokta":0,ullensvang:0,"karm\u00f8y":0,luroy:0,"s\u00f8r-varanger":0,sula:0,gjemnes:0,leikanger:0,orland:0,audnedaln:0,davvesiida:0,evenes:0,sorreisa:0,austevoll:0,salangen:0,gjovik:0,stjordal:0,aseral:0,vaksdal:0,lyngen:0,vgs:0,bomlo:0,narvik:0,askvoll:0,bindal:0,moss:0,rendalen:0,sveio:0,roros:0,bjerkreim:0,"sor-varanger":0,"r\u00e5de":0,sykkylven:0,"\u00e5mli":0,"ris\u00f8r":0,bajddar:0,giske:0,fylkesbibl:0,royken:0,rollag:0,sauherad:0,"s\u00f8r-fron":0,gjerdrum:0,"krager\u00f8":0,voagat:0,spjelkavik:0,"fr\u00e6na":0,"vestv\u00e5g\u00f8y":0,"h\u00e5":0,"\u00e1laheadju":0,priv:0,rakkestad:0,"r\u00e1hkker\u00e1vju":0,fauske:0,bremanger:0,suldal:0,halsa:0,"lur\u00f8y":0,leka:0,krodsherad:0,ulvik:0,"\u00f8stre-toten":0,"bod\u00f8":0,leksvik:0,notodden:0,alaheadju:0,"ostre-toten":0,"rad\u00f8y":0,"r\u00e6lingen":0,lenvik:0,skiptvet:0,"\u00f8yer":0,gjesdal:0,berlevag:0,drobak:0,hoyanger:0,grimstad:0,gran:0,klepp:0,risor:0,ullensaker:0,snaase:0,"s\u00f8r-aurdal":0,trogstad:0,"\u010d\u00e1hcesuolo":0,"tr\u00e6na":0,buskerud:{nes:0},aurland:0,hagebostad:0,bryne:0,sandoy:0,"\u00e5fjord":0,sel:0,masfjorden:0,loten:0,rade:0,"h\u00e6gebostad":0,"s\u00f8rum":0,molde:0,tydal:0,lesja:0,"s\u00f8rfold":0,"s\u00e1l\u00e1t":0,lindesnes:0,"b\u00e1hcavuotna":0,gaular:0,"\u00e5snes":0,elverum:0,midsund:0,naamesjevuemie:0,muosat:0,"midtre-gauldal":0,"\u00e5mot":0,krokstadelva:0,holtalen:0,fyresdal:0,malselv:0,akershus:{nes:0},sola:0,etne:0,langevag:0,"mer\u00e5ker":0,skjak:0,stavanger:0,hareid:0,kvanangen:0,aure:0,"l\u00e1hppi":0,"\u00e5rdal":0,"\u00e5s":0,royrvik:0,tvedestrand:0,"\u00e5lesund":0,bodo:0,hemsedal:0,nesset:0,frosta:0,kautokeino:0,samnanger:0,leirfjord:0,vardo:0,oppegard:0,tranoy:0,porsanger:0,oyer:0,raisa:0,grong:0,sandnessjoen:0,"lea\u014bgaviika":0,sortland:0,kopervik:0,vegarshei:0,kristiansund:0,"mel\u00f8y":0,nesseby:0,tinn:0,"r\u00f8ros":0,finnoy:0,"kr\u00f8dsherad":0,snillfjord:0,lillehammer:0,levanger:0,"nore-og-uvdal":0,granvin:0,engerdal:0,"davvenj\u00e1rga":0,vang:0,tananger:0,bahcavuotna:0,lahppi:0,"j\u00f8lster":0,hedmark:{valer:0,os:0,"v\u00e5ler":0},orskog:0,fjell:0,"fl\u00e5":0,tana:0,vaga:0,fitjar:0,vadso:0,skanit:0,vestnes:0,gangaviika:0,rahkkeravju:0,naustdal:0,va:{gs:0},bronnoysund:0,"\u00e5l":0,mosjoen:0,vf:{gs:0},"oystre-slidre":0,"skierv\u00e1":0,"vestre-slidre":0,"nordre-land":0,stjordalshalsen:0,ruovat:0,fosnes:0,sandefjord:0,"pors\u00e1\u014bgu":0,ivgu:0,"b\u00e1jddar":0,bygland:0,rauma:0,"rennes\u00f8y":0,kvinnherad:0,vestvagoy:0,askim:0,"b\u00e5tsfjord":0,kristiansand:0,voss:0,"v\u00e5gs\u00f8y":0,lindas:0,"loab\u00e1t":0,"s\u00f8ndre-land":0,"ovre-eiker":0,"hob\u00f8l":0,osteroy:0,"sor-odal":0,notteroy:0,vik:0,hamaroy:0,fedje:0,vaapste:0,"os\u00f8yro":0,"muos\u00e1t":0,folldal:0,utsira:0,unjarga:0,nordland:{"b\u00f8":0,"her\u00f8y":0,heroy:0,bo:0},hitra:0,kviteseid:0,"veg\u00e5rshei":0,trondheim:0,nesna:0,varggat:0,"matta-varjjat":0,verdal:0,ballangen:0,hoylandet:0,skien:0,"nord-odal":0,"h\u00e1bmer":0,volda:0,"tran\u00f8y":0,sogndal:0,rost:0,mandal:0,ski:0,"kr\u00e5anghke":0,tysfjord:0,lavagis:0,selbu:0,"nord-fron":0,bjugn:0,enebakk:0,songdalen:0,skaun:0,"ask\u00f8y":0,fjaler:0,"g\u00e1\u014bgaviika":0,gaivuotna:0,skierva:0,forsand:0,tranby:0,hasvik:0,donna:0,haram:0,osen:0,hurdal:0,"sn\u00e5ase":0,sunndal:0,"gildesk\u00e5l":0,grue:0,lavangen:0,ibestad:0,karasjohka:0,skanland:0,moskenes:0,vevelstad:0,"g\u00e1ivuotna":0,"r\u00f8yrvik":0,modalen:0,nissedal:0,gausdal:0,"s\u00f8r-odal":0,egersund:0,oygarden:0,kvalsund:0,hadsel:0,steinkjer:0,bokn:0,oppdal:0,skedsmokorset:0,malatvuopmi:0,ardal:0,stordal:0,gulen:0,"h\u00f8nefoss":0,stathelle:0,bu:{gs:0},navuotna:0,naroy:0,ol:{gs:0},"n\u00e1vuotna":0,meloy:0,of:{gs:0},balestrand:0,"flor\u00f8":0,myspreadshop:0,roan:0,"holt\u00e5len":0,stokke:0,amot:0,"nord-aurdal":0,jessheim:0,leangaviika:0,drammen:0,"m\u00e5s\u00f8y":0,selje:0,al:0,sigdal:0,lier:0,"r\u00f8yken":0,lierne:0,idrett:0,lund:0,"\u00f8rskog":0,"b\u00e5d\u00e5ddj\u00e5":0,bergen:0,sirdal:0,"sandnessj\u00f8en":0,museum:0,"troms\u00f8":0,averoy:0,vestby:0,melhus:0,bronnoy:0,"mj\u00f8ndalen":0,"aurskog-h\u00f8land":0,"v\u00e5g\u00e5":0,solund:0,hemnes:0,dielddanuorri:0,baidar:0,kvitsoy:0,dovre:0,tonsberg:0,berg:0,hl:{gs:0},hm:{gs:0},ha:0,iveland:0,moareke:0,sorfold:0,orkanger:0,sorum:0,stranda:0,jolster:0,arna:0,mjondalen:0,ralingen:0,aa:{gs:0},"\u00f8stfold":{"v\u00e5ler":0},"sn\u00e5sa":0,"l\u00e6rdal":0,ah:{gs:0},"unj\u00e1rga":0,bjarkoy:0,leirvik:0,gjerstad:0,vefsn:0,ringerike:0,torsken:0,nl:{gs:0},"r\u00f8mskog":0,raholt:0,balat:0,verran:0,karlsoy:0,asker:0,spydeberg:0,nt:{gs:0},"sor-aurdal":0,stat:0,"sk\u00e5nland":0,guovdageaidnu:0,flakstad:0,"oster\u00f8y":0,seljord:0,siljan:0,"v\u00e1rgg\u00e1t":0,nordreisa:0,overhalla:0,vennesla:0,"jan-mayen":{gs:0},flesberg:0,tysvar:0,"vads\u00f8":0,"h\u00f8ylandet":0,fredrikstad:0,"\u00f8rsta":0,tromso:0,"br\u00f8nn\u00f8ysund":0,balsfjord:0,"skjerv\u00f8y":0,time:0,odda:0,stange:0,fuossko:0,laakesvuemie:0,"bearalv\u00e1hki":0},il:{idf:0,"k12":0,co:{ravpage:0,tabitorder:0},muni:0},na:{school:0,mobi:0,name:0,cc:0,pro:0,us:0,or:0,tv:0,ws:0,in:0,ca:0,dr:0,mx:0},nc:{nom:0,asso:0},nf:{firm:0,web:0,arts:0,per:0,other:0,rec:0,store:0},tr:{"k12":0,tel:0,name:0,bel:0,web:0,tv:0,dr:0,nc:{gov:0},pol:0,biz:0,av:0,kep:0,bbs:0,gen:0,tsk:0},club:{cloudns:0,pony:0,jele:0,barsy:0},nz:{kiwi:0,school:0,maori:0,"m\u0101ori":0,iwi:0,geek:0,parliament:0,health:0,govt:0,cri:0,gen:0},kp:{tra:0,rep:0},digital:{cloudapps:{london:0}},np:{"*":0},party:{ybo:0},nr:{biz:0},nu:{merseine:0,enterprisecloud:0,mine:0,shacknet:0},sn:{art:0,gouv:0,univ:0,perso:0},fr:{prd:0,gouv:0,freeboxos:0,medecin:0,"huissier-justice":0,port:0,"chirurgiens-dentistes":0,"en-root":0,tm:0,"freebox-os":0,nom:0,"chirurgiens-dentistes-en-france":0,greta:0,avoues:0,veterinaire:0,fbxos:0,goupile:0,"on-web":0,pharmacien:0,"geometre-expert":0,asso:0,ynh:0,"fbx-os":0,"experts-comptables":0,chambagri:0,notaires:0,aeroport:0,myspreadshop:0,cci:0,avocat:0},ng:{firm:0,mobi:0,name:0,i:0,ngo:0,col:0,ltd:0,gen:0,sch:0},farm:{storj:0},men:{repair:0,for:0},kz:{kazteleport:{upaas:0},jcloud:0},services:{loginline:0},fi:{datacenter:{demo:0,paas:0},myspreadshop:0,"h\u00e4kkinen":0,dy:0,iki:0,cloudplatform:{fi:0},aland:0},je:{of:0},fk:{"*":0},fm:{radio:0},ao:{og:0,ed:0,gv:0,it:0,pb:0},land:{static:{sites:0,dev:0}},kg:{uk:0,tv:0,jp:0,us:0,blog:0,io:0},ke:{me:0,mobi:0,ne:0,go:0,sc:0,or:0},ss:{me:0,biz:0,sch:0},ki:{biz:0},space:{uber:0,"xs4all":0,myfast:0},sale:{for:0},su:{nalchik:0,karaganda:0,obninsk:0,"east-kazakhstan":0,mordovia:0,azerbaijan:0,lenug:0,ashgabad:0,balashov:0,vladikavkaz:0,spb:0,troitsk:0,ivanovo:0,tula:0,karelia:0,jambyl:0,khakassia:0,sochi:0,bukhara:0,adygeya:0,kustanai:0,msk:0,chimkent:0,karacol:0,bryansk:0,krasnodar:0,abkhazia:0,"north-kazakhstan":0,tuva:0,kalmykia:0,tashkent:0,grozny:0,tselinograd:0,aktyubinsk:0,mangyshlak:0,armenia:0,termez:0,kurgan:0,kaluga:0,exnet:0,penza:0,murmansk:0,georgia:0,nov:0,dagestan:0,vladimir:0,arkhangelsk:0,vologda:0,navoi:0,bashkiria:0,togliatti:0,pokrovsk:0},"\u9999\u6e2f":{"\u7db2\u7d61":0,"\u6559\u80b2":0,"\u653f\u5e9c":0,"\u500b\u4eba":0,"\u7d44\u7e54":0,"\u516c\u53f8":0},kr:{gangwon:0,jeju:0,busan:0,go:0,chungnam:0,es:0,jeonbuk:0,gyeonggi:0,ne:0,jeonnam:0,re:0,ulsan:0,pe:0,seoul:0,gyeongbuk:0,hs:0,daejeon:0,gyeongnam:0,daegu:0,kg:0,gwangju:0,incheon:0,ms:0,sc:0,or:0,chungbuk:0},si:{gitpage:0,gitapp:0},sh:{vxl:0,wedeploy:0,platform:{eu:0,ent:0,us:0,bc:0},bip:0,now:0,hashbang:0},so:{me:0,sch:0},mk:{inf:0,name:0},estate:{compute:{"*":0}},at:{gv:0,ac:{sth:0},"2ix":0,or:0,futurehosting:0,futurecms:{"*":0,ex:{"*":0},in:{"*":0}},funkfeuer:{wien:0},myspreadshop:0,ortsinfo:{kunden:{"*":0},ex:{"*":0}},"12hp":0,"4lima":0,biz:0,"lima-city":0,futuremailing:0,priv:0},management:{router:0},gdn:{cnpy:0},sa:{med:0,sch:0,pub:0},sg:{per:0,enscaled:0},se:{iopsys:0,komvux:0,fhsk:0,conf:0,itcouldbewor:0,fh:0,pp:0,parti:0,tm:0,komforb:0,paba:{su:0},bd:0,naturbruksgymn:0,brand:0,kommunalforbund:0,press:0,a:0,c:0,b:0,e:0,d:0,g:0,f:0,i:0,h:0,k:0,m:0,l:0,o:0,n:0,fhv:0,p:0,s:0,r:0,u:0,t:0,w:0,myspreadshop:0,y:0,x:0,lanbib:0,z:0},sd:{tv:0,med:0}}; -export const tldcommon={info:["au","az","bb","bo","co","ec","et","fj","gu","ht","hu","ke","ki","la","ls","mv","na","nf","ni","nr","pk","pl","pr","ro","sd","tn","tr","tt","tz","ve","vn","zm","at","cx"],ac:["ae","at","be","ci","cn","cr","cy","fj","gn","id","il","im","in","ir","jp","ke","kr","lk","ls","ma","me","mu","mw","mz","ni","nz","pa","pr","rs","rw","se","sz","th","tj","tz","ug","uk","vn","za","zm","zw","ru"],co:["ae","ag","am","ao","at","bb","bi","bw","ci","cl","cm","cr","gg","gl","gy","hu","id","il","im","in","ir","it","je","jp","ke","kr","lc","ls","ma","me","mg","mu","mw","mz","na","ni","nz","om","pn","pw","rs","rw","st","sz","th","tj","tm","tt","tz","ug","uk","us","uz","ve","vi","za","zm","zw","com","ca","cz","nl","no","dk","ro","krd","business","education","events","financial","network","place","technology","pl","bn","ua"],mil:["ac","ae","al","ar","az","ba","bo","br","by","cl","cn","co","do","ec","eg","fj","ge","gh","gt","hn","id","in","iq","jo","kg","km","kr","kz","lv","mg","mv","my","mz","ng","ni","no","nz","pe","ph","pl","py","qa","rw","sh","st","sy","tj","tm","to","tr","tw","tz","uy","vc","ve","ye","za","zm","zw","ru"],edu:["ac","af","al","ar","au","az","ba","bb","bh","bi","bm","bn","bo","br","bs","bt","bz","ci","cn","co","cu","cv","cw","dm","do","dz","ec","ee","eg","es","et","fm","gd","ge","gh","gi","gl","gn","gp","gr","gt","gu","gy","hk","hn","ht","in","iq","is","it","jo","kg","ki","km","kn","kp","kw","ky","kz","la","lb","lc","lk","lr","ls","lv","ly","me","mg","mk","ml","mn","mo","ms","mt","mv","mw","mx","my","mz","ng","ni","nr","om","pa","pe","pf","ph","pk","pl","pn","pr","ps","pt","py","qa","rs","sa","sb","sc","sd","sg","sl","sn","so","ss","st","sv","sy","tj","tm","to","tr","tt","tw","ua","uy","vc","ve","vn","vu","ws","ye","za","zm","ru","scot","krd"],org:["ac","ae","af","ag","ai","al","am","ar","au","az","ba","bb","bh","bi","bm","bn","bo","br","bs","bt","bw","bz","ci","cn","co","cu","cv","cw","cy","dm","do","dz","ec","ee","eg","es","et","fj","fm","ge","gg","gh","gi","gl","gn","gp","gr","gt","gu","gy","hk","hn","ht","hu","il","im","in","iq","ir","is","je","jo","kg","ki","km","kn","kp","kw","ky","kz","la","lb","lc","lk","lr","ls","lv","ly","ma","me","mg","mk","ml","mn","mo","ms","mt","mu","mv","mw","mx","my","mz","na","ng","ni","nr","nz","om","pa","pe","pf","ph","pk","pl","pn","pr","ps","pt","py","qa","ro","rs","rw","sa","sb","sc","sd","se","sg","sh","sl","sn","so","ss","st","sv","sy","sz","tj","tm","tn","to","tr","tt","tw","ua","ug","uk","uy","uz","vc","ve","vi","vn","vu","ws","ye","za","zm","zw","yt","ru"],net:["ac","ae","af","ag","ai","al","am","ar","au","az","ba","bb","bh","bm","bn","bo","br","bs","bt","bz","ci","cm","cn","co","cu","cw","cy","dm","do","dz","ec","eg","et","fj","fm","ge","gg","gl","gn","gp","gr","gt","gu","gy","hk","hn","ht","id","il","im","in","iq","ir","is","je","jo","kg","ki","kn","kw","ky","kz","la","lb","lc","lk","lr","ls","lv","ly","ma","me","mk","ml","mo","ms","mt","mu","mv","mw","mx","my","mz","nf","ng","ni","nr","nz","om","pa","pe","ph","pk","pl","pn","pr","ps","pt","py","qa","rw","sa","sb","sc","sd","sg","sh","sl","so","ss","st","sy","th","tj","tm","tn","to","tr","tt","tw","ua","uk","uy","uz","vc","ve","vi","vn","vu","ws","ye","za","zm","ru"],gov:["ac","ae","af","al","ar","as","au","az","ba","bb","bf","bh","bm","bn","br","bs","bt","by","bz","cd","cl","cm","cn","co","cu","cx","cy","dm","do","dz","ec","ee","eg","et","fj","gd","ge","gh","gi","gn","gr","gu","gy","hk","ie","il","in","iq","ir","is","it","jo","kg","ki","km","kn","kp","kw","ky","kz","la","lb","lc","lk","lr","ls","lt","lv","ly","ma","me","mg","mk","ml","mn","mo","mr","ms","mu","mv","mw","my","mz","ng","nr","om","ph","pk","pl","pn","pr","ps","pt","py","qa","rs","rw","sa","sb","sc","sd","sg","sh","sl","so","ss","sx","sy","tj","tl","tm","tn","to","tr","tt","tw","ua","uk","vc","ve","vn","ws","ye","za","zm","zw","ru","scot"],com:["ac","af","ag","ai","al","am","ar","au","aw","az","ba","bb","bh","bi","bm","bn","bo","br","bs","bt","by","bz","ci","cm","cn","co","cu","cv","cw","cy","dm","do","dz","ec","ee","eg","es","et","fj","fm","fr","ge","gh","gi","gl","gn","gp","gr","gt","gu","gy","hk","hn","hr","ht","im","io","iq","is","jo","kg","ki","km","kp","kw","ky","kz","la","lb","lc","lk","lr","lv","ly","mg","mk","ml","mo","ms","mt","mu","mv","mw","mx","my","na","nf","ng","ni","nr","om","pa","pe","pf","ph","pk","pl","pr","ps","pt","py","qa","re","ro","sa","sb","sc","sd","sg","sh","sl","sn","so","ss","st","sv","sy","tj","tm","tn","to","tr","tt","tw","ua","ug","uy","uz","vc","ve","vi","vn","vu","ws","ye","zm","de","se","ru"]}; diff --git a/publicsuffixlist/Makefile b/publicsuffixlist/Makefile new file mode 100644 index 0000000..2f277ec --- /dev/null +++ b/publicsuffixlist/Makefile @@ -0,0 +1,4 @@ +../ext/webextension/src/lib/getdomain.json.png: + python tld.py | convert pgm:- -define png:compression-filter=1 ../ext/webextension/src/lib/getdomain.json.png + + diff --git a/publicsuffixlist/tld.py b/publicsuffixlist/tld.py index 88b15b1..7fed87d 100644 --- a/publicsuffixlist/tld.py +++ b/publicsuffixlist/tld.py @@ -19,8 +19,11 @@ } tree = lambda: defaultdict(tree) +def is_ascii(s): return all(ord(c) < 128 for c in s) + others = tree() +#get from https://publicsuffix.org/list/public_suffix_list.dat for l in open("public_suffix_list.dat"): l = l.strip() if not l or l[0] == '/' or '.' not in l: continue @@ -29,31 +32,60 @@ if l[0]=='!': continue ## deal with those later - if 'blogspot' in x: ## special case them.. always x.blogspot.... - pass - elif len(x) == 2 and x[-2] in common: - common[x[-2]].append(x[-1]) + if 0: pass +## if 'blogspot' in x: ## special case them.. always x.blogspot.... +## pass +## elif len(x) == 2 and x[-2] in common: +## common[x[-2]].append(x[-1]) else: x = x[::-1] d = others for q in x: + if not is_ascii(q): + q = "xn-"+q.encode('punycode').decode('ascii') d = d[q] -def walk(d, dst,lvl=0): +def walk(d, dst,lvl=0, printer=lambda x,y: None): for k,v in d.items(): if v: - print((" "*lvl)+k) + printer(lvl,k) dst[k] = dict() - walk(v, dst[k],lvl+1) + walk(v, dst[k],lvl+1,printer) else: - print((" "*lvl)+k) + printer(lvl,k) dst[k] = 0 table=dict() -walk(others, table) -## print("export const tldlookup =", json.dumps(table),";") -## print("export const tldcommon =", json.dumps(common),";") +caparr=[] + +def printer(lvl, k): + global caparr + if not is_ascii(k): + k = 'xn-' + k.encode('punycode').decode('ascii') + + caparr.append((" "*lvl)+k+'?') + +walk(others, table,0,printer) + + +def pgmdump(s): + rows = int(len(s) / 4096) + 1 + cols = int(len(s)/rows) + 1 + padding = rows*cols - len(s) + + print("P5") + print(cols) + print(rows) + print(255) + print(s, end='') + print(" "*padding) + +#pgmdump("".join(caparr)) + +s = json.dumps(table).replace(' ','') +pgmdump(s) + sys.exit(0) def lookup(url, d): k = url.split('.')[::-1]