diff --git a/404.html b/404.html index bd26fbc..716ddda 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -404 | Yann Prono
Blog Recipes Links

404 not found

\ No newline at end of file +404 | Yann Prono
Blog Recipes Links

404 not found

\ No newline at end of file diff --git a/articles/after-effects-date/index.html b/articles/after-effects-date/index.html index e7a4c6d..abbc6ad 100644 --- a/articles/after-effects-date/index.html +++ b/articles/after-effects-date/index.html @@ -1,4 +1,4 @@ -Adobe After Effects and JavaScript | Yann Prono
Blog Recipes Links

Adobe After Effects and JavaScript

On January 1st 2021, I challenged myself: record 1 second of video every day for the entire 2021 year and compile them into a single film. I really enjoyed achieving this idea: It felt great to make something a little creative since I'm not at all, I could get familiar with my camera, I still love video editing and it was a perfect reason to say hello to my family/friends. Finally, it was even more exciting since I kept the challenge secret.

But enough storytelling, Let's get to the point of this article: Something I wanted for this video is the current date the video was taken. And of course, changing 365 times the text layer in my Adobe project was not part of the plan. So let's explore how to automate this tedious task in Adobe After Effects.

Scripting in Adobe applications

When I was a student, I learned that Adobe applications come with a scripting language named ExtendScript. Even though the language was syntactically close to JavaScript, I didn't even try it. The reason? With the Studio crew, we were very focused on investigating all the secrets of a light hoppy drink, with a drawing of the flying dutchman on the bottle.

Since October 2018, no more excuses: most Adobe applications embed a JavaScript engine (V8 or JavaScriptCore), which means we can write modern JS and use the latest features.

Generating the date

It means I should be able to generate all the dates with a few lines of code. I would write something like this if my target was the browser's runtime:

TS
function generateDate(time = 0) {
+Adobe After Effects and JavaScript | Yann Prono

    Adobe After Effects and JavaScript

    On January 1st 2021, I challenged myself: record 1 second of video every day for the entire 2021 year and compile them into a single film. I really enjoyed achieving this idea: It felt great to make something a little creative since I'm not at all, I could get familiar with my camera, I still love video editing and it was a perfect reason to say hello to my family/friends. Finally, it was even more exciting since I kept the challenge secret.

    But enough storytelling, Let's get to the point of this article: Something I wanted for this video is the current date the video was taken. And of course, changing 365 times the text layer in my Adobe project was not part of the plan. So let's explore how to automate this tedious task in Adobe After Effects.

    Scripting in Adobe applications

    When I was a student, I learned that Adobe applications come with a scripting language named ExtendScript. Even though the language was syntactically close to JavaScript, I didn't even try it. The reason? With the Studio crew, we were very focused on investigating all the secrets of a light hoppy drink, with a drawing of the flying dutchman on the bottle.

    Since October 2018, no more excuses: most Adobe applications embed a JavaScript engine (V8 or JavaScriptCore), which means we can write modern JS and use the latest features.

    Generating the date

    It means I should be able to generate all the dates with a few lines of code. I would write something like this if my target was the browser's runtime:

    TS
    function generateDate(time = 0) {
       const date = new Date(2021, 0, 1)
       date.setDate(date.getDate() + Math.floor(time))
       const options = { month: 'long', day: 'numeric' }
    @@ -9,4 +9,4 @@
     const options = { month: 'long', day: 'numeric' }
     date.setDate(date.getDate() + Math.floor(time))
     date.toLocaleDateString('en-US', options)
    -

    Note for never: I wonder if we can import external libraries: imagine the limitless possibilities ahead of me if I can generate NFT videos with the library is-odd or moment...

    I'm glad I wasn't the robot on this task.

    \ No newline at end of file +

    Note for never: I wonder if we can import external libraries: imagine the limitless possibilities ahead of me if I can generate NFT videos with the library is-odd or moment...

    I'm glad I wasn't the robot on this task.

    \ No newline at end of file diff --git a/articles/cookies/assets/cookie-05407feb.js b/articles/cookies/assets/cookie-0b92cc16.js similarity index 82% rename from articles/cookies/assets/cookie-05407feb.js rename to articles/cookies/assets/cookie-0b92cc16.js index 5e94734..0a1707d 100644 --- a/articles/cookies/assets/cookie-05407feb.js +++ b/articles/cookies/assets/cookie-0b92cc16.js @@ -1 +1 @@ -const a=window,e=a.ShadowRoot&&(void 0===a.ShadyCSS||a.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),o=new WeakMap;class t{constructor(a,e,o){if(this._$cssResult$=!0,o!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=a,this.t=e}get styleSheet(){let a=this.o;const i=this.t;if(e&&void 0===a){const e=void 0!==i&&1===i.length;e&&(a=o.get(i)),void 0===a&&((this.o=a=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(i,a))}return a}toString(){return this.cssText}}const s=e?a=>a:a=>a instanceof CSSStyleSheet?(a=>{let e="";for(const i of a.cssRules)e+=i.cssText;return new t("string"==typeof(o=e)?o:o+"",void 0,i);var o})(a):a;var n;const r=window,l=r.trustedTypes,u=l?l.emptyScript:"",c=r.reactiveElementPolyfillSupport,m={toAttribute(a,e){switch(e){case Boolean:a=a?u:null;break;case Object:case Array:a=null==a?a:JSON.stringify(a)}return a},fromAttribute(a,e){let i=a;switch(e){case Boolean:i=null!==a;break;case Number:i=null===a?null:Number(a);break;case Object:case Array:try{i=JSON.parse(a)}catch(o){i=null}}return i}},d=(a,e)=>e!==a&&(e==e||a==a),h={attribute:!0,type:String,converter:m,reflect:!1,hasChanged:d},g="finalized";class k extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(a){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(a)}static get observedAttributes(){this.finalize();const a=[];return this.elementProperties.forEach(((e,i)=>{const o=this._$Ep(i,e);void 0!==o&&(this._$Ev.set(o,i),a.push(o))})),a}static createProperty(a,e=h){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(a,e),!e.noAccessor&&!this.prototype.hasOwnProperty(a)){const i="symbol"==typeof a?Symbol():"__"+a,o=this.getPropertyDescriptor(a,i,e);void 0!==o&&Object.defineProperty(this.prototype,a,o)}}static getPropertyDescriptor(a,e,i){return{get(){return this[e]},set(o){const t=this[a];this[e]=o,this.requestUpdate(a,t,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(a){return this.elementProperties.get(a)||h}static finalize(){if(this.hasOwnProperty(g))return!1;this[g]=!0;const a=Object.getPrototypeOf(this);if(a.finalize(),void 0!==a.h&&(this.h=[...a.h]),this.elementProperties=new Map(a.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const a=this.properties,e=[...Object.getOwnPropertyNames(a),...Object.getOwnPropertySymbols(a)];for(const i of e)this.createProperty(i,a[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(a){const e=[];if(Array.isArray(a)){const i=new Set(a.flat(1/0).reverse());for(const a of i)e.unshift(s(a))}else void 0!==a&&e.push(s(a));return e}static _$Ep(a,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof a?a.toLowerCase():void 0}u(){var a;this._$E_=new Promise((a=>this.enableUpdating=a)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(a=this.constructor.h)||void 0===a||a.forEach((a=>a(this)))}addController(a){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(a),void 0!==this.renderRoot&&this.isConnected&&(null===(i=a.hostConnected)||void 0===i||i.call(a))}removeController(a){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(a)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((a,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var i;const o=null!==(i=this.shadowRoot)&&void 0!==i?i:this.attachShadow(this.constructor.shadowRootOptions);return t=o,s=this.constructor.elementStyles,e?t.adoptedStyleSheets=s.map((a=>a instanceof CSSStyleSheet?a:a.styleSheet)):s.forEach((e=>{const i=document.createElement("style"),o=a.litNonce;void 0!==o&&i.setAttribute("nonce",o),i.textContent=e.cssText,t.appendChild(i)})),o;var t,s}connectedCallback(){var a;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(a=this._$ES)||void 0===a||a.forEach((a=>{var e;return null===(e=a.hostConnected)||void 0===e?void 0:e.call(a)}))}enableUpdating(a){}disconnectedCallback(){var a;null===(a=this._$ES)||void 0===a||a.forEach((a=>{var e;return null===(e=a.hostDisconnected)||void 0===e?void 0:e.call(a)}))}attributeChangedCallback(a,e,i){this._$AK(a,i)}_$EO(a,e,i=h){var o;const t=this.constructor._$Ep(a,i);if(void 0!==t&&!0===i.reflect){const s=(void 0!==(null===(o=i.converter)||void 0===o?void 0:o.toAttribute)?i.converter:m).toAttribute(e,i.type);this._$El=a,null==s?this.removeAttribute(t):this.setAttribute(t,s),this._$El=null}}_$AK(a,e){var i;const o=this.constructor,t=o._$Ev.get(a);if(void 0!==t&&this._$El!==t){const a=o.getPropertyOptions(t),s="function"==typeof a.converter?{fromAttribute:a.converter}:void 0!==(null===(i=a.converter)||void 0===i?void 0:i.fromAttribute)?a.converter:m;this._$El=t,this[t]=s.fromAttribute(e,a.type),this._$El=null}}requestUpdate(a,e,i){let o=!0;void 0!==a&&(((i=i||this.constructor.getPropertyOptions(a)).hasChanged||d)(this[a],e)?(this._$AL.has(a)||this._$AL.set(a,e),!0===i.reflect&&this._$El!==a&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(a,i))):o=!1),!this.isUpdatePending&&o&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const a=this.scheduleUpdate();return null!=a&&await a,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var a;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((a,e)=>this[e]=a)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(a=this._$ES)||void 0===a||a.forEach((a=>{var e;return null===(e=a.hostUpdate)||void 0===e?void 0:e.call(a)})),this.update(i)):this._$Ek()}catch(o){throw e=!1,this._$Ek(),o}e&&this._$AE(i)}willUpdate(a){}_$AE(a){var e;null===(e=this._$ES)||void 0===e||e.forEach((a=>{var e;return null===(e=a.hostUpdated)||void 0===e?void 0:e.call(a)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(a)),this.updated(a)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(a){return!0}update(a){void 0!==this._$EC&&(this._$EC.forEach(((a,e)=>this._$EO(e,this[e],a))),this._$EC=void 0),this._$Ek()}updated(a){}firstUpdated(a){}}var p;k[g]=!0,k.elementProperties=new Map,k.elementStyles=[],k.shadowRootOptions={mode:"open"},null==c||c({ReactiveElement:k}),(null!==(n=r.reactiveElementVersions)&&void 0!==n?n:r.reactiveElementVersions=[]).push("1.6.2");const b=window,v=b.trustedTypes,y=v?v.createPolicy("lit-html",{createHTML:a=>a}):void 0,f="$lit$",w=`lit$${(Math.random()+"").slice(9)}$`,x="?"+w,z=`<${x}>`,j=document,$=()=>j.createComment(""),_=a=>null===a||"object"!=typeof a&&"function"!=typeof a,A=Array.isArray,S="[ \t\n\f\r]",q=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,C=/-->/g,E=/>/g,P=RegExp(`>|${S}(?:([^\\s"'>=/]+)(${S}*=${S}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),H=/'/g,U=/"/g,L=/^(?:script|style|textarea|title)$/i,O=(a,...e)=>({_$litType$:1,strings:a,values:e}),N=Symbol.for("lit-noChange"),I=Symbol.for("lit-nothing"),T=new WeakMap,R=j.createTreeWalker(j,129,null,!1);function D(a,e){if(!Array.isArray(a)||!a.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==y?y.createHTML(e):e}class M{constructor({strings:a,_$litType$:e},i){let o;this.parts=[];let t=0,s=0;const n=a.length-1,r=this.parts,[l,u]=((a,e)=>{const i=a.length-1,o=[];let t,s=2===e?"":"",n=q;for(let r=0;r"===l[0]?(n=null!=t?t:q,u=-1):void 0===l[1]?u=-2:(u=n.lastIndex-l[2].length,i=l[1],n=void 0===l[3]?P:'"'===l[3]?U:H):n===U||n===H?n=P:n===C||n===E?n=q:(n=P,t=void 0);const m=n===P&&a[r+1].startsWith("/>")?" ":"";s+=n===q?e+z:u>=0?(o.push(i),e.slice(0,u)+f+e.slice(u)+w+m):e+w+(-2===u?(o.push(void 0),r):m)}return[D(a,s+(a[i]||"")+(2===e?"":"")),o]})(a,e);if(this.el=M.createElement(l,i),R.currentNode=this.el.content,2===e){const a=this.el.content,e=a.firstChild;e.remove(),a.append(...e.childNodes)}for(;null!==(o=R.nextNode())&&r.length0){o.textContent=v?v.emptyScript:"";for(let i=0;i2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=I}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(a,e=this,i,o){const t=this.strings;let s=!1;if(void 0===t)a=W(this,a,e,0),s=!_(a)||a!==this._$AH&&a!==N,s&&(this._$AH=a);else{const o=a;let n,r;for(a=t[0],n=0;n{var o,t;const s=null!==(o=null==i?void 0:i.renderBefore)&&void 0!==o?o:e;let n=s._$litPart$;if(void 0===n){const a=null!==(t=null==i?void 0:i.renderBefore)&&void 0!==t?t:null;s._$litPart$=n=new V(e.insertBefore($(),a),a,void 0,null!=i?i:{})}return n._$AI(a),n})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var a;super.connectedCallback(),null===(a=this._$Do)||void 0===a||a.setConnected(!0)}disconnectedCallback(){var a;super.disconnectedCallback(),null===(a=this._$Do)||void 0===a||a.setConnected(!1)}render(){return N}}ea.finalized=!0,ea._$litElement$=!0,null===(Y=globalThis.litElementHydrateSupport)||void 0===Y||Y.call(globalThis,{LitElement:ea});const ia=globalThis.litElementPolyfillSupport;null==ia||ia({LitElement:ea}),(null!==(aa=globalThis.litElementVersions)&&void 0!==aa?aa:globalThis.litElementVersions=[]).push("3.3.2");const oa=a=>(...e)=>({_$litDirective$:a,values:e});class ta{constructor(a){}get _$AU(){return this._$AM._$AU}_$AT(a,e,i){this._$Ct=a,this._$AM=e,this._$Ci=i}_$AS(a,e){return this.update(a,e)}update(a,e){return this.render(...e)}}class sa extends ta{constructor(a){if(super(a),this.et=I,2!==a.type)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(a){if(a===I||null==a)return this.ft=void 0,this.et=a;if(a===N)return a;if("string"!=typeof a)throw Error(this.constructor.directiveName+"() called with a non-string value");if(a===this.et)return this.ft;this.et=a;const e=[a];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}sa.directiveName="unsafeHTML",sa.resultType=1;const na=oa(sa),ra=(a,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,a)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,a)}};function la(a){return e={...a,state:!0},(a,i)=>void 0!==i?((a,e,i)=>{e.constructor.createProperty(i,a)})(e,a,i):ra(e,a);var e}var ua;null===(ua=window.HTMLSlotElement)||void 0===ua||ua.prototype.assignedElements;const ca=oa(class extends ta{constructor(a){var e;if(super(a),1!==a.type||"class"!==a.name||(null===(e=a.strings)||void 0===e?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(a){return" "+Object.keys(a).filter((e=>a[e])).join(" ")+" "}update(a,[e]){var i,o;if(void 0===this.it){this.it=new Set,void 0!==a.strings&&(this.nt=new Set(a.strings.join(" ").split(/\s/).filter((a=>""!==a))));for(const a in e)e[a]&&!(null===(i=this.nt)||void 0===i?void 0:i.has(a))&&this.it.add(a);return this.render(e)}const t=a.element.classList;this.it.forEach((a=>{a in e||(t.remove(a),this.it.delete(a))}));for(const s in e){const a=!!e[s];a===this.it.has(s)||(null===(o=this.nt)||void 0===o?void 0:o.has(s))||(a?(t.add(s),this.it.add(s)):(t.remove(s),this.it.delete(s)))}return N}});function ma(a,e){let i=0,o=a.length,t=!1;if(!e){if(a.startsWith("data:"))return null;for(;ii+1&&a.charCodeAt(o-1)<=32;)o-=1;if(47===a.charCodeAt(i)&&47===a.charCodeAt(i+1))i+=2;else{const e=a.indexOf(":/",i);if(-1!==e){const o=e-i,t=a.charCodeAt(i),s=a.charCodeAt(i+1),n=a.charCodeAt(i+2),r=a.charCodeAt(i+3),l=a.charCodeAt(i+4);if(5===o&&104===t&&116===s&&116===n&&112===r&&115===l);else if(4===o&&104===t&&116===s&&116===n&&112===r);else if(3===o&&119===t&&115===s&&115===n);else if(2===o&&119===t&&115===s);else for(let u=i;u=97&&e<=122||e>=48&&e<=57||46===e||45===e||43===e))return null}for(i=e+2;47===a.charCodeAt(i);)i+=1}}let e=-1,s=-1,n=-1;for(let r=i;r=65&&i<=90&&(t=!0)}if(-1!==e&&e>i&&ei&&ni+1&&46===a.charCodeAt(o-1);)o-=1;const s=0!==i||o!==a.length?a.slice(i,o):a;return t?s.toLowerCase():s}function da(a){return a>=97&&a<=122||a>=48&&a<=57||a>127}function ha(a){if(a.length>255)return!1;if(0===a.length)return!1;if(!da(a.charCodeAt(0))&&46!==a.charCodeAt(0)&&95!==a.charCodeAt(0))return!1;let e=-1,i=-1;const o=a.length;for(let t=0;t64||46===i||45===i||95===i)return!1;e=t}else if(!da(o)&&45!==o&&95!==o)return!1;i=o}return o-e-1<=63&&45!==i}const ga=function({allowIcannDomains:a=!0,allowPrivateDomains:e=!1,detectIp:i=!0,extractHostname:o=!0,mixedInputs:t=!0,validHosts:s=null,validateHostname:n=!0}){return{allowIcannDomains:a,allowPrivateDomains:e,detectIp:i,extractHostname:o,mixedInputs:t,validHosts:s,validateHostname:n}}({});const ka=function(){const a=[1,{}],e=[0,{city:a}];return[0,{ck:[0,{www:a}],jp:[0,{kawasaki:e,kitakyushu:e,kobe:e,nagoya:e,sapporo:e,sendai:e,yokohama:e}]}]}(),pa=function(){const a=[1,{}],e=[2,{}],i=[1,{gov:a,com:a,org:a,net:a,edu:a}],o=[0,{"*":e}],t=[1,{blogspot:e}],s=[1,{gov:a}],n=[0,{"*":a}],r=[0,{cloud:e}],l=[1,{co:e}],u=[2,{nodes:e}],c=[0,{s3:e}],m=[0,{direct:e}],d=[2,{id:e}],h=[0,{"webview-assets":e}],g=[0,{vfs:e,"webview-assets":e}],k=[0,{"aws-cloud9":h,cloud9:g}],p=[0,{dualstack:c,"analytics-gateway":e,"aws-cloud9":h,cloud9:g}],b=[0,{dualstack:c,s3:e,"s3-website":e,"aws-cloud9":h,cloud9:g}],v=[0,{dualstack:c,"aws-cloud9":h,cloud9:g}],y=[0,{apps:e}],f=[0,{paas:e}],w=[0,{app:e}],x=[2,{eu:e}],z=[0,{site:e}],j=[0,{pages:e}],$=[1,{com:a,edu:a,net:a,org:a}],_=[0,{j:e}],A=[0,{jelastic:e}],S=[0,{user:e}],q=[1,{ybo:e}],C=[0,{cust:e,reservd:e}],E=[0,{cust:e}],P=[1,{gov:a,edu:a,mil:a,com:a,org:a,net:a}],H=[1,{edu:a,biz:a,net:a,org:a,gov:a,info:a,com:a}],U=[1,{gov:a,blogspot:e}],L=[1,{framer:e}],O=[1,{barsy:e}],N=[0,{forgot:e}],I=[1,{gs:a}],T=[0,{nes:a}],R=[1,{k12:a,cc:a,lib:a}],D=[1,{cc:a,lib:a}];return[0,{ac:[1,{com:a,edu:a,gov:a,net:a,mil:a,org:a,drr:e}],ad:[1,{nom:a}],ae:[1,{co:a,net:a,org:a,sch:a,ac:a,gov:a,mil:a,blogspot:e}],aero:[1,{"accident-investigation":a,"accident-prevention":a,aerobatic:a,aeroclub:a,aerodrome:a,agents:a,aircraft:a,airline:a,airport:a,"air-surveillance":a,airtraffic:a,"air-traffic-control":a,ambulance:a,amusement:a,association:a,author:a,ballooning:a,broker:a,caa:a,cargo:a,catering:a,certification:a,championship:a,charter:a,civilaviation:a,club:a,conference:a,consultant:a,consulting:a,control:a,council:a,crew:a,design:a,dgca:a,educator:a,emergency:a,engine:a,engineer:a,entertainment:a,equipment:a,exchange:a,express:a,federation:a,flight:a,fuel:a,gliding:a,government:a,groundhandling:a,group:a,hanggliding:a,homebuilt:a,insurance:a,journal:a,journalist:a,leasing:a,logistics:a,magazine:a,maintenance:a,media:a,microlight:a,modelling:a,navigation:a,parachuting:a,paragliding:a,"passenger-association":a,pilot:a,press:a,production:a,recreation:a,repbody:a,res:a,research:a,rotorcraft:a,safety:a,scientist:a,services:a,show:a,skydiving:a,software:a,student:a,trader:a,trading:a,trainer:a,union:a,workinggroup:a,works:a}],af:i,ag:[1,{com:a,org:a,net:a,co:a,nom:a}],ai:[1,{off:a,com:a,net:a,org:a,uwu:e}],al:[1,{com:a,edu:a,gov:a,mil:a,net:a,org:a,blogspot:e}],am:[1,{co:a,com:a,commune:a,net:a,org:a,radio:e,blogspot:e,neko:e,nyaa:e}],ao:[1,{ed:a,gv:a,og:a,co:a,pb:a,it:a}],aq:a,ar:[1,{bet:a,com:t,coop:a,edu:a,gob:a,gov:a,int:a,mil:a,musica:a,mutual:a,net:a,org:a,senasa:a,tur:a}],arpa:[1,{e164:a,"in-addr":a,ip6:a,iris:a,uri:a,urn:a}],as:s,asia:[1,{cloudns:e}],at:[1,{ac:[1,{sth:a}],co:t,gv:a,or:a,funkfeuer:[0,{wien:e}],futurecms:[0,{"*":e,ex:o,in:o}],futurehosting:e,futuremailing:e,ortsinfo:[0,{ex:o,kunden:o}],biz:e,info:e,"123webseite":e,priv:e,myspreadshop:e,"12hp":e,"2ix":e,"4lima":e,"lima-city":e}],au:[1,{com:[1,{blogspot:e,cloudlets:[0,{mel:e}],myspreadshop:e}],net:a,org:a,edu:[1,{act:a,catholic:a,nsw:[1,{schools:a}],nt:a,qld:a,sa:a,tas:a,vic:a,wa:a}],gov:[1,{qld:a,sa:a,tas:a,vic:a,wa:a}],asn:a,id:a,info:a,conf:a,oz:a,act:a,nsw:a,nt:a,qld:a,sa:a,tas:a,vic:a,wa:a}],aw:[1,{com:a}],ax:[1,{be:e,cat:e,es:e,eu:e,gg:e,mc:e,us:e,xy:e}],az:[1,{com:a,net:a,int:a,gov:a,org:a,edu:a,info:a,pp:a,mil:a,name:a,pro:a,biz:a}],ba:[1,{com:a,edu:a,gov:a,mil:a,net:a,org:a,rs:e,blogspot:e}],bb:[1,{biz:a,co:a,com:a,edu:a,gov:a,info:a,net:a,org:a,store:a,tv:a}],bd:n,be:[1,{ac:a,webhosting:e,blogspot:e,interhostsolutions:r,kuleuven:[0,{ezproxy:e}],"123website":e,myspreadshop:e,transurl:o}],bf:s,bg:[1,{0:a,1:a,2:a,3:a,4:a,5:a,6:a,7:a,8:a,9:a,a:a,b:a,c:a,d:a,e:a,f:a,g:a,h:a,i:a,j:a,k:a,l:a,m:a,n:a,o:a,p:a,q:a,r:a,s:a,t:a,u:a,v:a,w:a,x:a,y:a,z:a,blogspot:e,barsy:e}],bh:i,bi:[1,{co:a,com:a,edu:a,or:a,org:a}],biz:[1,{activetrail:e,cloudns:e,jozi:e,dyndns:e,"for-better":e,"for-more":e,"for-some":e,"for-the":e,selfip:e,webhop:e,orx:e,mmafan:e,myftp:e,"no-ip":e,dscloud:e}],bj:[1,{africa:a,agro:a,architectes:a,assur:a,avocats:a,co:a,com:a,eco:a,econo:a,edu:a,info:a,loisirs:a,money:a,net:a,org:a,ote:a,resto:a,restaurant:a,tourism:a,univ:a,blogspot:e}],bm:i,bn:[1,{com:a,edu:a,gov:a,net:a,org:a,co:e}],bo:[1,{com:a,edu:a,gob:a,int:a,org:a,net:a,mil:a,tv:a,web:a,academia:a,agro:a,arte:a,blog:a,bolivia:a,ciencia:a,cooperativa:a,democracia:a,deporte:a,ecologia:a,economia:a,empresa:a,indigena:a,industria:a,info:a,medicina:a,movimiento:a,musica:a,natural:a,nombre:a,noticias:a,patria:a,politica:a,profesional:a,plurinacional:a,pueblo:a,revista:a,salud:a,tecnologia:a,tksat:a,transporte:a,wiki:a}],br:[1,{"9guacu":a,abc:a,adm:a,adv:a,agr:a,aju:a,am:a,anani:a,aparecida:a,app:a,arq:a,art:a,ato:a,b:a,barueri:a,belem:a,bhz:a,bib:a,bio:a,blog:a,bmd:a,boavista:a,bsb:a,campinagrande:a,campinas:a,caxias:a,cim:a,cng:a,cnt:a,com:[1,{blogspot:e,simplesite:e}],contagem:a,coop:a,coz:a,cri:a,cuiaba:a,curitiba:a,def:a,des:a,det:a,dev:a,ecn:a,eco:a,edu:a,emp:a,enf:a,eng:a,esp:a,etc:a,eti:a,far:a,feira:a,flog:a,floripa:a,fm:a,fnd:a,fortal:a,fot:a,foz:a,fst:a,g12:a,geo:a,ggf:a,goiania:a,gov:[1,{ac:a,al:a,am:a,ap:a,ba:a,ce:a,df:a,es:a,go:a,ma:a,mg:a,ms:a,mt:a,pa:a,pb:a,pe:a,pi:a,pr:a,rj:a,rn:a,ro:a,rr:a,rs:a,sc:a,se:a,sp:a,to:a}],gru:a,imb:a,ind:a,inf:a,jab:a,jampa:a,jdf:a,joinville:a,jor:a,jus:a,leg:[1,{ac:e,al:e,am:e,ap:e,ba:e,ce:e,df:e,es:e,go:e,ma:e,mg:e,ms:e,mt:e,pa:e,pb:e,pe:e,pi:e,pr:e,rj:e,rn:e,ro:e,rr:e,rs:e,sc:e,se:e,sp:e,to:e}],lel:a,log:a,londrina:a,macapa:a,maceio:a,manaus:a,maringa:a,mat:a,med:a,mil:a,morena:a,mp:a,mus:a,natal:a,net:a,niteroi:a,nom:n,not:a,ntr:a,odo:a,ong:a,org:a,osasco:a,palmas:a,poa:a,ppg:a,pro:a,psc:a,psi:a,pvh:a,qsl:a,radio:a,rec:a,recife:a,rep:a,ribeirao:a,rio:a,riobranco:a,riopreto:a,salvador:a,sampa:a,santamaria:a,santoandre:a,saobernardo:a,saogonca:a,seg:a,sjc:a,slg:a,slz:a,sorocaba:a,srv:a,taxi:a,tc:a,tec:a,teo:a,the:a,tmp:a,trd:a,tur:a,tv:a,udi:a,vet:a,vix:a,vlog:a,wiki:a,zlg:a}],bs:[1,{com:a,net:a,org:a,edu:a,gov:a,we:e}],bt:i,bv:a,bw:[1,{co:a,org:a}],by:[1,{gov:a,mil:a,com:t,of:a,mycloud:e,mediatech:e}],bz:[1,{com:a,net:a,org:a,edu:a,gov:a,za:e,gsj:e}],ca:[1,{ab:a,bc:a,mb:a,nb:a,nf:a,nl:a,ns:a,nt:a,nu:a,on:a,pe:a,qc:a,sk:a,yk:a,gc:a,barsy:e,awdev:o,co:e,blogspot:e,"no-ip":e,myspreadshop:e}],cat:a,cc:[1,{cloudns:e,ftpaccess:e,"game-server":e,myphotos:e,scrapping:e,twmail:e,csx:e,fantasyleague:e,spawn:[0,{instances:e}]}],cd:s,cf:t,cg:a,ch:[1,{square7:e,blogspot:e,flow:[0,{ae:[0,{alp1:e}],appengine:e}],"linkyard-cloud":e,dnsking:e,gotdns:e,"123website":e,myspreadshop:e,firenet:[0,{"*":e,svc:o}],"12hp":e,"2ix":e,"4lima":e,"lima-city":e}],ci:[1,{org:a,or:a,com:a,co:a,edu:a,ed:a,ac:a,net:a,go:a,asso:a,"xn--aroport-bya":a,"aéroport":a,int:a,presse:a,md:a,gouv:a,fin:e,nl:e}],ck:n,cl:[1,{co:a,gob:a,gov:a,mil:a,blogspot:e}],cm:[1,{co:a,com:a,gov:a,net:a}],cn:[1,{ac:a,com:[1,{amazonaws:[0,{compute:o,"cn-north-1":c,eb:[0,{"cn-north-1":e,"cn-northwest-1":e}],elb:o}]}],edu:a,gov:a,net:a,org:a,mil:a,"xn--55qx5d":a,"公司":a,"xn--io0a7i":a,"网络":a,"xn--od0alg":a,"網絡":a,ah:a,bj:a,cq:a,fj:a,gd:a,gs:a,gz:a,gx:a,ha:a,hb:a,he:a,hi:a,hl:a,hn:a,jl:a,js:a,jx:a,ln:a,nm:a,nx:a,qh:a,sc:a,sd:a,sh:a,sn:a,sx:a,tj:a,xj:a,xz:a,yn:a,zj:a,hk:a,mo:a,tw:a,"canva-apps":e,instantcloud:e,quickconnect:m}],co:[1,{arts:a,com:t,edu:a,firm:a,gov:a,info:a,int:a,mil:a,net:a,nom:a,org:a,rec:a,web:a,carrd:e,crd:e,otap:o,leadpages:e,lpages:e,mypi:e,n4t:e,firewalledreplit:d,repl:d,supabase:e}],com:[1,{devcdnaccesso:o,adobeaemcloud:[2,{dev:o}],airkitapps:e,"airkitapps-au":e,aivencloud:e,kasserver:e,amazonaws:[0,{compute:o,"compute-1":o,"us-east-1":[2,{dualstack:c,"analytics-gateway":e,"aws-cloud9":h,cloud9:g}],"ap-northeast-1":p,"ap-northeast-2":b,"ap-south-1":b,"ap-southeast-1":v,"ap-southeast-2":v,"ca-central-1":b,"eu-central-1":b,"eu-west-1":p,"eu-west-2":b,"eu-west-3":b,s3:e,"s3-ap-northeast-1":e,"s3-ap-northeast-2":e,"s3-ap-south-1":e,"s3-ap-southeast-1":e,"s3-ap-southeast-2":e,"s3-ca-central-1":e,"s3-eu-central-1":e,"s3-eu-west-1":e,"s3-eu-west-2":e,"s3-eu-west-3":e,"s3-external-1":e,"s3-fips-us-gov-west-1":e,"s3-sa-east-1":e,"s3-us-east-2":e,"s3-us-gov-west-1":e,"s3-us-west-1":e,"s3-us-west-2":e,"s3-website-ap-northeast-1":e,"s3-website-ap-southeast-1":e,"s3-website-ap-southeast-2":e,"s3-website-eu-west-1":e,"s3-website-sa-east-1":e,"s3-website-us-east-1":e,"s3-website-us-west-1":e,"s3-website-us-west-2":e,"sa-east-1":v,"us-east-2":[0,{dualstack:c,s3:e,"s3-website":e,"analytics-gateway":e,"aws-cloud9":h,cloud9:g}],"us-west-2":[0,{"analytics-gateway":e,"aws-cloud9":h,cloud9:g}],"af-south-1":k,"ap-east-1":k,"ap-northeast-3":k,"eu-north-1":k,"eu-south-1":k,"me-south-1":k,"us-west-1":k,elb:o}],elasticbeanstalk:[2,{"ap-northeast-1":e,"ap-northeast-2":e,"ap-northeast-3":e,"ap-south-1":e,"ap-southeast-1":e,"ap-southeast-2":e,"ca-central-1":e,"eu-central-1":e,"eu-west-1":e,"eu-west-2":e,"eu-west-3":e,"sa-east-1":e,"us-east-1":e,"us-east-2":e,"us-gov-west-1":e,"us-west-1":e,"us-west-2":e}],awsglobalaccelerator:e,siiites:e,appspacehosted:e,appspaceusercontent:e,"on-aptible":e,myasustor:e,"balena-devices":e,betainabox:e,boutir:e,bplaced:e,cafjs:e,"canva-apps":e,br:e,cn:e,de:e,eu:e,jpn:e,mex:e,ru:e,sa:e,uk:e,us:e,za:e,ar:e,hu:e,kr:e,no:e,qc:e,uy:e,africa:e,gr:e,co:e,jdevcloud:e,wpdevcloud:e,cloudcontrolled:e,cloudcontrolapp:e,"cf-ipfs":e,"cloudflare-ipfs":e,trycloudflare:e,"customer-oci":[0,{"*":e,oci:o,ocp:o,ocs:o}],dattolocal:e,dattorelay:e,dattoweb:e,mydatto:e,builtwithdark:e,datadetect:[0,{demo:e,instance:e}],ddns5:e,discordsays:e,discordsez:e,drayddns:e,dreamhosters:e,mydrobo:e,"dyndns-at-home":e,"dyndns-at-work":e,"dyndns-blog":e,"dyndns-free":e,"dyndns-home":e,"dyndns-ip":e,"dyndns-mail":e,"dyndns-office":e,"dyndns-pics":e,"dyndns-remote":e,"dyndns-server":e,"dyndns-web":e,"dyndns-wiki":e,"dyndns-work":e,blogdns:e,cechire:e,dnsalias:e,dnsdojo:e,doesntexist:e,dontexist:e,doomdns:e,"dyn-o-saur":e,dynalias:e,"est-a-la-maison":e,"est-a-la-masion":e,"est-le-patron":e,"est-mon-blogueur":e,"from-ak":e,"from-al":e,"from-ar":e,"from-ca":e,"from-ct":e,"from-dc":e,"from-de":e,"from-fl":e,"from-ga":e,"from-hi":e,"from-ia":e,"from-id":e,"from-il":e,"from-in":e,"from-ks":e,"from-ky":e,"from-ma":e,"from-md":e,"from-mi":e,"from-mn":e,"from-mo":e,"from-ms":e,"from-mt":e,"from-nc":e,"from-nd":e,"from-ne":e,"from-nh":e,"from-nj":e,"from-nm":e,"from-nv":e,"from-oh":e,"from-ok":e,"from-or":e,"from-pa":e,"from-pr":e,"from-ri":e,"from-sc":e,"from-sd":e,"from-tn":e,"from-tx":e,"from-ut":e,"from-va":e,"from-vt":e,"from-wa":e,"from-wi":e,"from-wv":e,"from-wy":e,getmyip:e,gotdns:e,"hobby-site":e,homelinux:e,homeunix:e,iamallama:e,"is-a-anarchist":e,"is-a-blogger":e,"is-a-bookkeeper":e,"is-a-bulls-fan":e,"is-a-caterer":e,"is-a-chef":e,"is-a-conservative":e,"is-a-cpa":e,"is-a-cubicle-slave":e,"is-a-democrat":e,"is-a-designer":e,"is-a-doctor":e,"is-a-financialadvisor":e,"is-a-geek":e,"is-a-green":e,"is-a-guru":e,"is-a-hard-worker":e,"is-a-hunter":e,"is-a-landscaper":e,"is-a-lawyer":e,"is-a-liberal":e,"is-a-libertarian":e,"is-a-llama":e,"is-a-musician":e,"is-a-nascarfan":e,"is-a-nurse":e,"is-a-painter":e,"is-a-personaltrainer":e,"is-a-photographer":e,"is-a-player":e,"is-a-republican":e,"is-a-rockstar":e,"is-a-socialist":e,"is-a-student":e,"is-a-teacher":e,"is-a-techie":e,"is-a-therapist":e,"is-an-accountant":e,"is-an-actor":e,"is-an-actress":e,"is-an-anarchist":e,"is-an-artist":e,"is-an-engineer":e,"is-an-entertainer":e,"is-certified":e,"is-gone":e,"is-into-anime":e,"is-into-cars":e,"is-into-cartoons":e,"is-into-games":e,"is-leet":e,"is-not-certified":e,"is-slick":e,"is-uberleet":e,"is-with-theband":e,"isa-geek":e,"isa-hockeynut":e,issmarterthanyou:e,"likes-pie":e,likescandy:e,"neat-url":e,"saves-the-whales":e,selfip:e,"sells-for-less":e,"sells-for-u":e,servebbs:e,"simple-url":e,"space-to-rent":e,"teaches-yoga":e,writesthisblog:e,digitaloceanspaces:o,ddnsfree:e,ddnsgeek:e,giize:e,gleeze:e,kozow:e,loseyourip:e,ooguy:e,theworkpc:e,mytuleap:e,"tuleap-partners":e,encoreapi:e,evennode:[0,{"eu-1":e,"eu-2":e,"eu-3":e,"eu-4":e,"us-1":e,"us-2":e,"us-3":e,"us-4":e}],onfabrica:e,fbsbx:y,"fastly-edge":e,"fastly-terrarium":e,"fastvps-server":e,mydobiss:e,firebaseapp:e,fldrv:e,forgeblocks:e,framercanvas:e,"freebox-os":e,freeboxos:e,freemyip:e,gentapps:e,gentlentapis:e,githubusercontent:e,"0emm":o,appspot:[2,{r:o}],codespot:e,googleapis:e,googlecode:e,pagespeedmobilizer:e,publishproxy:e,withgoogle:e,withyoutube:e,blogspot:e,awsmppl:e,herokuapp:e,herokussl:e,impertrixcdn:e,impertrix:e,smushcdn:e,wphostedmail:e,wpmucdn:e,pixolino:e,amscompute:e,dopaas:e,"hosted-by-previder":f,hosteur:[0,{"rag-cloud":e,"rag-cloud-ch":e}],"ik-server":[0,{jcloud:e,"jcloud-ver-jpc":e}],jelastic:[0,{demo:e}],kilatiron:e,massivegrid:f,wafaicloud:[0,{jed:e,lon:e,ryd:e}],joyent:[0,{cns:o}],ktistory:e,lpusercontent:e,lmpm:w,linode:[0,{members:e,nodebalancer:o}],linodeobjects:o,linodeusercontent:[0,{ip:e}],barsycenter:e,barsyonline:e,mazeplay:e,miniserver:e,meteorapp:x,hostedpi:e,"mythic-beasts":[0,{customer:e,caracal:e,fentiger:e,lynx:e,ocelot:e,oncilla:e,onza:e,sphinx:e,vs:e,x:e,yali:e}],nospamproxy:r,"4u":e,nfshost:e,"001www":e,ddnslive:e,myiphost:e,blogsyte:e,ciscofreak:e,damnserver:e,ditchyourip:e,dnsiskinky:e,dynns:e,geekgalaxy:e,"health-carereform":e,homesecuritymac:e,homesecuritypc:e,myactivedirectory:e,mysecuritycamera:e,"net-freaks":e,onthewifi:e,point2this:e,quicksytes:e,securitytactics:e,serveexchange:e,servehumour:e,servep2p:e,servesarcasm:e,stufftoread:e,unusualperson:e,workisboring:e,"3utilities":e,ddnsking:e,myvnc:e,servebeer:e,servecounterstrike:e,serveftp:e,servegame:e,servehalflife:e,servehttp:e,serveirc:e,servemp3:e,servepics:e,servequake:e,observableusercontent:[0,{static:e}],simplesite:e,orsites:e,operaunite:e,"authgear-staging":e,authgearapps:e,skygearapp:e,outsystemscloud:e,ownprovider:e,pgfog:e,pagefrontapp:e,pagexl:e,paywhirl:o,gotpantheon:e,"platter-app":e,pleskns:e,"postman-echo":e,prgmr:[0,{xen:e}],pythonanywhere:x,qualifioapp:e,ladesk:e,qbuser:e,qa2:e,"dev-myqnapcloud":e,"alpha-myqnapcloud":e,myqnapcloud:e,quipelements:o,rackmaze:e,rhcloud:e,render:w,onrender:e,"180r":e,dojin:e,sakuratan:e,sakuraweb:e,x0:e,code:[0,{builder:o,"dev-builder":o,"stg-builder":o}],logoip:e,scrysec:e,"firewall-gateway":e,myshopblocks:e,myshopify:e,shopitsite:e,"1kapp":e,appchizi:e,applinzi:e,sinaapp:e,vipsinaapp:e,"bounty-full":[2,{alpha:e,beta:e}],streamlitapp:e,"try-snowplow":e,"stackhero-network":e,"playstation-cloud":e,myspreadshop:e,stdlib:[0,{api:e}],"temp-dns":e,dsmynas:e,familyds:e,mytabit:e,"tb-hosting":z,reservd:e,thingdustdata:e,bloxcms:e,"townnews-staging":e,typeform:[0,{pro:e}],hk:e,it:e,vultrobjects:o,wafflecell:e,"reserve-online":e,hotelwithflight:e,remotewd:e,wiardweb:j,messwithdns:e,"woltlab-demo":e,wpenginepowered:[2,{js:e}],wixsite:e,xnbay:[2,{u2:e,"u2-local":e}],yolasite:e}],coop:a,cr:[1,{ac:a,co:a,ed:a,fi:a,go:a,or:a,sa:a}],cu:[1,{com:a,edu:a,org:a,net:a,gov:a,inf:a}],cv:[1,{com:a,edu:a,int:a,nome:a,org:a,blogspot:e}],cw:$,cx:[1,{gov:a,ath:e,info:e}],cy:[1,{ac:a,biz:a,com:[1,{blogspot:e,scaleforce:_}],ekloges:a,gov:a,ltd:a,mil:a,net:a,org:a,press:a,pro:a,tm:a}],cz:[1,{co:e,realm:e,e4:e,blogspot:e,metacentrum:[0,{cloud:o,custom:e}],muni:[0,{cloud:[0,{flt:e,usr:e}]}]}],de:[1,{bplaced:e,square7:e,com:e,cosidns:[0,{dyn:e}],"dynamisches-dns":e,dnsupdater:e,"internet-dns":e,"l-o-g-i-n":e,dnshome:e,fuettertdasnetz:e,isteingeek:e,istmein:e,lebtimnetz:e,leitungsen:e,traeumtgerade:e,ddnss:[2,{dyn:e,dyndns:e}],dyndns1:e,"dyn-ip24":e,"home-webserver":[2,{dyn:e}],"myhome-server":e,frusky:o,goip:e,blogspot:e,"xn--gnstigbestellen-zvb":e,"günstigbestellen":e,"xn--gnstigliefern-wob":e,"günstigliefern":e,"hs-heilbronn":[0,{it:j}],"dyn-berlin":e,"in-berlin":e,"in-brb":e,"in-butter":e,"in-dsl":e,"in-vpn":e,iservschule:e,"mein-iserv":e,schulplattform:e,schulserver:e,"test-iserv":e,keymachine:e,"git-repos":e,"lcube-server":e,"svn-repos":e,barsy:e,"123webseite":e,logoip:e,"firewall-gateway":e,"my-gateway":e,"my-router":e,spdns:e,speedpartner:[0,{customer:e}],myspreadshop:e,"taifun-dns":e,"12hp":e,"2ix":e,"4lima":e,"lima-city":e,"dd-dns":e,"dray-dns":e,draydns:e,"dyn-vpn":e,dynvpn:e,"mein-vigor":e,"my-vigor":e,"my-wan":e,"syno-ds":e,"synology-diskstation":e,"synology-ds":e,uberspace:o,virtualuser:e,"virtual-user":e,"community-pro":e,diskussionsbereich:e}],dj:a,dk:[1,{biz:e,co:e,firm:e,reg:e,store:e,blogspot:e,"123hjemmeside":e,myspreadshop:e}],dm:i,do:[1,{art:a,com:a,edu:a,gob:a,gov:a,mil:a,net:a,org:a,sld:a,web:a}],dz:[1,{art:a,asso:a,com:a,edu:a,gov:a,org:a,net:a,pol:a,soc:a,tm:a}],ec:[1,{com:a,info:a,net:a,fin:a,k12:a,med:a,pro:a,org:a,edu:a,gov:a,gob:a,mil:a,base:e,official:e}],edu:[1,{rit:[0,{"git-pages":e}]}],ee:[1,{edu:a,gov:a,riik:a,lib:a,med:a,com:t,pri:a,aip:a,org:a,fie:a}],eg:[1,{com:t,edu:a,eun:a,gov:a,mil:a,name:a,net:a,org:a,sci:a}],er:n,es:[1,{com:t,nom:a,org:a,gob:a,edu:a,"123miweb":e,myspreadshop:e}],et:[1,{com:a,gov:a,org:a,edu:a,biz:a,name:a,info:a,net:a}],eu:[1,{airkitapps:e,mycd:e,cloudns:e,dogado:A,barsy:e,wellbeingzone:e,spdns:e,transurl:o,diskstation:e}],fi:[1,{aland:a,dy:e,blogspot:e,"xn--hkkinen-5wa":e,"häkkinen":e,iki:e,cloudplatform:[0,{fi:e}],datacenter:[0,{demo:e,paas:e}],kapsi:e,"123kotisivu":e,myspreadshop:e}],fj:[1,{ac:a,biz:a,com:a,gov:a,info:a,mil:a,name:a,net:a,org:a,pro:a}],fk:n,fm:[1,{com:a,edu:a,net:a,org:a,radio:e,user:o}],fo:a,fr:[1,{asso:a,com:a,gouv:a,nom:a,prd:a,tm:a,aeroport:a,avocat:a,avoues:a,cci:a,chambagri:a,"chirurgiens-dentistes":a,"experts-comptables":a,"geometre-expert":a,greta:a,"huissier-justice":a,medecin:a,notaires:a,pharmacien:a,port:a,veterinaire:a,"en-root":e,"fbx-os":e,fbxos:e,"freebox-os":e,freeboxos:e,blogspot:e,goupile:e,"123siteweb":e,"on-web":e,"chirurgiens-dentistes-en-france":e,dedibox:e,myspreadshop:e,ynh:e}],ga:a,gb:a,gd:[1,{edu:a,gov:a}],ge:[1,{com:a,edu:a,gov:a,org:a,mil:a,net:a,pvt:a}],gf:a,gg:[1,{co:a,net:a,org:a,kaas:e,cya:e,panel:[2,{daemon:e}]}],gh:[1,{com:a,edu:a,gov:a,org:a,mil:a}],gi:[1,{com:a,ltd:a,gov:a,mod:a,edu:a,org:a}],gl:[1,{co:a,com:a,edu:a,net:a,org:a,biz:e,xx:e}],gm:a,gn:[1,{ac:a,com:a,edu:a,gov:a,org:a,net:a}],gov:a,gp:[1,{com:a,net:a,mobi:a,edu:a,org:a,asso:a,app:e}],gq:a,gr:[1,{com:a,edu:a,net:a,org:a,gov:a,blogspot:e,simplesite:e}],gs:a,gt:[1,{com:a,edu:a,gob:a,ind:a,mil:a,net:a,org:a,blog:e,de:e,to:e}],gu:[1,{com:a,edu:a,gov:a,guam:a,info:a,net:a,org:a,web:a}],gw:a,gy:[1,{co:a,com:a,edu:a,gov:a,net:a,org:a,be:e}],hk:[1,{com:a,edu:a,gov:a,idv:a,net:a,org:a,"xn--55qx5d":a,"公司":a,"xn--wcvs22d":a,"教育":a,"xn--lcvr32d":a,"敎育":a,"xn--mxtq1m":a,"政府":a,"xn--gmqw5a":a,"個人":a,"xn--ciqpn":a,"个人":a,"xn--gmq050i":a,"箇人":a,"xn--zf0avx":a,"網络":a,"xn--io0a7i":a,"网络":a,"xn--mk0axi":a,"组織":a,"xn--od0alg":a,"網絡":a,"xn--od0aq3b":a,"网絡":a,"xn--tn0ag":a,"组织":a,"xn--uc0atv":a,"組織":a,"xn--uc0ay4a":a,"組织":a,blogspot:e,secaas:e,ltd:e,inc:e}],hm:a,hn:[1,{com:a,edu:a,org:a,net:a,mil:a,gob:a,cc:e}],hr:[1,{iz:a,from:a,name:a,com:a,blogspot:e,free:e}],ht:[1,{com:a,shop:a,firm:a,info:a,adult:a,net:a,pro:a,org:a,med:a,art:a,coop:a,pol:a,asso:a,edu:a,rel:a,gouv:a,perso:a}],hu:[1,{2e3:a,co:a,info:a,org:a,priv:a,sport:a,tm:a,agrar:a,bolt:a,casino:a,city:a,erotica:a,erotika:a,film:a,forum:a,games:a,hotel:a,ingatlan:a,jogasz:a,konyvelo:a,lakas:a,media:a,news:a,reklam:a,sex:a,shop:a,suli:a,szex:a,tozsde:a,utazas:a,video:a,blogspot:e}],id:[1,{ac:a,biz:a,co:t,desa:a,go:a,mil:a,my:[1,{rss:o}],net:a,or:a,ponpes:a,sch:a,web:a,flap:e,forte:e}],ie:[1,{gov:a,blogspot:e,myspreadshop:e}],il:[1,{ac:a,co:[1,{ravpage:e,blogspot:e,tabitorder:e,mytabit:e}],gov:a,idf:a,k12:a,muni:a,net:a,org:a}],"xn--4dbrk0ce":[1,{"xn--4dbgdty6c":a,"xn--5dbhl8d":a,"xn--8dbq2a":a,"xn--hebda8b":a}],"ישראל":[1,{"אקדמיה":a,"ישוב":a,"צהל":a,"ממשל":a}],im:[1,{ac:a,co:[1,{ltd:a,plc:a}],com:a,net:a,org:a,tt:a,tv:a,ro:e}],in:[1,{"5g":a,"6g":a,ac:a,ai:a,am:a,bihar:a,biz:a,business:a,ca:a,cn:a,co:a,com:a,coop:a,cs:a,delhi:a,dr:a,edu:a,er:a,firm:a,gen:a,gov:a,gujarat:a,ind:a,info:a,int:a,internet:a,io:a,me:a,mil:a,net:a,nic:a,org:a,pg:a,post:a,pro:a,res:a,travel:a,tv:a,uk:a,up:a,us:a,web:e,cloudns:e,blogspot:e,barsy:e,supabase:e}],info:[1,{cloudns:e,"dynamic-dns":e,dyndns:e,"barrel-of-knowledge":e,"barrell-of-knowledge":e,"for-our":e,"groks-the":e,"groks-this":e,"here-for-more":e,knowsitall:e,selfip:e,webhop:e,barsy:e,mayfirst:e,forumz:e,nsupdate:e,dvrcam:e,ilovecollege:e,"no-ip":e,dnsupdate:e,"v-info":e}],int:[1,{eu:a}],io:[1,{2038:e,com:a,"on-acorn":o,apigee:e,"b-data":e,backplaneapp:e,banzaicloud:[0,{app:e,backyards:o}],beagleboard:e,bitbucket:e,bluebite:e,boxfuse:e,browsersafetymark:e,bigv:[0,{uk0:e}],cleverapps:e,dappnode:[0,{dyndns:e}],dedyn:e,drud:e,definima:e,"fh-muenster":e,shw:e,forgerock:[0,{id:e}],ghost:e,github:e,gitlab:e,lolipop:e,"hasura-app":e,hostyhosting:e,moonscale:o,beebyte:f,beebyteapp:[0,{sekd1:e}],jele:e,unispace:[0,{"cloud-fr1":e}],webthings:e,loginline:e,barsy:e,azurecontainer:o,ngrok:[2,{ap:e,au:e,eu:e,in:e,jp:e,sa:e,us:e}],nodeart:[0,{stage:e}],nid:e,pantheonsite:e,dyn53:e,pstmn:[2,{mock:e}],protonet:e,qoto:e,qcx:[2,{sys:o}],vaporcloud:e,vbrplsbx:[0,{g:e}],"on-k3s":o,"on-rio":o,readthedocs:e,resindevice:e,resinstaging:[0,{devices:e}],hzc:e,sandcats:e,shiftcrypto:e,shiftedit:e,"mo-siemens":e,musician:e,lair:y,stolos:o,spacekit:e,utwente:e,s5y:o,edugit:e,telebit:e,thingdust:[0,{dev:C,disrec:C,prod:E,testing:C}],tickets:e,upli:e,wedeploy:e,editorx:e,basicserver:e,virtualserver:e}],iq:P,ir:[1,{ac:a,co:a,gov:a,id:a,net:a,org:a,sch:a,"xn--mgba3a4f16a":a,"ایران":a,"xn--mgba3a4fra":a,"ايران":a}],is:[1,{net:a,com:a,edu:a,gov:a,org:a,int:a,cupcake:e,blogspot:e}],it:[1,{gov:a,edu:a,abr:a,abruzzo:a,"aosta-valley":a,aostavalley:a,bas:a,basilicata:a,cal:a,calabria:a,cam:a,campania:a,"emilia-romagna":a,emiliaromagna:a,emr:a,"friuli-v-giulia":a,"friuli-ve-giulia":a,"friuli-vegiulia":a,"friuli-venezia-giulia":a,"friuli-veneziagiulia":a,"friuli-vgiulia":a,"friuliv-giulia":a,"friulive-giulia":a,friulivegiulia:a,"friulivenezia-giulia":a,friuliveneziagiulia:a,friulivgiulia:a,fvg:a,laz:a,lazio:a,lig:a,liguria:a,lom:a,lombardia:a,lombardy:a,lucania:a,mar:a,marche:a,mol:a,molise:a,piedmont:a,piemonte:a,pmn:a,pug:a,puglia:a,sar:a,sardegna:a,sardinia:a,sic:a,sicilia:a,sicily:a,taa:a,tos:a,toscana:a,"trentin-sud-tirol":a,"xn--trentin-sd-tirol-rzb":a,"trentin-süd-tirol":a,"trentin-sudtirol":a,"xn--trentin-sdtirol-7vb":a,"trentin-südtirol":a,"trentin-sued-tirol":a,"trentin-suedtirol":a,"trentino-a-adige":a,"trentino-aadige":a,"trentino-alto-adige":a,"trentino-altoadige":a,"trentino-s-tirol":a,"trentino-stirol":a,"trentino-sud-tirol":a,"xn--trentino-sd-tirol-c3b":a,"trentino-süd-tirol":a,"trentino-sudtirol":a,"xn--trentino-sdtirol-szb":a,"trentino-südtirol":a,"trentino-sued-tirol":a,"trentino-suedtirol":a,trentino:a,"trentinoa-adige":a,trentinoaadige:a,"trentinoalto-adige":a,trentinoaltoadige:a,"trentinos-tirol":a,trentinostirol:a,"trentinosud-tirol":a,"xn--trentinosd-tirol-rzb":a,"trentinosüd-tirol":a,trentinosudtirol:a,"xn--trentinosdtirol-7vb":a,"trentinosüdtirol":a,"trentinosued-tirol":a,trentinosuedtirol:a,"trentinsud-tirol":a,"xn--trentinsd-tirol-6vb":a,"trentinsüd-tirol":a,trentinsudtirol:a,"xn--trentinsdtirol-nsb":a,"trentinsüdtirol":a,"trentinsued-tirol":a,trentinsuedtirol:a,tuscany:a,umb:a,umbria:a,"val-d-aosta":a,"val-daosta":a,"vald-aosta":a,valdaosta:a,"valle-aosta":a,"valle-d-aosta":a,"valle-daosta":a,valleaosta:a,"valled-aosta":a,valledaosta:a,"vallee-aoste":a,"xn--valle-aoste-ebb":a,"vallée-aoste":a,"vallee-d-aoste":a,"xn--valle-d-aoste-ehb":a,"vallée-d-aoste":a,valleeaoste:a,"xn--valleaoste-e7a":a,"valléeaoste":a,valleedaoste:a,"xn--valledaoste-ebb":a,"valléedaoste":a,vao:a,vda:a,ven:a,veneto:a,ag:a,agrigento:a,al:a,alessandria:a,"alto-adige":a,altoadige:a,an:a,ancona:a,"andria-barletta-trani":a,"andria-trani-barletta":a,andriabarlettatrani:a,andriatranibarletta:a,ao:a,aosta:a,aoste:a,ap:a,aq:a,aquila:a,ar:a,arezzo:a,"ascoli-piceno":a,ascolipiceno:a,asti:a,at:a,av:a,avellino:a,ba:a,"balsan-sudtirol":a,"xn--balsan-sdtirol-nsb":a,"balsan-südtirol":a,"balsan-suedtirol":a,balsan:a,bari:a,"barletta-trani-andria":a,barlettatraniandria:a,belluno:a,benevento:a,bergamo:a,bg:a,bi:a,biella:a,bl:a,bn:a,bo:a,bologna:a,"bolzano-altoadige":a,bolzano:a,"bozen-sudtirol":a,"xn--bozen-sdtirol-2ob":a,"bozen-südtirol":a,"bozen-suedtirol":a,bozen:a,br:a,brescia:a,brindisi:a,bs:a,bt:a,"bulsan-sudtirol":a,"xn--bulsan-sdtirol-nsb":a,"bulsan-südtirol":a,"bulsan-suedtirol":a,bulsan:a,bz:a,ca:a,cagliari:a,caltanissetta:a,"campidano-medio":a,campidanomedio:a,campobasso:a,"carbonia-iglesias":a,carboniaiglesias:a,"carrara-massa":a,carraramassa:a,caserta:a,catania:a,catanzaro:a,cb:a,ce:a,"cesena-forli":a,"xn--cesena-forl-mcb":a,"cesena-forlì":a,cesenaforli:a,"xn--cesenaforl-i8a":a,"cesenaforlì":a,ch:a,chieti:a,ci:a,cl:a,cn:a,co:a,como:a,cosenza:a,cr:a,cremona:a,crotone:a,cs:a,ct:a,cuneo:a,cz:a,"dell-ogliastra":a,dellogliastra:a,en:a,enna:a,fc:a,fe:a,fermo:a,ferrara:a,fg:a,fi:a,firenze:a,florence:a,fm:a,foggia:a,"forli-cesena":a,"xn--forl-cesena-fcb":a,"forlì-cesena":a,forlicesena:a,"xn--forlcesena-c8a":a,"forlìcesena":a,fr:a,frosinone:a,ge:a,genoa:a,genova:a,go:a,gorizia:a,gr:a,grosseto:a,"iglesias-carbonia":a,iglesiascarbonia:a,im:a,imperia:a,is:a,isernia:a,kr:a,"la-spezia":a,laquila:a,laspezia:a,latina:a,lc:a,le:a,lecce:a,lecco:a,li:a,livorno:a,lo:a,lodi:a,lt:a,lu:a,lucca:a,macerata:a,mantova:a,"massa-carrara":a,massacarrara:a,matera:a,mb:a,mc:a,me:a,"medio-campidano":a,mediocampidano:a,messina:a,mi:a,milan:a,milano:a,mn:a,mo:a,modena:a,"monza-brianza":a,"monza-e-della-brianza":a,monza:a,monzabrianza:a,monzaebrianza:a,monzaedellabrianza:a,ms:a,mt:a,na:a,naples:a,napoli:a,no:a,novara:a,nu:a,nuoro:a,og:a,ogliastra:a,"olbia-tempio":a,olbiatempio:a,or:a,oristano:a,ot:a,pa:a,padova:a,padua:a,palermo:a,parma:a,pavia:a,pc:a,pd:a,pe:a,perugia:a,"pesaro-urbino":a,pesarourbino:a,pescara:a,pg:a,pi:a,piacenza:a,pisa:a,pistoia:a,pn:a,po:a,pordenone:a,potenza:a,pr:a,prato:a,pt:a,pu:a,pv:a,pz:a,ra:a,ragusa:a,ravenna:a,rc:a,re:a,"reggio-calabria":a,"reggio-emilia":a,reggiocalabria:a,reggioemilia:a,rg:a,ri:a,rieti:a,rimini:a,rm:a,rn:a,ro:a,roma:a,rome:a,rovigo:a,sa:a,salerno:a,sassari:a,savona:a,si:a,siena:a,siracusa:a,so:a,sondrio:a,sp:a,sr:a,ss:a,suedtirol:a,"xn--sdtirol-n2a":a,"südtirol":a,sv:a,ta:a,taranto:a,te:a,"tempio-olbia":a,tempioolbia:a,teramo:a,terni:a,tn:a,to:a,torino:a,tp:a,tr:a,"trani-andria-barletta":a,"trani-barletta-andria":a,traniandriabarletta:a,tranibarlettaandria:a,trapani:a,trento:a,treviso:a,trieste:a,ts:a,turin:a,tv:a,ud:a,udine:a,"urbino-pesaro":a,urbinopesaro:a,va:a,varese:a,vb:a,vc:a,ve:a,venezia:a,venice:a,verbania:a,vercelli:a,verona:a,vi:a,"vibo-valentia":a,vibovalentia:a,vicenza:a,viterbo:a,vr:a,vs:a,vt:a,vv:a,blogspot:e,ibxos:e,iliadboxos:e,neen:[0,{jc:e}],tim:[0,{open:[0,{jelastic:r}]}],"16-b":e,"32-b":e,"64-b":e,"123homepage":e,myspreadshop:e,syncloud:e}],je:[1,{co:a,net:a,org:a,of:e}],jm:n,jo:[1,{com:a,org:a,net:a,edu:a,sch:a,gov:a,mil:a,name:a}],jobs:a,jp:[1,{ac:a,ad:a,co:a,ed:a,go:a,gr:a,lg:a,ne:[1,{aseinet:S,gehirn:e,ivory:e,"mail-box":e,mints:e,mokuren:e,opal:e,sakura:e,sumomo:e,topaz:e}],or:a,aichi:[1,{aisai:a,ama:a,anjo:a,asuke:a,chiryu:a,chita:a,fuso:a,gamagori:a,handa:a,hazu:a,hekinan:a,higashiura:a,ichinomiya:a,inazawa:a,inuyama:a,isshiki:a,iwakura:a,kanie:a,kariya:a,kasugai:a,kira:a,kiyosu:a,komaki:a,konan:a,kota:a,mihama:a,miyoshi:a,nishio:a,nisshin:a,obu:a,oguchi:a,oharu:a,okazaki:a,owariasahi:a,seto:a,shikatsu:a,shinshiro:a,shitara:a,tahara:a,takahama:a,tobishima:a,toei:a,togo:a,tokai:a,tokoname:a,toyoake:a,toyohashi:a,toyokawa:a,toyone:a,toyota:a,tsushima:a,yatomi:a}],akita:[1,{akita:a,daisen:a,fujisato:a,gojome:a,hachirogata:a,happou:a,higashinaruse:a,honjo:a,honjyo:a,ikawa:a,kamikoani:a,kamioka:a,katagami:a,kazuno:a,kitaakita:a,kosaka:a,kyowa:a,misato:a,mitane:a,moriyoshi:a,nikaho:a,noshiro:a,odate:a,oga:a,ogata:a,semboku:a,yokote:a,yurihonjo:a}],aomori:[1,{aomori:a,gonohe:a,hachinohe:a,hashikami:a,hiranai:a,hirosaki:a,itayanagi:a,kuroishi:a,misawa:a,mutsu:a,nakadomari:a,noheji:a,oirase:a,owani:a,rokunohe:a,sannohe:a,shichinohe:a,shingo:a,takko:a,towada:a,tsugaru:a,tsuruta:a}],chiba:[1,{abiko:a,asahi:a,chonan:a,chosei:a,choshi:a,chuo:a,funabashi:a,futtsu:a,hanamigawa:a,ichihara:a,ichikawa:a,ichinomiya:a,inzai:a,isumi:a,kamagaya:a,kamogawa:a,kashiwa:a,katori:a,katsuura:a,kimitsu:a,kisarazu:a,kozaki:a,kujukuri:a,kyonan:a,matsudo:a,midori:a,mihama:a,minamiboso:a,mobara:a,mutsuzawa:a,nagara:a,nagareyama:a,narashino:a,narita:a,noda:a,oamishirasato:a,omigawa:a,onjuku:a,otaki:a,sakae:a,sakura:a,shimofusa:a,shirako:a,shiroi:a,shisui:a,sodegaura:a,sosa:a,tako:a,tateyama:a,togane:a,tohnosho:a,tomisato:a,urayasu:a,yachimata:a,yachiyo:a,yokaichiba:a,yokoshibahikari:a,yotsukaido:a}],ehime:[1,{ainan:a,honai:a,ikata:a,imabari:a,iyo:a,kamijima:a,kihoku:a,kumakogen:a,masaki:a,matsuno:a,matsuyama:a,namikata:a,niihama:a,ozu:a,saijo:a,seiyo:a,shikokuchuo:a,tobe:a,toon:a,uchiko:a,uwajima:a,yawatahama:a}],fukui:[1,{echizen:a,eiheiji:a,fukui:a,ikeda:a,katsuyama:a,mihama:a,minamiechizen:a,obama:a,ohi:a,ono:a,sabae:a,sakai:a,takahama:a,tsuruga:a,wakasa:a}],fukuoka:[1,{ashiya:a,buzen:a,chikugo:a,chikuho:a,chikujo:a,chikushino:a,chikuzen:a,chuo:a,dazaifu:a,fukuchi:a,hakata:a,higashi:a,hirokawa:a,hisayama:a,iizuka:a,inatsuki:a,kaho:a,kasuga:a,kasuya:a,kawara:a,keisen:a,koga:a,kurate:a,kurogi:a,kurume:a,minami:a,miyako:a,miyama:a,miyawaka:a,mizumaki:a,munakata:a,nakagawa:a,nakama:a,nishi:a,nogata:a,ogori:a,okagaki:a,okawa:a,oki:a,omuta:a,onga:a,onojo:a,oto:a,saigawa:a,sasaguri:a,shingu:a,shinyoshitomi:a,shonai:a,soeda:a,sue:a,tachiarai:a,tagawa:a,takata:a,toho:a,toyotsu:a,tsuiki:a,ukiha:a,umi:a,usui:a,yamada:a,yame:a,yanagawa:a,yukuhashi:a}],fukushima:[1,{aizubange:a,aizumisato:a,aizuwakamatsu:a,asakawa:a,bandai:a,date:a,fukushima:a,furudono:a,futaba:a,hanawa:a,higashi:a,hirata:a,hirono:a,iitate:a,inawashiro:a,ishikawa:a,iwaki:a,izumizaki:a,kagamiishi:a,kaneyama:a,kawamata:a,kitakata:a,kitashiobara:a,koori:a,koriyama:a,kunimi:a,miharu:a,mishima:a,namie:a,nango:a,nishiaizu:a,nishigo:a,okuma:a,omotego:a,ono:a,otama:a,samegawa:a,shimogo:a,shirakawa:a,showa:a,soma:a,sukagawa:a,taishin:a,tamakawa:a,tanagura:a,tenei:a,yabuki:a,yamato:a,yamatsuri:a,yanaizu:a,yugawa:a}],gifu:[1,{anpachi:a,ena:a,gifu:a,ginan:a,godo:a,gujo:a,hashima:a,hichiso:a,hida:a,higashishirakawa:a,ibigawa:a,ikeda:a,kakamigahara:a,kani:a,kasahara:a,kasamatsu:a,kawaue:a,kitagata:a,mino:a,minokamo:a,mitake:a,mizunami:a,motosu:a,nakatsugawa:a,ogaki:a,sakahogi:a,seki:a,sekigahara:a,shirakawa:a,tajimi:a,takayama:a,tarui:a,toki:a,tomika:a,wanouchi:a,yamagata:a,yaotsu:a,yoro:a}],gunma:[1,{annaka:a,chiyoda:a,fujioka:a,higashiagatsuma:a,isesaki:a,itakura:a,kanna:a,kanra:a,katashina:a,kawaba:a,kiryu:a,kusatsu:a,maebashi:a,meiwa:a,midori:a,minakami:a,naganohara:a,nakanojo:a,nanmoku:a,numata:a,oizumi:a,ora:a,ota:a,shibukawa:a,shimonita:a,shinto:a,showa:a,takasaki:a,takayama:a,tamamura:a,tatebayashi:a,tomioka:a,tsukiyono:a,tsumagoi:a,ueno:a,yoshioka:a}],hiroshima:[1,{asaminami:a,daiwa:a,etajima:a,fuchu:a,fukuyama:a,hatsukaichi:a,higashihiroshima:a,hongo:a,jinsekikogen:a,kaita:a,kui:a,kumano:a,kure:a,mihara:a,miyoshi:a,naka:a,onomichi:a,osakikamijima:a,otake:a,saka:a,sera:a,seranishi:a,shinichi:a,shobara:a,takehara:a}],hokkaido:[1,{abashiri:a,abira:a,aibetsu:a,akabira:a,akkeshi:a,asahikawa:a,ashibetsu:a,ashoro:a,assabu:a,atsuma:a,bibai:a,biei:a,bifuka:a,bihoro:a,biratori:a,chippubetsu:a,chitose:a,date:a,ebetsu:a,embetsu:a,eniwa:a,erimo:a,esan:a,esashi:a,fukagawa:a,fukushima:a,furano:a,furubira:a,haboro:a,hakodate:a,hamatonbetsu:a,hidaka:a,higashikagura:a,higashikawa:a,hiroo:a,hokuryu:a,hokuto:a,honbetsu:a,horokanai:a,horonobe:a,ikeda:a,imakane:a,ishikari:a,iwamizawa:a,iwanai:a,kamifurano:a,kamikawa:a,kamishihoro:a,kamisunagawa:a,kamoenai:a,kayabe:a,kembuchi:a,kikonai:a,kimobetsu:a,kitahiroshima:a,kitami:a,kiyosato:a,koshimizu:a,kunneppu:a,kuriyama:a,kuromatsunai:a,kushiro:a,kutchan:a,kyowa:a,mashike:a,matsumae:a,mikasa:a,minamifurano:a,mombetsu:a,moseushi:a,mukawa:a,muroran:a,naie:a,nakagawa:a,nakasatsunai:a,nakatombetsu:a,nanae:a,nanporo:a,nayoro:a,nemuro:a,niikappu:a,niki:a,nishiokoppe:a,noboribetsu:a,numata:a,obihiro:a,obira:a,oketo:a,okoppe:a,otaru:a,otobe:a,otofuke:a,otoineppu:a,oumu:a,ozora:a,pippu:a,rankoshi:a,rebun:a,rikubetsu:a,rishiri:a,rishirifuji:a,saroma:a,sarufutsu:a,shakotan:a,shari:a,shibecha:a,shibetsu:a,shikabe:a,shikaoi:a,shimamaki:a,shimizu:a,shimokawa:a,shinshinotsu:a,shintoku:a,shiranuka:a,shiraoi:a,shiriuchi:a,sobetsu:a,sunagawa:a,taiki:a,takasu:a,takikawa:a,takinoue:a,teshikaga:a,tobetsu:a,tohma:a,tomakomai:a,tomari:a,toya:a,toyako:a,toyotomi:a,toyoura:a,tsubetsu:a,tsukigata:a,urakawa:a,urausu:a,uryu:a,utashinai:a,wakkanai:a,wassamu:a,yakumo:a,yoichi:a}],hyogo:[1,{aioi:a,akashi:a,ako:a,amagasaki:a,aogaki:a,asago:a,ashiya:a,awaji:a,fukusaki:a,goshiki:a,harima:a,himeji:a,ichikawa:a,inagawa:a,itami:a,kakogawa:a,kamigori:a,kamikawa:a,kasai:a,kasuga:a,kawanishi:a,miki:a,minamiawaji:a,nishinomiya:a,nishiwaki:a,ono:a,sanda:a,sannan:a,sasayama:a,sayo:a,shingu:a,shinonsen:a,shiso:a,sumoto:a,taishi:a,taka:a,takarazuka:a,takasago:a,takino:a,tamba:a,tatsuno:a,toyooka:a,yabu:a,yashiro:a,yoka:a,yokawa:a}],ibaraki:[1,{ami:a,asahi:a,bando:a,chikusei:a,daigo:a,fujishiro:a,hitachi:a,hitachinaka:a,hitachiomiya:a,hitachiota:a,ibaraki:a,ina:a,inashiki:a,itako:a,iwama:a,joso:a,kamisu:a,kasama:a,kashima:a,kasumigaura:a,koga:a,miho:a,mito:a,moriya:a,naka:a,namegata:a,oarai:a,ogawa:a,omitama:a,ryugasaki:a,sakai:a,sakuragawa:a,shimodate:a,shimotsuma:a,shirosato:a,sowa:a,suifu:a,takahagi:a,tamatsukuri:a,tokai:a,tomobe:a,tone:a,toride:a,tsuchiura:a,tsukuba:a,uchihara:a,ushiku:a,yachiyo:a,yamagata:a,yawara:a,yuki:a}],ishikawa:[1,{anamizu:a,hakui:a,hakusan:a,kaga:a,kahoku:a,kanazawa:a,kawakita:a,komatsu:a,nakanoto:a,nanao:a,nomi:a,nonoichi:a,noto:a,shika:a,suzu:a,tsubata:a,tsurugi:a,uchinada:a,wajima:a}],iwate:[1,{fudai:a,fujisawa:a,hanamaki:a,hiraizumi:a,hirono:a,ichinohe:a,ichinoseki:a,iwaizumi:a,iwate:a,joboji:a,kamaishi:a,kanegasaki:a,karumai:a,kawai:a,kitakami:a,kuji:a,kunohe:a,kuzumaki:a,miyako:a,mizusawa:a,morioka:a,ninohe:a,noda:a,ofunato:a,oshu:a,otsuchi:a,rikuzentakata:a,shiwa:a,shizukuishi:a,sumita:a,tanohata:a,tono:a,yahaba:a,yamada:a}],kagawa:[1,{ayagawa:a,higashikagawa:a,kanonji:a,kotohira:a,manno:a,marugame:a,mitoyo:a,naoshima:a,sanuki:a,tadotsu:a,takamatsu:a,tonosho:a,uchinomi:a,utazu:a,zentsuji:a}],kagoshima:[1,{akune:a,amami:a,hioki:a,isa:a,isen:a,izumi:a,kagoshima:a,kanoya:a,kawanabe:a,kinko:a,kouyama:a,makurazaki:a,matsumoto:a,minamitane:a,nakatane:a,nishinoomote:a,satsumasendai:a,soo:a,tarumizu:a,yusui:a}],kanagawa:[1,{aikawa:a,atsugi:a,ayase:a,chigasaki:a,ebina:a,fujisawa:a,hadano:a,hakone:a,hiratsuka:a,isehara:a,kaisei:a,kamakura:a,kiyokawa:a,matsuda:a,minamiashigara:a,miura:a,nakai:a,ninomiya:a,odawara:a,oi:a,oiso:a,sagamihara:a,samukawa:a,tsukui:a,yamakita:a,yamato:a,yokosuka:a,yugawara:a,zama:a,zushi:a}],kochi:[1,{aki:a,geisei:a,hidaka:a,higashitsuno:a,ino:a,kagami:a,kami:a,kitagawa:a,kochi:a,mihara:a,motoyama:a,muroto:a,nahari:a,nakamura:a,nankoku:a,nishitosa:a,niyodogawa:a,ochi:a,okawa:a,otoyo:a,otsuki:a,sakawa:a,sukumo:a,susaki:a,tosa:a,tosashimizu:a,toyo:a,tsuno:a,umaji:a,yasuda:a,yusuhara:a}],kumamoto:[1,{amakusa:a,arao:a,aso:a,choyo:a,gyokuto:a,kamiamakusa:a,kikuchi:a,kumamoto:a,mashiki:a,mifune:a,minamata:a,minamioguni:a,nagasu:a,nishihara:a,oguni:a,ozu:a,sumoto:a,takamori:a,uki:a,uto:a,yamaga:a,yamato:a,yatsushiro:a}],kyoto:[1,{ayabe:a,fukuchiyama:a,higashiyama:a,ide:a,ine:a,joyo:a,kameoka:a,kamo:a,kita:a,kizu:a,kumiyama:a,kyotamba:a,kyotanabe:a,kyotango:a,maizuru:a,minami:a,minamiyamashiro:a,miyazu:a,muko:a,nagaokakyo:a,nakagyo:a,nantan:a,oyamazaki:a,sakyo:a,seika:a,tanabe:a,uji:a,ujitawara:a,wazuka:a,yamashina:a,yawata:a}],mie:[1,{asahi:a,inabe:a,ise:a,kameyama:a,kawagoe:a,kiho:a,kisosaki:a,kiwa:a,komono:a,kumano:a,kuwana:a,matsusaka:a,meiwa:a,mihama:a,minamiise:a,misugi:a,miyama:a,nabari:a,shima:a,suzuka:a,tado:a,taiki:a,taki:a,tamaki:a,toba:a,tsu:a,udono:a,ureshino:a,watarai:a,yokkaichi:a}],miyagi:[1,{furukawa:a,higashimatsushima:a,ishinomaki:a,iwanuma:a,kakuda:a,kami:a,kawasaki:a,marumori:a,matsushima:a,minamisanriku:a,misato:a,murata:a,natori:a,ogawara:a,ohira:a,onagawa:a,osaki:a,rifu:a,semine:a,shibata:a,shichikashuku:a,shikama:a,shiogama:a,shiroishi:a,tagajo:a,taiwa:a,tome:a,tomiya:a,wakuya:a,watari:a,yamamoto:a,zao:a}],miyazaki:[1,{aya:a,ebino:a,gokase:a,hyuga:a,kadogawa:a,kawaminami:a,kijo:a,kitagawa:a,kitakata:a,kitaura:a,kobayashi:a,kunitomi:a,kushima:a,mimata:a,miyakonojo:a,miyazaki:a,morotsuka:a,nichinan:a,nishimera:a,nobeoka:a,saito:a,shiiba:a,shintomi:a,takaharu:a,takanabe:a,takazaki:a,tsuno:a}],nagano:[1,{achi:a,agematsu:a,anan:a,aoki:a,asahi:a,azumino:a,chikuhoku:a,chikuma:a,chino:a,fujimi:a,hakuba:a,hara:a,hiraya:a,iida:a,iijima:a,iiyama:a,iizuna:a,ikeda:a,ikusaka:a,ina:a,karuizawa:a,kawakami:a,kiso:a,kisofukushima:a,kitaaiki:a,komagane:a,komoro:a,matsukawa:a,matsumoto:a,miasa:a,minamiaiki:a,minamimaki:a,minamiminowa:a,minowa:a,miyada:a,miyota:a,mochizuki:a,nagano:a,nagawa:a,nagiso:a,nakagawa:a,nakano:a,nozawaonsen:a,obuse:a,ogawa:a,okaya:a,omachi:a,omi:a,ookuwa:a,ooshika:a,otaki:a,otari:a,sakae:a,sakaki:a,saku:a,sakuho:a,shimosuwa:a,shinanomachi:a,shiojiri:a,suwa:a,suzaka:a,takagi:a,takamori:a,takayama:a,tateshina:a,tatsuno:a,togakushi:a,togura:a,tomi:a,ueda:a,wada:a,yamagata:a,yamanouchi:a,yasaka:a,yasuoka:a}],nagasaki:[1,{chijiwa:a,futsu:a,goto:a,hasami:a,hirado:a,iki:a,isahaya:a,kawatana:a,kuchinotsu:a,matsuura:a,nagasaki:a,obama:a,omura:a,oseto:a,saikai:a,sasebo:a,seihi:a,shimabara:a,shinkamigoto:a,togitsu:a,tsushima:a,unzen:a}],nara:[1,{ando:a,gose:a,heguri:a,higashiyoshino:a,ikaruga:a,ikoma:a,kamikitayama:a,kanmaki:a,kashiba:a,kashihara:a,katsuragi:a,kawai:a,kawakami:a,kawanishi:a,koryo:a,kurotaki:a,mitsue:a,miyake:a,nara:a,nosegawa:a,oji:a,ouda:a,oyodo:a,sakurai:a,sango:a,shimoichi:a,shimokitayama:a,shinjo:a,soni:a,takatori:a,tawaramoto:a,tenkawa:a,tenri:a,uda:a,yamatokoriyama:a,yamatotakada:a,yamazoe:a,yoshino:a}],niigata:[1,{aga:a,agano:a,gosen:a,itoigawa:a,izumozaki:a,joetsu:a,kamo:a,kariwa:a,kashiwazaki:a,minamiuonuma:a,mitsuke:a,muika:a,murakami:a,myoko:a,nagaoka:a,niigata:a,ojiya:a,omi:a,sado:a,sanjo:a,seiro:a,seirou:a,sekikawa:a,shibata:a,tagami:a,tainai:a,tochio:a,tokamachi:a,tsubame:a,tsunan:a,uonuma:a,yahiko:a,yoita:a,yuzawa:a}],oita:[1,{beppu:a,bungoono:a,bungotakada:a,hasama:a,hiji:a,himeshima:a,hita:a,kamitsue:a,kokonoe:a,kuju:a,kunisaki:a,kusu:a,oita:a,saiki:a,taketa:a,tsukumi:a,usa:a,usuki:a,yufu:a}],okayama:[1,{akaiwa:a,asakuchi:a,bizen:a,hayashima:a,ibara:a,kagamino:a,kasaoka:a,kibichuo:a,kumenan:a,kurashiki:a,maniwa:a,misaki:a,nagi:a,niimi:a,nishiawakura:a,okayama:a,satosho:a,setouchi:a,shinjo:a,shoo:a,soja:a,takahashi:a,tamano:a,tsuyama:a,wake:a,yakage:a}],okinawa:[1,{aguni:a,ginowan:a,ginoza:a,gushikami:a,haebaru:a,higashi:a,hirara:a,iheya:a,ishigaki:a,ishikawa:a,itoman:a,izena:a,kadena:a,kin:a,kitadaito:a,kitanakagusuku:a,kumejima:a,kunigami:a,minamidaito:a,motobu:a,nago:a,naha:a,nakagusuku:a,nakijin:a,nanjo:a,nishihara:a,ogimi:a,okinawa:a,onna:a,shimoji:a,taketomi:a,tarama:a,tokashiki:a,tomigusuku:a,tonaki:a,urasoe:a,uruma:a,yaese:a,yomitan:a,yonabaru:a,yonaguni:a,zamami:a}],osaka:[1,{abeno:a,chihayaakasaka:a,chuo:a,daito:a,fujiidera:a,habikino:a,hannan:a,higashiosaka:a,higashisumiyoshi:a,higashiyodogawa:a,hirakata:a,ibaraki:a,ikeda:a,izumi:a,izumiotsu:a,izumisano:a,kadoma:a,kaizuka:a,kanan:a,kashiwara:a,katano:a,kawachinagano:a,kishiwada:a,kita:a,kumatori:a,matsubara:a,minato:a,minoh:a,misaki:a,moriguchi:a,neyagawa:a,nishi:a,nose:a,osakasayama:a,sakai:a,sayama:a,sennan:a,settsu:a,shijonawate:a,shimamoto:a,suita:a,tadaoka:a,taishi:a,tajiri:a,takaishi:a,takatsuki:a,tondabayashi:a,toyonaka:a,toyono:a,yao:a}],saga:[1,{ariake:a,arita:a,fukudomi:a,genkai:a,hamatama:a,hizen:a,imari:a,kamimine:a,kanzaki:a,karatsu:a,kashima:a,kitagata:a,kitahata:a,kiyama:a,kouhoku:a,kyuragi:a,nishiarita:a,ogi:a,omachi:a,ouchi:a,saga:a,shiroishi:a,taku:a,tara:a,tosu:a,yoshinogari:a}],saitama:[1,{arakawa:a,asaka:a,chichibu:a,fujimi:a,fujimino:a,fukaya:a,hanno:a,hanyu:a,hasuda:a,hatogaya:a,hatoyama:a,hidaka:a,higashichichibu:a,higashimatsuyama:a,honjo:a,ina:a,iruma:a,iwatsuki:a,kamiizumi:a,kamikawa:a,kamisato:a,kasukabe:a,kawagoe:a,kawaguchi:a,kawajima:a,kazo:a,kitamoto:a,koshigaya:a,kounosu:a,kuki:a,kumagaya:a,matsubushi:a,minano:a,misato:a,miyashiro:a,miyoshi:a,moroyama:a,nagatoro:a,namegawa:a,niiza:a,ogano:a,ogawa:a,ogose:a,okegawa:a,omiya:a,otaki:a,ranzan:a,ryokami:a,saitama:a,sakado:a,satte:a,sayama:a,shiki:a,shiraoka:a,soka:a,sugito:a,toda:a,tokigawa:a,tokorozawa:a,tsurugashima:a,urawa:a,warabi:a,yashio:a,yokoze:a,yono:a,yorii:a,yoshida:a,yoshikawa:a,yoshimi:a}],shiga:[1,{aisho:a,gamo:a,higashiomi:a,hikone:a,koka:a,konan:a,kosei:a,koto:a,kusatsu:a,maibara:a,moriyama:a,nagahama:a,nishiazai:a,notogawa:a,omihachiman:a,otsu:a,ritto:a,ryuoh:a,takashima:a,takatsuki:a,torahime:a,toyosato:a,yasu:a}],shimane:[1,{akagi:a,ama:a,gotsu:a,hamada:a,higashiizumo:a,hikawa:a,hikimi:a,izumo:a,kakinoki:a,masuda:a,matsue:a,misato:a,nishinoshima:a,ohda:a,okinoshima:a,okuizumo:a,shimane:a,tamayu:a,tsuwano:a,unnan:a,yakumo:a,yasugi:a,yatsuka:a}],shizuoka:[1,{arai:a,atami:a,fuji:a,fujieda:a,fujikawa:a,fujinomiya:a,fukuroi:a,gotemba:a,haibara:a,hamamatsu:a,higashiizu:a,ito:a,iwata:a,izu:a,izunokuni:a,kakegawa:a,kannami:a,kawanehon:a,kawazu:a,kikugawa:a,kosai:a,makinohara:a,matsuzaki:a,minamiizu:a,mishima:a,morimachi:a,nishiizu:a,numazu:a,omaezaki:a,shimada:a,shimizu:a,shimoda:a,shizuoka:a,susono:a,yaizu:a,yoshida:a}],tochigi:[1,{ashikaga:a,bato:a,haga:a,ichikai:a,iwafune:a,kaminokawa:a,kanuma:a,karasuyama:a,kuroiso:a,mashiko:a,mibu:a,moka:a,motegi:a,nasu:a,nasushiobara:a,nikko:a,nishikata:a,nogi:a,ohira:a,ohtawara:a,oyama:a,sakura:a,sano:a,shimotsuke:a,shioya:a,takanezawa:a,tochigi:a,tsuga:a,ujiie:a,utsunomiya:a,yaita:a}],tokushima:[1,{aizumi:a,anan:a,ichiba:a,itano:a,kainan:a,komatsushima:a,matsushige:a,mima:a,minami:a,miyoshi:a,mugi:a,nakagawa:a,naruto:a,sanagochi:a,shishikui:a,tokushima:a,wajiki:a}],tokyo:[1,{adachi:a,akiruno:a,akishima:a,aogashima:a,arakawa:a,bunkyo:a,chiyoda:a,chofu:a,chuo:a,edogawa:a,fuchu:a,fussa:a,hachijo:a,hachioji:a,hamura:a,higashikurume:a,higashimurayama:a,higashiyamato:a,hino:a,hinode:a,hinohara:a,inagi:a,itabashi:a,katsushika:a,kita:a,kiyose:a,kodaira:a,koganei:a,kokubunji:a,komae:a,koto:a,kouzushima:a,kunitachi:a,machida:a,meguro:a,minato:a,mitaka:a,mizuho:a,musashimurayama:a,musashino:a,nakano:a,nerima:a,ogasawara:a,okutama:a,ome:a,oshima:a,ota:a,setagaya:a,shibuya:a,shinagawa:a,shinjuku:a,suginami:a,sumida:a,tachikawa:a,taito:a,tama:a,toshima:a}],tottori:[1,{chizu:a,hino:a,kawahara:a,koge:a,kotoura:a,misasa:a,nanbu:a,nichinan:a,sakaiminato:a,tottori:a,wakasa:a,yazu:a,yonago:a}],toyama:[1,{asahi:a,fuchu:a,fukumitsu:a,funahashi:a,himi:a,imizu:a,inami:a,johana:a,kamiichi:a,kurobe:a,nakaniikawa:a,namerikawa:a,nanto:a,nyuzen:a,oyabe:a,taira:a,takaoka:a,tateyama:a,toga:a,tonami:a,toyama:a,unazuki:a,uozu:a,yamada:a}],wakayama:[1,{arida:a,aridagawa:a,gobo:a,hashimoto:a,hidaka:a,hirogawa:a,inami:a,iwade:a,kainan:a,kamitonda:a,katsuragi:a,kimino:a,kinokawa:a,kitayama:a,koya:a,koza:a,kozagawa:a,kudoyama:a,kushimoto:a,mihama:a,misato:a,nachikatsuura:a,shingu:a,shirahama:a,taiji:a,tanabe:a,wakayama:a,yuasa:a,yura:a}],yamagata:[1,{asahi:a,funagata:a,higashine:a,iide:a,kahoku:a,kaminoyama:a,kaneyama:a,kawanishi:a,mamurogawa:a,mikawa:a,murayama:a,nagai:a,nakayama:a,nanyo:a,nishikawa:a,obanazawa:a,oe:a,oguni:a,ohkura:a,oishida:a,sagae:a,sakata:a,sakegawa:a,shinjo:a,shirataka:a,shonai:a,takahata:a,tendo:a,tozawa:a,tsuruoka:a,yamagata:a,yamanobe:a,yonezawa:a,yuza:a}],yamaguchi:[1,{abu:a,hagi:a,hikari:a,hofu:a,iwakuni:a,kudamatsu:a,mitou:a,nagato:a,oshima:a,shimonoseki:a,shunan:a,tabuse:a,tokuyama:a,toyota:a,ube:a,yuu:a}],yamanashi:[1,{chuo:a,doshi:a,fuefuki:a,fujikawa:a,fujikawaguchiko:a,fujiyoshida:a,hayakawa:a,hokuto:a,ichikawamisato:a,kai:a,kofu:a,koshu:a,kosuge:a,"minami-alps":a,minobu:a,nakamichi:a,nanbu:a,narusawa:a,nirasaki:a,nishikatsura:a,oshino:a,otsuki:a,showa:a,tabayama:a,tsuru:a,uenohara:a,yamanakako:a,yamanashi:a}],"xn--4pvxs":a,"栃木":a,"xn--vgu402c":a,"愛知":a,"xn--c3s14m":a,"愛媛":a,"xn--f6qx53a":a,"兵庫":a,"xn--8pvr4u":a,"熊本":a,"xn--uist22h":a,"茨城":a,"xn--djrs72d6uy":a,"北海道":a,"xn--mkru45i":a,"千葉":a,"xn--0trq7p7nn":a,"和歌山":a,"xn--8ltr62k":a,"長崎":a,"xn--2m4a15e":a,"長野":a,"xn--efvn9s":a,"新潟":a,"xn--32vp30h":a,"青森":a,"xn--4it797k":a,"静岡":a,"xn--1lqs71d":a,"東京":a,"xn--5rtp49c":a,"石川":a,"xn--5js045d":a,"埼玉":a,"xn--ehqz56n":a,"三重":a,"xn--1lqs03n":a,"京都":a,"xn--qqqt11m":a,"佐賀":a,"xn--kbrq7o":a,"大分":a,"xn--pssu33l":a,"大阪":a,"xn--ntsq17g":a,"奈良":a,"xn--uisz3g":a,"宮城":a,"xn--6btw5a":a,"宮崎":a,"xn--1ctwo":a,"富山":a,"xn--6orx2r":a,"山口":a,"xn--rht61e":a,"山形":a,"xn--rht27z":a,"山梨":a,"xn--djty4k":a,"岩手":a,"xn--nit225k":a,"岐阜":a,"xn--rht3d":a,"岡山":a,"xn--klty5x":a,"島根":a,"xn--kltx9a":a,"広島":a,"xn--kltp7d":a,"徳島":a,"xn--uuwu58a":a,"沖縄":a,"xn--zbx025d":a,"滋賀":a,"xn--ntso0iqx3a":a,"神奈川":a,"xn--elqq16h":a,"福井":a,"xn--4it168d":a,"福岡":a,"xn--klt787d":a,"福島":a,"xn--rny31h":a,"秋田":a,"xn--7t0a264c":a,"群馬":a,"xn--5rtq34k":a,"香川":a,"xn--k7yn95e":a,"高知":a,"xn--tor131o":a,"鳥取":a,"xn--d5qv7z876c":a,"鹿児島":a,kawasaki:n,kitakyushu:n,kobe:n,nagoya:n,sapporo:n,sendai:n,yokohama:n,buyshop:e,fashionstore:e,handcrafted:e,kawaiishop:e,supersale:e,theshop:e,usercontent:e,angry:e,babyblue:e,babymilk:e,backdrop:e,bambina:e,bitter:e,blush:e,boo:e,boy:e,boyfriend:e,but:e,candypop:e,capoo:e,catfood:e,cheap:e,chicappa:e,chillout:e,chips:e,chowder:e,chu:e,ciao:e,cocotte:e,coolblog:e,cranky:e,cutegirl:e,daa:e,deca:e,deci:e,digick:e,egoism:e,fakefur:e,fem:e,flier:e,floppy:e,fool:e,frenchkiss:e,girlfriend:e,girly:e,gloomy:e,gonna:e,greater:e,hacca:e,heavy:e,her:e,hiho:e,hippy:e,holy:e,hungry:e,icurus:e,itigo:e,jellybean:e,kikirara:e,kill:e,kilo:e,kuron:e,littlestar:e,lolipopmc:e,lolitapunk:e,lomo:e,lovepop:e,lovesick:e,main:e,mods:e,mond:e,mongolian:e,moo:e,namaste:e,nikita:e,nobushi:e,noor:e,oops:e,parallel:e,parasite:e,pecori:e,peewee:e,penne:e,pepper:e,perma:e,pigboat:e,pinoko:e,punyu:e,pupu:e,pussycat:e,pya:e,raindrop:e,readymade:e,sadist:e,schoolbus:e,secret:e,staba:e,stripper:e,sub:e,sunnyday:e,thick:e,tonkotsu:e,under:e,upper:e,velvet:e,verse:e,versus:e,vivian:e,watson:e,weblike:e,whitesnow:e,zombie:e,blogspot:e,"2-d":e,bona:e,crap:e,daynight:e,eek:e,flop:e,halfmoon:e,jeez:e,matrix:e,mimoza:e,netgamers:e,nyanta:e,o0o0:e,rdy:e,rgr:e,rulez:e,sakurastorage:[0,{isk01:c,isk02:c}],saloon:e,sblo:e,skr:e,tank:e,"uh-oh":e,undo:e,webaccel:[0,{rs:e,user:e}],websozai:e,xii:e}],ke:[1,{ac:a,co:t,go:a,info:a,me:a,mobi:a,ne:a,or:a,sc:a}],kg:[1,{org:a,net:a,com:a,edu:a,gov:a,mil:a,blog:e,io:e,jp:e,tv:e,uk:e,us:e}],kh:n,ki:H,km:[1,{org:a,nom:a,gov:a,prd:a,tm:a,edu:a,mil:a,ass:a,com:a,coop:a,asso:a,presse:a,medecin:a,notaires:a,pharmaciens:a,veterinaire:a,gouv:a}],kn:[1,{net:a,org:a,edu:a,gov:a}],kp:[1,{com:a,edu:a,gov:a,org:a,rep:a,tra:a}],kr:[1,{ac:a,co:a,es:a,go:a,hs:a,kg:a,mil:a,ms:a,ne:a,or:a,pe:a,re:a,sc:a,busan:a,chungbuk:a,chungnam:a,daegu:a,daejeon:a,gangwon:a,gwangju:a,gyeongbuk:a,gyeonggi:a,gyeongnam:a,incheon:a,jeju:a,jeonbuk:a,jeonnam:a,seoul:a,ulsan:a,blogspot:e}],kw:[1,{com:a,edu:a,emb:a,gov:a,ind:a,net:a,org:a}],ky:$,kz:[1,{org:a,edu:a,net:a,gov:a,mil:a,com:a,jcloud:e,kazteleport:[0,{upaas:e}]}],la:[1,{int:a,net:a,info:a,edu:a,gov:a,per:a,com:a,org:a,bnr:e,c:e}],lb:i,lc:[1,{com:a,net:a,co:a,org:a,edu:a,gov:a,oy:e}],li:[1,{blogspot:e,caa:e}],lk:[1,{gov:a,sch:a,net:a,int:a,com:a,org:a,edu:a,ngo:a,soc:a,web:a,ltd:a,assn:a,grp:a,hotel:a,ac:a}],lr:i,ls:[1,{ac:a,biz:a,co:a,edu:a,gov:a,info:a,net:a,org:a,sc:a,de:e}],lt:U,lu:[1,{blogspot:e,"123website":e}],lv:[1,{com:a,edu:a,gov:a,org:a,mil:a,id:a,net:a,asn:a,conf:a}],ly:[1,{com:a,net:a,gov:a,plc:a,edu:a,sch:a,med:a,org:a,id:a}],ma:[1,{co:a,net:a,gov:a,org:a,ac:a,press:a}],mc:[1,{tm:a,asso:a}],md:[1,{blogspot:e,at:e,de:e,jp:e,to:e}],me:[1,{co:a,net:a,org:a,edu:a,ac:a,gov:a,its:a,priv:a,c66:e,daplie:[2,{localhost:e}],edgestack:e,filegear:e,"filegear-au":e,"filegear-de":e,"filegear-gb":e,"filegear-ie":e,"filegear-jp":e,"filegear-sg":e,glitch:e,ravendb:e,lohmus:e,barsy:e,mcpe:e,mcdir:e,soundcast:e,tcp4:e,brasilia:e,ddns:e,dnsfor:e,hopto:e,loginto:e,noip:e,webhop:e,vp4:e,diskstation:e,dscloud:e,i234:e,myds:e,synology:e,transip:z,wedeploy:e,yombo:e,nohost:e}],mg:[1,{org:a,nom:a,gov:a,prd:a,tm:a,edu:a,mil:a,com:a,co:a}],mh:a,mil:a,mk:[1,{com:a,org:a,net:a,edu:a,gov:a,inf:a,name:a,blogspot:e}],ml:[1,{com:a,edu:a,gouv:a,gov:a,net:a,org:a,presse:a}],mm:n,mn:[1,{gov:a,edu:a,org:a,nyc:e}],mo:i,mobi:[1,{barsy:e,dscloud:e}],mp:[1,{ju:e}],mq:a,mr:U,ms:[1,{com:a,edu:a,gov:a,net:a,org:a,lab:e,minisite:e}],mt:[1,{com:t,edu:a,net:a,org:a}],mu:[1,{com:a,net:a,org:a,gov:a,ac:a,co:a,or:a}],museum:a,mv:[1,{aero:a,biz:a,com:a,coop:a,edu:a,gov:a,info:a,int:a,mil:a,museum:a,name:a,net:a,org:a,pro:a}],mw:[1,{ac:a,biz:a,co:a,com:a,coop:a,edu:a,gov:a,int:a,museum:a,net:a,org:a}],mx:[1,{com:a,org:a,gob:a,edu:a,net:a,blogspot:e}],my:[1,{biz:a,com:a,edu:a,gov:a,mil:a,name:a,net:a,org:a,blogspot:e}],mz:[1,{ac:a,adv:a,co:a,edu:a,gov:a,mil:a,net:a,org:a}],na:[1,{info:a,pro:a,name:a,school:a,or:a,dr:a,us:a,mx:a,ca:a,in:a,cc:a,tv:a,ws:a,mobi:a,co:a,com:a,org:a}],name:[1,{her:N,his:N}],nc:[1,{asso:a,nom:a}],ne:a,net:[1,{adobeaemcloud:e,"adobeio-static":e,adobeioruntime:e,akadns:e,akamai:e,"akamai-staging":e,akamaiedge:e,"akamaiedge-staging":e,akamaihd:e,"akamaihd-staging":e,akamaiorigin:e,"akamaiorigin-staging":e,akamaized:e,"akamaized-staging":e,edgekey:e,"edgekey-staging":e,edgesuite:e,"edgesuite-staging":e,alwaysdata:e,myamaze:e,cloudfront:e,t3l3p0rt:e,appudo:e,"atlassian-dev":[0,{prod:[0,{cdn:e}]}],myfritz:e,onavstack:e,shopselect:e,blackbaudcdn:e,boomla:e,bplaced:e,square7:e,gb:e,hu:e,jp:e,se:e,uk:e,in:e,clickrising:e,cloudaccess:e,"cdn77-ssl":e,cdn77:[0,{r:e}],"feste-ip":e,"knx-server":e,"static-access":e,cryptonomic:o,dattolocal:e,mydatto:e,debian:e,bitbridge:e,"at-band-camp":e,blogdns:e,"broke-it":e,buyshouses:e,dnsalias:e,dnsdojo:e,"does-it":e,dontexist:e,dynalias:e,dynathome:e,endofinternet:e,"from-az":e,"from-co":e,"from-la":e,"from-ny":e,"gets-it":e,"ham-radio-op":e,homeftp:e,homeip:e,homelinux:e,homeunix:e,"in-the-band":e,"is-a-chef":e,"is-a-geek":e,"isa-geek":e,"kicks-ass":e,"office-on-the":e,podzone:e,"scrapper-site":e,selfip:e,"sells-it":e,servebbs:e,serveftp:e,thruhere:e,webhop:e,definima:e,casacam:e,dynu:e,dynv6:e,twmail:e,ru:e,channelsdvr:[2,{u:e}],fastlylb:[2,{map:e}],fastly:[0,{freetls:e,map:e,prod:[0,{a:e,global:e}],ssl:[0,{a:e,b:e,global:e}]}],edgeapp:e,flynnhosting:e,"cdn-edges":e,heteml:e,cloudfunctions:e,moonscale:e,"in-dsl":e,"in-vpn":e,ipifony:e,iobb:e,cloudjiffy:[2,{"fra1-de":e,"west1-us":e}],elastx:[0,{"jls-sto1":e,"jls-sto2":e,"jls-sto3":e}],faststacks:e,massivegrid:[0,{paas:[0,{"fr-1":e,"lon-1":e,"lon-2":e,"ny-1":e,"ny-2":e,"sg-1":e}]}],saveincloud:[0,{jelastic:e,"nordeste-idc":e}],scaleforce:_,tsukaeru:A,kinghost:e,uni5:e,krellian:e,barsy:e,memset:e,azurewebsites:e,"azure-mobile":e,cloudapp:e,azurestaticapps:[2,{1:e,2:e,3:e,centralus:e,eastasia:e,eastus2:e,westeurope:e,westus2:e}],dnsup:e,hicam:e,"now-dns":e,ownip:e,vpndns:e,"eating-organic":e,mydissent:e,myeffect:e,mymediapc:e,mypsx:e,mysecuritycamera:e,nhlfan:e,"no-ip":e,pgafan:e,privatizehealthinsurance:e,bounceme:e,ddns:e,redirectme:e,serveblog:e,serveminecraft:e,sytes:e,cloudycluster:e,ovh:[0,{webpaas:o,hosting:o}],bar0:e,bar1:e,bar2:e,rackmaze:e,squares:e,schokokeks:e,"firewall-gateway":e,seidat:e,senseering:e,siteleaf:e,"vps-host":[2,{jelastic:[0,{atl:e,njs:e,ric:e}]}],myspreadshop:e,srcf:[0,{soc:e,user:e}],supabase:e,dsmynas:e,familyds:e,tailscale:[0,{beta:e}],ts:e,torproject:[2,{pages:e}],"reserve-online":e,"community-pro":e,meinforum:e,yandexcloud:[2,{storage:e,website:e}],za:e}],nf:[1,{com:a,net:a,per:a,rec:a,web:a,arts:a,firm:a,info:a,other:a,store:a}],ng:[1,{com:t,edu:a,gov:a,i:a,mil:a,mobi:a,name:a,net:a,org:a,sch:a,col:e,firm:e,gen:e,ltd:e,ngo:e}],ni:[1,{ac:a,biz:a,co:a,com:a,edu:a,gob:a,in:a,info:a,int:a,mil:a,net:a,nom:a,org:a,web:a}],nl:[1,{co:e,"hosting-cluster":e,blogspot:e,gov:e,khplay:e,"123website":e,myspreadshop:e,transurl:o,cistron:e,demon:e}],no:[1,{fhs:a,vgs:a,fylkesbibl:a,folkebibl:a,museum:a,idrett:a,priv:a,mil:a,stat:a,dep:a,kommune:a,herad:a,aa:I,ah:I,bu:I,fm:I,hl:I,hm:I,"jan-mayen":I,mr:I,nl:I,nt:I,of:I,ol:I,oslo:I,rl:I,sf:I,st:I,svalbard:I,tm:I,tr:I,va:I,vf:I,akrehamn:a,"xn--krehamn-dxa":a,"åkrehamn":a,algard:a,"xn--lgrd-poac":a,"ålgård":a,arna:a,brumunddal:a,bryne:a,bronnoysund:a,"xn--brnnysund-m8ac":a,"brønnøysund":a,drobak:a,"xn--drbak-wua":a,"drøbak":a,egersund:a,fetsund:a,floro:a,"xn--flor-jra":a,"florø":a,fredrikstad:a,hokksund:a,honefoss:a,"xn--hnefoss-q1a":a,"hønefoss":a,jessheim:a,jorpeland:a,"xn--jrpeland-54a":a,"jørpeland":a,kirkenes:a,kopervik:a,krokstadelva:a,langevag:a,"xn--langevg-jxa":a,"langevåg":a,leirvik:a,mjondalen:a,"xn--mjndalen-64a":a,"mjøndalen":a,"mo-i-rana":a,mosjoen:a,"xn--mosjen-eya":a,"mosjøen":a,nesoddtangen:a,orkanger:a,osoyro:a,"xn--osyro-wua":a,"osøyro":a,raholt:a,"xn--rholt-mra":a,"råholt":a,sandnessjoen:a,"xn--sandnessjen-ogb":a,"sandnessjøen":a,skedsmokorset:a,slattum:a,spjelkavik:a,stathelle:a,stavern:a,stjordalshalsen:a,"xn--stjrdalshalsen-sqb":a,"stjørdalshalsen":a,tananger:a,tranby:a,vossevangen:a,afjord:a,"xn--fjord-lra":a,"åfjord":a,agdenes:a,al:a,"xn--l-1fa":a,"ål":a,alesund:a,"xn--lesund-hua":a,"ålesund":a,alstahaug:a,alta:a,"xn--lt-liac":a,"áltá":a,alaheadju:a,"xn--laheadju-7ya":a,"álaheadju":a,alvdal:a,amli:a,"xn--mli-tla":a,"åmli":a,amot:a,"xn--mot-tla":a,"åmot":a,andebu:a,andoy:a,"xn--andy-ira":a,"andøy":a,andasuolo:a,ardal:a,"xn--rdal-poa":a,"årdal":a,aremark:a,arendal:a,"xn--s-1fa":a,"ås":a,aseral:a,"xn--seral-lra":a,"åseral":a,asker:a,askim:a,askvoll:a,askoy:a,"xn--asky-ira":a,"askøy":a,asnes:a,"xn--snes-poa":a,"åsnes":a,audnedaln:a,aukra:a,aure:a,aurland:a,"aurskog-holand":a,"xn--aurskog-hland-jnb":a,"aurskog-høland":a,austevoll:a,austrheim:a,averoy:a,"xn--avery-yua":a,"averøy":a,balestrand:a,ballangen:a,balat:a,"xn--blt-elab":a,"bálát":a,balsfjord:a,bahccavuotna:a,"xn--bhccavuotna-k7a":a,"báhccavuotna":a,bamble:a,bardu:a,beardu:a,beiarn:a,bajddar:a,"xn--bjddar-pta":a,"bájddar":a,baidar:a,"xn--bidr-5nac":a,"báidár":a,berg:a,bergen:a,berlevag:a,"xn--berlevg-jxa":a,"berlevåg":a,bearalvahki:a,"xn--bearalvhki-y4a":a,"bearalváhki":a,bindal:a,birkenes:a,bjarkoy:a,"xn--bjarky-fya":a,"bjarkøy":a,bjerkreim:a,bjugn:a,bodo:a,"xn--bod-2na":a,"bodø":a,badaddja:a,"xn--bdddj-mrabd":a,"bådåddjå":a,budejju:a,bokn:a,bremanger:a,bronnoy:a,"xn--brnny-wuac":a,"brønnøy":a,bygland:a,bykle:a,barum:a,"xn--brum-voa":a,"bærum":a,telemark:[0,{bo:a,"xn--b-5ga":a,"bø":a}],nordland:[0,{bo:a,"xn--b-5ga":a,"bø":a,heroy:a,"xn--hery-ira":a,"herøy":a}],bievat:a,"xn--bievt-0qa":a,"bievát":a,bomlo:a,"xn--bmlo-gra":a,"bømlo":a,batsfjord:a,"xn--btsfjord-9za":a,"båtsfjord":a,bahcavuotna:a,"xn--bhcavuotna-s4a":a,"báhcavuotna":a,dovre:a,drammen:a,drangedal:a,dyroy:a,"xn--dyry-ira":a,"dyrøy":a,donna:a,"xn--dnna-gra":a,"dønna":a,eid:a,eidfjord:a,eidsberg:a,eidskog:a,eidsvoll:a,eigersund:a,elverum:a,enebakk:a,engerdal:a,etne:a,etnedal:a,evenes:a,evenassi:a,"xn--eveni-0qa01ga":a,"evenášši":a,"evje-og-hornnes":a,farsund:a,fauske:a,fuossko:a,fuoisku:a,fedje:a,fet:a,finnoy:a,"xn--finny-yua":a,"finnøy":a,fitjar:a,fjaler:a,fjell:a,flakstad:a,flatanger:a,flekkefjord:a,flesberg:a,flora:a,fla:a,"xn--fl-zia":a,"flå":a,folldal:a,forsand:a,fosnes:a,frei:a,frogn:a,froland:a,frosta:a,frana:a,"xn--frna-woa":a,"fræna":a,froya:a,"xn--frya-hra":a,"frøya":a,fusa:a,fyresdal:a,forde:a,"xn--frde-gra":a,"førde":a,gamvik:a,gangaviika:a,"xn--ggaviika-8ya47h":a,"gáŋgaviika":a,gaular:a,gausdal:a,gildeskal:a,"xn--gildeskl-g0a":a,"gildeskål":a,giske:a,gjemnes:a,gjerdrum:a,gjerstad:a,gjesdal:a,gjovik:a,"xn--gjvik-wua":a,"gjøvik":a,gloppen:a,gol:a,gran:a,grane:a,granvin:a,gratangen:a,grimstad:a,grong:a,kraanghke:a,"xn--kranghke-b0a":a,"kråanghke":a,grue:a,gulen:a,hadsel:a,halden:a,halsa:a,hamar:a,hamaroy:a,habmer:a,"xn--hbmer-xqa":a,"hábmer":a,hapmir:a,"xn--hpmir-xqa":a,"hápmir":a,hammerfest:a,hammarfeasta:a,"xn--hmmrfeasta-s4ac":a,"hámmárfeasta":a,haram:a,hareid:a,harstad:a,hasvik:a,aknoluokta:a,"xn--koluokta-7ya57h":a,"ákŋoluokta":a,hattfjelldal:a,aarborte:a,haugesund:a,hemne:a,hemnes:a,hemsedal:a,"more-og-romsdal":[0,{heroy:a,sande:a}],"xn--mre-og-romsdal-qqb":[0,{"xn--hery-ira":a,sande:a}],"møre-og-romsdal":[0,{"herøy":a,sande:a}],hitra:a,hjartdal:a,hjelmeland:a,hobol:a,"xn--hobl-ira":a,"hobøl":a,hof:a,hol:a,hole:a,holmestrand:a,holtalen:a,"xn--holtlen-hxa":a,"holtålen":a,hornindal:a,horten:a,hurdal:a,hurum:a,hvaler:a,hyllestad:a,hagebostad:a,"xn--hgebostad-g3a":a,"hægebostad":a,hoyanger:a,"xn--hyanger-q1a":a,"høyanger":a,hoylandet:a,"xn--hylandet-54a":a,"høylandet":a,ha:a,"xn--h-2fa":a,"hå":a,ibestad:a,inderoy:a,"xn--indery-fya":a,"inderøy":a,iveland:a,jevnaker:a,jondal:a,jolster:a,"xn--jlster-bya":a,"jølster":a,karasjok:a,karasjohka:a,"xn--krjohka-hwab49j":a,"kárášjohka":a,karlsoy:a,galsa:a,"xn--gls-elac":a,"gálsá":a,karmoy:a,"xn--karmy-yua":a,"karmøy":a,kautokeino:a,guovdageaidnu:a,klepp:a,klabu:a,"xn--klbu-woa":a,"klæbu":a,kongsberg:a,kongsvinger:a,kragero:a,"xn--krager-gya":a,"kragerø":a,kristiansand:a,kristiansund:a,krodsherad:a,"xn--krdsherad-m8a":a,"krødsherad":a,kvalsund:a,rahkkeravju:a,"xn--rhkkervju-01af":a,"ráhkkerávju":a,kvam:a,kvinesdal:a,kvinnherad:a,kviteseid:a,kvitsoy:a,"xn--kvitsy-fya":a,"kvitsøy":a,kvafjord:a,"xn--kvfjord-nxa":a,"kvæfjord":a,giehtavuoatna:a,kvanangen:a,"xn--kvnangen-k0a":a,"kvænangen":a,navuotna:a,"xn--nvuotna-hwa":a,"návuotna":a,kafjord:a,"xn--kfjord-iua":a,"kåfjord":a,gaivuotna:a,"xn--givuotna-8ya":a,"gáivuotna":a,larvik:a,lavangen:a,lavagis:a,loabat:a,"xn--loabt-0qa":a,"loabát":a,lebesby:a,davvesiida:a,leikanger:a,leirfjord:a,leka:a,leksvik:a,lenvik:a,leangaviika:a,"xn--leagaviika-52b":a,"leaŋgaviika":a,lesja:a,levanger:a,lier:a,lierne:a,lillehammer:a,lillesand:a,lindesnes:a,lindas:a,"xn--linds-pra":a,"lindås":a,lom:a,loppa:a,lahppi:a,"xn--lhppi-xqa":a,"láhppi":a,lund:a,lunner:a,luroy:a,"xn--lury-ira":a,"lurøy":a,luster:a,lyngdal:a,lyngen:a,ivgu:a,lardal:a,lerdal:a,"xn--lrdal-sra":a,"lærdal":a,lodingen:a,"xn--ldingen-q1a":a,"lødingen":a,lorenskog:a,"xn--lrenskog-54a":a,"lørenskog":a,loten:a,"xn--lten-gra":a,"løten":a,malvik:a,masoy:a,"xn--msy-ula0h":a,"måsøy":a,muosat:a,"xn--muost-0qa":a,"muosát":a,mandal:a,marker:a,marnardal:a,masfjorden:a,meland:a,meldal:a,melhus:a,meloy:a,"xn--mely-ira":a,"meløy":a,meraker:a,"xn--merker-kua":a,"meråker":a,moareke:a,"xn--moreke-jua":a,"moåreke":a,midsund:a,"midtre-gauldal":a,modalen:a,modum:a,molde:a,moskenes:a,moss:a,mosvik:a,malselv:a,"xn--mlselv-iua":a,"målselv":a,malatvuopmi:a,"xn--mlatvuopmi-s4a":a,"málatvuopmi":a,namdalseid:a,aejrie:a,namsos:a,namsskogan:a,naamesjevuemie:a,"xn--nmesjevuemie-tcba":a,"nååmesjevuemie":a,laakesvuemie:a,nannestad:a,narvik:a,narviika:a,naustdal:a,"nedre-eiker":a,akershus:T,buskerud:T,nesna:a,nesodden:a,nesseby:a,unjarga:a,"xn--unjrga-rta":a,"unjárga":a,nesset:a,nissedal:a,nittedal:a,"nord-aurdal":a,"nord-fron":a,"nord-odal":a,norddal:a,nordkapp:a,davvenjarga:a,"xn--davvenjrga-y4a":a,"davvenjárga":a,"nordre-land":a,nordreisa:a,raisa:a,"xn--risa-5na":a,"ráisa":a,"nore-og-uvdal":a,notodden:a,naroy:a,"xn--nry-yla5g":a,"nærøy":a,notteroy:a,"xn--nttery-byae":a,"nøtterøy":a,odda:a,oksnes:a,"xn--ksnes-uua":a,"øksnes":a,oppdal:a,oppegard:a,"xn--oppegrd-ixa":a,"oppegård":a,orkdal:a,orland:a,"xn--rland-uua":a,"ørland":a,orskog:a,"xn--rskog-uua":a,"ørskog":a,orsta:a,"xn--rsta-fra":a,"ørsta":a,hedmark:[0,{os:a,valer:a,"xn--vler-qoa":a,"våler":a}],hordaland:[0,{os:a}],osen:a,osteroy:a,"xn--ostery-fya":a,"osterøy":a,"ostre-toten":a,"xn--stre-toten-zcb":a,"østre-toten":a,overhalla:a,"ovre-eiker":a,"xn--vre-eiker-k8a":a,"øvre-eiker":a,oyer:a,"xn--yer-zna":a,"øyer":a,oygarden:a,"xn--ygarden-p1a":a,"øygarden":a,"oystre-slidre":a,"xn--ystre-slidre-ujb":a,"øystre-slidre":a,porsanger:a,porsangu:a,"xn--porsgu-sta26f":a,"porsáŋgu":a,porsgrunn:a,radoy:a,"xn--rady-ira":a,"radøy":a,rakkestad:a,rana:a,ruovat:a,randaberg:a,rauma:a,rendalen:a,rennebu:a,rennesoy:a,"xn--rennesy-v1a":a,"rennesøy":a,rindal:a,ringebu:a,ringerike:a,ringsaker:a,rissa:a,risor:a,"xn--risr-ira":a,"risør":a,roan:a,rollag:a,rygge:a,ralingen:a,"xn--rlingen-mxa":a,"rælingen":a,rodoy:a,"xn--rdy-0nab":a,"rødøy":a,romskog:a,"xn--rmskog-bya":a,"rømskog":a,roros:a,"xn--rros-gra":a,"røros":a,rost:a,"xn--rst-0na":a,"røst":a,royken:a,"xn--ryken-vua":a,"røyken":a,royrvik:a,"xn--ryrvik-bya":a,"røyrvik":a,rade:a,"xn--rde-ula":a,"råde":a,salangen:a,siellak:a,saltdal:a,salat:a,"xn--slt-elab":a,"sálát":a,"xn--slat-5na":a,"sálat":a,samnanger:a,vestfold:[0,{sande:a}],sandefjord:a,sandnes:a,sandoy:a,"xn--sandy-yua":a,"sandøy":a,sarpsborg:a,sauda:a,sauherad:a,sel:a,selbu:a,selje:a,seljord:a,sigdal:a,siljan:a,sirdal:a,skaun:a,skedsmo:a,ski:a,skien:a,skiptvet:a,skjervoy:a,"xn--skjervy-v1a":a,"skjervøy":a,skierva:a,"xn--skierv-uta":a,"skiervá":a,skjak:a,"xn--skjk-soa":a,"skjåk":a,skodje:a,skanland:a,"xn--sknland-fxa":a,"skånland":a,skanit:a,"xn--sknit-yqa":a,"skánit":a,smola:a,"xn--smla-hra":a,"smøla":a,snillfjord:a,snasa:a,"xn--snsa-roa":a,"snåsa":a,snoasa:a,snaase:a,"xn--snase-nra":a,"snåase":a,sogndal:a,sokndal:a,sola:a,solund:a,songdalen:a,sortland:a,spydeberg:a,stange:a,stavanger:a,steigen:a,steinkjer:a,stjordal:a,"xn--stjrdal-s1a":a,"stjørdal":a,stokke:a,"stor-elvdal":a,stord:a,stordal:a,storfjord:a,omasvuotna:a,strand:a,stranda:a,stryn:a,sula:a,suldal:a,sund:a,sunndal:a,surnadal:a,sveio:a,svelvik:a,sykkylven:a,sogne:a,"xn--sgne-gra":a,"søgne":a,somna:a,"xn--smna-gra":a,"sømna":a,"sondre-land":a,"xn--sndre-land-0cb":a,"søndre-land":a,"sor-aurdal":a,"xn--sr-aurdal-l8a":a,"sør-aurdal":a,"sor-fron":a,"xn--sr-fron-q1a":a,"sør-fron":a,"sor-odal":a,"xn--sr-odal-q1a":a,"sør-odal":a,"sor-varanger":a,"xn--sr-varanger-ggb":a,"sør-varanger":a,"matta-varjjat":a,"xn--mtta-vrjjat-k7af":a,"mátta-várjjat":a,sorfold:a,"xn--srfold-bya":a,"sørfold":a,sorreisa:a,"xn--srreisa-q1a":a,"sørreisa":a,sorum:a,"xn--srum-gra":a,"sørum":a,tana:a,deatnu:a,time:a,tingvoll:a,tinn:a,tjeldsund:a,dielddanuorri:a,tjome:a,"xn--tjme-hra":a,"tjøme":a,tokke:a,tolga:a,torsken:a,tranoy:a,"xn--trany-yua":a,"tranøy":a,tromso:a,"xn--troms-zua":a,"tromsø":a,tromsa:a,romsa:a,trondheim:a,troandin:a,trysil:a,trana:a,"xn--trna-woa":a,"træna":a,trogstad:a,"xn--trgstad-r1a":a,"trøgstad":a,tvedestrand:a,tydal:a,tynset:a,tysfjord:a,divtasvuodna:a,divttasvuotna:a,tysnes:a,tysvar:a,"xn--tysvr-vra":a,"tysvær":a,tonsberg:a,"xn--tnsberg-q1a":a,"tønsberg":a,ullensaker:a,ullensvang:a,ulvik:a,utsira:a,vadso:a,"xn--vads-jra":a,"vadsø":a,cahcesuolo:a,"xn--hcesuolo-7ya35b":a,"čáhcesuolo":a,vaksdal:a,valle:a,vang:a,vanylven:a,vardo:a,"xn--vard-jra":a,"vardø":a,varggat:a,"xn--vrggt-xqad":a,"várggát":a,vefsn:a,vaapste:a,vega:a,vegarshei:a,"xn--vegrshei-c0a":a,"vegårshei":a,vennesla:a,verdal:a,verran:a,vestby:a,vestnes:a,"vestre-slidre":a,"vestre-toten":a,vestvagoy:a,"xn--vestvgy-ixa6o":a,"vestvågøy":a,vevelstad:a,vik:a,vikna:a,vindafjord:a,volda:a,voss:a,varoy:a,"xn--vry-yla5g":a,"værøy":a,vagan:a,"xn--vgan-qoa":a,"vågan":a,voagat:a,vagsoy:a,"xn--vgsy-qoa0j":a,"vågsøy":a,vaga:a,"xn--vg-yiab":a,"vågå":a,ostfold:[0,{valer:a}],"xn--stfold-9xa":[0,{"xn--vler-qoa":a}],"østfold":[0,{"våler":a}],co:e,blogspot:e,"123hjemmeside":e,myspreadshop:e}],np:n,nr:H,nu:[1,{merseine:e,mine:e,shacknet:e,enterprisecloud:e}],nz:[1,{ac:a,co:t,cri:a,geek:a,gen:a,govt:a,health:a,iwi:a,kiwi:a,maori:a,mil:a,"xn--mori-qsa":a,"māori":a,net:a,org:a,parliament:a,school:a}],om:[1,{co:a,com:a,edu:a,gov:a,med:a,museum:a,net:a,org:a,pro:a}],onion:a,org:[1,{altervista:e,amune:[0,{tele:e}],pimienta:e,poivron:e,potager:e,sweetpepper:e,ae:e,us:e,certmgr:e,cdn77:[0,{c:e,rsc:e}],"cdn77-secure":[0,{origin:[0,{ssl:e}]}],cloudns:e,duckdns:e,tunk:e,dyndns:[2,{go:e,home:e}],blogdns:e,blogsite:e,boldlygoingnowhere:e,dnsalias:e,dnsdojo:e,doesntexist:e,dontexist:e,doomdns:e,dvrdns:e,dynalias:e,endofinternet:e,endoftheinternet:e,"from-me":e,"game-host":e,gotdns:e,"hobby-site":e,homedns:e,homeftp:e,homelinux:e,homeunix:e,"is-a-bruinsfan":e,"is-a-candidate":e,"is-a-celticsfan":e,"is-a-chef":e,"is-a-geek":e,"is-a-knight":e,"is-a-linux-user":e,"is-a-patsfan":e,"is-a-soxfan":e,"is-found":e,"is-lost":e,"is-saved":e,"is-very-bad":e,"is-very-evil":e,"is-very-good":e,"is-very-nice":e,"is-very-sweet":e,"isa-geek":e,"kicks-ass":e,misconfused:e,podzone:e,readmyblog:e,selfip:e,sellsyourhome:e,servebbs:e,serveftp:e,servegame:e,"stuff-4-sale":e,webhop:e,ddnss:e,accesscam:e,camdvr:e,freeddns:e,mywire:e,webredirect:e,eu:[2,{al:e,asso:e,at:e,au:e,be:e,bg:e,ca:e,cd:e,ch:e,cn:e,cy:e,cz:e,de:e,dk:e,edu:e,ee:e,es:e,fi:e,fr:e,gr:e,hr:e,hu:e,ie:e,il:e,in:e,int:e,is:e,it:e,jp:e,kr:e,lt:e,lu:e,lv:e,mc:e,me:e,mk:e,mt:e,my:e,net:e,ng:e,nl:e,no:e,nz:e,paris:e,pl:e,pt:e,"q-a":e,ro:e,ru:e,se:e,si:e,sk:e,tr:e,uk:e,us:e}],twmail:e,fedorainfracloud:e,fedorapeople:e,fedoraproject:[0,{cloud:e,os:w,stg:[0,{os:w}]}],freedesktop:e,hepforge:e,"in-dsl":e,"in-vpn":e,js:e,barsy:e,mayfirst:e,"mozilla-iot":e,bmoattachments:e,dynserv:e,"now-dns":e,"cable-modem":e,collegefan:e,couchpotatofries:e,mlbfan:e,mysecuritycamera:e,nflfan:e,"read-books":e,ufcfan:e,hopto:e,myftp:e,"no-ip":e,zapto:e,httpbin:e,pubtls:e,jpn:e,"my-firewall":e,myfirewall:e,spdns:e,"small-web":e,dsmynas:e,familyds:e,teckids:c,tuxfamily:e,diskstation:e,hk:e,wmflabs:e,toolforge:e,wmcloud:e,za:e}],pa:[1,{ac:a,gob:a,com:a,org:a,sld:a,edu:a,net:a,ing:a,abo:a,med:a,nom:a}],pe:[1,{edu:a,gob:a,nom:a,mil:a,org:a,com:a,net:a,blogspot:e}],pf:[1,{com:a,org:a,edu:a}],pg:n,ph:[1,{com:a,net:a,org:a,gov:a,edu:a,ngo:a,mil:a,i:a}],pk:[1,{com:a,net:a,edu:a,org:a,fam:a,biz:a,web:a,gov:a,gob:a,gok:a,gon:a,gop:a,gos:a,info:a}],pl:[1,{com:a,net:a,org:a,aid:a,agro:a,atm:a,auto:a,biz:a,edu:a,gmina:a,gsm:a,info:a,mail:a,miasta:a,media:a,mil:a,nieruchomosci:a,nom:a,pc:a,powiat:a,priv:a,realestate:a,rel:a,sex:a,shop:a,sklep:a,sos:a,szkola:a,targi:a,tm:a,tourism:a,travel:a,turystyka:a,gov:[1,{ap:a,griw:a,ic:a,is:a,kmpsp:a,konsulat:a,kppsp:a,kwp:a,kwpsp:a,mup:a,mw:a,oia:a,oirm:a,oke:a,oow:a,oschr:a,oum:a,pa:a,pinb:a,piw:a,po:a,pr:a,psp:a,psse:a,pup:a,rzgw:a,sa:a,sdn:a,sko:a,so:a,sr:a,starostwo:a,ug:a,ugim:a,um:a,umig:a,upow:a,uppo:a,us:a,uw:a,uzs:a,wif:a,wiih:a,winb:a,wios:a,witd:a,wiw:a,wkz:a,wsa:a,wskr:a,wsse:a,wuoz:a,wzmiuw:a,zp:a,zpisdn:a}],augustow:a,"babia-gora":a,bedzin:a,beskidy:a,bialowieza:a,bialystok:a,bielawa:a,bieszczady:a,boleslawiec:a,bydgoszcz:a,bytom:a,cieszyn:a,czeladz:a,czest:a,dlugoleka:a,elblag:a,elk:a,glogow:a,gniezno:a,gorlice:a,grajewo:a,ilawa:a,jaworzno:a,"jelenia-gora":a,jgora:a,kalisz:a,"kazimierz-dolny":a,karpacz:a,kartuzy:a,kaszuby:a,katowice:a,kepno:a,ketrzyn:a,klodzko:a,kobierzyce:a,kolobrzeg:a,konin:a,konskowola:a,kutno:a,lapy:a,lebork:a,legnica:a,lezajsk:a,limanowa:a,lomza:a,lowicz:a,lubin:a,lukow:a,malbork:a,malopolska:a,mazowsze:a,mazury:a,mielec:a,mielno:a,mragowo:a,naklo:a,nowaruda:a,nysa:a,olawa:a,olecko:a,olkusz:a,olsztyn:a,opoczno:a,opole:a,ostroda:a,ostroleka:a,ostrowiec:a,ostrowwlkp:a,pila:a,pisz:a,podhale:a,podlasie:a,polkowice:a,pomorze:a,pomorskie:a,prochowice:a,pruszkow:a,przeworsk:a,pulawy:a,radom:a,"rawa-maz":a,rybnik:a,rzeszow:a,sanok:a,sejny:a,slask:a,slupsk:a,sosnowiec:a,"stalowa-wola":a,skoczow:a,starachowice:a,stargard:a,suwalki:a,swidnica:a,swiebodzin:a,swinoujscie:a,szczecin:a,szczytno:a,tarnobrzeg:a,tgory:a,turek:a,tychy:a,ustka:a,walbrzych:a,warmia:a,warszawa:a,waw:a,wegrow:a,wielun:a,wlocl:a,wloclawek:a,wodzislaw:a,wolomin:a,wroclaw:a,zachpomor:a,zagan:a,zarow:a,zgora:a,zgorzelec:a,beep:e,"ecommerce-shop":e,shoparena:e,homesklep:e,sdscloud:e,unicloud:e,krasnik:e,leczna:e,lubartow:e,lublin:e,poniatowa:e,swidnik:e,co:e,simplesite:e,art:e,gliwice:e,krakow:e,poznan:e,wroc:e,zakopane:e,myspreadshop:e,gda:e,gdansk:e,gdynia:e,med:e,sopot:e}],pm:[1,{own:e,name:e}],pn:[1,{gov:a,co:a,org:a,edu:a,net:a}],post:a,pr:[1,{com:a,net:a,org:a,gov:a,edu:a,isla:a,pro:a,biz:a,info:a,name:a,est:a,prof:a,ac:a}],pro:[1,{aaa:a,aca:a,acct:a,avocat:a,bar:a,cpa:a,eng:a,jur:a,law:a,med:a,recht:a,cloudns:e,dnstrace:[0,{bci:e}],barsy:e}],ps:[1,{edu:a,gov:a,sec:a,plo:a,com:a,org:a,net:a}],pt:[1,{net:a,gov:a,org:a,edu:a,int:a,publ:a,com:a,nome:a,blogspot:e,"123paginaweb":e}],pw:[1,{co:a,ne:a,or:a,ed:a,go:a,belau:a,cloudns:e,x443:e}],py:[1,{com:a,coop:a,edu:a,gov:a,mil:a,net:a,org:a}],qa:[1,{com:a,edu:a,gov:a,mil:a,name:a,net:a,org:a,sch:a,blogspot:e}],re:[1,{asso:a,com:a,nom:a,blogspot:e}],ro:[1,{arts:a,com:a,firm:a,info:a,nom:a,nt:a,org:a,rec:a,store:a,tm:a,www:a,co:e,shop:e,blogspot:e,barsy:e}],rs:[1,{ac:a,co:a,edu:a,gov:a,in:a,org:a,brendly:[0,{shop:e}],blogspot:e,ua:e,ox:e}],ru:[1,{ac:e,edu:e,gov:e,int:e,mil:e,test:e,eurodir:e,adygeya:e,bashkiria:e,bir:e,cbg:e,com:e,dagestan:e,grozny:e,kalmykia:e,kustanai:e,marine:e,mordovia:e,msk:e,mytis:e,nalchik:e,nov:e,pyatigorsk:e,spb:e,vladikavkaz:e,vladimir:e,blogspot:e,na4u:e,mircloud:e,regruhosting:A,myjino:[2,{hosting:o,landing:o,spectrum:o,vps:o}],cldmail:[0,{hb:e}],mcdir:[2,{vps:e}],mcpre:e,net:e,org:e,pp:e,"123sait":e,lk3:e,ras:e}],rw:[1,{ac:a,co:a,coop:a,gov:a,mil:a,net:a,org:a}],sa:[1,{com:a,net:a,org:a,gov:a,med:a,pub:a,edu:a,sch:a}],sb:i,sc:i,sd:[1,{com:a,net:a,org:a,edu:a,med:a,tv:a,gov:a,info:a}],se:[1,{a:a,ac:a,b:a,bd:a,brand:a,c:a,d:a,e:a,f:a,fh:a,fhsk:a,fhv:a,g:a,h:a,i:a,k:a,komforb:a,kommunalforbund:a,komvux:a,l:a,lanbib:a,m:a,n:a,naturbruksgymn:a,o:a,org:a,p:a,parti:a,pp:a,press:a,r:a,s:a,t:a,tm:a,u:a,w:a,x:a,y:a,z:a,com:e,blogspot:e,conf:e,iopsys:e,"123minsida":e,itcouldbewor:e,myspreadshop:e,paba:[0,{su:e}]}],sg:[1,{com:a,net:a,org:a,gov:a,edu:a,per:a,blogspot:e,enscaled:e}],sh:[1,{com:a,net:a,gov:a,org:a,mil:a,bip:e,hashbang:e,platform:[0,{bc:e,ent:e,eu:e,us:e}],now:e,vxl:e,wedeploy:e}],si:[1,{gitapp:e,gitpage:e,blogspot:e}],sj:a,sk:t,sl:i,sm:a,sn:[1,{art:a,com:a,edu:a,gouv:a,org:a,perso:a,univ:a,blogspot:e}],so:[1,{com:a,edu:a,gov:a,me:a,net:a,org:a,sch:e}],sr:a,ss:[1,{biz:a,com:a,edu:a,gov:a,me:a,net:a,org:a,sch:a}],st:[1,{co:a,com:a,consulado:a,edu:a,embaixada:a,mil:a,net:a,org:a,principe:a,saotome:a,store:a,kirara:e,noho:e}],su:[1,{abkhazia:e,adygeya:e,aktyubinsk:e,arkhangelsk:e,armenia:e,ashgabad:e,azerbaijan:e,balashov:e,bashkiria:e,bryansk:e,bukhara:e,chimkent:e,dagestan:e,"east-kazakhstan":e,exnet:e,georgia:e,grozny:e,ivanovo:e,jambyl:e,kalmykia:e,kaluga:e,karacol:e,karaganda:e,karelia:e,khakassia:e,krasnodar:e,kurgan:e,kustanai:e,lenug:e,mangyshlak:e,mordovia:e,msk:e,murmansk:e,nalchik:e,navoi:e,"north-kazakhstan":e,nov:e,obninsk:e,penza:e,pokrovsk:e,sochi:e,spb:e,tashkent:e,termez:e,togliatti:e,troitsk:e,tselinograd:e,tula:e,tuva:e,vladikavkaz:e,vladimir:e,vologda:e}],sv:[1,{com:a,edu:a,gob:a,org:a,red:a}],sx:s,sy:P,sz:[1,{co:a,ac:a,org:a}],tc:[1,{ch:e,me:e,we:e}],td:t,tel:a,tf:[1,{sch:e}],tg:a,th:[1,{ac:a,co:a,go:a,in:a,mi:a,net:a,or:a,online:e,shop:e}],tj:[1,{ac:a,biz:a,co:a,com:a,edu:a,go:a,gov:a,int:a,mil:a,name:a,net:a,nic:a,org:a,test:a,web:a}],tk:a,tl:s,tm:[1,{com:a,co:a,org:a,net:a,nom:a,gov:a,mil:a,edu:a}],tn:[1,{com:a,ens:a,fin:a,gov:a,ind:a,info:a,intl:a,mincom:a,nat:a,net:a,org:a,perso:a,tourism:a,orangecloud:e}],to:[1,{611:e,com:a,gov:a,net:a,org:a,edu:a,mil:a,oya:e,rdv:e,x0:e,vpnplus:e,quickconnect:m,nyan:e}],tr:[1,{av:a,bbs:a,bel:a,biz:a,com:t,dr:a,edu:a,gen:a,gov:a,info:a,mil:a,k12:a,kep:a,name:a,net:a,org:a,pol:a,tel:a,tsk:a,tv:a,web:a,nc:s}],tt:[1,{co:a,com:a,org:a,net:a,biz:a,info:a,pro:a,int:a,coop:a,jobs:a,mobi:a,travel:a,museum:a,aero:a,name:a,gov:a,edu:a}],tv:[1,{dyndns:e,"better-than":e,"on-the-web":e,"worse-than":e,from:e,sakura:e}],tw:[1,{edu:a,gov:a,mil:a,com:[1,{mymailer:e}],net:a,org:a,idv:a,game:a,ebiz:a,club:a,"xn--zf0ao64a":a,"網路":a,"xn--uc0atv":a,"組織":a,"xn--czrw28b":a,"商業":a,url:e,blogspot:e}],tz:[1,{ac:a,co:a,go:a,hotel:a,info:a,me:a,mil:a,mobi:a,ne:a,or:a,sc:a,tv:a}],ua:[1,{com:a,edu:a,gov:a,in:a,net:a,org:a,cherkassy:a,cherkasy:a,chernigov:a,chernihiv:a,chernivtsi:a,chernovtsy:a,ck:a,cn:a,cr:a,crimea:a,cv:a,dn:a,dnepropetrovsk:a,dnipropetrovsk:a,donetsk:a,dp:a,if:a,"ivano-frankivsk":a,kh:a,kharkiv:a,kharkov:a,kherson:a,khmelnitskiy:a,khmelnytskyi:a,kiev:a,kirovograd:a,km:a,kr:a,kropyvnytskyi:a,krym:a,ks:a,kv:a,kyiv:a,lg:a,lt:a,lugansk:a,lutsk:a,lv:a,lviv:a,mk:a,mykolaiv:a,nikolaev:a,od:a,odesa:a,odessa:a,pl:a,poltava:a,rivne:a,rovno:a,rv:a,sb:a,sebastopol:a,sevastopol:a,sm:a,sumy:a,te:a,ternopil:a,uz:a,uzhgorod:a,vinnica:a,vinnytsia:a,vn:a,volyn:a,yalta:a,zaporizhzhe:a,zaporizhzhia:a,zhitomir:a,zhytomyr:a,zp:a,zt:a,cc:e,inf:e,ltd:e,cx:e,ie:e,biz:e,co:e,pp:e,v:e}],ug:[1,{co:a,or:a,ac:a,sc:a,go:a,ne:a,com:a,org:a,blogspot:e}],uk:[1,{ac:a,co:[1,{bytemark:[0,{dh:e,vm:e}],blogspot:e,layershift:_,barsy:e,barsyonline:e,retrosnub:E,"nh-serv":e,"no-ip":e,wellbeingzone:e,adimo:e,myspreadshop:e}],gov:[1,{campaign:e,service:e,api:e,homeoffice:e}],ltd:a,me:a,net:a,nhs:a,org:[1,{glug:e,lug:e,lugs:e,affinitylottery:e,raffleentry:e,weeklylottery:e}],plc:a,police:a,sch:n,conn:e,copro:e,hosp:e,"independent-commission":e,"independent-inquest":e,"independent-inquiry":e,"independent-panel":e,"independent-review":e,"public-inquiry":e,"royal-commission":e,pymnt:e,barsy:e}],us:[1,{dni:a,fed:a,isa:a,kids:a,nsn:a,ak:R,al:R,ar:R,as:R,az:R,ca:R,co:R,ct:R,dc:R,de:[1,{k12:a,cc:a,lib:e}],fl:R,ga:R,gu:R,hi:D,ia:R,id:R,il:R,in:R,ks:R,ky:R,la:R,ma:[1,{k12:[1,{pvt:a,chtr:a,paroch:a}],cc:a,lib:a}],md:R,me:R,mi:[1,{k12:a,cc:a,lib:a,"ann-arbor":a,cog:a,dst:a,eaton:a,gen:a,mus:a,tec:a,washtenaw:a}],mn:R,mo:R,ms:R,mt:R,nc:R,nd:D,ne:R,nh:R,nj:R,nm:R,nv:R,ny:R,oh:R,ok:R,or:R,pa:R,pr:R,ri:D,sc:R,sd:D,tn:R,tx:R,ut:R,vi:R,vt:R,va:R,wa:R,wi:R,wv:[1,{cc:a}],wy:R,graphox:e,cloudns:e,drud:e,"is-by":e,"land-4-sale":e,"stuff-4-sale":e,enscaled:[0,{phx:e}],mircloud:e,freeddns:e,golffan:e,noip:e,pointto:e,platterp:e}],uy:[1,{com:t,edu:a,gub:a,mil:a,net:a,org:a}],uz:[1,{co:a,com:a,net:a,org:a}],va:a,vc:[1,{com:a,net:a,org:a,gov:a,mil:a,edu:a,gv:[2,{d:e}],"0e":e}],ve:[1,{arts:a,bib:a,co:a,com:a,e12:a,edu:a,firm:a,gob:a,gov:a,info:a,int:a,mil:a,net:a,nom:a,org:a,rar:a,rec:a,store:a,tec:a,web:a}],vg:[1,{at:e}],vi:[1,{co:a,com:a,k12:a,net:a,org:a}],vn:[1,{ac:a,ai:a,biz:a,com:a,edu:a,gov:a,health:a,id:a,info:a,int:a,io:a,name:a,net:a,org:a,pro:a,angiang:a,bacgiang:a,backan:a,baclieu:a,bacninh:a,"baria-vungtau":a,bentre:a,binhdinh:a,binhduong:a,binhphuoc:a,binhthuan:a,camau:a,cantho:a,caobang:a,daklak:a,daknong:a,danang:a,dienbien:a,dongnai:a,dongthap:a,gialai:a,hagiang:a,haiduong:a,haiphong:a,hanam:a,hanoi:a,hatinh:a,haugiang:a,hoabinh:a,hungyen:a,khanhhoa:a,kiengiang:a,kontum:a,laichau:a,lamdong:a,langson:a,laocai:a,longan:a,namdinh:a,nghean:a,ninhbinh:a,ninhthuan:a,phutho:a,phuyen:a,quangbinh:a,quangnam:a,quangngai:a,quangninh:a,quangtri:a,soctrang:a,sonla:a,tayninh:a,thaibinh:a,thainguyen:a,thanhhoa:a,thanhphohochiminh:a,thuathienhue:a,tiengiang:a,travinh:a,tuyenquang:a,vinhlong:a,vinhphuc:a,yenbai:a,blogspot:e}],vu:[1,{com:a,edu:a,net:a,org:a,cn:e,blog:e,dev:e,me:e}],wf:[1,{biz:e,sch:e}],ws:[1,{com:a,net:a,org:a,gov:a,edu:a,advisor:o,cloud66:e,dyndns:e,mypets:e}],yt:[1,{org:e}],"xn--mgbaam7a8h":a,"امارات":a,"xn--y9a3aq":a,"հայ":a,"xn--54b7fta0cc":a,"বাংলা":a,"xn--90ae":a,"бг":a,"xn--mgbcpq6gpa1a":a,"البحرين":a,"xn--90ais":a,"бел":a,"xn--fiqs8s":a,"中国":a,"xn--fiqz9s":a,"中國":a,"xn--lgbbat1ad8j":a,"الجزائر":a,"xn--wgbh1c":a,"مصر":a,"xn--e1a4c":a,"ею":a,"xn--qxa6a":a,"ευ":a,"xn--mgbah1a3hjkrd":a,"موريتانيا":a,"xn--node":a,"გე":a,"xn--qxam":a,"ελ":a,"xn--j6w193g":[1,{"xn--55qx5d":a,"xn--wcvs22d":a,"xn--mxtq1m":a,"xn--gmqw5a":a,"xn--od0alg":a,"xn--uc0atv":a}],"香港":[1,{"公司":a,"教育":a,"政府":a,"個人":a,"網絡":a,"組織":a}],"xn--2scrj9c":a,"ಭಾರತ":a,"xn--3hcrj9c":a,"ଭାରତ":a,"xn--45br5cyl":a,"ভাৰত":a,"xn--h2breg3eve":a,"भारतम्":a,"xn--h2brj9c8c":a,"भारोत":a,"xn--mgbgu82a":a,"ڀارت":a,"xn--rvc1e0am3e":a,"ഭാരതം":a,"xn--h2brj9c":a,"भारत":a,"xn--mgbbh1a":a,"بارت":a,"xn--mgbbh1a71e":a,"بھارت":a,"xn--fpcrj9c3d":a,"భారత్":a,"xn--gecrj9c":a,"ભારત":a,"xn--s9brj9c":a,"ਭਾਰਤ":a,"xn--45brj9c":a,"ভারত":a,"xn--xkc2dl3a5ee0h":a,"இந்தியா":a,"xn--mgba3a4f16a":a,"ایران":a,"xn--mgba3a4fra":a,"ايران":a,"xn--mgbtx2b":a,"عراق":a,"xn--mgbayh7gpa":a,"الاردن":a,"xn--3e0b707e":a,"한국":a,"xn--80ao21a":a,"қаз":a,"xn--q7ce6a":a,"ລາວ":a,"xn--fzc2c9e2c":a,"ලංකා":a,"xn--xkc2al3hye2a":a,"இலங்கை":a,"xn--mgbc0a9azcg":a,"المغرب":a,"xn--d1alf":a,"мкд":a,"xn--l1acc":a,"мон":a,"xn--mix891f":a,"澳門":a,"xn--mix082f":a,"澳门":a,"xn--mgbx4cd0ab":a,"مليسيا":a,"xn--mgb9awbf":a,"عمان":a,"xn--mgbai9azgqp6j":a,"پاکستان":a,"xn--mgbai9a5eva00b":a,"پاكستان":a,"xn--ygbi2ammx":a,"فلسطين":a,"xn--90a3ac":[1,{"xn--o1ac":a,"xn--c1avg":a,"xn--90azh":a,"xn--d1at":a,"xn--o1ach":a,"xn--80au":a}],"срб":[1,{"пр":a,"орг":a,"обр":a,"од":a,"упр":a,"ак":a}],"xn--p1ai":a,"рф":a,"xn--wgbl6a":a,"قطر":a,"xn--mgberp4a5d4ar":a,"السعودية":a,"xn--mgberp4a5d4a87g":a,"السعودیة":a,"xn--mgbqly7c0a67fbc":a,"السعودیۃ":a,"xn--mgbqly7cvafr":a,"السعوديه":a,"xn--mgbpl2fh":a,"سودان":a,"xn--yfro4i67o":a,"新加坡":a,"xn--clchc0ea0b2g2a9gcd":a,"சிங்கப்பூர்":a,"xn--ogbpf8fl":a,"سورية":a,"xn--mgbtf8fl":a,"سوريا":a,"xn--o3cw4h":[1,{"xn--12c1fe0br":a,"xn--12co0c3b4eva":a,"xn--h3cuzk1di":a,"xn--o3cyx2a":a,"xn--m3ch0j3a":a,"xn--12cfi8ixb8l":a}],"ไทย":[1,{"ศึกษา":a,"ธุรกิจ":a,"รัฐบาล":a,"ทหาร":a,"เน็ต":a,"องค์กร":a}],"xn--pgbs0dh":a,"تونس":a,"xn--kpry57d":a,"台灣":a,"xn--kprw13d":a,"台湾":a,"xn--nnx388a":a,"臺灣":a,"xn--j1amh":a,"укр":a,"xn--mgb2ddes":a,"اليمن":a,xxx:a,ye:P,za:[0,{ac:a,agric:a,alt:a,co:t,edu:a,gov:a,grondar:a,law:a,mil:a,net:a,ngo:a,nic:a,nis:a,nom:a,org:a,school:a,tm:a,web:a}],zm:[1,{ac:a,biz:a,co:a,com:a,edu:a,gov:a,info:a,mil:a,net:a,org:a,sch:a}],zw:[1,{ac:a,co:a,gov:a,mil:a,org:a}],aaa:a,aarp:a,abb:a,abbott:a,abbvie:a,abc:a,able:a,abogado:a,abudhabi:a,academy:[1,{official:e}],accenture:a,accountant:a,accountants:a,aco:a,actor:a,ads:a,adult:a,aeg:a,aetna:a,afl:a,africa:a,agakhan:a,agency:a,aig:a,airbus:a,airforce:a,airtel:a,akdn:a,alibaba:a,alipay:a,allfinanz:a,allstate:a,ally:a,alsace:a,alstom:a,amazon:a,americanexpress:a,americanfamily:a,amex:a,amfam:a,amica:a,amsterdam:a,analytics:a,android:a,anquan:a,anz:a,aol:a,apartments:a,app:[1,{beget:o,clerk:e,clerkstage:e,wnext:e,platform0:e,deta:e,ondigitalocean:e,easypanel:e,encr:e,edgecompute:e,fireweb:e,onflashdrive:e,framer:e,run:[2,{a:e}],web:e,hasura:e,loginline:e,messerli:e,netlify:e,ngrok:e,"ngrok-free":e,developer:o,noop:e,northflank:o,snowflake:[2,{privatelink:e}],streamlit:e,storipress:e,telebit:e,typedream:e,vercel:e,bookonline:e}],apple:a,aquarelle:a,arab:a,aramco:a,archi:a,army:a,art:a,arte:a,asda:a,associates:a,athleta:a,attorney:a,auction:a,audi:a,audible:a,audio:a,auspost:a,author:a,auto:a,autos:a,avianca:a,aws:a,axa:a,azure:a,baby:a,baidu:a,banamex:a,bananarepublic:a,band:a,bank:a,bar:a,barcelona:a,barclaycard:a,barclays:a,barefoot:a,bargains:a,baseball:a,basketball:[1,{aus:e,nz:e}],bauhaus:a,bayern:a,bbc:a,bbt:a,bbva:a,bcg:a,bcn:a,beats:a,beauty:a,beer:a,bentley:a,berlin:a,best:a,bestbuy:a,bet:a,bharti:a,bible:a,bid:a,bike:a,bing:a,bingo:a,bio:a,black:a,blackfriday:a,blockbuster:a,blog:a,bloomberg:a,blue:a,bms:a,bmw:a,bnpparibas:a,boats:a,boehringer:a,bofa:a,bom:a,bond:a,boo:a,book:a,booking:a,bosch:a,bostik:a,boston:a,bot:a,boutique:a,box:a,bradesco:a,bridgestone:a,broadway:a,broker:a,brother:a,brussels:a,build:a,builders:[1,{cloudsite:e}],business:l,buy:a,buzz:a,bzh:a,cab:a,cafe:a,cal:a,call:a,calvinklein:a,cam:a,camera:a,camp:a,canon:a,capetown:a,capital:a,capitalone:a,car:a,caravan:a,cards:a,care:a,career:a,careers:a,cars:a,casa:[1,{nabu:[0,{ui:e}]}],case:a,cash:a,casino:a,catering:a,catholic:a,cba:a,cbn:a,cbre:a,cbs:a,center:a,ceo:a,cern:a,cfa:a,cfd:a,chanel:a,channel:a,charity:a,chase:a,chat:a,cheap:a,chintai:a,christmas:a,chrome:a,church:a,cipriani:a,circle:a,cisco:a,citadel:a,citi:a,citic:a,city:a,cityeats:a,claims:a,cleaning:a,click:a,clinic:a,clinique:a,clothing:a,cloud:[1,{banzai:o,elementor:e,encoway:[0,{eu:e}],statics:o,ravendb:e,axarnet:[0,{"es-1":e}],diadem:e,jelastic:[0,{vip:e}],jele:e,"jenv-aruba":[0,{aruba:[0,{eur:[0,{it1:e}]}],it1:e}],keliweb:[2,{cs:e}],oxa:[2,{tn:e,uk:e}],primetel:[2,{uk:e}],reclaim:[0,{ca:e,uk:e,us:e}],trendhosting:[0,{ch:e,de:e}],jotelulu:e,kuleuven:e,linkyard:e,magentosite:o,perspecta:e,vapor:e,"on-rancher":o,scw:[0,{baremetal:[0,{"fr-par-1":e,"fr-par-2":e,"nl-ams-1":e}],"fr-par":[0,{fnc:[2,{functions:e}],k8s:u,s3:e,"s3-website":e,whm:e}],instances:[0,{priv:e,pub:e}],k8s:e,"nl-ams":[0,{k8s:u,s3:e,"s3-website":e,whm:e}],"pl-waw":[0,{k8s:u,s3:e,"s3-website":e}],scalebook:e,smartlabeling:e}],sensiosite:o,trafficplex:e,urown:e,voorloper:e}],club:[1,{cloudns:e,jele:e,barsy:e}],clubmed:a,coach:a,codes:[1,{owo:o}],coffee:a,college:a,cologne:a,comcast:a,commbank:a,community:[1,{nog:e,ravendb:e,myforum:e}],company:a,compare:a,computer:a,comsec:a,condos:a,construction:a,consulting:a,contact:a,contractors:a,cooking:a,cool:[1,{elementor:e,de:e}],corsica:a,country:a,coupon:a,coupons:a,courses:a,cpa:a,credit:a,creditcard:a,creditunion:a,cricket:a,crown:a,crs:a,cruise:a,cruises:a,cuisinella:a,cymru:a,cyou:a,dabur:a,dad:a,dance:a,data:a,date:a,dating:a,datsun:a,day:a,dclk:a,dds:a,deal:a,dealer:a,deals:a,degree:a,delivery:a,dell:a,deloitte:a,delta:a,democrat:a,dental:a,dentist:a,desi:a,design:[1,{bss:e}],dev:[1,{autocode:e,lcl:o,lclstage:o,stg:o,stgstage:o,pages:e,r2:e,workers:e,curv:e,deno:e,"deno-staging":e,deta:e,fly:e,githubpreview:e,gateway:o,iserv:e,localcert:[0,{user:o}],loginline:e,mediatech:e,ngrok:e,"ngrok-free":e,"platter-app":e,shiftcrypto:e,vercel:e,webhare:o}],dhl:a,diamonds:a,diet:a,digital:[1,{cloudapps:[2,{london:e}]}],direct:a,directory:a,discount:a,discover:a,dish:a,diy:a,dnp:a,docs:a,doctor:a,dog:a,domains:a,dot:a,download:a,drive:a,dtv:a,dubai:a,dunlop:a,dupont:a,durban:a,dvag:a,dvr:a,earth:[1,{dapps:[0,{"*":e,bzz:o}]}],eat:a,eco:a,edeka:a,education:l,email:a,emerck:a,energy:a,engineer:a,engineering:a,enterprises:a,epson:a,equipment:a,ericsson:a,erni:a,esq:a,estate:[1,{compute:o}],etisalat:a,eurovision:a,eus:[1,{party:S}],events:[1,{koobin:e,co:e}],exchange:a,expert:a,exposed:a,express:a,extraspace:a,fage:a,fail:a,fairwinds:a,faith:q,family:a,fan:a,fans:a,farm:[1,{storj:e}],farmers:a,fashion:a,fast:a,fedex:a,feedback:a,ferrari:a,ferrero:a,fidelity:a,fido:a,film:a,final:a,finance:a,financial:l,fire:a,firestone:a,firmdale:a,fish:a,fishing:a,fit:a,fitness:a,flickr:a,flights:a,flir:a,florist:a,flowers:a,fly:a,foo:a,food:a,football:a,ford:a,forex:a,forsale:a,forum:a,foundation:a,fox:a,free:a,fresenius:a,frl:a,frogans:a,frontdoor:a,frontier:a,ftr:a,fujitsu:a,fun:a,fund:a,furniture:a,futbol:a,fyi:a,gal:a,gallery:a,gallo:a,gallup:a,game:a,games:a,gap:a,garden:a,gay:a,gbiz:a,gdn:[1,{cnpy:e}],gea:a,gent:a,genting:a,george:a,ggee:a,gift:a,gifts:a,gives:a,giving:a,glass:a,gle:a,global:a,globo:a,gmail:a,gmbh:a,gmo:a,gmx:a,godaddy:a,gold:a,goldpoint:a,golf:a,goo:a,goodyear:a,goog:[1,{cloud:e,translate:e,usercontent:o}],google:a,gop:a,got:a,grainger:a,graphics:a,gratis:a,green:a,gripe:a,grocery:a,group:[1,{discourse:e}],guardian:a,gucci:a,guge:a,guide:a,guitars:a,guru:a,hair:a,hamburg:a,hangout:a,haus:a,hbo:a,hdfc:a,hdfcbank:a,health:[1,{hra:e}],healthcare:a,help:a,helsinki:a,here:a,hermes:a,hiphop:a,hisamitsu:a,hitachi:a,hiv:a,hkt:a,hockey:a,holdings:a,holiday:a,homedepot:a,homegoods:a,homes:a,homesense:a,honda:a,horse:a,hospital:a,host:[1,{cloudaccess:e,freesite:e,easypanel:e,fastvps:e,myfast:e,tempurl:e,wpmudev:e,jele:e,mircloud:e,pcloud:e,half:e}],hosting:[1,{opencraft:e}],hot:a,hotels:a,hotmail:a,house:a,how:a,hsbc:a,hughes:a,hyatt:a,hyundai:a,ibm:a,icbc:a,ice:a,icu:a,ieee:a,ifm:a,ikano:a,imamat:a,imdb:a,immo:a,immobilien:a,inc:a,industries:a,infiniti:a,ing:a,ink:a,institute:a,insurance:a,insure:a,international:a,intuit:a,investments:a,ipiranga:a,irish:a,ismaili:a,ist:a,istanbul:a,itau:a,itv:a,jaguar:a,java:a,jcb:a,jeep:a,jetzt:a,jewelry:a,jio:a,jll:a,jmp:a,jnj:a,joburg:a,jot:a,joy:a,jpmorgan:a,jprs:a,juegos:a,juniper:a,kaufen:a,kddi:a,kerryhotels:a,kerrylogistics:a,kerryproperties:a,kfh:a,kia:a,kids:a,kim:a,kinder:a,kindle:a,kitchen:a,kiwi:a,koeln:a,komatsu:a,kosher:a,kpmg:a,kpn:a,krd:[1,{co:e,edu:e}],kred:a,kuokgroup:a,kyoto:a,lacaixa:a,lamborghini:a,lamer:a,lancaster:a,land:[1,{static:[2,{dev:e,sites:e}]}],landrover:a,lanxess:a,lasalle:a,lat:a,latino:a,latrobe:a,law:a,lawyer:a,lds:a,lease:a,leclerc:a,lefrak:a,legal:a,lego:a,lexus:a,lgbt:a,lidl:a,life:a,lifeinsurance:a,lifestyle:a,lighting:a,like:a,lilly:a,limited:a,limo:a,lincoln:a,link:[1,{cyon:e,mypep:e,dweb:o}],lipsy:a,live:[1,{hlx:e}],living:a,llc:a,llp:a,loan:a,loans:a,locker:a,locus:a,lol:[1,{omg:e}],london:a,lotte:a,lotto:a,love:a,lpl:a,lplfinancial:a,ltd:a,ltda:a,lundbeck:a,luxe:a,luxury:a,madrid:a,maif:a,maison:a,makeup:a,man:a,management:[1,{router:e}],mango:a,map:a,market:a,marketing:a,markets:a,marriott:a,marshalls:a,mattel:a,mba:a,mckinsey:a,med:a,media:L,meet:a,melbourne:a,meme:a,memorial:a,men:a,menu:O,merckmsd:a,miami:a,microsoft:a,mini:a,mint:a,mit:a,mitsubishi:a,mlb:a,mls:a,mma:a,mobile:a,moda:a,moe:a,moi:a,mom:a,monash:a,money:a,monster:a,mormon:a,mortgage:a,moscow:a,moto:a,motorcycles:a,mov:a,movie:a,msd:a,mtn:a,mtr:a,music:a,mutual:a,nab:a,nagoya:a,natura:a,navy:a,nba:a,nec:a,netbank:a,netflix:a,network:[1,{alces:o,co:e,arvo:e,azimuth:e,tlon:e}],neustar:a,new:a,news:[1,{noticeable:e}],next:a,nextdirect:a,nexus:a,nfl:a,ngo:a,nhk:a,nico:a,nike:a,nikon:a,ninja:a,nissan:a,nissay:a,nokia:a,northwesternmutual:a,norton:a,now:a,nowruz:a,nowtv:a,nra:a,nrw:a,ntt:a,nyc:a,obi:a,observer:a,office:a,okinawa:a,olayan:a,olayangroup:a,oldnavy:a,ollo:a,omega:a,one:[1,{onred:[2,{staging:e}],service:e,homelink:e}],ong:a,onl:a,online:[1,{eero:e,"eero-stage":e,barsy:e}],ooo:a,open:a,oracle:a,orange:[1,{tech:e}],organic:a,origins:a,osaka:a,otsuka:a,ott:a,ovh:[1,{nerdpol:e}],page:[1,{hlx:e,hlx3:e,translated:e,codeberg:e,pdns:e,plesk:e,prvcy:e,rocky:e,magnet:e}],panasonic:a,paris:a,pars:a,partners:a,parts:a,party:q,pay:a,pccw:a,pet:a,pfizer:a,pharmacy:a,phd:a,philips:a,phone:a,photo:a,photography:a,photos:L,physio:a,pics:a,pictet:a,pictures:[1,{1337:e}],pid:a,pin:a,ping:a,pink:a,pioneer:a,pizza:[1,{ngrok:e}],place:l,play:a,playstation:a,plumbing:a,plus:a,pnc:a,pohl:a,poker:a,politie:a,porn:[1,{indie:e}],pramerica:a,praxi:a,press:a,prime:a,prod:a,productions:a,prof:a,progressive:a,promo:a,properties:a,property:a,protection:a,pru:a,prudential:a,pub:O,pwc:a,qpon:a,quebec:a,quest:a,racing:a,radio:a,read:a,realestate:a,realtor:a,realty:a,recipes:a,red:a,redstone:a,redumbrella:a,rehab:a,reise:a,reisen:a,reit:a,reliance:a,ren:a,rent:a,rentals:a,repair:a,report:a,republican:a,rest:a,restaurant:a,review:q,reviews:a,rexroth:a,rich:a,richardli:a,ricoh:a,ril:a,rio:a,rip:[1,{clan:e}],rocher:a,rocks:[1,{myddns:e,"lima-city":e,webspace:e}],rodeo:a,rogers:a,room:a,rsvp:a,rugby:a,ruhr:a,run:[1,{hs:e,development:e,ravendb:e,servers:e,build:o,code:o,database:o,migration:o,onporter:e,repl:e}],rwe:a,ryukyu:a,saarland:a,safe:a,safety:a,sakura:a,sale:a,salon:a,samsclub:a,samsung:a,sandvik:a,sandvikcoromant:a,sanofi:a,sap:a,sarl:a,sas:a,save:a,saxo:a,sbi:a,sbs:a,sca:a,scb:a,schaeffler:a,schmidt:a,scholarships:a,school:a,schule:a,schwarz:a,science:q,scot:[1,{edu:e,gov:[2,{service:e}]}],search:a,seat:a,secure:a,security:a,seek:a,select:a,sener:a,services:[1,{loginline:e}],seven:a,sew:a,sex:a,sexy:a,sfr:a,shangrila:a,sharp:a,shaw:a,shell:a,shia:a,shiksha:a,shoes:a,shop:[1,{base:e,hoplix:e,barsy:e}],shopping:a,shouji:a,show:a,showtime:a,silk:a,sina:a,singles:a,site:[1,{cloudera:o,cyon:e,fnwk:e,folionetwork:e,fastvps:e,jele:e,lelux:e,loginline:e,barsy:e,mintere:e,omniwe:e,opensocial:e,platformsh:o,tst:o,byen:e,srht:e,novecore:e}],ski:a,skin:a,sky:a,skype:a,sling:a,smart:a,smile:a,sncf:a,soccer:a,social:a,softbank:a,software:a,sohu:a,solar:a,solutions:[1,{diher:o}],song:a,sony:a,soy:a,spa:a,space:[1,{myfast:e,uber:e,xs4all:e}],sport:a,spot:a,srl:a,stada:a,staples:a,star:a,statebank:a,statefarm:a,stc:a,stcgroup:a,stockholm:a,storage:a,store:[1,{sellfy:e,shopware:e,storebase:e}],stream:a,studio:a,study:a,style:a,sucks:a,supplies:a,supply:a,support:O,surf:a,surgery:a,suzuki:a,swatch:a,swiss:a,sydney:a,systems:[1,{knightpoint:e}],tab:a,taipei:a,talk:a,taobao:a,target:a,tatamotors:a,tatar:a,tattoo:a,tax:a,taxi:a,tci:a,tdk:a,team:[1,{discourse:e,jelastic:e}],tech:a,technology:l,temasek:a,tennis:a,teva:a,thd:a,theater:a,theatre:a,tiaa:a,tickets:a,tienda:a,tips:a,tires:a,tirol:a,tjmaxx:a,tjx:a,tkmaxx:a,tmall:a,today:[1,{prequalifyme:e}],tokyo:a,tools:a,top:[1,{"now-dns":e,ntdll:e}],toray:a,toshiba:a,total:a,tours:a,town:a,toyota:a,toys:a,trade:q,trading:a,training:a,travel:a,travelers:a,travelersinsurance:a,trust:a,trv:a,tube:a,tui:a,tunes:a,tushu:a,tvs:a,ubank:a,ubs:a,unicom:a,university:a,uno:a,uol:a,ups:a,vacations:a,vana:a,vanguard:a,vegas:a,ventures:a,verisign:a,versicherung:a,vet:a,viajes:a,video:a,vig:a,viking:a,villas:a,vin:a,vip:a,virgin:a,visa:a,vision:a,viva:a,vivo:a,vlaanderen:a,vodka:a,volkswagen:a,volvo:a,vote:a,voting:a,voto:a,voyage:a,wales:a,walmart:a,walter:a,wang:a,wanggou:a,watch:a,watches:a,weather:a,weatherchannel:a,webcam:a,weber:a,website:L,wedding:a,weibo:a,weir:a,whoswho:a,wien:a,wiki:L,williamhill:a,win:a,windows:a,wine:a,winners:a,wme:a,wolterskluwer:a,woodside:a,work:a,works:a,world:a,wow:a,wtc:a,wtf:a,xbox:a,xerox:a,xfinity:a,xihuan:a,xin:a,"xn--11b4c3d":a,"कॉम":a,"xn--1ck2e1b":a,"セール":a,"xn--1qqw23a":a,"佛山":a,"xn--30rr7y":a,"慈善":a,"xn--3bst00m":a,"集团":a,"xn--3ds443g":a,"在线":a,"xn--3pxu8k":a,"点看":a,"xn--42c2d9a":a,"คอม":a,"xn--45q11c":a,"八卦":a,"xn--4gbrim":a,"موقع":a,"xn--55qw42g":a,"公益":a,"xn--55qx5d":a,"公司":a,"xn--5su34j936bgsg":a,"香格里拉":a,"xn--5tzm5g":a,"网站":a,"xn--6frz82g":a,"移动":a,"xn--6qq986b3xl":a,"我爱你":a,"xn--80adxhks":a,"москва":a,"xn--80aqecdr1a":a,"католик":a,"xn--80asehdb":a,"онлайн":a,"xn--80aswg":a,"сайт":a,"xn--8y0a063a":a,"联通":a,"xn--9dbq2a":a,"קום":a,"xn--9et52u":a,"时尚":a,"xn--9krt00a":a,"微博":a,"xn--b4w605ferd":a,"淡马锡":a,"xn--bck1b9a5dre4c":a,"ファッション":a,"xn--c1avg":a,"орг":a,"xn--c2br7g":a,"नेट":a,"xn--cck2b3b":a,"ストア":a,"xn--cckwcxetd":a,"アマゾン":a,"xn--cg4bki":a,"삼성":a,"xn--czr694b":a,"商标":a,"xn--czrs0t":a,"商店":a,"xn--czru2d":a,"商城":a,"xn--d1acj3b":a,"дети":a,"xn--eckvdtc9d":a,"ポイント":a,"xn--efvy88h":a,"新闻":a,"xn--fct429k":a,"家電":a,"xn--fhbei":a,"كوم":a,"xn--fiq228c5hs":a,"中文网":a,"xn--fiq64b":a,"中信":a,"xn--fjq720a":a,"娱乐":a,"xn--flw351e":a,"谷歌":a,"xn--fzys8d69uvgm":a,"電訊盈科":a,"xn--g2xx48c":a,"购物":a,"xn--gckr3f0f":a,"クラウド":a,"xn--gk3at1e":a,"通販":a,"xn--hxt814e":a,"网店":a,"xn--i1b6b1a6a2e":a,"संगठन":a,"xn--imr513n":a,"餐厅":a,"xn--io0a7i":a,"网络":a,"xn--j1aef":a,"ком":a,"xn--jlq480n2rg":a,"亚马逊":a,"xn--jvr189m":a,"食品":a,"xn--kcrx77d1x4a":a,"飞利浦":a,"xn--kput3i":a,"手机":a,"xn--mgba3a3ejt":a,"ارامكو":a,"xn--mgba7c0bbn0a":a,"العليان":a,"xn--mgbaakc7dvf":a,"اتصالات":a,"xn--mgbab2bd":a,"بازار":a,"xn--mgbca7dzdo":a,"ابوظبي":a,"xn--mgbi4ecexp":a,"كاثوليك":a,"xn--mgbt3dhd":a,"همراه":a,"xn--mk1bu44c":a,"닷컴":a,"xn--mxtq1m":a,"政府":a,"xn--ngbc5azd":a,"شبكة":a,"xn--ngbe9e0a":a,"بيتك":a,"xn--ngbrx":a,"عرب":a,"xn--nqv7f":a,"机构":a,"xn--nqv7fs00ema":a,"组织机构":a,"xn--nyqy26a":a,"健康":a,"xn--otu796d":a,"招聘":a,"xn--p1acf":[1,{"xn--90amc":e,"xn--j1aef":e,"xn--j1ael8b":e,"xn--h1ahn":e,"xn--j1adp":e,"xn--c1avg":e,"xn--80aaa0cvac":e,"xn--h1aliz":e,"xn--90a1af":e,"xn--41a":e}],"рус":[1,{"биз":e,"ком":e,"крым":e,"мир":e,"мск":e,"орг":e,"самара":e,"сочи":e,"спб":e,"я":e}],"xn--pssy2u":a,"大拿":a,"xn--q9jyb4c":a,"みんな":a,"xn--qcka1pmc":a,"グーグル":a,"xn--rhqv96g":a,"世界":a,"xn--rovu88b":a,"書籍":a,"xn--ses554g":a,"网址":a,"xn--t60b56a":a,"닷넷":a,"xn--tckwe":a,"コム":a,"xn--tiq49xqyj":a,"天主教":a,"xn--unup4y":a,"游戏":a,"xn--vermgensberater-ctb":a,"vermögensberater":a,"xn--vermgensberatung-pwb":a,"vermögensberatung":a,"xn--vhquv":a,"企业":a,"xn--vuq861b":a,"信息":a,"xn--w4r85el8fhu5dnra":a,"嘉里大酒店":a,"xn--w4rs40l":a,"嘉里":a,"xn--xhq521b":a,"广东":a,"xn--zfr164b":a,"政务":a,xyz:[1,{blogsite:e,localzone:e,crafting:e,zapto:e,telebit:o}],yachts:a,yahoo:a,yamaxun:a,yandex:a,yodobashi:a,yoga:a,yokohama:a,you:a,youtube:a,yun:a,zappos:a,zara:a,zero:a,zip:a,zone:[1,{cloud66:e,hs:e,triton:o,lima:e}],zuerich:a}]}();function ba(a,e,i,o){let t=null,s=e;for(;void 0!==s&&(0!=(s[0]&o)&&(t={index:i+1,isIcann:1===s[0],isPrivate:2===s[0]}),-1!==i);){const e=s[1];s=Object.prototype.hasOwnProperty.call(e,a[i])?e[a[i]]:e["*"],i-=1}return t}function va(a,e,i){var o;if(function(a,e,i){if(!e.allowPrivateDomains&&a.length>3){const e=a.length-1,o=a.charCodeAt(e),t=a.charCodeAt(e-1),s=a.charCodeAt(e-2),n=a.charCodeAt(e-3);if(109===o&&111===t&&99===s&&46===n)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="com",!0;if(103===o&&114===t&&111===s&&46===n)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="org",!0;if(117===o&&100===t&&101===s&&46===n)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="edu",!0;if(118===o&&111===t&&103===s&&46===n)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="gov",!0;if(116===o&&101===t&&110===s&&46===n)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="net",!0;if(101===o&&100===t&&46===s)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="de",!0}return!1}(a,e,i))return;const t=a.split("."),s=(e.allowPrivateDomains?2:0)|(e.allowIcannDomains?1:0),n=ba(t,ka,t.length-1,s);if(null!==n)return i.isIcann=n.isIcann,i.isPrivate=n.isPrivate,void(i.publicSuffix=t.slice(n.index+1).join("."));const r=ba(t,pa,t.length-1,s);if(null!==r)return i.isIcann=r.isIcann,i.isPrivate=r.isPrivate,void(i.publicSuffix=t.slice(r.index).join("."));i.isIcann=!1,i.isPrivate=!1,i.publicSuffix=null!==(o=t[t.length-1])&&void 0!==o?o:null}function ya(a,e={}){return function(a,e,i,o,t){const s=void 0===(n=o)?ga:function({allowIcannDomains:a=!0,allowPrivateDomains:e=!1,detectIp:i=!0,extractHostname:o=!0,mixedInputs:t=!0,validHosts:s=null,validateHostname:n=!0}){return{allowIcannDomains:a,allowPrivateDomains:e,detectIp:i,extractHostname:o,mixedInputs:t,validHosts:s,validateHostname:n}}(n);var n,r,l,u;return"string"!=typeof a?t:(s.extractHostname?s.mixedInputs?t.hostname=ma(a,ha(a)):t.hostname=ma(a,!1):t.hostname=a,0===e||null===t.hostname||s.detectIp&&(t.isIp=function(a){if(a.length<3)return!1;let e=a.startsWith("[")?1:0,i=a.length;if("]"===a[i-1]&&(i-=1),i-e>39)return!1;let o=!1;for(;e=48&&i<=57||i>=97&&i<=102||i>=65&&i<=90))return!1}return o}(r=t.hostname)||function(a){if(a.length<7)return!1;if(a.length>15)return!1;let e=0;for(let i=0;i57)return!1}return 3===e&&46!==a.charCodeAt(0)&&46!==a.charCodeAt(a.length-1)}(r),t.isIp)?t:s.validateHostname&&s.extractHostname&&!ha(t.hostname)?(t.hostname=null,t):(i(t.hostname,s,t),2===e||null===t.publicSuffix||(t.domain=function(a,e,i){if(null!==i.validHosts){const a=i.validHosts;for(const i of a)if(t=i,(o=e).endsWith(t)&&(o.length===t.length||"."===o[o.length-t.length-1]))return i}var o,t;let s=0;if(e.startsWith("."))for(;s{for(var t,s=o>1?void 0:o?wa(e,i):e,n=a.length-1;n>=0;n--)(t=a[n])&&(s=(o?t(e,i,s):t(s))||s);return o&&s&&fa(e,i,s),s};class za{constructor(a){this.value=a,this.includeSubdomains=!1}withSubdomains(a){return this.includeSubdomains=a,this}toString(){return void 0===this.value?"":`${this.includeSubdomains?".":""}${this.value}`}}var ja,$a=((ja=$a||{}).Empty="",ja.Strict="Strict",ja.Lax="Lax",ja.None="None",ja);class _a{constructor(a,e){this.name=a,this.value=e,this.domain=new Aa("Domain",new za("")),this.path=new Aa("Path",void 0),this.expires=new Aa("Expires",void 0),this.sameSite=new Aa("SameSite",void 0),this.maxAge=new Aa("Max-Age",void 0),this.httpOnly=new Aa("HttpOnly",!1),this.secure=new Aa("Secure",!1)}get persistance(){return void 0===this.expires.value&&void 0===this.maxAge.value?"session":"permanent"}get HostCookiePrefix(){return this.name.startsWith("__Host-")}get SecureCookiePrefix(){return this.name.startsWith("__Secure-")}browserCookie(a){const e=new _a(this.name,this.value),i=new URL(a);return e.domain.value=void 0===this.domain.value.value?new za(`${i.hostname}`):new za(`${this.domain.value}`).withSubdomains(!0),e.path.value=this.path.value,void 0===this.path.value&&(e.path.value="/"===i.pathname?"/":i.pathname.replace(/\/?$/,"")),e.sameSite.value=this.sameSite.value||"Lax",e.expires=this.expires,e.maxAge=this.maxAge,e.httpOnly.value=this.httpOnly.value,e.secure.value=this.secure.value,e}lifetime(){return void 0!==this.maxAge.value&&void 0!==this.maxAge.value?this.maxAge:void 0===this.maxAge.value?this.expires:this.maxAge}toString(){const a=[this.domain,this.path,this.lifetime(),this.httpOnly,this.secure,this.sameSite];return[`${this.name}=${this.value}`,...a.map((a=>a.toString())).filter((a=>""!==a))].join("; ")}}class Aa{constructor(a,e){this.attribute=a,this.value=e}toString(){switch(this.attribute){case"Domain":{const a=this.value;return a.value?`${this.attribute}=${a.toString()}`:""}case"Expires":{const a=this.value;return a?`${this.attribute}=${a.toUTCString()}`:""}case"Path":case"Max-Age":case"SameSite":return void 0===this.value?"":`${this.attribute}=${this.value}`;case"Secure":case"HttpOnly":return this.value?this.attribute:""}}setValue(a){return this.value=a,this}}let Sa=class extends ea{constructor(){super(),this.urlsToTests=[];const a=new URL(window.location.toString());a.search="",a.pathname="",this.origin=a.toString(),this.url=a.toString(),this.cookie=new _a("my-cookie","my-value"),this.cookie.domain.value=new za(void 0),this.cookie.path.value="/",this.cookie.expires.value=void 0,this.cookie.sameSite.value=void 0,this.cookie.maxAge.value=void 0,this.cookie.httpOnly.value=!1,this.cookie.secure.value=!1,this.setLifetime=this.setLifetime.bind(this)}setName(a){this.cookie.name=a,this.requestUpdate()}setValue(a){this.cookie.value=a,this.requestUpdate()}setCookieAttribute(a,e){a.value=e,this.requestUpdate()}setLifetime(a){a.target===this.querySelector("#expires")?this.cookie.expires.value=""===a.target.value?void 0:a.target.valueAsDate||void 0:this.cookie.maxAge.value=Number.isNaN(a.target.valueAsNumber)?void 0:a.target.valueAsNumber,this.requestUpdate()}checkUrl(a,e){try{return new URL(a).toString()}catch{}return e}connectedCallback(){var a;super.connectedCallback();const e=new URLSearchParams(window.location.search);if(e.has("origin")&&(this.origin=this.checkUrl(e.get("origin"),this.origin)),e.has("url")&&(this.url=this.checkUrl(e.get("url"),this.url)),e.has("cookie")){this.cookie.expires.value=void 0,this.cookie.path.value=void 0,this.cookie.domain.value=new za(""),this.cookie.sameSite.value=void 0;const i=null==(a=e.get("cookie"))?void 0:a.split(";");for(const a of i){let[e,i]=a.split("=");switch(e=e.trim(),i=i.trim(),e.toLocaleLowerCase()){case"Domain".toLocaleLowerCase():this.cookie.domain.value=new za(i);break;case"Path".toLocaleLowerCase():this.cookie.path.value=i;break;case"Expires".toLocaleLowerCase():this.cookie.expires.value=new Date(i);break;case"Max-Age".toLocaleLowerCase():this.cookie.maxAge.value=Number(i);break;case"SameSite".toLocaleLowerCase():this.cookie.sameSite.value=i;break;default:this.cookie.name=e,this.cookie.value=i}}}}createRenderRoot(){return this}CookieHeader(){return`Set-Cookie: ${this.cookie.toString()}`}CookieInBrowser(){return`document.cookie = "${this.cookie.browserCookie(this.origin).toString()}"`}getStories(){const a=this.cookie.browserCookie(this.origin);let e=new URL(this.url||this.origin);e.pathname="/",e=new URL(this.url),e.hostname=`subdomain.${e.hostname}`;const i=e.toString();e=new URL(this.origin),e.pathname="/cookie.png";const o=e.toString();e=new URL(this.origin),e.pathname="/cookie.html";const t=e.toString();return[{src:this.origin,dest:this.url,description:"",result:void 0},{src:this.origin,dest:i,description:"",result:void 0},{src:this.url,dest:o,description:`${this.url}
    GET ${o}`,type:0},{src:this.url,dest:t,description:`${this.url}
    Click on ${t}`,type:1}].map((({src:e,dest:i,description:o,type:t},s)=>{const{ok:n,...r}=function(a,e,i,o){for(const t of Ea){const s=t(a,e,i,o);if(!s.ok)return s}return qa(!0)}(new URL(e||this.origin),new URL(i),a,t);return O`

    ${r.error||na(" ")}

    ${s%2==0?"👩‍💻":"👨‍💻"}
    🌐

    ${o?na(o):e}

    ${i}

    `}))}render(){var a,e;return O``}};xa([la()],Sa.prototype,"origin",2),xa([la()],Sa.prototype,"url",2),xa([la()],Sa.prototype,"cookie",2),Sa=xa([(a=>e=>{return"function"==typeof e?(i=a,o=e,customElements.define(i,o),o):((a,e)=>{const{kind:i,elements:o}=e;return{kind:i,elements:o,finisher(e){customElements.define(a,e)}}})(a,e);var i,o})("my-cookies")],Sa);const qa=a=>({ok:!0,value:a,error:void 0}),Ca=a=>({ok:!1,value:void 0,error:a}),Ea=[function(a,e,i,o){return!0===i.secure.value&&"https:"!==e.protocol?Ca("Secure requires 'https'"):qa(!0)},function(a,e,i,o){if(i.HostCookiePrefix){if(!i.secure.value)return Ca("Prefix __Host requires 'Secure'");if(i.domain.value.includeSubdomains)return Ca("Only accessible by the same domain with the prefix __Host");if(void 0!==i.path.value&&"/"!==i.path.value)return Ca("__Host prefix must have path set to /")}return i.SecureCookiePrefix?i.secure.value?qa(!0):Ca("Prefix __Secure requires 'Secure'"):qa(!0)},function(a,e,i,o){return void 0===i.expires.value||i.expires.value.getTime()>=Date.now()?qa(!0):Ca("Cookie has expired")},function(a,e,i,o){return void 0===i.maxAge.value||i.maxAge.value>=1?qa(!0):Ca("Cookie has expired")},Pa,function(a,e,i,o){return e.pathname.startsWith(i.path.value||"")?qa(!0):Ca(`Path doesn't start with ${i.path.value}`)},function(a,e,i,o){switch(i.sameSite.value){case"Strict":return Pa(a,e,i);case"Lax":{const i=ya(a.toString(),{allowPrivateDomains:!0}),t=ya(e.toString(),{allowPrivateDomains:!0}),s=i.domain===t.domain;if(void 0!==o)switch(o){case 0:return s?qa(!0):Ca("Cross-site image");case 1:return qa(!0)}return s?qa(!0):Ca("SameSite=Lax: cross-site subrequest")}case"None":return i.secure.value?qa(!0):Ca("SameSite=None requires 'Secure'");default:return Ca("no lo sé")}}];function Pa(a,e,i,o){return i.domain.value.includeSubdomains?e.hostname.endsWith(i.domain.value.value)?qa(!0):Ca("Domain is different"):e.hostname===i.domain.value.value?qa(!0):Ca(`Only domain ${i.domain.value.value} is accepted`)} +const a=window,e=a.ShadowRoot&&(void 0===a.ShadyCSS||a.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),o=new WeakMap;class t{constructor(a,e,o){if(this._$cssResult$=!0,o!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=a,this.t=e}get styleSheet(){let a=this.o;const i=this.t;if(e&&void 0===a){const e=void 0!==i&&1===i.length;e&&(a=o.get(i)),void 0===a&&((this.o=a=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(i,a))}return a}toString(){return this.cssText}}const s=e?a=>a:a=>a instanceof CSSStyleSheet?(a=>{let e="";for(const i of a.cssRules)e+=i.cssText;return new t("string"==typeof(o=e)?o:o+"",void 0,i);var o})(a):a;var n;const r=window,l=r.trustedTypes,u=l?l.emptyScript:"",c=r.reactiveElementPolyfillSupport,m={toAttribute(a,e){switch(e){case Boolean:a=a?u:null;break;case Object:case Array:a=null==a?a:JSON.stringify(a)}return a},fromAttribute(a,e){let i=a;switch(e){case Boolean:i=null!==a;break;case Number:i=null===a?null:Number(a);break;case Object:case Array:try{i=JSON.parse(a)}catch(o){i=null}}return i}},d=(a,e)=>e!==a&&(e==e||a==a),h={attribute:!0,type:String,converter:m,reflect:!1,hasChanged:d},g="finalized";class k extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(a){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(a)}static get observedAttributes(){this.finalize();const a=[];return this.elementProperties.forEach(((e,i)=>{const o=this._$Ep(i,e);void 0!==o&&(this._$Ev.set(o,i),a.push(o))})),a}static createProperty(a,e=h){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(a,e),!e.noAccessor&&!this.prototype.hasOwnProperty(a)){const i="symbol"==typeof a?Symbol():"__"+a,o=this.getPropertyDescriptor(a,i,e);void 0!==o&&Object.defineProperty(this.prototype,a,o)}}static getPropertyDescriptor(a,e,i){return{get(){return this[e]},set(o){const t=this[a];this[e]=o,this.requestUpdate(a,t,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(a){return this.elementProperties.get(a)||h}static finalize(){if(this.hasOwnProperty(g))return!1;this[g]=!0;const a=Object.getPrototypeOf(this);if(a.finalize(),void 0!==a.h&&(this.h=[...a.h]),this.elementProperties=new Map(a.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const a=this.properties,e=[...Object.getOwnPropertyNames(a),...Object.getOwnPropertySymbols(a)];for(const i of e)this.createProperty(i,a[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(a){const e=[];if(Array.isArray(a)){const i=new Set(a.flat(1/0).reverse());for(const a of i)e.unshift(s(a))}else void 0!==a&&e.push(s(a));return e}static _$Ep(a,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof a?a.toLowerCase():void 0}u(){var a;this._$E_=new Promise((a=>this.enableUpdating=a)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(a=this.constructor.h)||void 0===a||a.forEach((a=>a(this)))}addController(a){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(a),void 0!==this.renderRoot&&this.isConnected&&(null===(i=a.hostConnected)||void 0===i||i.call(a))}removeController(a){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(a)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((a,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var i;const o=null!==(i=this.shadowRoot)&&void 0!==i?i:this.attachShadow(this.constructor.shadowRootOptions);return t=o,s=this.constructor.elementStyles,e?t.adoptedStyleSheets=s.map((a=>a instanceof CSSStyleSheet?a:a.styleSheet)):s.forEach((e=>{const i=document.createElement("style"),o=a.litNonce;void 0!==o&&i.setAttribute("nonce",o),i.textContent=e.cssText,t.appendChild(i)})),o;var t,s}connectedCallback(){var a;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(a=this._$ES)||void 0===a||a.forEach((a=>{var e;return null===(e=a.hostConnected)||void 0===e?void 0:e.call(a)}))}enableUpdating(a){}disconnectedCallback(){var a;null===(a=this._$ES)||void 0===a||a.forEach((a=>{var e;return null===(e=a.hostDisconnected)||void 0===e?void 0:e.call(a)}))}attributeChangedCallback(a,e,i){this._$AK(a,i)}_$EO(a,e,i=h){var o;const t=this.constructor._$Ep(a,i);if(void 0!==t&&!0===i.reflect){const s=(void 0!==(null===(o=i.converter)||void 0===o?void 0:o.toAttribute)?i.converter:m).toAttribute(e,i.type);this._$El=a,null==s?this.removeAttribute(t):this.setAttribute(t,s),this._$El=null}}_$AK(a,e){var i;const o=this.constructor,t=o._$Ev.get(a);if(void 0!==t&&this._$El!==t){const a=o.getPropertyOptions(t),s="function"==typeof a.converter?{fromAttribute:a.converter}:void 0!==(null===(i=a.converter)||void 0===i?void 0:i.fromAttribute)?a.converter:m;this._$El=t,this[t]=s.fromAttribute(e,a.type),this._$El=null}}requestUpdate(a,e,i){let o=!0;void 0!==a&&(((i=i||this.constructor.getPropertyOptions(a)).hasChanged||d)(this[a],e)?(this._$AL.has(a)||this._$AL.set(a,e),!0===i.reflect&&this._$El!==a&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(a,i))):o=!1),!this.isUpdatePending&&o&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const a=this.scheduleUpdate();return null!=a&&await a,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var a;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((a,e)=>this[e]=a)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(a=this._$ES)||void 0===a||a.forEach((a=>{var e;return null===(e=a.hostUpdate)||void 0===e?void 0:e.call(a)})),this.update(i)):this._$Ek()}catch(o){throw e=!1,this._$Ek(),o}e&&this._$AE(i)}willUpdate(a){}_$AE(a){var e;null===(e=this._$ES)||void 0===e||e.forEach((a=>{var e;return null===(e=a.hostUpdated)||void 0===e?void 0:e.call(a)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(a)),this.updated(a)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(a){return!0}update(a){void 0!==this._$EC&&(this._$EC.forEach(((a,e)=>this._$EO(e,this[e],a))),this._$EC=void 0),this._$Ek()}updated(a){}firstUpdated(a){}}var p;k[g]=!0,k.elementProperties=new Map,k.elementStyles=[],k.shadowRootOptions={mode:"open"},null==c||c({ReactiveElement:k}),(null!==(n=r.reactiveElementVersions)&&void 0!==n?n:r.reactiveElementVersions=[]).push("1.6.2");const b=window,v=b.trustedTypes,y=v?v.createPolicy("lit-html",{createHTML:a=>a}):void 0,f="$lit$",w=`lit$${(Math.random()+"").slice(9)}$`,x="?"+w,z=`<${x}>`,j=document,$=()=>j.createComment(""),_=a=>null===a||"object"!=typeof a&&"function"!=typeof a,A=Array.isArray,S="[ \t\n\f\r]",q=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,C=/-->/g,E=/>/g,P=RegExp(`>|${S}(?:([^\\s"'>=/]+)(${S}*=${S}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),H=/'/g,U=/"/g,L=/^(?:script|style|textarea|title)$/i,O=(a,...e)=>({_$litType$:1,strings:a,values:e}),N=Symbol.for("lit-noChange"),I=Symbol.for("lit-nothing"),T=new WeakMap,R=j.createTreeWalker(j,129,null,!1);function D(a,e){if(!Array.isArray(a)||!a.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==y?y.createHTML(e):e}class M{constructor({strings:a,_$litType$:e},i){let o;this.parts=[];let t=0,s=0;const n=a.length-1,r=this.parts,[l,u]=((a,e)=>{const i=a.length-1,o=[];let t,s=2===e?"":"",n=q;for(let r=0;r"===l[0]?(n=null!=t?t:q,u=-1):void 0===l[1]?u=-2:(u=n.lastIndex-l[2].length,i=l[1],n=void 0===l[3]?P:'"'===l[3]?U:H):n===U||n===H?n=P:n===C||n===E?n=q:(n=P,t=void 0);const m=n===P&&a[r+1].startsWith("/>")?" ":"";s+=n===q?e+z:u>=0?(o.push(i),e.slice(0,u)+f+e.slice(u)+w+m):e+w+(-2===u?(o.push(void 0),r):m)}return[D(a,s+(a[i]||"")+(2===e?"":"")),o]})(a,e);if(this.el=M.createElement(l,i),R.currentNode=this.el.content,2===e){const a=this.el.content,e=a.firstChild;e.remove(),a.append(...e.childNodes)}for(;null!==(o=R.nextNode())&&r.length0){o.textContent=v?v.emptyScript:"";for(let i=0;i2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=I}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(a,e=this,i,o){const t=this.strings;let s=!1;if(void 0===t)a=W(this,a,e,0),s=!_(a)||a!==this._$AH&&a!==N,s&&(this._$AH=a);else{const o=a;let n,r;for(a=t[0],n=0;n{var o,t;const s=null!==(o=null==i?void 0:i.renderBefore)&&void 0!==o?o:e;let n=s._$litPart$;if(void 0===n){const a=null!==(t=null==i?void 0:i.renderBefore)&&void 0!==t?t:null;s._$litPart$=n=new V(e.insertBefore($(),a),a,void 0,null!=i?i:{})}return n._$AI(a),n})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var a;super.connectedCallback(),null===(a=this._$Do)||void 0===a||a.setConnected(!0)}disconnectedCallback(){var a;super.disconnectedCallback(),null===(a=this._$Do)||void 0===a||a.setConnected(!1)}render(){return N}}ea.finalized=!0,ea._$litElement$=!0,null===(Y=globalThis.litElementHydrateSupport)||void 0===Y||Y.call(globalThis,{LitElement:ea});const ia=globalThis.litElementPolyfillSupport;null==ia||ia({LitElement:ea}),(null!==(aa=globalThis.litElementVersions)&&void 0!==aa?aa:globalThis.litElementVersions=[]).push("3.3.2");const oa=a=>(...e)=>({_$litDirective$:a,values:e});class ta{constructor(a){}get _$AU(){return this._$AM._$AU}_$AT(a,e,i){this._$Ct=a,this._$AM=e,this._$Ci=i}_$AS(a,e){return this.update(a,e)}update(a,e){return this.render(...e)}}class sa extends ta{constructor(a){if(super(a),this.et=I,2!==a.type)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(a){if(a===I||null==a)return this.ft=void 0,this.et=a;if(a===N)return a;if("string"!=typeof a)throw Error(this.constructor.directiveName+"() called with a non-string value");if(a===this.et)return this.ft;this.et=a;const e=[a];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}sa.directiveName="unsafeHTML",sa.resultType=1;const na=oa(sa),ra=(a,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,a)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,a)}};function la(a){return e={...a,state:!0},(a,i)=>void 0!==i?((a,e,i)=>{e.constructor.createProperty(i,a)})(e,a,i):ra(e,a);var e}var ua;null===(ua=window.HTMLSlotElement)||void 0===ua||ua.prototype.assignedElements;const ca=oa(class extends ta{constructor(a){var e;if(super(a),1!==a.type||"class"!==a.name||(null===(e=a.strings)||void 0===e?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(a){return" "+Object.keys(a).filter((e=>a[e])).join(" ")+" "}update(a,[e]){var i,o;if(void 0===this.it){this.it=new Set,void 0!==a.strings&&(this.nt=new Set(a.strings.join(" ").split(/\s/).filter((a=>""!==a))));for(const a in e)e[a]&&!(null===(i=this.nt)||void 0===i?void 0:i.has(a))&&this.it.add(a);return this.render(e)}const t=a.element.classList;this.it.forEach((a=>{a in e||(t.remove(a),this.it.delete(a))}));for(const s in e){const a=!!e[s];a===this.it.has(s)||(null===(o=this.nt)||void 0===o?void 0:o.has(s))||(a?(t.add(s),this.it.add(s)):(t.remove(s),this.it.delete(s)))}return N}});function ma(a,e){let i=0,o=a.length,t=!1;if(!e){if(a.startsWith("data:"))return null;for(;ii+1&&a.charCodeAt(o-1)<=32;)o-=1;if(47===a.charCodeAt(i)&&47===a.charCodeAt(i+1))i+=2;else{const e=a.indexOf(":/",i);if(-1!==e){const o=e-i,t=a.charCodeAt(i),s=a.charCodeAt(i+1),n=a.charCodeAt(i+2),r=a.charCodeAt(i+3),l=a.charCodeAt(i+4);if(5===o&&104===t&&116===s&&116===n&&112===r&&115===l);else if(4===o&&104===t&&116===s&&116===n&&112===r);else if(3===o&&119===t&&115===s&&115===n);else if(2===o&&119===t&&115===s);else for(let u=i;u=97&&e<=122||e>=48&&e<=57||46===e||45===e||43===e))return null}for(i=e+2;47===a.charCodeAt(i);)i+=1}}let e=-1,s=-1,n=-1;for(let r=i;r=65&&i<=90&&(t=!0)}if(-1!==e&&e>i&&ei&&ni+1&&46===a.charCodeAt(o-1);)o-=1;const s=0!==i||o!==a.length?a.slice(i,o):a;return t?s.toLowerCase():s}function da(a){return a>=97&&a<=122||a>=48&&a<=57||a>127}function ha(a){if(a.length>255)return!1;if(0===a.length)return!1;if(!da(a.charCodeAt(0))&&46!==a.charCodeAt(0)&&95!==a.charCodeAt(0))return!1;let e=-1,i=-1;const o=a.length;for(let t=0;t64||46===i||45===i||95===i)return!1;e=t}else if(!da(o)&&45!==o&&95!==o)return!1;i=o}return o-e-1<=63&&45!==i}const ga=function({allowIcannDomains:a=!0,allowPrivateDomains:e=!1,detectIp:i=!0,extractHostname:o=!0,mixedInputs:t=!0,validHosts:s=null,validateHostname:n=!0}){return{allowIcannDomains:a,allowPrivateDomains:e,detectIp:i,extractHostname:o,mixedInputs:t,validHosts:s,validateHostname:n}}({});const ka=function(){const a=[1,{}],e=[0,{city:a}];return[0,{ck:[0,{www:a}],jp:[0,{kawasaki:e,kitakyushu:e,kobe:e,nagoya:e,sapporo:e,sendai:e,yokohama:e}]}]}(),pa=function(){const a=[1,{}],e=[2,{}],i=[1,{gov:a,com:a,org:a,net:a,edu:a}],o=[0,{"*":e}],t=[1,{blogspot:e}],s=[1,{gov:a}],n=[0,{"*":a}],r=[0,{cloud:e}],l=[1,{co:e}],u=[2,{nodes:e}],c=[0,{s3:e}],m=[0,{direct:e}],d=[2,{id:e}],h=[0,{"webview-assets":e}],g=[0,{vfs:e,"webview-assets":e}],k=[0,{"aws-cloud9":h,cloud9:g}],p=[0,{dualstack:c,"analytics-gateway":e,"aws-cloud9":h,cloud9:g}],b=[0,{dualstack:c,s3:e,"s3-website":e,"aws-cloud9":h,cloud9:g}],v=[0,{dualstack:c,"aws-cloud9":h,cloud9:g}],y=[0,{apps:e}],f=[0,{paas:e}],w=[0,{app:e}],x=[2,{eu:e}],z=[0,{site:e}],j=[0,{pages:e}],$=[1,{com:a,edu:a,net:a,org:a}],_=[0,{j:e}],A=[0,{jelastic:e}],S=[0,{user:e}],q=[1,{ybo:e}],C=[0,{cust:e,reservd:e}],E=[0,{cust:e}],P=[1,{gov:a,edu:a,mil:a,com:a,org:a,net:a}],H=[1,{edu:a,biz:a,net:a,org:a,gov:a,info:a,com:a}],U=[1,{gov:a,blogspot:e}],L=[1,{framer:e}],O=[1,{barsy:e}],N=[0,{forgot:e}],I=[1,{gs:a}],T=[0,{nes:a}],R=[1,{k12:a,cc:a,lib:a}],D=[1,{cc:a,lib:a}];return[0,{ac:[1,{com:a,edu:a,gov:a,net:a,mil:a,org:a,drr:e}],ad:[1,{nom:a}],ae:[1,{co:a,net:a,org:a,sch:a,ac:a,gov:a,mil:a,blogspot:e}],aero:[1,{"accident-investigation":a,"accident-prevention":a,aerobatic:a,aeroclub:a,aerodrome:a,agents:a,aircraft:a,airline:a,airport:a,"air-surveillance":a,airtraffic:a,"air-traffic-control":a,ambulance:a,amusement:a,association:a,author:a,ballooning:a,broker:a,caa:a,cargo:a,catering:a,certification:a,championship:a,charter:a,civilaviation:a,club:a,conference:a,consultant:a,consulting:a,control:a,council:a,crew:a,design:a,dgca:a,educator:a,emergency:a,engine:a,engineer:a,entertainment:a,equipment:a,exchange:a,express:a,federation:a,flight:a,fuel:a,gliding:a,government:a,groundhandling:a,group:a,hanggliding:a,homebuilt:a,insurance:a,journal:a,journalist:a,leasing:a,logistics:a,magazine:a,maintenance:a,media:a,microlight:a,modelling:a,navigation:a,parachuting:a,paragliding:a,"passenger-association":a,pilot:a,press:a,production:a,recreation:a,repbody:a,res:a,research:a,rotorcraft:a,safety:a,scientist:a,services:a,show:a,skydiving:a,software:a,student:a,trader:a,trading:a,trainer:a,union:a,workinggroup:a,works:a}],af:i,ag:[1,{com:a,org:a,net:a,co:a,nom:a}],ai:[1,{off:a,com:a,net:a,org:a,uwu:e}],al:[1,{com:a,edu:a,gov:a,mil:a,net:a,org:a,blogspot:e}],am:[1,{co:a,com:a,commune:a,net:a,org:a,radio:e,blogspot:e,neko:e,nyaa:e}],ao:[1,{ed:a,gv:a,og:a,co:a,pb:a,it:a}],aq:a,ar:[1,{bet:a,com:t,coop:a,edu:a,gob:a,gov:a,int:a,mil:a,musica:a,mutual:a,net:a,org:a,senasa:a,tur:a}],arpa:[1,{e164:a,"in-addr":a,ip6:a,iris:a,uri:a,urn:a}],as:s,asia:[1,{cloudns:e}],at:[1,{ac:[1,{sth:a}],co:t,gv:a,or:a,funkfeuer:[0,{wien:e}],futurecms:[0,{"*":e,ex:o,in:o}],futurehosting:e,futuremailing:e,ortsinfo:[0,{ex:o,kunden:o}],biz:e,info:e,"123webseite":e,priv:e,myspreadshop:e,"12hp":e,"2ix":e,"4lima":e,"lima-city":e}],au:[1,{com:[1,{blogspot:e,cloudlets:[0,{mel:e}],myspreadshop:e}],net:a,org:a,edu:[1,{act:a,catholic:a,nsw:[1,{schools:a}],nt:a,qld:a,sa:a,tas:a,vic:a,wa:a}],gov:[1,{qld:a,sa:a,tas:a,vic:a,wa:a}],asn:a,id:a,info:a,conf:a,oz:a,act:a,nsw:a,nt:a,qld:a,sa:a,tas:a,vic:a,wa:a}],aw:[1,{com:a}],ax:[1,{be:e,cat:e,es:e,eu:e,gg:e,mc:e,us:e,xy:e}],az:[1,{com:a,net:a,int:a,gov:a,org:a,edu:a,info:a,pp:a,mil:a,name:a,pro:a,biz:a}],ba:[1,{com:a,edu:a,gov:a,mil:a,net:a,org:a,rs:e,blogspot:e}],bb:[1,{biz:a,co:a,com:a,edu:a,gov:a,info:a,net:a,org:a,store:a,tv:a}],bd:n,be:[1,{ac:a,webhosting:e,blogspot:e,interhostsolutions:r,kuleuven:[0,{ezproxy:e}],"123website":e,myspreadshop:e,transurl:o}],bf:s,bg:[1,{0:a,1:a,2:a,3:a,4:a,5:a,6:a,7:a,8:a,9:a,a:a,b:a,c:a,d:a,e:a,f:a,g:a,h:a,i:a,j:a,k:a,l:a,m:a,n:a,o:a,p:a,q:a,r:a,s:a,t:a,u:a,v:a,w:a,x:a,y:a,z:a,blogspot:e,barsy:e}],bh:i,bi:[1,{co:a,com:a,edu:a,or:a,org:a}],biz:[1,{activetrail:e,cloudns:e,jozi:e,dyndns:e,"for-better":e,"for-more":e,"for-some":e,"for-the":e,selfip:e,webhop:e,orx:e,mmafan:e,myftp:e,"no-ip":e,dscloud:e}],bj:[1,{africa:a,agro:a,architectes:a,assur:a,avocats:a,co:a,com:a,eco:a,econo:a,edu:a,info:a,loisirs:a,money:a,net:a,org:a,ote:a,resto:a,restaurant:a,tourism:a,univ:a,blogspot:e}],bm:i,bn:[1,{com:a,edu:a,gov:a,net:a,org:a,co:e}],bo:[1,{com:a,edu:a,gob:a,int:a,org:a,net:a,mil:a,tv:a,web:a,academia:a,agro:a,arte:a,blog:a,bolivia:a,ciencia:a,cooperativa:a,democracia:a,deporte:a,ecologia:a,economia:a,empresa:a,indigena:a,industria:a,info:a,medicina:a,movimiento:a,musica:a,natural:a,nombre:a,noticias:a,patria:a,politica:a,profesional:a,plurinacional:a,pueblo:a,revista:a,salud:a,tecnologia:a,tksat:a,transporte:a,wiki:a}],br:[1,{"9guacu":a,abc:a,adm:a,adv:a,agr:a,aju:a,am:a,anani:a,aparecida:a,app:a,arq:a,art:a,ato:a,b:a,barueri:a,belem:a,bhz:a,bib:a,bio:a,blog:a,bmd:a,boavista:a,bsb:a,campinagrande:a,campinas:a,caxias:a,cim:a,cng:a,cnt:a,com:[1,{blogspot:e,simplesite:e}],contagem:a,coop:a,coz:a,cri:a,cuiaba:a,curitiba:a,def:a,des:a,det:a,dev:a,ecn:a,eco:a,edu:a,emp:a,enf:a,eng:a,esp:a,etc:a,eti:a,far:a,feira:a,flog:a,floripa:a,fm:a,fnd:a,fortal:a,fot:a,foz:a,fst:a,g12:a,geo:a,ggf:a,goiania:a,gov:[1,{ac:a,al:a,am:a,ap:a,ba:a,ce:a,df:a,es:a,go:a,ma:a,mg:a,ms:a,mt:a,pa:a,pb:a,pe:a,pi:a,pr:a,rj:a,rn:a,ro:a,rr:a,rs:a,sc:a,se:a,sp:a,to:a}],gru:a,imb:a,ind:a,inf:a,jab:a,jampa:a,jdf:a,joinville:a,jor:a,jus:a,leg:[1,{ac:e,al:e,am:e,ap:e,ba:e,ce:e,df:e,es:e,go:e,ma:e,mg:e,ms:e,mt:e,pa:e,pb:e,pe:e,pi:e,pr:e,rj:e,rn:e,ro:e,rr:e,rs:e,sc:e,se:e,sp:e,to:e}],lel:a,log:a,londrina:a,macapa:a,maceio:a,manaus:a,maringa:a,mat:a,med:a,mil:a,morena:a,mp:a,mus:a,natal:a,net:a,niteroi:a,nom:n,not:a,ntr:a,odo:a,ong:a,org:a,osasco:a,palmas:a,poa:a,ppg:a,pro:a,psc:a,psi:a,pvh:a,qsl:a,radio:a,rec:a,recife:a,rep:a,ribeirao:a,rio:a,riobranco:a,riopreto:a,salvador:a,sampa:a,santamaria:a,santoandre:a,saobernardo:a,saogonca:a,seg:a,sjc:a,slg:a,slz:a,sorocaba:a,srv:a,taxi:a,tc:a,tec:a,teo:a,the:a,tmp:a,trd:a,tur:a,tv:a,udi:a,vet:a,vix:a,vlog:a,wiki:a,zlg:a}],bs:[1,{com:a,net:a,org:a,edu:a,gov:a,we:e}],bt:i,bv:a,bw:[1,{co:a,org:a}],by:[1,{gov:a,mil:a,com:t,of:a,mycloud:e,mediatech:e}],bz:[1,{com:a,net:a,org:a,edu:a,gov:a,za:e,gsj:e}],ca:[1,{ab:a,bc:a,mb:a,nb:a,nf:a,nl:a,ns:a,nt:a,nu:a,on:a,pe:a,qc:a,sk:a,yk:a,gc:a,barsy:e,awdev:o,co:e,blogspot:e,"no-ip":e,myspreadshop:e}],cat:a,cc:[1,{cloudns:e,ftpaccess:e,"game-server":e,myphotos:e,scrapping:e,twmail:e,csx:e,fantasyleague:e,spawn:[0,{instances:e}]}],cd:s,cf:t,cg:a,ch:[1,{square7:e,blogspot:e,flow:[0,{ae:[0,{alp1:e}],appengine:e}],"linkyard-cloud":e,dnsking:e,gotdns:e,"123website":e,myspreadshop:e,firenet:[0,{"*":e,svc:o}],"12hp":e,"2ix":e,"4lima":e,"lima-city":e}],ci:[1,{org:a,or:a,com:a,co:a,edu:a,ed:a,ac:a,net:a,go:a,asso:a,"xn--aroport-bya":a,"aéroport":a,int:a,presse:a,md:a,gouv:a,fin:e,nl:e}],ck:n,cl:[1,{co:a,gob:a,gov:a,mil:a,blogspot:e}],cm:[1,{co:a,com:a,gov:a,net:a}],cn:[1,{ac:a,com:[1,{amazonaws:[0,{compute:o,"cn-north-1":c,eb:[0,{"cn-north-1":e,"cn-northwest-1":e}],elb:o}]}],edu:a,gov:a,net:a,org:a,mil:a,"xn--55qx5d":a,"公司":a,"xn--io0a7i":a,"网络":a,"xn--od0alg":a,"網絡":a,ah:a,bj:a,cq:a,fj:a,gd:a,gs:a,gz:a,gx:a,ha:a,hb:a,he:a,hi:a,hl:a,hn:a,jl:a,js:a,jx:a,ln:a,nm:a,nx:a,qh:a,sc:a,sd:a,sh:a,sn:a,sx:a,tj:a,xj:a,xz:a,yn:a,zj:a,hk:a,mo:a,tw:a,"canva-apps":e,instantcloud:e,quickconnect:m}],co:[1,{arts:a,com:t,edu:a,firm:a,gov:a,info:a,int:a,mil:a,net:a,nom:a,org:a,rec:a,web:a,carrd:e,crd:e,otap:o,leadpages:e,lpages:e,mypi:e,n4t:e,firewalledreplit:d,repl:d,supabase:e}],com:[1,{devcdnaccesso:o,adobeaemcloud:[2,{dev:o}],airkitapps:e,"airkitapps-au":e,aivencloud:e,kasserver:e,amazonaws:[0,{compute:o,"compute-1":o,"us-east-1":[2,{dualstack:c,"analytics-gateway":e,"aws-cloud9":h,cloud9:g}],"ap-northeast-1":p,"ap-northeast-2":b,"ap-south-1":b,"ap-southeast-1":v,"ap-southeast-2":v,"ca-central-1":b,"eu-central-1":b,"eu-west-1":p,"eu-west-2":b,"eu-west-3":b,s3:e,"s3-ap-northeast-1":e,"s3-ap-northeast-2":e,"s3-ap-south-1":e,"s3-ap-southeast-1":e,"s3-ap-southeast-2":e,"s3-ca-central-1":e,"s3-eu-central-1":e,"s3-eu-west-1":e,"s3-eu-west-2":e,"s3-eu-west-3":e,"s3-external-1":e,"s3-fips-us-gov-west-1":e,"s3-sa-east-1":e,"s3-us-east-2":e,"s3-us-gov-west-1":e,"s3-us-west-1":e,"s3-us-west-2":e,"s3-website-ap-northeast-1":e,"s3-website-ap-southeast-1":e,"s3-website-ap-southeast-2":e,"s3-website-eu-west-1":e,"s3-website-sa-east-1":e,"s3-website-us-east-1":e,"s3-website-us-west-1":e,"s3-website-us-west-2":e,"sa-east-1":v,"us-east-2":[0,{dualstack:c,s3:e,"s3-website":e,"analytics-gateway":e,"aws-cloud9":h,cloud9:g}],"us-west-2":[0,{"analytics-gateway":e,"aws-cloud9":h,cloud9:g}],"af-south-1":k,"ap-east-1":k,"ap-northeast-3":k,"eu-north-1":k,"eu-south-1":k,"me-south-1":k,"us-west-1":k,elb:o}],elasticbeanstalk:[2,{"ap-northeast-1":e,"ap-northeast-2":e,"ap-northeast-3":e,"ap-south-1":e,"ap-southeast-1":e,"ap-southeast-2":e,"ca-central-1":e,"eu-central-1":e,"eu-west-1":e,"eu-west-2":e,"eu-west-3":e,"sa-east-1":e,"us-east-1":e,"us-east-2":e,"us-gov-west-1":e,"us-west-1":e,"us-west-2":e}],awsglobalaccelerator:e,siiites:e,appspacehosted:e,appspaceusercontent:e,"on-aptible":e,myasustor:e,"balena-devices":e,betainabox:e,boutir:e,bplaced:e,cafjs:e,"canva-apps":e,br:e,cn:e,de:e,eu:e,jpn:e,mex:e,ru:e,sa:e,uk:e,us:e,za:e,ar:e,hu:e,kr:e,no:e,qc:e,uy:e,africa:e,gr:e,co:e,jdevcloud:e,wpdevcloud:e,cloudcontrolled:e,cloudcontrolapp:e,"cf-ipfs":e,"cloudflare-ipfs":e,trycloudflare:e,"customer-oci":[0,{"*":e,oci:o,ocp:o,ocs:o}],dattolocal:e,dattorelay:e,dattoweb:e,mydatto:e,builtwithdark:e,datadetect:[0,{demo:e,instance:e}],ddns5:e,discordsays:e,discordsez:e,drayddns:e,dreamhosters:e,mydrobo:e,"dyndns-at-home":e,"dyndns-at-work":e,"dyndns-blog":e,"dyndns-free":e,"dyndns-home":e,"dyndns-ip":e,"dyndns-mail":e,"dyndns-office":e,"dyndns-pics":e,"dyndns-remote":e,"dyndns-server":e,"dyndns-web":e,"dyndns-wiki":e,"dyndns-work":e,blogdns:e,cechire:e,dnsalias:e,dnsdojo:e,doesntexist:e,dontexist:e,doomdns:e,"dyn-o-saur":e,dynalias:e,"est-a-la-maison":e,"est-a-la-masion":e,"est-le-patron":e,"est-mon-blogueur":e,"from-ak":e,"from-al":e,"from-ar":e,"from-ca":e,"from-ct":e,"from-dc":e,"from-de":e,"from-fl":e,"from-ga":e,"from-hi":e,"from-ia":e,"from-id":e,"from-il":e,"from-in":e,"from-ks":e,"from-ky":e,"from-ma":e,"from-md":e,"from-mi":e,"from-mn":e,"from-mo":e,"from-ms":e,"from-mt":e,"from-nc":e,"from-nd":e,"from-ne":e,"from-nh":e,"from-nj":e,"from-nm":e,"from-nv":e,"from-oh":e,"from-ok":e,"from-or":e,"from-pa":e,"from-pr":e,"from-ri":e,"from-sc":e,"from-sd":e,"from-tn":e,"from-tx":e,"from-ut":e,"from-va":e,"from-vt":e,"from-wa":e,"from-wi":e,"from-wv":e,"from-wy":e,getmyip:e,gotdns:e,"hobby-site":e,homelinux:e,homeunix:e,iamallama:e,"is-a-anarchist":e,"is-a-blogger":e,"is-a-bookkeeper":e,"is-a-bulls-fan":e,"is-a-caterer":e,"is-a-chef":e,"is-a-conservative":e,"is-a-cpa":e,"is-a-cubicle-slave":e,"is-a-democrat":e,"is-a-designer":e,"is-a-doctor":e,"is-a-financialadvisor":e,"is-a-geek":e,"is-a-green":e,"is-a-guru":e,"is-a-hard-worker":e,"is-a-hunter":e,"is-a-landscaper":e,"is-a-lawyer":e,"is-a-liberal":e,"is-a-libertarian":e,"is-a-llama":e,"is-a-musician":e,"is-a-nascarfan":e,"is-a-nurse":e,"is-a-painter":e,"is-a-personaltrainer":e,"is-a-photographer":e,"is-a-player":e,"is-a-republican":e,"is-a-rockstar":e,"is-a-socialist":e,"is-a-student":e,"is-a-teacher":e,"is-a-techie":e,"is-a-therapist":e,"is-an-accountant":e,"is-an-actor":e,"is-an-actress":e,"is-an-anarchist":e,"is-an-artist":e,"is-an-engineer":e,"is-an-entertainer":e,"is-certified":e,"is-gone":e,"is-into-anime":e,"is-into-cars":e,"is-into-cartoons":e,"is-into-games":e,"is-leet":e,"is-not-certified":e,"is-slick":e,"is-uberleet":e,"is-with-theband":e,"isa-geek":e,"isa-hockeynut":e,issmarterthanyou:e,"likes-pie":e,likescandy:e,"neat-url":e,"saves-the-whales":e,selfip:e,"sells-for-less":e,"sells-for-u":e,servebbs:e,"simple-url":e,"space-to-rent":e,"teaches-yoga":e,writesthisblog:e,digitaloceanspaces:o,ddnsfree:e,ddnsgeek:e,giize:e,gleeze:e,kozow:e,loseyourip:e,ooguy:e,theworkpc:e,mytuleap:e,"tuleap-partners":e,encoreapi:e,evennode:[0,{"eu-1":e,"eu-2":e,"eu-3":e,"eu-4":e,"us-1":e,"us-2":e,"us-3":e,"us-4":e}],onfabrica:e,fbsbx:y,"fastly-edge":e,"fastly-terrarium":e,"fastvps-server":e,mydobiss:e,firebaseapp:e,fldrv:e,forgeblocks:e,framercanvas:e,"freebox-os":e,freeboxos:e,freemyip:e,gentapps:e,gentlentapis:e,githubusercontent:e,"0emm":o,appspot:[2,{r:o}],codespot:e,googleapis:e,googlecode:e,pagespeedmobilizer:e,publishproxy:e,withgoogle:e,withyoutube:e,blogspot:e,awsmppl:e,herokuapp:e,herokussl:e,impertrixcdn:e,impertrix:e,smushcdn:e,wphostedmail:e,wpmucdn:e,pixolino:e,amscompute:e,dopaas:e,"hosted-by-previder":f,hosteur:[0,{"rag-cloud":e,"rag-cloud-ch":e}],"ik-server":[0,{jcloud:e,"jcloud-ver-jpc":e}],jelastic:[0,{demo:e}],kilatiron:e,massivegrid:f,wafaicloud:[0,{jed:e,lon:e,ryd:e}],joyent:[0,{cns:o}],ktistory:e,lpusercontent:e,lmpm:w,linode:[0,{members:e,nodebalancer:o}],linodeobjects:o,linodeusercontent:[0,{ip:e}],barsycenter:e,barsyonline:e,mazeplay:e,miniserver:e,meteorapp:x,hostedpi:e,"mythic-beasts":[0,{customer:e,caracal:e,fentiger:e,lynx:e,ocelot:e,oncilla:e,onza:e,sphinx:e,vs:e,x:e,yali:e}],nospamproxy:r,"4u":e,nfshost:e,"001www":e,ddnslive:e,myiphost:e,blogsyte:e,ciscofreak:e,damnserver:e,ditchyourip:e,dnsiskinky:e,dynns:e,geekgalaxy:e,"health-carereform":e,homesecuritymac:e,homesecuritypc:e,myactivedirectory:e,mysecuritycamera:e,"net-freaks":e,onthewifi:e,point2this:e,quicksytes:e,securitytactics:e,serveexchange:e,servehumour:e,servep2p:e,servesarcasm:e,stufftoread:e,unusualperson:e,workisboring:e,"3utilities":e,ddnsking:e,myvnc:e,servebeer:e,servecounterstrike:e,serveftp:e,servegame:e,servehalflife:e,servehttp:e,serveirc:e,servemp3:e,servepics:e,servequake:e,observableusercontent:[0,{static:e}],simplesite:e,orsites:e,operaunite:e,"authgear-staging":e,authgearapps:e,skygearapp:e,outsystemscloud:e,ownprovider:e,pgfog:e,pagefrontapp:e,pagexl:e,paywhirl:o,gotpantheon:e,"platter-app":e,pleskns:e,"postman-echo":e,prgmr:[0,{xen:e}],pythonanywhere:x,qualifioapp:e,ladesk:e,qbuser:e,qa2:e,"dev-myqnapcloud":e,"alpha-myqnapcloud":e,myqnapcloud:e,quipelements:o,rackmaze:e,rhcloud:e,render:w,onrender:e,"180r":e,dojin:e,sakuratan:e,sakuraweb:e,x0:e,code:[0,{builder:o,"dev-builder":o,"stg-builder":o}],logoip:e,scrysec:e,"firewall-gateway":e,myshopblocks:e,myshopify:e,shopitsite:e,"1kapp":e,appchizi:e,applinzi:e,sinaapp:e,vipsinaapp:e,"bounty-full":[2,{alpha:e,beta:e}],streamlitapp:e,"try-snowplow":e,"stackhero-network":e,"playstation-cloud":e,myspreadshop:e,stdlib:[0,{api:e}],"temp-dns":e,dsmynas:e,familyds:e,mytabit:e,"tb-hosting":z,reservd:e,thingdustdata:e,bloxcms:e,"townnews-staging":e,typeform:[0,{pro:e}],hk:e,it:e,vultrobjects:o,wafflecell:e,"reserve-online":e,hotelwithflight:e,remotewd:e,wiardweb:j,messwithdns:e,"woltlab-demo":e,wpenginepowered:[2,{js:e}],wixsite:e,xnbay:[2,{u2:e,"u2-local":e}],yolasite:e}],coop:a,cr:[1,{ac:a,co:a,ed:a,fi:a,go:a,or:a,sa:a}],cu:[1,{com:a,edu:a,org:a,net:a,gov:a,inf:a}],cv:[1,{com:a,edu:a,int:a,nome:a,org:a,blogspot:e}],cw:$,cx:[1,{gov:a,ath:e,info:e}],cy:[1,{ac:a,biz:a,com:[1,{blogspot:e,scaleforce:_}],ekloges:a,gov:a,ltd:a,mil:a,net:a,org:a,press:a,pro:a,tm:a}],cz:[1,{co:e,realm:e,e4:e,blogspot:e,metacentrum:[0,{cloud:o,custom:e}],muni:[0,{cloud:[0,{flt:e,usr:e}]}]}],de:[1,{bplaced:e,square7:e,com:e,cosidns:[0,{dyn:e}],"dynamisches-dns":e,dnsupdater:e,"internet-dns":e,"l-o-g-i-n":e,dnshome:e,fuettertdasnetz:e,isteingeek:e,istmein:e,lebtimnetz:e,leitungsen:e,traeumtgerade:e,ddnss:[2,{dyn:e,dyndns:e}],dyndns1:e,"dyn-ip24":e,"home-webserver":[2,{dyn:e}],"myhome-server":e,frusky:o,goip:e,blogspot:e,"xn--gnstigbestellen-zvb":e,"günstigbestellen":e,"xn--gnstigliefern-wob":e,"günstigliefern":e,"hs-heilbronn":[0,{it:j}],"dyn-berlin":e,"in-berlin":e,"in-brb":e,"in-butter":e,"in-dsl":e,"in-vpn":e,iservschule:e,"mein-iserv":e,schulplattform:e,schulserver:e,"test-iserv":e,keymachine:e,"git-repos":e,"lcube-server":e,"svn-repos":e,barsy:e,"123webseite":e,logoip:e,"firewall-gateway":e,"my-gateway":e,"my-router":e,spdns:e,speedpartner:[0,{customer:e}],myspreadshop:e,"taifun-dns":e,"12hp":e,"2ix":e,"4lima":e,"lima-city":e,"dd-dns":e,"dray-dns":e,draydns:e,"dyn-vpn":e,dynvpn:e,"mein-vigor":e,"my-vigor":e,"my-wan":e,"syno-ds":e,"synology-diskstation":e,"synology-ds":e,uberspace:o,virtualuser:e,"virtual-user":e,"community-pro":e,diskussionsbereich:e}],dj:a,dk:[1,{biz:e,co:e,firm:e,reg:e,store:e,blogspot:e,"123hjemmeside":e,myspreadshop:e}],dm:i,do:[1,{art:a,com:a,edu:a,gob:a,gov:a,mil:a,net:a,org:a,sld:a,web:a}],dz:[1,{art:a,asso:a,com:a,edu:a,gov:a,org:a,net:a,pol:a,soc:a,tm:a}],ec:[1,{com:a,info:a,net:a,fin:a,k12:a,med:a,pro:a,org:a,edu:a,gov:a,gob:a,mil:a,base:e,official:e}],edu:[1,{rit:[0,{"git-pages":e}]}],ee:[1,{edu:a,gov:a,riik:a,lib:a,med:a,com:t,pri:a,aip:a,org:a,fie:a}],eg:[1,{com:t,edu:a,eun:a,gov:a,mil:a,name:a,net:a,org:a,sci:a}],er:n,es:[1,{com:t,nom:a,org:a,gob:a,edu:a,"123miweb":e,myspreadshop:e}],et:[1,{com:a,gov:a,org:a,edu:a,biz:a,name:a,info:a,net:a}],eu:[1,{airkitapps:e,mycd:e,cloudns:e,dogado:A,barsy:e,wellbeingzone:e,spdns:e,transurl:o,diskstation:e}],fi:[1,{aland:a,dy:e,blogspot:e,"xn--hkkinen-5wa":e,"häkkinen":e,iki:e,cloudplatform:[0,{fi:e}],datacenter:[0,{demo:e,paas:e}],kapsi:e,"123kotisivu":e,myspreadshop:e}],fj:[1,{ac:a,biz:a,com:a,gov:a,info:a,mil:a,name:a,net:a,org:a,pro:a}],fk:n,fm:[1,{com:a,edu:a,net:a,org:a,radio:e,user:o}],fo:a,fr:[1,{asso:a,com:a,gouv:a,nom:a,prd:a,tm:a,aeroport:a,avocat:a,avoues:a,cci:a,chambagri:a,"chirurgiens-dentistes":a,"experts-comptables":a,"geometre-expert":a,greta:a,"huissier-justice":a,medecin:a,notaires:a,pharmacien:a,port:a,veterinaire:a,"en-root":e,"fbx-os":e,fbxos:e,"freebox-os":e,freeboxos:e,blogspot:e,goupile:e,"123siteweb":e,"on-web":e,"chirurgiens-dentistes-en-france":e,dedibox:e,myspreadshop:e,ynh:e}],ga:a,gb:a,gd:[1,{edu:a,gov:a}],ge:[1,{com:a,edu:a,gov:a,org:a,mil:a,net:a,pvt:a}],gf:a,gg:[1,{co:a,net:a,org:a,kaas:e,cya:e,panel:[2,{daemon:e}]}],gh:[1,{com:a,edu:a,gov:a,org:a,mil:a}],gi:[1,{com:a,ltd:a,gov:a,mod:a,edu:a,org:a}],gl:[1,{co:a,com:a,edu:a,net:a,org:a,biz:e,xx:e}],gm:a,gn:[1,{ac:a,com:a,edu:a,gov:a,org:a,net:a}],gov:a,gp:[1,{com:a,net:a,mobi:a,edu:a,org:a,asso:a,app:e}],gq:a,gr:[1,{com:a,edu:a,net:a,org:a,gov:a,blogspot:e,simplesite:e}],gs:a,gt:[1,{com:a,edu:a,gob:a,ind:a,mil:a,net:a,org:a,blog:e,de:e,to:e}],gu:[1,{com:a,edu:a,gov:a,guam:a,info:a,net:a,org:a,web:a}],gw:a,gy:[1,{co:a,com:a,edu:a,gov:a,net:a,org:a,be:e}],hk:[1,{com:a,edu:a,gov:a,idv:a,net:a,org:a,"xn--55qx5d":a,"公司":a,"xn--wcvs22d":a,"教育":a,"xn--lcvr32d":a,"敎育":a,"xn--mxtq1m":a,"政府":a,"xn--gmqw5a":a,"個人":a,"xn--ciqpn":a,"个人":a,"xn--gmq050i":a,"箇人":a,"xn--zf0avx":a,"網络":a,"xn--io0a7i":a,"网络":a,"xn--mk0axi":a,"组織":a,"xn--od0alg":a,"網絡":a,"xn--od0aq3b":a,"网絡":a,"xn--tn0ag":a,"组织":a,"xn--uc0atv":a,"組織":a,"xn--uc0ay4a":a,"組织":a,blogspot:e,secaas:e,ltd:e,inc:e}],hm:a,hn:[1,{com:a,edu:a,org:a,net:a,mil:a,gob:a,cc:e}],hr:[1,{iz:a,from:a,name:a,com:a,blogspot:e,free:e}],ht:[1,{com:a,shop:a,firm:a,info:a,adult:a,net:a,pro:a,org:a,med:a,art:a,coop:a,pol:a,asso:a,edu:a,rel:a,gouv:a,perso:a}],hu:[1,{2e3:a,co:a,info:a,org:a,priv:a,sport:a,tm:a,agrar:a,bolt:a,casino:a,city:a,erotica:a,erotika:a,film:a,forum:a,games:a,hotel:a,ingatlan:a,jogasz:a,konyvelo:a,lakas:a,media:a,news:a,reklam:a,sex:a,shop:a,suli:a,szex:a,tozsde:a,utazas:a,video:a,blogspot:e}],id:[1,{ac:a,biz:a,co:t,desa:a,go:a,mil:a,my:[1,{rss:o}],net:a,or:a,ponpes:a,sch:a,web:a,flap:e,forte:e}],ie:[1,{gov:a,blogspot:e,myspreadshop:e}],il:[1,{ac:a,co:[1,{ravpage:e,blogspot:e,tabitorder:e,mytabit:e}],gov:a,idf:a,k12:a,muni:a,net:a,org:a}],"xn--4dbrk0ce":[1,{"xn--4dbgdty6c":a,"xn--5dbhl8d":a,"xn--8dbq2a":a,"xn--hebda8b":a}],"ישראל":[1,{"אקדמיה":a,"ישוב":a,"צהל":a,"ממשל":a}],im:[1,{ac:a,co:[1,{ltd:a,plc:a}],com:a,net:a,org:a,tt:a,tv:a,ro:e}],in:[1,{"5g":a,"6g":a,ac:a,ai:a,am:a,bihar:a,biz:a,business:a,ca:a,cn:a,co:a,com:a,coop:a,cs:a,delhi:a,dr:a,edu:a,er:a,firm:a,gen:a,gov:a,gujarat:a,ind:a,info:a,int:a,internet:a,io:a,me:a,mil:a,net:a,nic:a,org:a,pg:a,post:a,pro:a,res:a,travel:a,tv:a,uk:a,up:a,us:a,web:e,cloudns:e,blogspot:e,barsy:e,supabase:e}],info:[1,{cloudns:e,"dynamic-dns":e,dyndns:e,"barrel-of-knowledge":e,"barrell-of-knowledge":e,"for-our":e,"groks-the":e,"groks-this":e,"here-for-more":e,knowsitall:e,selfip:e,webhop:e,barsy:e,mayfirst:e,forumz:e,nsupdate:e,dvrcam:e,ilovecollege:e,"no-ip":e,dnsupdate:e,"v-info":e}],int:[1,{eu:a}],io:[1,{2038:e,com:a,"on-acorn":o,apigee:e,"b-data":e,backplaneapp:e,banzaicloud:[0,{app:e,backyards:o}],beagleboard:e,bitbucket:e,bluebite:e,boxfuse:e,browsersafetymark:e,bigv:[0,{uk0:e}],cleverapps:e,dappnode:[0,{dyndns:e}],dedyn:e,drud:e,definima:e,"fh-muenster":e,shw:e,forgerock:[0,{id:e}],ghost:e,github:e,gitlab:e,lolipop:e,"hasura-app":e,hostyhosting:e,moonscale:o,beebyte:f,beebyteapp:[0,{sekd1:e}],jele:e,unispace:[0,{"cloud-fr1":e}],webthings:e,loginline:e,barsy:e,azurecontainer:o,ngrok:[2,{ap:e,au:e,eu:e,in:e,jp:e,sa:e,us:e}],nodeart:[0,{stage:e}],nid:e,pantheonsite:e,dyn53:e,pstmn:[2,{mock:e}],protonet:e,qoto:e,qcx:[2,{sys:o}],vaporcloud:e,vbrplsbx:[0,{g:e}],"on-k3s":o,"on-rio":o,readthedocs:e,resindevice:e,resinstaging:[0,{devices:e}],hzc:e,sandcats:e,shiftcrypto:e,shiftedit:e,"mo-siemens":e,musician:e,lair:y,stolos:o,spacekit:e,utwente:e,s5y:o,edugit:e,telebit:e,thingdust:[0,{dev:C,disrec:C,prod:E,testing:C}],tickets:e,upli:e,wedeploy:e,editorx:e,basicserver:e,virtualserver:e}],iq:P,ir:[1,{ac:a,co:a,gov:a,id:a,net:a,org:a,sch:a,"xn--mgba3a4f16a":a,"ایران":a,"xn--mgba3a4fra":a,"ايران":a}],is:[1,{net:a,com:a,edu:a,gov:a,org:a,int:a,cupcake:e,blogspot:e}],it:[1,{gov:a,edu:a,abr:a,abruzzo:a,"aosta-valley":a,aostavalley:a,bas:a,basilicata:a,cal:a,calabria:a,cam:a,campania:a,"emilia-romagna":a,emiliaromagna:a,emr:a,"friuli-v-giulia":a,"friuli-ve-giulia":a,"friuli-vegiulia":a,"friuli-venezia-giulia":a,"friuli-veneziagiulia":a,"friuli-vgiulia":a,"friuliv-giulia":a,"friulive-giulia":a,friulivegiulia:a,"friulivenezia-giulia":a,friuliveneziagiulia:a,friulivgiulia:a,fvg:a,laz:a,lazio:a,lig:a,liguria:a,lom:a,lombardia:a,lombardy:a,lucania:a,mar:a,marche:a,mol:a,molise:a,piedmont:a,piemonte:a,pmn:a,pug:a,puglia:a,sar:a,sardegna:a,sardinia:a,sic:a,sicilia:a,sicily:a,taa:a,tos:a,toscana:a,"trentin-sud-tirol":a,"xn--trentin-sd-tirol-rzb":a,"trentin-süd-tirol":a,"trentin-sudtirol":a,"xn--trentin-sdtirol-7vb":a,"trentin-südtirol":a,"trentin-sued-tirol":a,"trentin-suedtirol":a,"trentino-a-adige":a,"trentino-aadige":a,"trentino-alto-adige":a,"trentino-altoadige":a,"trentino-s-tirol":a,"trentino-stirol":a,"trentino-sud-tirol":a,"xn--trentino-sd-tirol-c3b":a,"trentino-süd-tirol":a,"trentino-sudtirol":a,"xn--trentino-sdtirol-szb":a,"trentino-südtirol":a,"trentino-sued-tirol":a,"trentino-suedtirol":a,trentino:a,"trentinoa-adige":a,trentinoaadige:a,"trentinoalto-adige":a,trentinoaltoadige:a,"trentinos-tirol":a,trentinostirol:a,"trentinosud-tirol":a,"xn--trentinosd-tirol-rzb":a,"trentinosüd-tirol":a,trentinosudtirol:a,"xn--trentinosdtirol-7vb":a,"trentinosüdtirol":a,"trentinosued-tirol":a,trentinosuedtirol:a,"trentinsud-tirol":a,"xn--trentinsd-tirol-6vb":a,"trentinsüd-tirol":a,trentinsudtirol:a,"xn--trentinsdtirol-nsb":a,"trentinsüdtirol":a,"trentinsued-tirol":a,trentinsuedtirol:a,tuscany:a,umb:a,umbria:a,"val-d-aosta":a,"val-daosta":a,"vald-aosta":a,valdaosta:a,"valle-aosta":a,"valle-d-aosta":a,"valle-daosta":a,valleaosta:a,"valled-aosta":a,valledaosta:a,"vallee-aoste":a,"xn--valle-aoste-ebb":a,"vallée-aoste":a,"vallee-d-aoste":a,"xn--valle-d-aoste-ehb":a,"vallée-d-aoste":a,valleeaoste:a,"xn--valleaoste-e7a":a,"valléeaoste":a,valleedaoste:a,"xn--valledaoste-ebb":a,"valléedaoste":a,vao:a,vda:a,ven:a,veneto:a,ag:a,agrigento:a,al:a,alessandria:a,"alto-adige":a,altoadige:a,an:a,ancona:a,"andria-barletta-trani":a,"andria-trani-barletta":a,andriabarlettatrani:a,andriatranibarletta:a,ao:a,aosta:a,aoste:a,ap:a,aq:a,aquila:a,ar:a,arezzo:a,"ascoli-piceno":a,ascolipiceno:a,asti:a,at:a,av:a,avellino:a,ba:a,"balsan-sudtirol":a,"xn--balsan-sdtirol-nsb":a,"balsan-südtirol":a,"balsan-suedtirol":a,balsan:a,bari:a,"barletta-trani-andria":a,barlettatraniandria:a,belluno:a,benevento:a,bergamo:a,bg:a,bi:a,biella:a,bl:a,bn:a,bo:a,bologna:a,"bolzano-altoadige":a,bolzano:a,"bozen-sudtirol":a,"xn--bozen-sdtirol-2ob":a,"bozen-südtirol":a,"bozen-suedtirol":a,bozen:a,br:a,brescia:a,brindisi:a,bs:a,bt:a,"bulsan-sudtirol":a,"xn--bulsan-sdtirol-nsb":a,"bulsan-südtirol":a,"bulsan-suedtirol":a,bulsan:a,bz:a,ca:a,cagliari:a,caltanissetta:a,"campidano-medio":a,campidanomedio:a,campobasso:a,"carbonia-iglesias":a,carboniaiglesias:a,"carrara-massa":a,carraramassa:a,caserta:a,catania:a,catanzaro:a,cb:a,ce:a,"cesena-forli":a,"xn--cesena-forl-mcb":a,"cesena-forlì":a,cesenaforli:a,"xn--cesenaforl-i8a":a,"cesenaforlì":a,ch:a,chieti:a,ci:a,cl:a,cn:a,co:a,como:a,cosenza:a,cr:a,cremona:a,crotone:a,cs:a,ct:a,cuneo:a,cz:a,"dell-ogliastra":a,dellogliastra:a,en:a,enna:a,fc:a,fe:a,fermo:a,ferrara:a,fg:a,fi:a,firenze:a,florence:a,fm:a,foggia:a,"forli-cesena":a,"xn--forl-cesena-fcb":a,"forlì-cesena":a,forlicesena:a,"xn--forlcesena-c8a":a,"forlìcesena":a,fr:a,frosinone:a,ge:a,genoa:a,genova:a,go:a,gorizia:a,gr:a,grosseto:a,"iglesias-carbonia":a,iglesiascarbonia:a,im:a,imperia:a,is:a,isernia:a,kr:a,"la-spezia":a,laquila:a,laspezia:a,latina:a,lc:a,le:a,lecce:a,lecco:a,li:a,livorno:a,lo:a,lodi:a,lt:a,lu:a,lucca:a,macerata:a,mantova:a,"massa-carrara":a,massacarrara:a,matera:a,mb:a,mc:a,me:a,"medio-campidano":a,mediocampidano:a,messina:a,mi:a,milan:a,milano:a,mn:a,mo:a,modena:a,"monza-brianza":a,"monza-e-della-brianza":a,monza:a,monzabrianza:a,monzaebrianza:a,monzaedellabrianza:a,ms:a,mt:a,na:a,naples:a,napoli:a,no:a,novara:a,nu:a,nuoro:a,og:a,ogliastra:a,"olbia-tempio":a,olbiatempio:a,or:a,oristano:a,ot:a,pa:a,padova:a,padua:a,palermo:a,parma:a,pavia:a,pc:a,pd:a,pe:a,perugia:a,"pesaro-urbino":a,pesarourbino:a,pescara:a,pg:a,pi:a,piacenza:a,pisa:a,pistoia:a,pn:a,po:a,pordenone:a,potenza:a,pr:a,prato:a,pt:a,pu:a,pv:a,pz:a,ra:a,ragusa:a,ravenna:a,rc:a,re:a,"reggio-calabria":a,"reggio-emilia":a,reggiocalabria:a,reggioemilia:a,rg:a,ri:a,rieti:a,rimini:a,rm:a,rn:a,ro:a,roma:a,rome:a,rovigo:a,sa:a,salerno:a,sassari:a,savona:a,si:a,siena:a,siracusa:a,so:a,sondrio:a,sp:a,sr:a,ss:a,suedtirol:a,"xn--sdtirol-n2a":a,"südtirol":a,sv:a,ta:a,taranto:a,te:a,"tempio-olbia":a,tempioolbia:a,teramo:a,terni:a,tn:a,to:a,torino:a,tp:a,tr:a,"trani-andria-barletta":a,"trani-barletta-andria":a,traniandriabarletta:a,tranibarlettaandria:a,trapani:a,trento:a,treviso:a,trieste:a,ts:a,turin:a,tv:a,ud:a,udine:a,"urbino-pesaro":a,urbinopesaro:a,va:a,varese:a,vb:a,vc:a,ve:a,venezia:a,venice:a,verbania:a,vercelli:a,verona:a,vi:a,"vibo-valentia":a,vibovalentia:a,vicenza:a,viterbo:a,vr:a,vs:a,vt:a,vv:a,blogspot:e,ibxos:e,iliadboxos:e,neen:[0,{jc:e}],tim:[0,{open:[0,{jelastic:r}]}],"16-b":e,"32-b":e,"64-b":e,"123homepage":e,myspreadshop:e,syncloud:e}],je:[1,{co:a,net:a,org:a,of:e}],jm:n,jo:[1,{com:a,org:a,net:a,edu:a,sch:a,gov:a,mil:a,name:a}],jobs:a,jp:[1,{ac:a,ad:a,co:a,ed:a,go:a,gr:a,lg:a,ne:[1,{aseinet:S,gehirn:e,ivory:e,"mail-box":e,mints:e,mokuren:e,opal:e,sakura:e,sumomo:e,topaz:e}],or:a,aichi:[1,{aisai:a,ama:a,anjo:a,asuke:a,chiryu:a,chita:a,fuso:a,gamagori:a,handa:a,hazu:a,hekinan:a,higashiura:a,ichinomiya:a,inazawa:a,inuyama:a,isshiki:a,iwakura:a,kanie:a,kariya:a,kasugai:a,kira:a,kiyosu:a,komaki:a,konan:a,kota:a,mihama:a,miyoshi:a,nishio:a,nisshin:a,obu:a,oguchi:a,oharu:a,okazaki:a,owariasahi:a,seto:a,shikatsu:a,shinshiro:a,shitara:a,tahara:a,takahama:a,tobishima:a,toei:a,togo:a,tokai:a,tokoname:a,toyoake:a,toyohashi:a,toyokawa:a,toyone:a,toyota:a,tsushima:a,yatomi:a}],akita:[1,{akita:a,daisen:a,fujisato:a,gojome:a,hachirogata:a,happou:a,higashinaruse:a,honjo:a,honjyo:a,ikawa:a,kamikoani:a,kamioka:a,katagami:a,kazuno:a,kitaakita:a,kosaka:a,kyowa:a,misato:a,mitane:a,moriyoshi:a,nikaho:a,noshiro:a,odate:a,oga:a,ogata:a,semboku:a,yokote:a,yurihonjo:a}],aomori:[1,{aomori:a,gonohe:a,hachinohe:a,hashikami:a,hiranai:a,hirosaki:a,itayanagi:a,kuroishi:a,misawa:a,mutsu:a,nakadomari:a,noheji:a,oirase:a,owani:a,rokunohe:a,sannohe:a,shichinohe:a,shingo:a,takko:a,towada:a,tsugaru:a,tsuruta:a}],chiba:[1,{abiko:a,asahi:a,chonan:a,chosei:a,choshi:a,chuo:a,funabashi:a,futtsu:a,hanamigawa:a,ichihara:a,ichikawa:a,ichinomiya:a,inzai:a,isumi:a,kamagaya:a,kamogawa:a,kashiwa:a,katori:a,katsuura:a,kimitsu:a,kisarazu:a,kozaki:a,kujukuri:a,kyonan:a,matsudo:a,midori:a,mihama:a,minamiboso:a,mobara:a,mutsuzawa:a,nagara:a,nagareyama:a,narashino:a,narita:a,noda:a,oamishirasato:a,omigawa:a,onjuku:a,otaki:a,sakae:a,sakura:a,shimofusa:a,shirako:a,shiroi:a,shisui:a,sodegaura:a,sosa:a,tako:a,tateyama:a,togane:a,tohnosho:a,tomisato:a,urayasu:a,yachimata:a,yachiyo:a,yokaichiba:a,yokoshibahikari:a,yotsukaido:a}],ehime:[1,{ainan:a,honai:a,ikata:a,imabari:a,iyo:a,kamijima:a,kihoku:a,kumakogen:a,masaki:a,matsuno:a,matsuyama:a,namikata:a,niihama:a,ozu:a,saijo:a,seiyo:a,shikokuchuo:a,tobe:a,toon:a,uchiko:a,uwajima:a,yawatahama:a}],fukui:[1,{echizen:a,eiheiji:a,fukui:a,ikeda:a,katsuyama:a,mihama:a,minamiechizen:a,obama:a,ohi:a,ono:a,sabae:a,sakai:a,takahama:a,tsuruga:a,wakasa:a}],fukuoka:[1,{ashiya:a,buzen:a,chikugo:a,chikuho:a,chikujo:a,chikushino:a,chikuzen:a,chuo:a,dazaifu:a,fukuchi:a,hakata:a,higashi:a,hirokawa:a,hisayama:a,iizuka:a,inatsuki:a,kaho:a,kasuga:a,kasuya:a,kawara:a,keisen:a,koga:a,kurate:a,kurogi:a,kurume:a,minami:a,miyako:a,miyama:a,miyawaka:a,mizumaki:a,munakata:a,nakagawa:a,nakama:a,nishi:a,nogata:a,ogori:a,okagaki:a,okawa:a,oki:a,omuta:a,onga:a,onojo:a,oto:a,saigawa:a,sasaguri:a,shingu:a,shinyoshitomi:a,shonai:a,soeda:a,sue:a,tachiarai:a,tagawa:a,takata:a,toho:a,toyotsu:a,tsuiki:a,ukiha:a,umi:a,usui:a,yamada:a,yame:a,yanagawa:a,yukuhashi:a}],fukushima:[1,{aizubange:a,aizumisato:a,aizuwakamatsu:a,asakawa:a,bandai:a,date:a,fukushima:a,furudono:a,futaba:a,hanawa:a,higashi:a,hirata:a,hirono:a,iitate:a,inawashiro:a,ishikawa:a,iwaki:a,izumizaki:a,kagamiishi:a,kaneyama:a,kawamata:a,kitakata:a,kitashiobara:a,koori:a,koriyama:a,kunimi:a,miharu:a,mishima:a,namie:a,nango:a,nishiaizu:a,nishigo:a,okuma:a,omotego:a,ono:a,otama:a,samegawa:a,shimogo:a,shirakawa:a,showa:a,soma:a,sukagawa:a,taishin:a,tamakawa:a,tanagura:a,tenei:a,yabuki:a,yamato:a,yamatsuri:a,yanaizu:a,yugawa:a}],gifu:[1,{anpachi:a,ena:a,gifu:a,ginan:a,godo:a,gujo:a,hashima:a,hichiso:a,hida:a,higashishirakawa:a,ibigawa:a,ikeda:a,kakamigahara:a,kani:a,kasahara:a,kasamatsu:a,kawaue:a,kitagata:a,mino:a,minokamo:a,mitake:a,mizunami:a,motosu:a,nakatsugawa:a,ogaki:a,sakahogi:a,seki:a,sekigahara:a,shirakawa:a,tajimi:a,takayama:a,tarui:a,toki:a,tomika:a,wanouchi:a,yamagata:a,yaotsu:a,yoro:a}],gunma:[1,{annaka:a,chiyoda:a,fujioka:a,higashiagatsuma:a,isesaki:a,itakura:a,kanna:a,kanra:a,katashina:a,kawaba:a,kiryu:a,kusatsu:a,maebashi:a,meiwa:a,midori:a,minakami:a,naganohara:a,nakanojo:a,nanmoku:a,numata:a,oizumi:a,ora:a,ota:a,shibukawa:a,shimonita:a,shinto:a,showa:a,takasaki:a,takayama:a,tamamura:a,tatebayashi:a,tomioka:a,tsukiyono:a,tsumagoi:a,ueno:a,yoshioka:a}],hiroshima:[1,{asaminami:a,daiwa:a,etajima:a,fuchu:a,fukuyama:a,hatsukaichi:a,higashihiroshima:a,hongo:a,jinsekikogen:a,kaita:a,kui:a,kumano:a,kure:a,mihara:a,miyoshi:a,naka:a,onomichi:a,osakikamijima:a,otake:a,saka:a,sera:a,seranishi:a,shinichi:a,shobara:a,takehara:a}],hokkaido:[1,{abashiri:a,abira:a,aibetsu:a,akabira:a,akkeshi:a,asahikawa:a,ashibetsu:a,ashoro:a,assabu:a,atsuma:a,bibai:a,biei:a,bifuka:a,bihoro:a,biratori:a,chippubetsu:a,chitose:a,date:a,ebetsu:a,embetsu:a,eniwa:a,erimo:a,esan:a,esashi:a,fukagawa:a,fukushima:a,furano:a,furubira:a,haboro:a,hakodate:a,hamatonbetsu:a,hidaka:a,higashikagura:a,higashikawa:a,hiroo:a,hokuryu:a,hokuto:a,honbetsu:a,horokanai:a,horonobe:a,ikeda:a,imakane:a,ishikari:a,iwamizawa:a,iwanai:a,kamifurano:a,kamikawa:a,kamishihoro:a,kamisunagawa:a,kamoenai:a,kayabe:a,kembuchi:a,kikonai:a,kimobetsu:a,kitahiroshima:a,kitami:a,kiyosato:a,koshimizu:a,kunneppu:a,kuriyama:a,kuromatsunai:a,kushiro:a,kutchan:a,kyowa:a,mashike:a,matsumae:a,mikasa:a,minamifurano:a,mombetsu:a,moseushi:a,mukawa:a,muroran:a,naie:a,nakagawa:a,nakasatsunai:a,nakatombetsu:a,nanae:a,nanporo:a,nayoro:a,nemuro:a,niikappu:a,niki:a,nishiokoppe:a,noboribetsu:a,numata:a,obihiro:a,obira:a,oketo:a,okoppe:a,otaru:a,otobe:a,otofuke:a,otoineppu:a,oumu:a,ozora:a,pippu:a,rankoshi:a,rebun:a,rikubetsu:a,rishiri:a,rishirifuji:a,saroma:a,sarufutsu:a,shakotan:a,shari:a,shibecha:a,shibetsu:a,shikabe:a,shikaoi:a,shimamaki:a,shimizu:a,shimokawa:a,shinshinotsu:a,shintoku:a,shiranuka:a,shiraoi:a,shiriuchi:a,sobetsu:a,sunagawa:a,taiki:a,takasu:a,takikawa:a,takinoue:a,teshikaga:a,tobetsu:a,tohma:a,tomakomai:a,tomari:a,toya:a,toyako:a,toyotomi:a,toyoura:a,tsubetsu:a,tsukigata:a,urakawa:a,urausu:a,uryu:a,utashinai:a,wakkanai:a,wassamu:a,yakumo:a,yoichi:a}],hyogo:[1,{aioi:a,akashi:a,ako:a,amagasaki:a,aogaki:a,asago:a,ashiya:a,awaji:a,fukusaki:a,goshiki:a,harima:a,himeji:a,ichikawa:a,inagawa:a,itami:a,kakogawa:a,kamigori:a,kamikawa:a,kasai:a,kasuga:a,kawanishi:a,miki:a,minamiawaji:a,nishinomiya:a,nishiwaki:a,ono:a,sanda:a,sannan:a,sasayama:a,sayo:a,shingu:a,shinonsen:a,shiso:a,sumoto:a,taishi:a,taka:a,takarazuka:a,takasago:a,takino:a,tamba:a,tatsuno:a,toyooka:a,yabu:a,yashiro:a,yoka:a,yokawa:a}],ibaraki:[1,{ami:a,asahi:a,bando:a,chikusei:a,daigo:a,fujishiro:a,hitachi:a,hitachinaka:a,hitachiomiya:a,hitachiota:a,ibaraki:a,ina:a,inashiki:a,itako:a,iwama:a,joso:a,kamisu:a,kasama:a,kashima:a,kasumigaura:a,koga:a,miho:a,mito:a,moriya:a,naka:a,namegata:a,oarai:a,ogawa:a,omitama:a,ryugasaki:a,sakai:a,sakuragawa:a,shimodate:a,shimotsuma:a,shirosato:a,sowa:a,suifu:a,takahagi:a,tamatsukuri:a,tokai:a,tomobe:a,tone:a,toride:a,tsuchiura:a,tsukuba:a,uchihara:a,ushiku:a,yachiyo:a,yamagata:a,yawara:a,yuki:a}],ishikawa:[1,{anamizu:a,hakui:a,hakusan:a,kaga:a,kahoku:a,kanazawa:a,kawakita:a,komatsu:a,nakanoto:a,nanao:a,nomi:a,nonoichi:a,noto:a,shika:a,suzu:a,tsubata:a,tsurugi:a,uchinada:a,wajima:a}],iwate:[1,{fudai:a,fujisawa:a,hanamaki:a,hiraizumi:a,hirono:a,ichinohe:a,ichinoseki:a,iwaizumi:a,iwate:a,joboji:a,kamaishi:a,kanegasaki:a,karumai:a,kawai:a,kitakami:a,kuji:a,kunohe:a,kuzumaki:a,miyako:a,mizusawa:a,morioka:a,ninohe:a,noda:a,ofunato:a,oshu:a,otsuchi:a,rikuzentakata:a,shiwa:a,shizukuishi:a,sumita:a,tanohata:a,tono:a,yahaba:a,yamada:a}],kagawa:[1,{ayagawa:a,higashikagawa:a,kanonji:a,kotohira:a,manno:a,marugame:a,mitoyo:a,naoshima:a,sanuki:a,tadotsu:a,takamatsu:a,tonosho:a,uchinomi:a,utazu:a,zentsuji:a}],kagoshima:[1,{akune:a,amami:a,hioki:a,isa:a,isen:a,izumi:a,kagoshima:a,kanoya:a,kawanabe:a,kinko:a,kouyama:a,makurazaki:a,matsumoto:a,minamitane:a,nakatane:a,nishinoomote:a,satsumasendai:a,soo:a,tarumizu:a,yusui:a}],kanagawa:[1,{aikawa:a,atsugi:a,ayase:a,chigasaki:a,ebina:a,fujisawa:a,hadano:a,hakone:a,hiratsuka:a,isehara:a,kaisei:a,kamakura:a,kiyokawa:a,matsuda:a,minamiashigara:a,miura:a,nakai:a,ninomiya:a,odawara:a,oi:a,oiso:a,sagamihara:a,samukawa:a,tsukui:a,yamakita:a,yamato:a,yokosuka:a,yugawara:a,zama:a,zushi:a}],kochi:[1,{aki:a,geisei:a,hidaka:a,higashitsuno:a,ino:a,kagami:a,kami:a,kitagawa:a,kochi:a,mihara:a,motoyama:a,muroto:a,nahari:a,nakamura:a,nankoku:a,nishitosa:a,niyodogawa:a,ochi:a,okawa:a,otoyo:a,otsuki:a,sakawa:a,sukumo:a,susaki:a,tosa:a,tosashimizu:a,toyo:a,tsuno:a,umaji:a,yasuda:a,yusuhara:a}],kumamoto:[1,{amakusa:a,arao:a,aso:a,choyo:a,gyokuto:a,kamiamakusa:a,kikuchi:a,kumamoto:a,mashiki:a,mifune:a,minamata:a,minamioguni:a,nagasu:a,nishihara:a,oguni:a,ozu:a,sumoto:a,takamori:a,uki:a,uto:a,yamaga:a,yamato:a,yatsushiro:a}],kyoto:[1,{ayabe:a,fukuchiyama:a,higashiyama:a,ide:a,ine:a,joyo:a,kameoka:a,kamo:a,kita:a,kizu:a,kumiyama:a,kyotamba:a,kyotanabe:a,kyotango:a,maizuru:a,minami:a,minamiyamashiro:a,miyazu:a,muko:a,nagaokakyo:a,nakagyo:a,nantan:a,oyamazaki:a,sakyo:a,seika:a,tanabe:a,uji:a,ujitawara:a,wazuka:a,yamashina:a,yawata:a}],mie:[1,{asahi:a,inabe:a,ise:a,kameyama:a,kawagoe:a,kiho:a,kisosaki:a,kiwa:a,komono:a,kumano:a,kuwana:a,matsusaka:a,meiwa:a,mihama:a,minamiise:a,misugi:a,miyama:a,nabari:a,shima:a,suzuka:a,tado:a,taiki:a,taki:a,tamaki:a,toba:a,tsu:a,udono:a,ureshino:a,watarai:a,yokkaichi:a}],miyagi:[1,{furukawa:a,higashimatsushima:a,ishinomaki:a,iwanuma:a,kakuda:a,kami:a,kawasaki:a,marumori:a,matsushima:a,minamisanriku:a,misato:a,murata:a,natori:a,ogawara:a,ohira:a,onagawa:a,osaki:a,rifu:a,semine:a,shibata:a,shichikashuku:a,shikama:a,shiogama:a,shiroishi:a,tagajo:a,taiwa:a,tome:a,tomiya:a,wakuya:a,watari:a,yamamoto:a,zao:a}],miyazaki:[1,{aya:a,ebino:a,gokase:a,hyuga:a,kadogawa:a,kawaminami:a,kijo:a,kitagawa:a,kitakata:a,kitaura:a,kobayashi:a,kunitomi:a,kushima:a,mimata:a,miyakonojo:a,miyazaki:a,morotsuka:a,nichinan:a,nishimera:a,nobeoka:a,saito:a,shiiba:a,shintomi:a,takaharu:a,takanabe:a,takazaki:a,tsuno:a}],nagano:[1,{achi:a,agematsu:a,anan:a,aoki:a,asahi:a,azumino:a,chikuhoku:a,chikuma:a,chino:a,fujimi:a,hakuba:a,hara:a,hiraya:a,iida:a,iijima:a,iiyama:a,iizuna:a,ikeda:a,ikusaka:a,ina:a,karuizawa:a,kawakami:a,kiso:a,kisofukushima:a,kitaaiki:a,komagane:a,komoro:a,matsukawa:a,matsumoto:a,miasa:a,minamiaiki:a,minamimaki:a,minamiminowa:a,minowa:a,miyada:a,miyota:a,mochizuki:a,nagano:a,nagawa:a,nagiso:a,nakagawa:a,nakano:a,nozawaonsen:a,obuse:a,ogawa:a,okaya:a,omachi:a,omi:a,ookuwa:a,ooshika:a,otaki:a,otari:a,sakae:a,sakaki:a,saku:a,sakuho:a,shimosuwa:a,shinanomachi:a,shiojiri:a,suwa:a,suzaka:a,takagi:a,takamori:a,takayama:a,tateshina:a,tatsuno:a,togakushi:a,togura:a,tomi:a,ueda:a,wada:a,yamagata:a,yamanouchi:a,yasaka:a,yasuoka:a}],nagasaki:[1,{chijiwa:a,futsu:a,goto:a,hasami:a,hirado:a,iki:a,isahaya:a,kawatana:a,kuchinotsu:a,matsuura:a,nagasaki:a,obama:a,omura:a,oseto:a,saikai:a,sasebo:a,seihi:a,shimabara:a,shinkamigoto:a,togitsu:a,tsushima:a,unzen:a}],nara:[1,{ando:a,gose:a,heguri:a,higashiyoshino:a,ikaruga:a,ikoma:a,kamikitayama:a,kanmaki:a,kashiba:a,kashihara:a,katsuragi:a,kawai:a,kawakami:a,kawanishi:a,koryo:a,kurotaki:a,mitsue:a,miyake:a,nara:a,nosegawa:a,oji:a,ouda:a,oyodo:a,sakurai:a,sango:a,shimoichi:a,shimokitayama:a,shinjo:a,soni:a,takatori:a,tawaramoto:a,tenkawa:a,tenri:a,uda:a,yamatokoriyama:a,yamatotakada:a,yamazoe:a,yoshino:a}],niigata:[1,{aga:a,agano:a,gosen:a,itoigawa:a,izumozaki:a,joetsu:a,kamo:a,kariwa:a,kashiwazaki:a,minamiuonuma:a,mitsuke:a,muika:a,murakami:a,myoko:a,nagaoka:a,niigata:a,ojiya:a,omi:a,sado:a,sanjo:a,seiro:a,seirou:a,sekikawa:a,shibata:a,tagami:a,tainai:a,tochio:a,tokamachi:a,tsubame:a,tsunan:a,uonuma:a,yahiko:a,yoita:a,yuzawa:a}],oita:[1,{beppu:a,bungoono:a,bungotakada:a,hasama:a,hiji:a,himeshima:a,hita:a,kamitsue:a,kokonoe:a,kuju:a,kunisaki:a,kusu:a,oita:a,saiki:a,taketa:a,tsukumi:a,usa:a,usuki:a,yufu:a}],okayama:[1,{akaiwa:a,asakuchi:a,bizen:a,hayashima:a,ibara:a,kagamino:a,kasaoka:a,kibichuo:a,kumenan:a,kurashiki:a,maniwa:a,misaki:a,nagi:a,niimi:a,nishiawakura:a,okayama:a,satosho:a,setouchi:a,shinjo:a,shoo:a,soja:a,takahashi:a,tamano:a,tsuyama:a,wake:a,yakage:a}],okinawa:[1,{aguni:a,ginowan:a,ginoza:a,gushikami:a,haebaru:a,higashi:a,hirara:a,iheya:a,ishigaki:a,ishikawa:a,itoman:a,izena:a,kadena:a,kin:a,kitadaito:a,kitanakagusuku:a,kumejima:a,kunigami:a,minamidaito:a,motobu:a,nago:a,naha:a,nakagusuku:a,nakijin:a,nanjo:a,nishihara:a,ogimi:a,okinawa:a,onna:a,shimoji:a,taketomi:a,tarama:a,tokashiki:a,tomigusuku:a,tonaki:a,urasoe:a,uruma:a,yaese:a,yomitan:a,yonabaru:a,yonaguni:a,zamami:a}],osaka:[1,{abeno:a,chihayaakasaka:a,chuo:a,daito:a,fujiidera:a,habikino:a,hannan:a,higashiosaka:a,higashisumiyoshi:a,higashiyodogawa:a,hirakata:a,ibaraki:a,ikeda:a,izumi:a,izumiotsu:a,izumisano:a,kadoma:a,kaizuka:a,kanan:a,kashiwara:a,katano:a,kawachinagano:a,kishiwada:a,kita:a,kumatori:a,matsubara:a,minato:a,minoh:a,misaki:a,moriguchi:a,neyagawa:a,nishi:a,nose:a,osakasayama:a,sakai:a,sayama:a,sennan:a,settsu:a,shijonawate:a,shimamoto:a,suita:a,tadaoka:a,taishi:a,tajiri:a,takaishi:a,takatsuki:a,tondabayashi:a,toyonaka:a,toyono:a,yao:a}],saga:[1,{ariake:a,arita:a,fukudomi:a,genkai:a,hamatama:a,hizen:a,imari:a,kamimine:a,kanzaki:a,karatsu:a,kashima:a,kitagata:a,kitahata:a,kiyama:a,kouhoku:a,kyuragi:a,nishiarita:a,ogi:a,omachi:a,ouchi:a,saga:a,shiroishi:a,taku:a,tara:a,tosu:a,yoshinogari:a}],saitama:[1,{arakawa:a,asaka:a,chichibu:a,fujimi:a,fujimino:a,fukaya:a,hanno:a,hanyu:a,hasuda:a,hatogaya:a,hatoyama:a,hidaka:a,higashichichibu:a,higashimatsuyama:a,honjo:a,ina:a,iruma:a,iwatsuki:a,kamiizumi:a,kamikawa:a,kamisato:a,kasukabe:a,kawagoe:a,kawaguchi:a,kawajima:a,kazo:a,kitamoto:a,koshigaya:a,kounosu:a,kuki:a,kumagaya:a,matsubushi:a,minano:a,misato:a,miyashiro:a,miyoshi:a,moroyama:a,nagatoro:a,namegawa:a,niiza:a,ogano:a,ogawa:a,ogose:a,okegawa:a,omiya:a,otaki:a,ranzan:a,ryokami:a,saitama:a,sakado:a,satte:a,sayama:a,shiki:a,shiraoka:a,soka:a,sugito:a,toda:a,tokigawa:a,tokorozawa:a,tsurugashima:a,urawa:a,warabi:a,yashio:a,yokoze:a,yono:a,yorii:a,yoshida:a,yoshikawa:a,yoshimi:a}],shiga:[1,{aisho:a,gamo:a,higashiomi:a,hikone:a,koka:a,konan:a,kosei:a,koto:a,kusatsu:a,maibara:a,moriyama:a,nagahama:a,nishiazai:a,notogawa:a,omihachiman:a,otsu:a,ritto:a,ryuoh:a,takashima:a,takatsuki:a,torahime:a,toyosato:a,yasu:a}],shimane:[1,{akagi:a,ama:a,gotsu:a,hamada:a,higashiizumo:a,hikawa:a,hikimi:a,izumo:a,kakinoki:a,masuda:a,matsue:a,misato:a,nishinoshima:a,ohda:a,okinoshima:a,okuizumo:a,shimane:a,tamayu:a,tsuwano:a,unnan:a,yakumo:a,yasugi:a,yatsuka:a}],shizuoka:[1,{arai:a,atami:a,fuji:a,fujieda:a,fujikawa:a,fujinomiya:a,fukuroi:a,gotemba:a,haibara:a,hamamatsu:a,higashiizu:a,ito:a,iwata:a,izu:a,izunokuni:a,kakegawa:a,kannami:a,kawanehon:a,kawazu:a,kikugawa:a,kosai:a,makinohara:a,matsuzaki:a,minamiizu:a,mishima:a,morimachi:a,nishiizu:a,numazu:a,omaezaki:a,shimada:a,shimizu:a,shimoda:a,shizuoka:a,susono:a,yaizu:a,yoshida:a}],tochigi:[1,{ashikaga:a,bato:a,haga:a,ichikai:a,iwafune:a,kaminokawa:a,kanuma:a,karasuyama:a,kuroiso:a,mashiko:a,mibu:a,moka:a,motegi:a,nasu:a,nasushiobara:a,nikko:a,nishikata:a,nogi:a,ohira:a,ohtawara:a,oyama:a,sakura:a,sano:a,shimotsuke:a,shioya:a,takanezawa:a,tochigi:a,tsuga:a,ujiie:a,utsunomiya:a,yaita:a}],tokushima:[1,{aizumi:a,anan:a,ichiba:a,itano:a,kainan:a,komatsushima:a,matsushige:a,mima:a,minami:a,miyoshi:a,mugi:a,nakagawa:a,naruto:a,sanagochi:a,shishikui:a,tokushima:a,wajiki:a}],tokyo:[1,{adachi:a,akiruno:a,akishima:a,aogashima:a,arakawa:a,bunkyo:a,chiyoda:a,chofu:a,chuo:a,edogawa:a,fuchu:a,fussa:a,hachijo:a,hachioji:a,hamura:a,higashikurume:a,higashimurayama:a,higashiyamato:a,hino:a,hinode:a,hinohara:a,inagi:a,itabashi:a,katsushika:a,kita:a,kiyose:a,kodaira:a,koganei:a,kokubunji:a,komae:a,koto:a,kouzushima:a,kunitachi:a,machida:a,meguro:a,minato:a,mitaka:a,mizuho:a,musashimurayama:a,musashino:a,nakano:a,nerima:a,ogasawara:a,okutama:a,ome:a,oshima:a,ota:a,setagaya:a,shibuya:a,shinagawa:a,shinjuku:a,suginami:a,sumida:a,tachikawa:a,taito:a,tama:a,toshima:a}],tottori:[1,{chizu:a,hino:a,kawahara:a,koge:a,kotoura:a,misasa:a,nanbu:a,nichinan:a,sakaiminato:a,tottori:a,wakasa:a,yazu:a,yonago:a}],toyama:[1,{asahi:a,fuchu:a,fukumitsu:a,funahashi:a,himi:a,imizu:a,inami:a,johana:a,kamiichi:a,kurobe:a,nakaniikawa:a,namerikawa:a,nanto:a,nyuzen:a,oyabe:a,taira:a,takaoka:a,tateyama:a,toga:a,tonami:a,toyama:a,unazuki:a,uozu:a,yamada:a}],wakayama:[1,{arida:a,aridagawa:a,gobo:a,hashimoto:a,hidaka:a,hirogawa:a,inami:a,iwade:a,kainan:a,kamitonda:a,katsuragi:a,kimino:a,kinokawa:a,kitayama:a,koya:a,koza:a,kozagawa:a,kudoyama:a,kushimoto:a,mihama:a,misato:a,nachikatsuura:a,shingu:a,shirahama:a,taiji:a,tanabe:a,wakayama:a,yuasa:a,yura:a}],yamagata:[1,{asahi:a,funagata:a,higashine:a,iide:a,kahoku:a,kaminoyama:a,kaneyama:a,kawanishi:a,mamurogawa:a,mikawa:a,murayama:a,nagai:a,nakayama:a,nanyo:a,nishikawa:a,obanazawa:a,oe:a,oguni:a,ohkura:a,oishida:a,sagae:a,sakata:a,sakegawa:a,shinjo:a,shirataka:a,shonai:a,takahata:a,tendo:a,tozawa:a,tsuruoka:a,yamagata:a,yamanobe:a,yonezawa:a,yuza:a}],yamaguchi:[1,{abu:a,hagi:a,hikari:a,hofu:a,iwakuni:a,kudamatsu:a,mitou:a,nagato:a,oshima:a,shimonoseki:a,shunan:a,tabuse:a,tokuyama:a,toyota:a,ube:a,yuu:a}],yamanashi:[1,{chuo:a,doshi:a,fuefuki:a,fujikawa:a,fujikawaguchiko:a,fujiyoshida:a,hayakawa:a,hokuto:a,ichikawamisato:a,kai:a,kofu:a,koshu:a,kosuge:a,"minami-alps":a,minobu:a,nakamichi:a,nanbu:a,narusawa:a,nirasaki:a,nishikatsura:a,oshino:a,otsuki:a,showa:a,tabayama:a,tsuru:a,uenohara:a,yamanakako:a,yamanashi:a}],"xn--4pvxs":a,"栃木":a,"xn--vgu402c":a,"愛知":a,"xn--c3s14m":a,"愛媛":a,"xn--f6qx53a":a,"兵庫":a,"xn--8pvr4u":a,"熊本":a,"xn--uist22h":a,"茨城":a,"xn--djrs72d6uy":a,"北海道":a,"xn--mkru45i":a,"千葉":a,"xn--0trq7p7nn":a,"和歌山":a,"xn--8ltr62k":a,"長崎":a,"xn--2m4a15e":a,"長野":a,"xn--efvn9s":a,"新潟":a,"xn--32vp30h":a,"青森":a,"xn--4it797k":a,"静岡":a,"xn--1lqs71d":a,"東京":a,"xn--5rtp49c":a,"石川":a,"xn--5js045d":a,"埼玉":a,"xn--ehqz56n":a,"三重":a,"xn--1lqs03n":a,"京都":a,"xn--qqqt11m":a,"佐賀":a,"xn--kbrq7o":a,"大分":a,"xn--pssu33l":a,"大阪":a,"xn--ntsq17g":a,"奈良":a,"xn--uisz3g":a,"宮城":a,"xn--6btw5a":a,"宮崎":a,"xn--1ctwo":a,"富山":a,"xn--6orx2r":a,"山口":a,"xn--rht61e":a,"山形":a,"xn--rht27z":a,"山梨":a,"xn--djty4k":a,"岩手":a,"xn--nit225k":a,"岐阜":a,"xn--rht3d":a,"岡山":a,"xn--klty5x":a,"島根":a,"xn--kltx9a":a,"広島":a,"xn--kltp7d":a,"徳島":a,"xn--uuwu58a":a,"沖縄":a,"xn--zbx025d":a,"滋賀":a,"xn--ntso0iqx3a":a,"神奈川":a,"xn--elqq16h":a,"福井":a,"xn--4it168d":a,"福岡":a,"xn--klt787d":a,"福島":a,"xn--rny31h":a,"秋田":a,"xn--7t0a264c":a,"群馬":a,"xn--5rtq34k":a,"香川":a,"xn--k7yn95e":a,"高知":a,"xn--tor131o":a,"鳥取":a,"xn--d5qv7z876c":a,"鹿児島":a,kawasaki:n,kitakyushu:n,kobe:n,nagoya:n,sapporo:n,sendai:n,yokohama:n,buyshop:e,fashionstore:e,handcrafted:e,kawaiishop:e,supersale:e,theshop:e,usercontent:e,angry:e,babyblue:e,babymilk:e,backdrop:e,bambina:e,bitter:e,blush:e,boo:e,boy:e,boyfriend:e,but:e,candypop:e,capoo:e,catfood:e,cheap:e,chicappa:e,chillout:e,chips:e,chowder:e,chu:e,ciao:e,cocotte:e,coolblog:e,cranky:e,cutegirl:e,daa:e,deca:e,deci:e,digick:e,egoism:e,fakefur:e,fem:e,flier:e,floppy:e,fool:e,frenchkiss:e,girlfriend:e,girly:e,gloomy:e,gonna:e,greater:e,hacca:e,heavy:e,her:e,hiho:e,hippy:e,holy:e,hungry:e,icurus:e,itigo:e,jellybean:e,kikirara:e,kill:e,kilo:e,kuron:e,littlestar:e,lolipopmc:e,lolitapunk:e,lomo:e,lovepop:e,lovesick:e,main:e,mods:e,mond:e,mongolian:e,moo:e,namaste:e,nikita:e,nobushi:e,noor:e,oops:e,parallel:e,parasite:e,pecori:e,peewee:e,penne:e,pepper:e,perma:e,pigboat:e,pinoko:e,punyu:e,pupu:e,pussycat:e,pya:e,raindrop:e,readymade:e,sadist:e,schoolbus:e,secret:e,staba:e,stripper:e,sub:e,sunnyday:e,thick:e,tonkotsu:e,under:e,upper:e,velvet:e,verse:e,versus:e,vivian:e,watson:e,weblike:e,whitesnow:e,zombie:e,blogspot:e,"2-d":e,bona:e,crap:e,daynight:e,eek:e,flop:e,halfmoon:e,jeez:e,matrix:e,mimoza:e,netgamers:e,nyanta:e,o0o0:e,rdy:e,rgr:e,rulez:e,sakurastorage:[0,{isk01:c,isk02:c}],saloon:e,sblo:e,skr:e,tank:e,"uh-oh":e,undo:e,webaccel:[0,{rs:e,user:e}],websozai:e,xii:e}],ke:[1,{ac:a,co:t,go:a,info:a,me:a,mobi:a,ne:a,or:a,sc:a}],kg:[1,{org:a,net:a,com:a,edu:a,gov:a,mil:a,blog:e,io:e,jp:e,tv:e,uk:e,us:e}],kh:n,ki:H,km:[1,{org:a,nom:a,gov:a,prd:a,tm:a,edu:a,mil:a,ass:a,com:a,coop:a,asso:a,presse:a,medecin:a,notaires:a,pharmaciens:a,veterinaire:a,gouv:a}],kn:[1,{net:a,org:a,edu:a,gov:a}],kp:[1,{com:a,edu:a,gov:a,org:a,rep:a,tra:a}],kr:[1,{ac:a,co:a,es:a,go:a,hs:a,kg:a,mil:a,ms:a,ne:a,or:a,pe:a,re:a,sc:a,busan:a,chungbuk:a,chungnam:a,daegu:a,daejeon:a,gangwon:a,gwangju:a,gyeongbuk:a,gyeonggi:a,gyeongnam:a,incheon:a,jeju:a,jeonbuk:a,jeonnam:a,seoul:a,ulsan:a,blogspot:e}],kw:[1,{com:a,edu:a,emb:a,gov:a,ind:a,net:a,org:a}],ky:$,kz:[1,{org:a,edu:a,net:a,gov:a,mil:a,com:a,jcloud:e,kazteleport:[0,{upaas:e}]}],la:[1,{int:a,net:a,info:a,edu:a,gov:a,per:a,com:a,org:a,bnr:e,c:e}],lb:i,lc:[1,{com:a,net:a,co:a,org:a,edu:a,gov:a,oy:e}],li:[1,{blogspot:e,caa:e}],lk:[1,{gov:a,sch:a,net:a,int:a,com:a,org:a,edu:a,ngo:a,soc:a,web:a,ltd:a,assn:a,grp:a,hotel:a,ac:a}],lr:i,ls:[1,{ac:a,biz:a,co:a,edu:a,gov:a,info:a,net:a,org:a,sc:a,de:e}],lt:U,lu:[1,{blogspot:e,"123website":e}],lv:[1,{com:a,edu:a,gov:a,org:a,mil:a,id:a,net:a,asn:a,conf:a}],ly:[1,{com:a,net:a,gov:a,plc:a,edu:a,sch:a,med:a,org:a,id:a}],ma:[1,{co:a,net:a,gov:a,org:a,ac:a,press:a}],mc:[1,{tm:a,asso:a}],md:[1,{blogspot:e,at:e,de:e,jp:e,to:e}],me:[1,{co:a,net:a,org:a,edu:a,ac:a,gov:a,its:a,priv:a,c66:e,daplie:[2,{localhost:e}],edgestack:e,filegear:e,"filegear-au":e,"filegear-de":e,"filegear-gb":e,"filegear-ie":e,"filegear-jp":e,"filegear-sg":e,glitch:e,ravendb:e,lohmus:e,barsy:e,mcpe:e,mcdir:e,soundcast:e,tcp4:e,brasilia:e,ddns:e,dnsfor:e,hopto:e,loginto:e,noip:e,webhop:e,vp4:e,diskstation:e,dscloud:e,i234:e,myds:e,synology:e,transip:z,wedeploy:e,yombo:e,nohost:e}],mg:[1,{org:a,nom:a,gov:a,prd:a,tm:a,edu:a,mil:a,com:a,co:a}],mh:a,mil:a,mk:[1,{com:a,org:a,net:a,edu:a,gov:a,inf:a,name:a,blogspot:e}],ml:[1,{com:a,edu:a,gouv:a,gov:a,net:a,org:a,presse:a}],mm:n,mn:[1,{gov:a,edu:a,org:a,nyc:e}],mo:i,mobi:[1,{barsy:e,dscloud:e}],mp:[1,{ju:e}],mq:a,mr:U,ms:[1,{com:a,edu:a,gov:a,net:a,org:a,lab:e,minisite:e}],mt:[1,{com:t,edu:a,net:a,org:a}],mu:[1,{com:a,net:a,org:a,gov:a,ac:a,co:a,or:a}],museum:a,mv:[1,{aero:a,biz:a,com:a,coop:a,edu:a,gov:a,info:a,int:a,mil:a,museum:a,name:a,net:a,org:a,pro:a}],mw:[1,{ac:a,biz:a,co:a,com:a,coop:a,edu:a,gov:a,int:a,museum:a,net:a,org:a}],mx:[1,{com:a,org:a,gob:a,edu:a,net:a,blogspot:e}],my:[1,{biz:a,com:a,edu:a,gov:a,mil:a,name:a,net:a,org:a,blogspot:e}],mz:[1,{ac:a,adv:a,co:a,edu:a,gov:a,mil:a,net:a,org:a}],na:[1,{info:a,pro:a,name:a,school:a,or:a,dr:a,us:a,mx:a,ca:a,in:a,cc:a,tv:a,ws:a,mobi:a,co:a,com:a,org:a}],name:[1,{her:N,his:N}],nc:[1,{asso:a,nom:a}],ne:a,net:[1,{adobeaemcloud:e,"adobeio-static":e,adobeioruntime:e,akadns:e,akamai:e,"akamai-staging":e,akamaiedge:e,"akamaiedge-staging":e,akamaihd:e,"akamaihd-staging":e,akamaiorigin:e,"akamaiorigin-staging":e,akamaized:e,"akamaized-staging":e,edgekey:e,"edgekey-staging":e,edgesuite:e,"edgesuite-staging":e,alwaysdata:e,myamaze:e,cloudfront:e,t3l3p0rt:e,appudo:e,"atlassian-dev":[0,{prod:[0,{cdn:e}]}],myfritz:e,onavstack:e,shopselect:e,blackbaudcdn:e,boomla:e,bplaced:e,square7:e,gb:e,hu:e,jp:e,se:e,uk:e,in:e,clickrising:e,cloudaccess:e,"cdn77-ssl":e,cdn77:[0,{r:e}],"feste-ip":e,"knx-server":e,"static-access":e,cryptonomic:o,dattolocal:e,mydatto:e,debian:e,bitbridge:e,"at-band-camp":e,blogdns:e,"broke-it":e,buyshouses:e,dnsalias:e,dnsdojo:e,"does-it":e,dontexist:e,dynalias:e,dynathome:e,endofinternet:e,"from-az":e,"from-co":e,"from-la":e,"from-ny":e,"gets-it":e,"ham-radio-op":e,homeftp:e,homeip:e,homelinux:e,homeunix:e,"in-the-band":e,"is-a-chef":e,"is-a-geek":e,"isa-geek":e,"kicks-ass":e,"office-on-the":e,podzone:e,"scrapper-site":e,selfip:e,"sells-it":e,servebbs:e,serveftp:e,thruhere:e,webhop:e,definima:e,casacam:e,dynu:e,dynv6:e,twmail:e,ru:e,channelsdvr:[2,{u:e}],fastlylb:[2,{map:e}],fastly:[0,{freetls:e,map:e,prod:[0,{a:e,global:e}],ssl:[0,{a:e,b:e,global:e}]}],edgeapp:e,flynnhosting:e,"cdn-edges":e,heteml:e,cloudfunctions:e,moonscale:e,"in-dsl":e,"in-vpn":e,ipifony:e,iobb:e,cloudjiffy:[2,{"fra1-de":e,"west1-us":e}],elastx:[0,{"jls-sto1":e,"jls-sto2":e,"jls-sto3":e}],faststacks:e,massivegrid:[0,{paas:[0,{"fr-1":e,"lon-1":e,"lon-2":e,"ny-1":e,"ny-2":e,"sg-1":e}]}],saveincloud:[0,{jelastic:e,"nordeste-idc":e}],scaleforce:_,tsukaeru:A,kinghost:e,uni5:e,krellian:e,barsy:e,memset:e,azurewebsites:e,"azure-mobile":e,cloudapp:e,azurestaticapps:[2,{1:e,2:e,3:e,centralus:e,eastasia:e,eastus2:e,westeurope:e,westus2:e}],dnsup:e,hicam:e,"now-dns":e,ownip:e,vpndns:e,"eating-organic":e,mydissent:e,myeffect:e,mymediapc:e,mypsx:e,mysecuritycamera:e,nhlfan:e,"no-ip":e,pgafan:e,privatizehealthinsurance:e,bounceme:e,ddns:e,redirectme:e,serveblog:e,serveminecraft:e,sytes:e,cloudycluster:e,ovh:[0,{webpaas:o,hosting:o}],bar0:e,bar1:e,bar2:e,rackmaze:e,squares:e,schokokeks:e,"firewall-gateway":e,seidat:e,senseering:e,siteleaf:e,"vps-host":[2,{jelastic:[0,{atl:e,njs:e,ric:e}]}],myspreadshop:e,srcf:[0,{soc:e,user:e}],supabase:e,dsmynas:e,familyds:e,tailscale:[0,{beta:e}],ts:e,torproject:[2,{pages:e}],"reserve-online":e,"community-pro":e,meinforum:e,yandexcloud:[2,{storage:e,website:e}],za:e}],nf:[1,{com:a,net:a,per:a,rec:a,web:a,arts:a,firm:a,info:a,other:a,store:a}],ng:[1,{com:t,edu:a,gov:a,i:a,mil:a,mobi:a,name:a,net:a,org:a,sch:a,col:e,firm:e,gen:e,ltd:e,ngo:e}],ni:[1,{ac:a,biz:a,co:a,com:a,edu:a,gob:a,in:a,info:a,int:a,mil:a,net:a,nom:a,org:a,web:a}],nl:[1,{co:e,"hosting-cluster":e,blogspot:e,gov:e,khplay:e,"123website":e,myspreadshop:e,transurl:o,cistron:e,demon:e}],no:[1,{fhs:a,vgs:a,fylkesbibl:a,folkebibl:a,museum:a,idrett:a,priv:a,mil:a,stat:a,dep:a,kommune:a,herad:a,aa:I,ah:I,bu:I,fm:I,hl:I,hm:I,"jan-mayen":I,mr:I,nl:I,nt:I,of:I,ol:I,oslo:I,rl:I,sf:I,st:I,svalbard:I,tm:I,tr:I,va:I,vf:I,akrehamn:a,"xn--krehamn-dxa":a,"åkrehamn":a,algard:a,"xn--lgrd-poac":a,"ålgård":a,arna:a,brumunddal:a,bryne:a,bronnoysund:a,"xn--brnnysund-m8ac":a,"brønnøysund":a,drobak:a,"xn--drbak-wua":a,"drøbak":a,egersund:a,fetsund:a,floro:a,"xn--flor-jra":a,"florø":a,fredrikstad:a,hokksund:a,honefoss:a,"xn--hnefoss-q1a":a,"hønefoss":a,jessheim:a,jorpeland:a,"xn--jrpeland-54a":a,"jørpeland":a,kirkenes:a,kopervik:a,krokstadelva:a,langevag:a,"xn--langevg-jxa":a,"langevåg":a,leirvik:a,mjondalen:a,"xn--mjndalen-64a":a,"mjøndalen":a,"mo-i-rana":a,mosjoen:a,"xn--mosjen-eya":a,"mosjøen":a,nesoddtangen:a,orkanger:a,osoyro:a,"xn--osyro-wua":a,"osøyro":a,raholt:a,"xn--rholt-mra":a,"råholt":a,sandnessjoen:a,"xn--sandnessjen-ogb":a,"sandnessjøen":a,skedsmokorset:a,slattum:a,spjelkavik:a,stathelle:a,stavern:a,stjordalshalsen:a,"xn--stjrdalshalsen-sqb":a,"stjørdalshalsen":a,tananger:a,tranby:a,vossevangen:a,afjord:a,"xn--fjord-lra":a,"åfjord":a,agdenes:a,al:a,"xn--l-1fa":a,"ål":a,alesund:a,"xn--lesund-hua":a,"ålesund":a,alstahaug:a,alta:a,"xn--lt-liac":a,"áltá":a,alaheadju:a,"xn--laheadju-7ya":a,"álaheadju":a,alvdal:a,amli:a,"xn--mli-tla":a,"åmli":a,amot:a,"xn--mot-tla":a,"åmot":a,andebu:a,andoy:a,"xn--andy-ira":a,"andøy":a,andasuolo:a,ardal:a,"xn--rdal-poa":a,"årdal":a,aremark:a,arendal:a,"xn--s-1fa":a,"ås":a,aseral:a,"xn--seral-lra":a,"åseral":a,asker:a,askim:a,askvoll:a,askoy:a,"xn--asky-ira":a,"askøy":a,asnes:a,"xn--snes-poa":a,"åsnes":a,audnedaln:a,aukra:a,aure:a,aurland:a,"aurskog-holand":a,"xn--aurskog-hland-jnb":a,"aurskog-høland":a,austevoll:a,austrheim:a,averoy:a,"xn--avery-yua":a,"averøy":a,balestrand:a,ballangen:a,balat:a,"xn--blt-elab":a,"bálát":a,balsfjord:a,bahccavuotna:a,"xn--bhccavuotna-k7a":a,"báhccavuotna":a,bamble:a,bardu:a,beardu:a,beiarn:a,bajddar:a,"xn--bjddar-pta":a,"bájddar":a,baidar:a,"xn--bidr-5nac":a,"báidár":a,berg:a,bergen:a,berlevag:a,"xn--berlevg-jxa":a,"berlevåg":a,bearalvahki:a,"xn--bearalvhki-y4a":a,"bearalváhki":a,bindal:a,birkenes:a,bjarkoy:a,"xn--bjarky-fya":a,"bjarkøy":a,bjerkreim:a,bjugn:a,bodo:a,"xn--bod-2na":a,"bodø":a,badaddja:a,"xn--bdddj-mrabd":a,"bådåddjå":a,budejju:a,bokn:a,bremanger:a,bronnoy:a,"xn--brnny-wuac":a,"brønnøy":a,bygland:a,bykle:a,barum:a,"xn--brum-voa":a,"bærum":a,telemark:[0,{bo:a,"xn--b-5ga":a,"bø":a}],nordland:[0,{bo:a,"xn--b-5ga":a,"bø":a,heroy:a,"xn--hery-ira":a,"herøy":a}],bievat:a,"xn--bievt-0qa":a,"bievát":a,bomlo:a,"xn--bmlo-gra":a,"bømlo":a,batsfjord:a,"xn--btsfjord-9za":a,"båtsfjord":a,bahcavuotna:a,"xn--bhcavuotna-s4a":a,"báhcavuotna":a,dovre:a,drammen:a,drangedal:a,dyroy:a,"xn--dyry-ira":a,"dyrøy":a,donna:a,"xn--dnna-gra":a,"dønna":a,eid:a,eidfjord:a,eidsberg:a,eidskog:a,eidsvoll:a,eigersund:a,elverum:a,enebakk:a,engerdal:a,etne:a,etnedal:a,evenes:a,evenassi:a,"xn--eveni-0qa01ga":a,"evenášši":a,"evje-og-hornnes":a,farsund:a,fauske:a,fuossko:a,fuoisku:a,fedje:a,fet:a,finnoy:a,"xn--finny-yua":a,"finnøy":a,fitjar:a,fjaler:a,fjell:a,flakstad:a,flatanger:a,flekkefjord:a,flesberg:a,flora:a,fla:a,"xn--fl-zia":a,"flå":a,folldal:a,forsand:a,fosnes:a,frei:a,frogn:a,froland:a,frosta:a,frana:a,"xn--frna-woa":a,"fræna":a,froya:a,"xn--frya-hra":a,"frøya":a,fusa:a,fyresdal:a,forde:a,"xn--frde-gra":a,"førde":a,gamvik:a,gangaviika:a,"xn--ggaviika-8ya47h":a,"gáŋgaviika":a,gaular:a,gausdal:a,gildeskal:a,"xn--gildeskl-g0a":a,"gildeskål":a,giske:a,gjemnes:a,gjerdrum:a,gjerstad:a,gjesdal:a,gjovik:a,"xn--gjvik-wua":a,"gjøvik":a,gloppen:a,gol:a,gran:a,grane:a,granvin:a,gratangen:a,grimstad:a,grong:a,kraanghke:a,"xn--kranghke-b0a":a,"kråanghke":a,grue:a,gulen:a,hadsel:a,halden:a,halsa:a,hamar:a,hamaroy:a,habmer:a,"xn--hbmer-xqa":a,"hábmer":a,hapmir:a,"xn--hpmir-xqa":a,"hápmir":a,hammerfest:a,hammarfeasta:a,"xn--hmmrfeasta-s4ac":a,"hámmárfeasta":a,haram:a,hareid:a,harstad:a,hasvik:a,aknoluokta:a,"xn--koluokta-7ya57h":a,"ákŋoluokta":a,hattfjelldal:a,aarborte:a,haugesund:a,hemne:a,hemnes:a,hemsedal:a,"more-og-romsdal":[0,{heroy:a,sande:a}],"xn--mre-og-romsdal-qqb":[0,{"xn--hery-ira":a,sande:a}],"møre-og-romsdal":[0,{"herøy":a,sande:a}],hitra:a,hjartdal:a,hjelmeland:a,hobol:a,"xn--hobl-ira":a,"hobøl":a,hof:a,hol:a,hole:a,holmestrand:a,holtalen:a,"xn--holtlen-hxa":a,"holtålen":a,hornindal:a,horten:a,hurdal:a,hurum:a,hvaler:a,hyllestad:a,hagebostad:a,"xn--hgebostad-g3a":a,"hægebostad":a,hoyanger:a,"xn--hyanger-q1a":a,"høyanger":a,hoylandet:a,"xn--hylandet-54a":a,"høylandet":a,ha:a,"xn--h-2fa":a,"hå":a,ibestad:a,inderoy:a,"xn--indery-fya":a,"inderøy":a,iveland:a,jevnaker:a,jondal:a,jolster:a,"xn--jlster-bya":a,"jølster":a,karasjok:a,karasjohka:a,"xn--krjohka-hwab49j":a,"kárášjohka":a,karlsoy:a,galsa:a,"xn--gls-elac":a,"gálsá":a,karmoy:a,"xn--karmy-yua":a,"karmøy":a,kautokeino:a,guovdageaidnu:a,klepp:a,klabu:a,"xn--klbu-woa":a,"klæbu":a,kongsberg:a,kongsvinger:a,kragero:a,"xn--krager-gya":a,"kragerø":a,kristiansand:a,kristiansund:a,krodsherad:a,"xn--krdsherad-m8a":a,"krødsherad":a,kvalsund:a,rahkkeravju:a,"xn--rhkkervju-01af":a,"ráhkkerávju":a,kvam:a,kvinesdal:a,kvinnherad:a,kviteseid:a,kvitsoy:a,"xn--kvitsy-fya":a,"kvitsøy":a,kvafjord:a,"xn--kvfjord-nxa":a,"kvæfjord":a,giehtavuoatna:a,kvanangen:a,"xn--kvnangen-k0a":a,"kvænangen":a,navuotna:a,"xn--nvuotna-hwa":a,"návuotna":a,kafjord:a,"xn--kfjord-iua":a,"kåfjord":a,gaivuotna:a,"xn--givuotna-8ya":a,"gáivuotna":a,larvik:a,lavangen:a,lavagis:a,loabat:a,"xn--loabt-0qa":a,"loabát":a,lebesby:a,davvesiida:a,leikanger:a,leirfjord:a,leka:a,leksvik:a,lenvik:a,leangaviika:a,"xn--leagaviika-52b":a,"leaŋgaviika":a,lesja:a,levanger:a,lier:a,lierne:a,lillehammer:a,lillesand:a,lindesnes:a,lindas:a,"xn--linds-pra":a,"lindås":a,lom:a,loppa:a,lahppi:a,"xn--lhppi-xqa":a,"láhppi":a,lund:a,lunner:a,luroy:a,"xn--lury-ira":a,"lurøy":a,luster:a,lyngdal:a,lyngen:a,ivgu:a,lardal:a,lerdal:a,"xn--lrdal-sra":a,"lærdal":a,lodingen:a,"xn--ldingen-q1a":a,"lødingen":a,lorenskog:a,"xn--lrenskog-54a":a,"lørenskog":a,loten:a,"xn--lten-gra":a,"løten":a,malvik:a,masoy:a,"xn--msy-ula0h":a,"måsøy":a,muosat:a,"xn--muost-0qa":a,"muosát":a,mandal:a,marker:a,marnardal:a,masfjorden:a,meland:a,meldal:a,melhus:a,meloy:a,"xn--mely-ira":a,"meløy":a,meraker:a,"xn--merker-kua":a,"meråker":a,moareke:a,"xn--moreke-jua":a,"moåreke":a,midsund:a,"midtre-gauldal":a,modalen:a,modum:a,molde:a,moskenes:a,moss:a,mosvik:a,malselv:a,"xn--mlselv-iua":a,"målselv":a,malatvuopmi:a,"xn--mlatvuopmi-s4a":a,"málatvuopmi":a,namdalseid:a,aejrie:a,namsos:a,namsskogan:a,naamesjevuemie:a,"xn--nmesjevuemie-tcba":a,"nååmesjevuemie":a,laakesvuemie:a,nannestad:a,narvik:a,narviika:a,naustdal:a,"nedre-eiker":a,akershus:T,buskerud:T,nesna:a,nesodden:a,nesseby:a,unjarga:a,"xn--unjrga-rta":a,"unjárga":a,nesset:a,nissedal:a,nittedal:a,"nord-aurdal":a,"nord-fron":a,"nord-odal":a,norddal:a,nordkapp:a,davvenjarga:a,"xn--davvenjrga-y4a":a,"davvenjárga":a,"nordre-land":a,nordreisa:a,raisa:a,"xn--risa-5na":a,"ráisa":a,"nore-og-uvdal":a,notodden:a,naroy:a,"xn--nry-yla5g":a,"nærøy":a,notteroy:a,"xn--nttery-byae":a,"nøtterøy":a,odda:a,oksnes:a,"xn--ksnes-uua":a,"øksnes":a,oppdal:a,oppegard:a,"xn--oppegrd-ixa":a,"oppegård":a,orkdal:a,orland:a,"xn--rland-uua":a,"ørland":a,orskog:a,"xn--rskog-uua":a,"ørskog":a,orsta:a,"xn--rsta-fra":a,"ørsta":a,hedmark:[0,{os:a,valer:a,"xn--vler-qoa":a,"våler":a}],hordaland:[0,{os:a}],osen:a,osteroy:a,"xn--ostery-fya":a,"osterøy":a,"ostre-toten":a,"xn--stre-toten-zcb":a,"østre-toten":a,overhalla:a,"ovre-eiker":a,"xn--vre-eiker-k8a":a,"øvre-eiker":a,oyer:a,"xn--yer-zna":a,"øyer":a,oygarden:a,"xn--ygarden-p1a":a,"øygarden":a,"oystre-slidre":a,"xn--ystre-slidre-ujb":a,"øystre-slidre":a,porsanger:a,porsangu:a,"xn--porsgu-sta26f":a,"porsáŋgu":a,porsgrunn:a,radoy:a,"xn--rady-ira":a,"radøy":a,rakkestad:a,rana:a,ruovat:a,randaberg:a,rauma:a,rendalen:a,rennebu:a,rennesoy:a,"xn--rennesy-v1a":a,"rennesøy":a,rindal:a,ringebu:a,ringerike:a,ringsaker:a,rissa:a,risor:a,"xn--risr-ira":a,"risør":a,roan:a,rollag:a,rygge:a,ralingen:a,"xn--rlingen-mxa":a,"rælingen":a,rodoy:a,"xn--rdy-0nab":a,"rødøy":a,romskog:a,"xn--rmskog-bya":a,"rømskog":a,roros:a,"xn--rros-gra":a,"røros":a,rost:a,"xn--rst-0na":a,"røst":a,royken:a,"xn--ryken-vua":a,"røyken":a,royrvik:a,"xn--ryrvik-bya":a,"røyrvik":a,rade:a,"xn--rde-ula":a,"råde":a,salangen:a,siellak:a,saltdal:a,salat:a,"xn--slt-elab":a,"sálát":a,"xn--slat-5na":a,"sálat":a,samnanger:a,vestfold:[0,{sande:a}],sandefjord:a,sandnes:a,sandoy:a,"xn--sandy-yua":a,"sandøy":a,sarpsborg:a,sauda:a,sauherad:a,sel:a,selbu:a,selje:a,seljord:a,sigdal:a,siljan:a,sirdal:a,skaun:a,skedsmo:a,ski:a,skien:a,skiptvet:a,skjervoy:a,"xn--skjervy-v1a":a,"skjervøy":a,skierva:a,"xn--skierv-uta":a,"skiervá":a,skjak:a,"xn--skjk-soa":a,"skjåk":a,skodje:a,skanland:a,"xn--sknland-fxa":a,"skånland":a,skanit:a,"xn--sknit-yqa":a,"skánit":a,smola:a,"xn--smla-hra":a,"smøla":a,snillfjord:a,snasa:a,"xn--snsa-roa":a,"snåsa":a,snoasa:a,snaase:a,"xn--snase-nra":a,"snåase":a,sogndal:a,sokndal:a,sola:a,solund:a,songdalen:a,sortland:a,spydeberg:a,stange:a,stavanger:a,steigen:a,steinkjer:a,stjordal:a,"xn--stjrdal-s1a":a,"stjørdal":a,stokke:a,"stor-elvdal":a,stord:a,stordal:a,storfjord:a,omasvuotna:a,strand:a,stranda:a,stryn:a,sula:a,suldal:a,sund:a,sunndal:a,surnadal:a,sveio:a,svelvik:a,sykkylven:a,sogne:a,"xn--sgne-gra":a,"søgne":a,somna:a,"xn--smna-gra":a,"sømna":a,"sondre-land":a,"xn--sndre-land-0cb":a,"søndre-land":a,"sor-aurdal":a,"xn--sr-aurdal-l8a":a,"sør-aurdal":a,"sor-fron":a,"xn--sr-fron-q1a":a,"sør-fron":a,"sor-odal":a,"xn--sr-odal-q1a":a,"sør-odal":a,"sor-varanger":a,"xn--sr-varanger-ggb":a,"sør-varanger":a,"matta-varjjat":a,"xn--mtta-vrjjat-k7af":a,"mátta-várjjat":a,sorfold:a,"xn--srfold-bya":a,"sørfold":a,sorreisa:a,"xn--srreisa-q1a":a,"sørreisa":a,sorum:a,"xn--srum-gra":a,"sørum":a,tana:a,deatnu:a,time:a,tingvoll:a,tinn:a,tjeldsund:a,dielddanuorri:a,tjome:a,"xn--tjme-hra":a,"tjøme":a,tokke:a,tolga:a,torsken:a,tranoy:a,"xn--trany-yua":a,"tranøy":a,tromso:a,"xn--troms-zua":a,"tromsø":a,tromsa:a,romsa:a,trondheim:a,troandin:a,trysil:a,trana:a,"xn--trna-woa":a,"træna":a,trogstad:a,"xn--trgstad-r1a":a,"trøgstad":a,tvedestrand:a,tydal:a,tynset:a,tysfjord:a,divtasvuodna:a,divttasvuotna:a,tysnes:a,tysvar:a,"xn--tysvr-vra":a,"tysvær":a,tonsberg:a,"xn--tnsberg-q1a":a,"tønsberg":a,ullensaker:a,ullensvang:a,ulvik:a,utsira:a,vadso:a,"xn--vads-jra":a,"vadsø":a,cahcesuolo:a,"xn--hcesuolo-7ya35b":a,"čáhcesuolo":a,vaksdal:a,valle:a,vang:a,vanylven:a,vardo:a,"xn--vard-jra":a,"vardø":a,varggat:a,"xn--vrggt-xqad":a,"várggát":a,vefsn:a,vaapste:a,vega:a,vegarshei:a,"xn--vegrshei-c0a":a,"vegårshei":a,vennesla:a,verdal:a,verran:a,vestby:a,vestnes:a,"vestre-slidre":a,"vestre-toten":a,vestvagoy:a,"xn--vestvgy-ixa6o":a,"vestvågøy":a,vevelstad:a,vik:a,vikna:a,vindafjord:a,volda:a,voss:a,varoy:a,"xn--vry-yla5g":a,"værøy":a,vagan:a,"xn--vgan-qoa":a,"vågan":a,voagat:a,vagsoy:a,"xn--vgsy-qoa0j":a,"vågsøy":a,vaga:a,"xn--vg-yiab":a,"vågå":a,ostfold:[0,{valer:a}],"xn--stfold-9xa":[0,{"xn--vler-qoa":a}],"østfold":[0,{"våler":a}],co:e,blogspot:e,"123hjemmeside":e,myspreadshop:e}],np:n,nr:H,nu:[1,{merseine:e,mine:e,shacknet:e,enterprisecloud:e}],nz:[1,{ac:a,co:t,cri:a,geek:a,gen:a,govt:a,health:a,iwi:a,kiwi:a,maori:a,mil:a,"xn--mori-qsa":a,"māori":a,net:a,org:a,parliament:a,school:a}],om:[1,{co:a,com:a,edu:a,gov:a,med:a,museum:a,net:a,org:a,pro:a}],onion:a,org:[1,{altervista:e,amune:[0,{tele:e}],pimienta:e,poivron:e,potager:e,sweetpepper:e,ae:e,us:e,certmgr:e,cdn77:[0,{c:e,rsc:e}],"cdn77-secure":[0,{origin:[0,{ssl:e}]}],cloudns:e,duckdns:e,tunk:e,dyndns:[2,{go:e,home:e}],blogdns:e,blogsite:e,boldlygoingnowhere:e,dnsalias:e,dnsdojo:e,doesntexist:e,dontexist:e,doomdns:e,dvrdns:e,dynalias:e,endofinternet:e,endoftheinternet:e,"from-me":e,"game-host":e,gotdns:e,"hobby-site":e,homedns:e,homeftp:e,homelinux:e,homeunix:e,"is-a-bruinsfan":e,"is-a-candidate":e,"is-a-celticsfan":e,"is-a-chef":e,"is-a-geek":e,"is-a-knight":e,"is-a-linux-user":e,"is-a-patsfan":e,"is-a-soxfan":e,"is-found":e,"is-lost":e,"is-saved":e,"is-very-bad":e,"is-very-evil":e,"is-very-good":e,"is-very-nice":e,"is-very-sweet":e,"isa-geek":e,"kicks-ass":e,misconfused:e,podzone:e,readmyblog:e,selfip:e,sellsyourhome:e,servebbs:e,serveftp:e,servegame:e,"stuff-4-sale":e,webhop:e,ddnss:e,accesscam:e,camdvr:e,freeddns:e,mywire:e,webredirect:e,eu:[2,{al:e,asso:e,at:e,au:e,be:e,bg:e,ca:e,cd:e,ch:e,cn:e,cy:e,cz:e,de:e,dk:e,edu:e,ee:e,es:e,fi:e,fr:e,gr:e,hr:e,hu:e,ie:e,il:e,in:e,int:e,is:e,it:e,jp:e,kr:e,lt:e,lu:e,lv:e,mc:e,me:e,mk:e,mt:e,my:e,net:e,ng:e,nl:e,no:e,nz:e,paris:e,pl:e,pt:e,"q-a":e,ro:e,ru:e,se:e,si:e,sk:e,tr:e,uk:e,us:e}],twmail:e,fedorainfracloud:e,fedorapeople:e,fedoraproject:[0,{cloud:e,os:w,stg:[0,{os:w}]}],freedesktop:e,hepforge:e,"in-dsl":e,"in-vpn":e,js:e,barsy:e,mayfirst:e,"mozilla-iot":e,bmoattachments:e,dynserv:e,"now-dns":e,"cable-modem":e,collegefan:e,couchpotatofries:e,mlbfan:e,mysecuritycamera:e,nflfan:e,"read-books":e,ufcfan:e,hopto:e,myftp:e,"no-ip":e,zapto:e,httpbin:e,pubtls:e,jpn:e,"my-firewall":e,myfirewall:e,spdns:e,"small-web":e,dsmynas:e,familyds:e,teckids:c,tuxfamily:e,diskstation:e,hk:e,wmflabs:e,toolforge:e,wmcloud:e,za:e}],pa:[1,{ac:a,gob:a,com:a,org:a,sld:a,edu:a,net:a,ing:a,abo:a,med:a,nom:a}],pe:[1,{edu:a,gob:a,nom:a,mil:a,org:a,com:a,net:a,blogspot:e}],pf:[1,{com:a,org:a,edu:a}],pg:n,ph:[1,{com:a,net:a,org:a,gov:a,edu:a,ngo:a,mil:a,i:a}],pk:[1,{com:a,net:a,edu:a,org:a,fam:a,biz:a,web:a,gov:a,gob:a,gok:a,gon:a,gop:a,gos:a,info:a}],pl:[1,{com:a,net:a,org:a,aid:a,agro:a,atm:a,auto:a,biz:a,edu:a,gmina:a,gsm:a,info:a,mail:a,miasta:a,media:a,mil:a,nieruchomosci:a,nom:a,pc:a,powiat:a,priv:a,realestate:a,rel:a,sex:a,shop:a,sklep:a,sos:a,szkola:a,targi:a,tm:a,tourism:a,travel:a,turystyka:a,gov:[1,{ap:a,griw:a,ic:a,is:a,kmpsp:a,konsulat:a,kppsp:a,kwp:a,kwpsp:a,mup:a,mw:a,oia:a,oirm:a,oke:a,oow:a,oschr:a,oum:a,pa:a,pinb:a,piw:a,po:a,pr:a,psp:a,psse:a,pup:a,rzgw:a,sa:a,sdn:a,sko:a,so:a,sr:a,starostwo:a,ug:a,ugim:a,um:a,umig:a,upow:a,uppo:a,us:a,uw:a,uzs:a,wif:a,wiih:a,winb:a,wios:a,witd:a,wiw:a,wkz:a,wsa:a,wskr:a,wsse:a,wuoz:a,wzmiuw:a,zp:a,zpisdn:a}],augustow:a,"babia-gora":a,bedzin:a,beskidy:a,bialowieza:a,bialystok:a,bielawa:a,bieszczady:a,boleslawiec:a,bydgoszcz:a,bytom:a,cieszyn:a,czeladz:a,czest:a,dlugoleka:a,elblag:a,elk:a,glogow:a,gniezno:a,gorlice:a,grajewo:a,ilawa:a,jaworzno:a,"jelenia-gora":a,jgora:a,kalisz:a,"kazimierz-dolny":a,karpacz:a,kartuzy:a,kaszuby:a,katowice:a,kepno:a,ketrzyn:a,klodzko:a,kobierzyce:a,kolobrzeg:a,konin:a,konskowola:a,kutno:a,lapy:a,lebork:a,legnica:a,lezajsk:a,limanowa:a,lomza:a,lowicz:a,lubin:a,lukow:a,malbork:a,malopolska:a,mazowsze:a,mazury:a,mielec:a,mielno:a,mragowo:a,naklo:a,nowaruda:a,nysa:a,olawa:a,olecko:a,olkusz:a,olsztyn:a,opoczno:a,opole:a,ostroda:a,ostroleka:a,ostrowiec:a,ostrowwlkp:a,pila:a,pisz:a,podhale:a,podlasie:a,polkowice:a,pomorze:a,pomorskie:a,prochowice:a,pruszkow:a,przeworsk:a,pulawy:a,radom:a,"rawa-maz":a,rybnik:a,rzeszow:a,sanok:a,sejny:a,slask:a,slupsk:a,sosnowiec:a,"stalowa-wola":a,skoczow:a,starachowice:a,stargard:a,suwalki:a,swidnica:a,swiebodzin:a,swinoujscie:a,szczecin:a,szczytno:a,tarnobrzeg:a,tgory:a,turek:a,tychy:a,ustka:a,walbrzych:a,warmia:a,warszawa:a,waw:a,wegrow:a,wielun:a,wlocl:a,wloclawek:a,wodzislaw:a,wolomin:a,wroclaw:a,zachpomor:a,zagan:a,zarow:a,zgora:a,zgorzelec:a,beep:e,"ecommerce-shop":e,shoparena:e,homesklep:e,sdscloud:e,unicloud:e,krasnik:e,leczna:e,lubartow:e,lublin:e,poniatowa:e,swidnik:e,co:e,simplesite:e,art:e,gliwice:e,krakow:e,poznan:e,wroc:e,zakopane:e,myspreadshop:e,gda:e,gdansk:e,gdynia:e,med:e,sopot:e}],pm:[1,{own:e,name:e}],pn:[1,{gov:a,co:a,org:a,edu:a,net:a}],post:a,pr:[1,{com:a,net:a,org:a,gov:a,edu:a,isla:a,pro:a,biz:a,info:a,name:a,est:a,prof:a,ac:a}],pro:[1,{aaa:a,aca:a,acct:a,avocat:a,bar:a,cpa:a,eng:a,jur:a,law:a,med:a,recht:a,cloudns:e,dnstrace:[0,{bci:e}],barsy:e}],ps:[1,{edu:a,gov:a,sec:a,plo:a,com:a,org:a,net:a}],pt:[1,{net:a,gov:a,org:a,edu:a,int:a,publ:a,com:a,nome:a,blogspot:e,"123paginaweb":e}],pw:[1,{co:a,ne:a,or:a,ed:a,go:a,belau:a,cloudns:e,x443:e}],py:[1,{com:a,coop:a,edu:a,gov:a,mil:a,net:a,org:a}],qa:[1,{com:a,edu:a,gov:a,mil:a,name:a,net:a,org:a,sch:a,blogspot:e}],re:[1,{asso:a,com:a,nom:a,blogspot:e}],ro:[1,{arts:a,com:a,firm:a,info:a,nom:a,nt:a,org:a,rec:a,store:a,tm:a,www:a,co:e,shop:e,blogspot:e,barsy:e}],rs:[1,{ac:a,co:a,edu:a,gov:a,in:a,org:a,brendly:[0,{shop:e}],blogspot:e,ua:e,ox:e}],ru:[1,{ac:e,edu:e,gov:e,int:e,mil:e,test:e,eurodir:e,adygeya:e,bashkiria:e,bir:e,cbg:e,com:e,dagestan:e,grozny:e,kalmykia:e,kustanai:e,marine:e,mordovia:e,msk:e,mytis:e,nalchik:e,nov:e,pyatigorsk:e,spb:e,vladikavkaz:e,vladimir:e,blogspot:e,na4u:e,mircloud:e,regruhosting:A,myjino:[2,{hosting:o,landing:o,spectrum:o,vps:o}],cldmail:[0,{hb:e}],mcdir:[2,{vps:e}],mcpre:e,net:e,org:e,pp:e,"123sait":e,lk3:e,ras:e}],rw:[1,{ac:a,co:a,coop:a,gov:a,mil:a,net:a,org:a}],sa:[1,{com:a,net:a,org:a,gov:a,med:a,pub:a,edu:a,sch:a}],sb:i,sc:i,sd:[1,{com:a,net:a,org:a,edu:a,med:a,tv:a,gov:a,info:a}],se:[1,{a:a,ac:a,b:a,bd:a,brand:a,c:a,d:a,e:a,f:a,fh:a,fhsk:a,fhv:a,g:a,h:a,i:a,k:a,komforb:a,kommunalforbund:a,komvux:a,l:a,lanbib:a,m:a,n:a,naturbruksgymn:a,o:a,org:a,p:a,parti:a,pp:a,press:a,r:a,s:a,t:a,tm:a,u:a,w:a,x:a,y:a,z:a,com:e,blogspot:e,conf:e,iopsys:e,"123minsida":e,itcouldbewor:e,myspreadshop:e,paba:[0,{su:e}]}],sg:[1,{com:a,net:a,org:a,gov:a,edu:a,per:a,blogspot:e,enscaled:e}],sh:[1,{com:a,net:a,gov:a,org:a,mil:a,bip:e,hashbang:e,platform:[0,{bc:e,ent:e,eu:e,us:e}],now:e,vxl:e,wedeploy:e}],si:[1,{gitapp:e,gitpage:e,blogspot:e}],sj:a,sk:t,sl:i,sm:a,sn:[1,{art:a,com:a,edu:a,gouv:a,org:a,perso:a,univ:a,blogspot:e}],so:[1,{com:a,edu:a,gov:a,me:a,net:a,org:a,sch:e}],sr:a,ss:[1,{biz:a,com:a,edu:a,gov:a,me:a,net:a,org:a,sch:a}],st:[1,{co:a,com:a,consulado:a,edu:a,embaixada:a,mil:a,net:a,org:a,principe:a,saotome:a,store:a,kirara:e,noho:e}],su:[1,{abkhazia:e,adygeya:e,aktyubinsk:e,arkhangelsk:e,armenia:e,ashgabad:e,azerbaijan:e,balashov:e,bashkiria:e,bryansk:e,bukhara:e,chimkent:e,dagestan:e,"east-kazakhstan":e,exnet:e,georgia:e,grozny:e,ivanovo:e,jambyl:e,kalmykia:e,kaluga:e,karacol:e,karaganda:e,karelia:e,khakassia:e,krasnodar:e,kurgan:e,kustanai:e,lenug:e,mangyshlak:e,mordovia:e,msk:e,murmansk:e,nalchik:e,navoi:e,"north-kazakhstan":e,nov:e,obninsk:e,penza:e,pokrovsk:e,sochi:e,spb:e,tashkent:e,termez:e,togliatti:e,troitsk:e,tselinograd:e,tula:e,tuva:e,vladikavkaz:e,vladimir:e,vologda:e}],sv:[1,{com:a,edu:a,gob:a,org:a,red:a}],sx:s,sy:P,sz:[1,{co:a,ac:a,org:a}],tc:[1,{ch:e,me:e,we:e}],td:t,tel:a,tf:[1,{sch:e}],tg:a,th:[1,{ac:a,co:a,go:a,in:a,mi:a,net:a,or:a,online:e,shop:e}],tj:[1,{ac:a,biz:a,co:a,com:a,edu:a,go:a,gov:a,int:a,mil:a,name:a,net:a,nic:a,org:a,test:a,web:a}],tk:a,tl:s,tm:[1,{com:a,co:a,org:a,net:a,nom:a,gov:a,mil:a,edu:a}],tn:[1,{com:a,ens:a,fin:a,gov:a,ind:a,info:a,intl:a,mincom:a,nat:a,net:a,org:a,perso:a,tourism:a,orangecloud:e}],to:[1,{611:e,com:a,gov:a,net:a,org:a,edu:a,mil:a,oya:e,rdv:e,x0:e,vpnplus:e,quickconnect:m,nyan:e}],tr:[1,{av:a,bbs:a,bel:a,biz:a,com:t,dr:a,edu:a,gen:a,gov:a,info:a,mil:a,k12:a,kep:a,name:a,net:a,org:a,pol:a,tel:a,tsk:a,tv:a,web:a,nc:s}],tt:[1,{co:a,com:a,org:a,net:a,biz:a,info:a,pro:a,int:a,coop:a,jobs:a,mobi:a,travel:a,museum:a,aero:a,name:a,gov:a,edu:a}],tv:[1,{dyndns:e,"better-than":e,"on-the-web":e,"worse-than":e,from:e,sakura:e}],tw:[1,{edu:a,gov:a,mil:a,com:[1,{mymailer:e}],net:a,org:a,idv:a,game:a,ebiz:a,club:a,"xn--zf0ao64a":a,"網路":a,"xn--uc0atv":a,"組織":a,"xn--czrw28b":a,"商業":a,url:e,blogspot:e}],tz:[1,{ac:a,co:a,go:a,hotel:a,info:a,me:a,mil:a,mobi:a,ne:a,or:a,sc:a,tv:a}],ua:[1,{com:a,edu:a,gov:a,in:a,net:a,org:a,cherkassy:a,cherkasy:a,chernigov:a,chernihiv:a,chernivtsi:a,chernovtsy:a,ck:a,cn:a,cr:a,crimea:a,cv:a,dn:a,dnepropetrovsk:a,dnipropetrovsk:a,donetsk:a,dp:a,if:a,"ivano-frankivsk":a,kh:a,kharkiv:a,kharkov:a,kherson:a,khmelnitskiy:a,khmelnytskyi:a,kiev:a,kirovograd:a,km:a,kr:a,kropyvnytskyi:a,krym:a,ks:a,kv:a,kyiv:a,lg:a,lt:a,lugansk:a,lutsk:a,lv:a,lviv:a,mk:a,mykolaiv:a,nikolaev:a,od:a,odesa:a,odessa:a,pl:a,poltava:a,rivne:a,rovno:a,rv:a,sb:a,sebastopol:a,sevastopol:a,sm:a,sumy:a,te:a,ternopil:a,uz:a,uzhgorod:a,vinnica:a,vinnytsia:a,vn:a,volyn:a,yalta:a,zaporizhzhe:a,zaporizhzhia:a,zhitomir:a,zhytomyr:a,zp:a,zt:a,cc:e,inf:e,ltd:e,cx:e,ie:e,biz:e,co:e,pp:e,v:e}],ug:[1,{co:a,or:a,ac:a,sc:a,go:a,ne:a,com:a,org:a,blogspot:e}],uk:[1,{ac:a,co:[1,{bytemark:[0,{dh:e,vm:e}],blogspot:e,layershift:_,barsy:e,barsyonline:e,retrosnub:E,"nh-serv":e,"no-ip":e,wellbeingzone:e,adimo:e,myspreadshop:e}],gov:[1,{campaign:e,service:e,api:e,homeoffice:e}],ltd:a,me:a,net:a,nhs:a,org:[1,{glug:e,lug:e,lugs:e,affinitylottery:e,raffleentry:e,weeklylottery:e}],plc:a,police:a,sch:n,conn:e,copro:e,hosp:e,"independent-commission":e,"independent-inquest":e,"independent-inquiry":e,"independent-panel":e,"independent-review":e,"public-inquiry":e,"royal-commission":e,pymnt:e,barsy:e}],us:[1,{dni:a,fed:a,isa:a,kids:a,nsn:a,ak:R,al:R,ar:R,as:R,az:R,ca:R,co:R,ct:R,dc:R,de:[1,{k12:a,cc:a,lib:e}],fl:R,ga:R,gu:R,hi:D,ia:R,id:R,il:R,in:R,ks:R,ky:R,la:R,ma:[1,{k12:[1,{pvt:a,chtr:a,paroch:a}],cc:a,lib:a}],md:R,me:R,mi:[1,{k12:a,cc:a,lib:a,"ann-arbor":a,cog:a,dst:a,eaton:a,gen:a,mus:a,tec:a,washtenaw:a}],mn:R,mo:R,ms:R,mt:R,nc:R,nd:D,ne:R,nh:R,nj:R,nm:R,nv:R,ny:R,oh:R,ok:R,or:R,pa:R,pr:R,ri:D,sc:R,sd:D,tn:R,tx:R,ut:R,vi:R,vt:R,va:R,wa:R,wi:R,wv:[1,{cc:a}],wy:R,graphox:e,cloudns:e,drud:e,"is-by":e,"land-4-sale":e,"stuff-4-sale":e,enscaled:[0,{phx:e}],mircloud:e,freeddns:e,golffan:e,noip:e,pointto:e,platterp:e}],uy:[1,{com:t,edu:a,gub:a,mil:a,net:a,org:a}],uz:[1,{co:a,com:a,net:a,org:a}],va:a,vc:[1,{com:a,net:a,org:a,gov:a,mil:a,edu:a,gv:[2,{d:e}],"0e":e}],ve:[1,{arts:a,bib:a,co:a,com:a,e12:a,edu:a,firm:a,gob:a,gov:a,info:a,int:a,mil:a,net:a,nom:a,org:a,rar:a,rec:a,store:a,tec:a,web:a}],vg:[1,{at:e}],vi:[1,{co:a,com:a,k12:a,net:a,org:a}],vn:[1,{ac:a,ai:a,biz:a,com:a,edu:a,gov:a,health:a,id:a,info:a,int:a,io:a,name:a,net:a,org:a,pro:a,angiang:a,bacgiang:a,backan:a,baclieu:a,bacninh:a,"baria-vungtau":a,bentre:a,binhdinh:a,binhduong:a,binhphuoc:a,binhthuan:a,camau:a,cantho:a,caobang:a,daklak:a,daknong:a,danang:a,dienbien:a,dongnai:a,dongthap:a,gialai:a,hagiang:a,haiduong:a,haiphong:a,hanam:a,hanoi:a,hatinh:a,haugiang:a,hoabinh:a,hungyen:a,khanhhoa:a,kiengiang:a,kontum:a,laichau:a,lamdong:a,langson:a,laocai:a,longan:a,namdinh:a,nghean:a,ninhbinh:a,ninhthuan:a,phutho:a,phuyen:a,quangbinh:a,quangnam:a,quangngai:a,quangninh:a,quangtri:a,soctrang:a,sonla:a,tayninh:a,thaibinh:a,thainguyen:a,thanhhoa:a,thanhphohochiminh:a,thuathienhue:a,tiengiang:a,travinh:a,tuyenquang:a,vinhlong:a,vinhphuc:a,yenbai:a,blogspot:e}],vu:[1,{com:a,edu:a,net:a,org:a,cn:e,blog:e,dev:e,me:e}],wf:[1,{biz:e,sch:e}],ws:[1,{com:a,net:a,org:a,gov:a,edu:a,advisor:o,cloud66:e,dyndns:e,mypets:e}],yt:[1,{org:e}],"xn--mgbaam7a8h":a,"امارات":a,"xn--y9a3aq":a,"հայ":a,"xn--54b7fta0cc":a,"বাংলা":a,"xn--90ae":a,"бг":a,"xn--mgbcpq6gpa1a":a,"البحرين":a,"xn--90ais":a,"бел":a,"xn--fiqs8s":a,"中国":a,"xn--fiqz9s":a,"中國":a,"xn--lgbbat1ad8j":a,"الجزائر":a,"xn--wgbh1c":a,"مصر":a,"xn--e1a4c":a,"ею":a,"xn--qxa6a":a,"ευ":a,"xn--mgbah1a3hjkrd":a,"موريتانيا":a,"xn--node":a,"გე":a,"xn--qxam":a,"ελ":a,"xn--j6w193g":[1,{"xn--55qx5d":a,"xn--wcvs22d":a,"xn--mxtq1m":a,"xn--gmqw5a":a,"xn--od0alg":a,"xn--uc0atv":a}],"香港":[1,{"公司":a,"教育":a,"政府":a,"個人":a,"網絡":a,"組織":a}],"xn--2scrj9c":a,"ಭಾರತ":a,"xn--3hcrj9c":a,"ଭାରତ":a,"xn--45br5cyl":a,"ভাৰত":a,"xn--h2breg3eve":a,"भारतम्":a,"xn--h2brj9c8c":a,"भारोत":a,"xn--mgbgu82a":a,"ڀارت":a,"xn--rvc1e0am3e":a,"ഭാരതം":a,"xn--h2brj9c":a,"भारत":a,"xn--mgbbh1a":a,"بارت":a,"xn--mgbbh1a71e":a,"بھارت":a,"xn--fpcrj9c3d":a,"భారత్":a,"xn--gecrj9c":a,"ભારત":a,"xn--s9brj9c":a,"ਭਾਰਤ":a,"xn--45brj9c":a,"ভারত":a,"xn--xkc2dl3a5ee0h":a,"இந்தியா":a,"xn--mgba3a4f16a":a,"ایران":a,"xn--mgba3a4fra":a,"ايران":a,"xn--mgbtx2b":a,"عراق":a,"xn--mgbayh7gpa":a,"الاردن":a,"xn--3e0b707e":a,"한국":a,"xn--80ao21a":a,"қаз":a,"xn--q7ce6a":a,"ລາວ":a,"xn--fzc2c9e2c":a,"ලංකා":a,"xn--xkc2al3hye2a":a,"இலங்கை":a,"xn--mgbc0a9azcg":a,"المغرب":a,"xn--d1alf":a,"мкд":a,"xn--l1acc":a,"мон":a,"xn--mix891f":a,"澳門":a,"xn--mix082f":a,"澳门":a,"xn--mgbx4cd0ab":a,"مليسيا":a,"xn--mgb9awbf":a,"عمان":a,"xn--mgbai9azgqp6j":a,"پاکستان":a,"xn--mgbai9a5eva00b":a,"پاكستان":a,"xn--ygbi2ammx":a,"فلسطين":a,"xn--90a3ac":[1,{"xn--o1ac":a,"xn--c1avg":a,"xn--90azh":a,"xn--d1at":a,"xn--o1ach":a,"xn--80au":a}],"срб":[1,{"пр":a,"орг":a,"обр":a,"од":a,"упр":a,"ак":a}],"xn--p1ai":a,"рф":a,"xn--wgbl6a":a,"قطر":a,"xn--mgberp4a5d4ar":a,"السعودية":a,"xn--mgberp4a5d4a87g":a,"السعودیة":a,"xn--mgbqly7c0a67fbc":a,"السعودیۃ":a,"xn--mgbqly7cvafr":a,"السعوديه":a,"xn--mgbpl2fh":a,"سودان":a,"xn--yfro4i67o":a,"新加坡":a,"xn--clchc0ea0b2g2a9gcd":a,"சிங்கப்பூர்":a,"xn--ogbpf8fl":a,"سورية":a,"xn--mgbtf8fl":a,"سوريا":a,"xn--o3cw4h":[1,{"xn--12c1fe0br":a,"xn--12co0c3b4eva":a,"xn--h3cuzk1di":a,"xn--o3cyx2a":a,"xn--m3ch0j3a":a,"xn--12cfi8ixb8l":a}],"ไทย":[1,{"ศึกษา":a,"ธุรกิจ":a,"รัฐบาล":a,"ทหาร":a,"เน็ต":a,"องค์กร":a}],"xn--pgbs0dh":a,"تونس":a,"xn--kpry57d":a,"台灣":a,"xn--kprw13d":a,"台湾":a,"xn--nnx388a":a,"臺灣":a,"xn--j1amh":a,"укр":a,"xn--mgb2ddes":a,"اليمن":a,xxx:a,ye:P,za:[0,{ac:a,agric:a,alt:a,co:t,edu:a,gov:a,grondar:a,law:a,mil:a,net:a,ngo:a,nic:a,nis:a,nom:a,org:a,school:a,tm:a,web:a}],zm:[1,{ac:a,biz:a,co:a,com:a,edu:a,gov:a,info:a,mil:a,net:a,org:a,sch:a}],zw:[1,{ac:a,co:a,gov:a,mil:a,org:a}],aaa:a,aarp:a,abb:a,abbott:a,abbvie:a,abc:a,able:a,abogado:a,abudhabi:a,academy:[1,{official:e}],accenture:a,accountant:a,accountants:a,aco:a,actor:a,ads:a,adult:a,aeg:a,aetna:a,afl:a,africa:a,agakhan:a,agency:a,aig:a,airbus:a,airforce:a,airtel:a,akdn:a,alibaba:a,alipay:a,allfinanz:a,allstate:a,ally:a,alsace:a,alstom:a,amazon:a,americanexpress:a,americanfamily:a,amex:a,amfam:a,amica:a,amsterdam:a,analytics:a,android:a,anquan:a,anz:a,aol:a,apartments:a,app:[1,{beget:o,clerk:e,clerkstage:e,wnext:e,platform0:e,deta:e,ondigitalocean:e,easypanel:e,encr:e,edgecompute:e,fireweb:e,onflashdrive:e,framer:e,run:[2,{a:e}],web:e,hasura:e,loginline:e,messerli:e,netlify:e,ngrok:e,"ngrok-free":e,developer:o,noop:e,northflank:o,snowflake:[2,{privatelink:e}],streamlit:e,storipress:e,telebit:e,typedream:e,vercel:e,bookonline:e}],apple:a,aquarelle:a,arab:a,aramco:a,archi:a,army:a,art:a,arte:a,asda:a,associates:a,athleta:a,attorney:a,auction:a,audi:a,audible:a,audio:a,auspost:a,author:a,auto:a,autos:a,avianca:a,aws:a,axa:a,azure:a,baby:a,baidu:a,banamex:a,bananarepublic:a,band:a,bank:a,bar:a,barcelona:a,barclaycard:a,barclays:a,barefoot:a,bargains:a,baseball:a,basketball:[1,{aus:e,nz:e}],bauhaus:a,bayern:a,bbc:a,bbt:a,bbva:a,bcg:a,bcn:a,beats:a,beauty:a,beer:a,bentley:a,berlin:a,best:a,bestbuy:a,bet:a,bharti:a,bible:a,bid:a,bike:a,bing:a,bingo:a,bio:a,black:a,blackfriday:a,blockbuster:a,blog:a,bloomberg:a,blue:a,bms:a,bmw:a,bnpparibas:a,boats:a,boehringer:a,bofa:a,bom:a,bond:a,boo:a,book:a,booking:a,bosch:a,bostik:a,boston:a,bot:a,boutique:a,box:a,bradesco:a,bridgestone:a,broadway:a,broker:a,brother:a,brussels:a,build:a,builders:[1,{cloudsite:e}],business:l,buy:a,buzz:a,bzh:a,cab:a,cafe:a,cal:a,call:a,calvinklein:a,cam:a,camera:a,camp:a,canon:a,capetown:a,capital:a,capitalone:a,car:a,caravan:a,cards:a,care:a,career:a,careers:a,cars:a,casa:[1,{nabu:[0,{ui:e}]}],case:a,cash:a,casino:a,catering:a,catholic:a,cba:a,cbn:a,cbre:a,cbs:a,center:a,ceo:a,cern:a,cfa:a,cfd:a,chanel:a,channel:a,charity:a,chase:a,chat:a,cheap:a,chintai:a,christmas:a,chrome:a,church:a,cipriani:a,circle:a,cisco:a,citadel:a,citi:a,citic:a,city:a,cityeats:a,claims:a,cleaning:a,click:a,clinic:a,clinique:a,clothing:a,cloud:[1,{banzai:o,elementor:e,encoway:[0,{eu:e}],statics:o,ravendb:e,axarnet:[0,{"es-1":e}],diadem:e,jelastic:[0,{vip:e}],jele:e,"jenv-aruba":[0,{aruba:[0,{eur:[0,{it1:e}]}],it1:e}],keliweb:[2,{cs:e}],oxa:[2,{tn:e,uk:e}],primetel:[2,{uk:e}],reclaim:[0,{ca:e,uk:e,us:e}],trendhosting:[0,{ch:e,de:e}],jotelulu:e,kuleuven:e,linkyard:e,magentosite:o,perspecta:e,vapor:e,"on-rancher":o,scw:[0,{baremetal:[0,{"fr-par-1":e,"fr-par-2":e,"nl-ams-1":e}],"fr-par":[0,{fnc:[2,{functions:e}],k8s:u,s3:e,"s3-website":e,whm:e}],instances:[0,{priv:e,pub:e}],k8s:e,"nl-ams":[0,{k8s:u,s3:e,"s3-website":e,whm:e}],"pl-waw":[0,{k8s:u,s3:e,"s3-website":e}],scalebook:e,smartlabeling:e}],sensiosite:o,trafficplex:e,urown:e,voorloper:e}],club:[1,{cloudns:e,jele:e,barsy:e}],clubmed:a,coach:a,codes:[1,{owo:o}],coffee:a,college:a,cologne:a,comcast:a,commbank:a,community:[1,{nog:e,ravendb:e,myforum:e}],company:a,compare:a,computer:a,comsec:a,condos:a,construction:a,consulting:a,contact:a,contractors:a,cooking:a,cool:[1,{elementor:e,de:e}],corsica:a,country:a,coupon:a,coupons:a,courses:a,cpa:a,credit:a,creditcard:a,creditunion:a,cricket:a,crown:a,crs:a,cruise:a,cruises:a,cuisinella:a,cymru:a,cyou:a,dabur:a,dad:a,dance:a,data:a,date:a,dating:a,datsun:a,day:a,dclk:a,dds:a,deal:a,dealer:a,deals:a,degree:a,delivery:a,dell:a,deloitte:a,delta:a,democrat:a,dental:a,dentist:a,desi:a,design:[1,{bss:e}],dev:[1,{autocode:e,lcl:o,lclstage:o,stg:o,stgstage:o,pages:e,r2:e,workers:e,curv:e,deno:e,"deno-staging":e,deta:e,fly:e,githubpreview:e,gateway:o,iserv:e,localcert:[0,{user:o}],loginline:e,mediatech:e,ngrok:e,"ngrok-free":e,"platter-app":e,shiftcrypto:e,vercel:e,webhare:o}],dhl:a,diamonds:a,diet:a,digital:[1,{cloudapps:[2,{london:e}]}],direct:a,directory:a,discount:a,discover:a,dish:a,diy:a,dnp:a,docs:a,doctor:a,dog:a,domains:a,dot:a,download:a,drive:a,dtv:a,dubai:a,dunlop:a,dupont:a,durban:a,dvag:a,dvr:a,earth:[1,{dapps:[0,{"*":e,bzz:o}]}],eat:a,eco:a,edeka:a,education:l,email:a,emerck:a,energy:a,engineer:a,engineering:a,enterprises:a,epson:a,equipment:a,ericsson:a,erni:a,esq:a,estate:[1,{compute:o}],etisalat:a,eurovision:a,eus:[1,{party:S}],events:[1,{koobin:e,co:e}],exchange:a,expert:a,exposed:a,express:a,extraspace:a,fage:a,fail:a,fairwinds:a,faith:q,family:a,fan:a,fans:a,farm:[1,{storj:e}],farmers:a,fashion:a,fast:a,fedex:a,feedback:a,ferrari:a,ferrero:a,fidelity:a,fido:a,film:a,final:a,finance:a,financial:l,fire:a,firestone:a,firmdale:a,fish:a,fishing:a,fit:a,fitness:a,flickr:a,flights:a,flir:a,florist:a,flowers:a,fly:a,foo:a,food:a,football:a,ford:a,forex:a,forsale:a,forum:a,foundation:a,fox:a,free:a,fresenius:a,frl:a,frogans:a,frontdoor:a,frontier:a,ftr:a,fujitsu:a,fun:a,fund:a,furniture:a,futbol:a,fyi:a,gal:a,gallery:a,gallo:a,gallup:a,game:a,games:a,gap:a,garden:a,gay:a,gbiz:a,gdn:[1,{cnpy:e}],gea:a,gent:a,genting:a,george:a,ggee:a,gift:a,gifts:a,gives:a,giving:a,glass:a,gle:a,global:a,globo:a,gmail:a,gmbh:a,gmo:a,gmx:a,godaddy:a,gold:a,goldpoint:a,golf:a,goo:a,goodyear:a,goog:[1,{cloud:e,translate:e,usercontent:o}],google:a,gop:a,got:a,grainger:a,graphics:a,gratis:a,green:a,gripe:a,grocery:a,group:[1,{discourse:e}],guardian:a,gucci:a,guge:a,guide:a,guitars:a,guru:a,hair:a,hamburg:a,hangout:a,haus:a,hbo:a,hdfc:a,hdfcbank:a,health:[1,{hra:e}],healthcare:a,help:a,helsinki:a,here:a,hermes:a,hiphop:a,hisamitsu:a,hitachi:a,hiv:a,hkt:a,hockey:a,holdings:a,holiday:a,homedepot:a,homegoods:a,homes:a,homesense:a,honda:a,horse:a,hospital:a,host:[1,{cloudaccess:e,freesite:e,easypanel:e,fastvps:e,myfast:e,tempurl:e,wpmudev:e,jele:e,mircloud:e,pcloud:e,half:e}],hosting:[1,{opencraft:e}],hot:a,hotels:a,hotmail:a,house:a,how:a,hsbc:a,hughes:a,hyatt:a,hyundai:a,ibm:a,icbc:a,ice:a,icu:a,ieee:a,ifm:a,ikano:a,imamat:a,imdb:a,immo:a,immobilien:a,inc:a,industries:a,infiniti:a,ing:a,ink:a,institute:a,insurance:a,insure:a,international:a,intuit:a,investments:a,ipiranga:a,irish:a,ismaili:a,ist:a,istanbul:a,itau:a,itv:a,jaguar:a,java:a,jcb:a,jeep:a,jetzt:a,jewelry:a,jio:a,jll:a,jmp:a,jnj:a,joburg:a,jot:a,joy:a,jpmorgan:a,jprs:a,juegos:a,juniper:a,kaufen:a,kddi:a,kerryhotels:a,kerrylogistics:a,kerryproperties:a,kfh:a,kia:a,kids:a,kim:a,kinder:a,kindle:a,kitchen:a,kiwi:a,koeln:a,komatsu:a,kosher:a,kpmg:a,kpn:a,krd:[1,{co:e,edu:e}],kred:a,kuokgroup:a,kyoto:a,lacaixa:a,lamborghini:a,lamer:a,lancaster:a,land:[1,{static:[2,{dev:e,sites:e}]}],landrover:a,lanxess:a,lasalle:a,lat:a,latino:a,latrobe:a,law:a,lawyer:a,lds:a,lease:a,leclerc:a,lefrak:a,legal:a,lego:a,lexus:a,lgbt:a,lidl:a,life:a,lifeinsurance:a,lifestyle:a,lighting:a,like:a,lilly:a,limited:a,limo:a,lincoln:a,link:[1,{cyon:e,mypep:e,dweb:o}],lipsy:a,live:[1,{hlx:e}],living:a,llc:a,llp:a,loan:a,loans:a,locker:a,locus:a,lol:[1,{omg:e}],london:a,lotte:a,lotto:a,love:a,lpl:a,lplfinancial:a,ltd:a,ltda:a,lundbeck:a,luxe:a,luxury:a,madrid:a,maif:a,maison:a,makeup:a,man:a,management:[1,{router:e}],mango:a,map:a,market:a,marketing:a,markets:a,marriott:a,marshalls:a,mattel:a,mba:a,mckinsey:a,med:a,media:L,meet:a,melbourne:a,meme:a,memorial:a,men:a,menu:O,merckmsd:a,miami:a,microsoft:a,mini:a,mint:a,mit:a,mitsubishi:a,mlb:a,mls:a,mma:a,mobile:a,moda:a,moe:a,moi:a,mom:a,monash:a,money:a,monster:a,mormon:a,mortgage:a,moscow:a,moto:a,motorcycles:a,mov:a,movie:a,msd:a,mtn:a,mtr:a,music:a,nab:a,nagoya:a,natura:a,navy:a,nba:a,nec:a,netbank:a,netflix:a,network:[1,{alces:o,co:e,arvo:e,azimuth:e,tlon:e}],neustar:a,new:a,news:[1,{noticeable:e}],next:a,nextdirect:a,nexus:a,nfl:a,ngo:a,nhk:a,nico:a,nike:a,nikon:a,ninja:a,nissan:a,nissay:a,nokia:a,norton:a,now:a,nowruz:a,nowtv:a,nra:a,nrw:a,ntt:a,nyc:a,obi:a,observer:a,office:a,okinawa:a,olayan:a,olayangroup:a,oldnavy:a,ollo:a,omega:a,one:[1,{onred:[2,{staging:e}],service:e,homelink:e}],ong:a,onl:a,online:[1,{eero:e,"eero-stage":e,barsy:e}],ooo:a,open:a,oracle:a,orange:[1,{tech:e}],organic:a,origins:a,osaka:a,otsuka:a,ott:a,ovh:[1,{nerdpol:e}],page:[1,{hlx:e,hlx3:e,translated:e,codeberg:e,pdns:e,plesk:e,prvcy:e,rocky:e,magnet:e}],panasonic:a,paris:a,pars:a,partners:a,parts:a,party:q,pay:a,pccw:a,pet:a,pfizer:a,pharmacy:a,phd:a,philips:a,phone:a,photo:a,photography:a,photos:L,physio:a,pics:a,pictet:a,pictures:[1,{1337:e}],pid:a,pin:a,ping:a,pink:a,pioneer:a,pizza:[1,{ngrok:e}],place:l,play:a,playstation:a,plumbing:a,plus:a,pnc:a,pohl:a,poker:a,politie:a,porn:[1,{indie:e}],pramerica:a,praxi:a,press:a,prime:a,prod:a,productions:a,prof:a,progressive:a,promo:a,properties:a,property:a,protection:a,pru:a,prudential:a,pub:O,pwc:a,qpon:a,quebec:a,quest:a,racing:a,radio:a,read:a,realestate:a,realtor:a,realty:a,recipes:a,red:a,redstone:a,redumbrella:a,rehab:a,reise:a,reisen:a,reit:a,reliance:a,ren:a,rent:a,rentals:a,repair:a,report:a,republican:a,rest:a,restaurant:a,review:q,reviews:a,rexroth:a,rich:a,richardli:a,ricoh:a,ril:a,rio:a,rip:[1,{clan:e}],rocher:a,rocks:[1,{myddns:e,"lima-city":e,webspace:e}],rodeo:a,rogers:a,room:a,rsvp:a,rugby:a,ruhr:a,run:[1,{hs:e,development:e,ravendb:e,servers:e,build:o,code:o,database:o,migration:o,onporter:e,repl:e}],rwe:a,ryukyu:a,saarland:a,safe:a,safety:a,sakura:a,sale:a,salon:a,samsclub:a,samsung:a,sandvik:a,sandvikcoromant:a,sanofi:a,sap:a,sarl:a,sas:a,save:a,saxo:a,sbi:a,sbs:a,sca:a,scb:a,schaeffler:a,schmidt:a,scholarships:a,school:a,schule:a,schwarz:a,science:q,scot:[1,{edu:e,gov:[2,{service:e}]}],search:a,seat:a,secure:a,security:a,seek:a,select:a,sener:a,services:[1,{loginline:e}],seven:a,sew:a,sex:a,sexy:a,sfr:a,shangrila:a,sharp:a,shaw:a,shell:a,shia:a,shiksha:a,shoes:a,shop:[1,{base:e,hoplix:e,barsy:e}],shopping:a,shouji:a,show:a,showtime:a,silk:a,sina:a,singles:a,site:[1,{cloudera:o,cyon:e,fnwk:e,folionetwork:e,fastvps:e,jele:e,lelux:e,loginline:e,barsy:e,mintere:e,omniwe:e,opensocial:e,platformsh:o,tst:o,byen:e,srht:e,novecore:e}],ski:a,skin:a,sky:a,skype:a,sling:a,smart:a,smile:a,sncf:a,soccer:a,social:a,softbank:a,software:a,sohu:a,solar:a,solutions:[1,{diher:o}],song:a,sony:a,soy:a,spa:a,space:[1,{myfast:e,uber:e,xs4all:e}],sport:a,spot:a,srl:a,stada:a,staples:a,star:a,statebank:a,statefarm:a,stc:a,stcgroup:a,stockholm:a,storage:a,store:[1,{sellfy:e,shopware:e,storebase:e}],stream:a,studio:a,study:a,style:a,sucks:a,supplies:a,supply:a,support:O,surf:a,surgery:a,suzuki:a,swatch:a,swiss:a,sydney:a,systems:[1,{knightpoint:e}],tab:a,taipei:a,talk:a,taobao:a,target:a,tatamotors:a,tatar:a,tattoo:a,tax:a,taxi:a,tci:a,tdk:a,team:[1,{discourse:e,jelastic:e}],tech:a,technology:l,temasek:a,tennis:a,teva:a,thd:a,theater:a,theatre:a,tiaa:a,tickets:a,tienda:a,tips:a,tires:a,tirol:a,tjmaxx:a,tjx:a,tkmaxx:a,tmall:a,today:[1,{prequalifyme:e}],tokyo:a,tools:a,top:[1,{"now-dns":e,ntdll:e}],toray:a,toshiba:a,total:a,tours:a,town:a,toyota:a,toys:a,trade:q,trading:a,training:a,travel:a,travelers:a,travelersinsurance:a,trust:a,trv:a,tube:a,tui:a,tunes:a,tushu:a,tvs:a,ubank:a,ubs:a,unicom:a,university:a,uno:a,uol:a,ups:a,vacations:a,vana:a,vanguard:a,vegas:a,ventures:a,verisign:a,versicherung:a,vet:a,viajes:a,video:a,vig:a,viking:a,villas:a,vin:a,vip:a,virgin:a,visa:a,vision:a,viva:a,vivo:a,vlaanderen:a,vodka:a,volkswagen:a,volvo:a,vote:a,voting:a,voto:a,voyage:a,wales:a,walmart:a,walter:a,wang:a,wanggou:a,watch:a,watches:a,weather:a,weatherchannel:a,webcam:a,weber:a,website:L,wedding:a,weibo:a,weir:a,whoswho:a,wien:a,wiki:L,williamhill:a,win:a,windows:a,wine:a,winners:a,wme:a,wolterskluwer:a,woodside:a,work:a,works:a,world:a,wow:a,wtc:a,wtf:a,xbox:a,xerox:a,xfinity:a,xihuan:a,xin:a,"xn--11b4c3d":a,"कॉम":a,"xn--1ck2e1b":a,"セール":a,"xn--1qqw23a":a,"佛山":a,"xn--30rr7y":a,"慈善":a,"xn--3bst00m":a,"集团":a,"xn--3ds443g":a,"在线":a,"xn--3pxu8k":a,"点看":a,"xn--42c2d9a":a,"คอม":a,"xn--45q11c":a,"八卦":a,"xn--4gbrim":a,"موقع":a,"xn--55qw42g":a,"公益":a,"xn--55qx5d":a,"公司":a,"xn--5su34j936bgsg":a,"香格里拉":a,"xn--5tzm5g":a,"网站":a,"xn--6frz82g":a,"移动":a,"xn--6qq986b3xl":a,"我爱你":a,"xn--80adxhks":a,"москва":a,"xn--80aqecdr1a":a,"католик":a,"xn--80asehdb":a,"онлайн":a,"xn--80aswg":a,"сайт":a,"xn--8y0a063a":a,"联通":a,"xn--9dbq2a":a,"קום":a,"xn--9et52u":a,"时尚":a,"xn--9krt00a":a,"微博":a,"xn--b4w605ferd":a,"淡马锡":a,"xn--bck1b9a5dre4c":a,"ファッション":a,"xn--c1avg":a,"орг":a,"xn--c2br7g":a,"नेट":a,"xn--cck2b3b":a,"ストア":a,"xn--cckwcxetd":a,"アマゾン":a,"xn--cg4bki":a,"삼성":a,"xn--czr694b":a,"商标":a,"xn--czrs0t":a,"商店":a,"xn--czru2d":a,"商城":a,"xn--d1acj3b":a,"дети":a,"xn--eckvdtc9d":a,"ポイント":a,"xn--efvy88h":a,"新闻":a,"xn--fct429k":a,"家電":a,"xn--fhbei":a,"كوم":a,"xn--fiq228c5hs":a,"中文网":a,"xn--fiq64b":a,"中信":a,"xn--fjq720a":a,"娱乐":a,"xn--flw351e":a,"谷歌":a,"xn--fzys8d69uvgm":a,"電訊盈科":a,"xn--g2xx48c":a,"购物":a,"xn--gckr3f0f":a,"クラウド":a,"xn--gk3at1e":a,"通販":a,"xn--hxt814e":a,"网店":a,"xn--i1b6b1a6a2e":a,"संगठन":a,"xn--imr513n":a,"餐厅":a,"xn--io0a7i":a,"网络":a,"xn--j1aef":a,"ком":a,"xn--jlq480n2rg":a,"亚马逊":a,"xn--jvr189m":a,"食品":a,"xn--kcrx77d1x4a":a,"飞利浦":a,"xn--kput3i":a,"手机":a,"xn--mgba3a3ejt":a,"ارامكو":a,"xn--mgba7c0bbn0a":a,"العليان":a,"xn--mgbaakc7dvf":a,"اتصالات":a,"xn--mgbab2bd":a,"بازار":a,"xn--mgbca7dzdo":a,"ابوظبي":a,"xn--mgbi4ecexp":a,"كاثوليك":a,"xn--mgbt3dhd":a,"همراه":a,"xn--mk1bu44c":a,"닷컴":a,"xn--mxtq1m":a,"政府":a,"xn--ngbc5azd":a,"شبكة":a,"xn--ngbe9e0a":a,"بيتك":a,"xn--ngbrx":a,"عرب":a,"xn--nqv7f":a,"机构":a,"xn--nqv7fs00ema":a,"组织机构":a,"xn--nyqy26a":a,"健康":a,"xn--otu796d":a,"招聘":a,"xn--p1acf":[1,{"xn--90amc":e,"xn--j1aef":e,"xn--j1ael8b":e,"xn--h1ahn":e,"xn--j1adp":e,"xn--c1avg":e,"xn--80aaa0cvac":e,"xn--h1aliz":e,"xn--90a1af":e,"xn--41a":e}],"рус":[1,{"биз":e,"ком":e,"крым":e,"мир":e,"мск":e,"орг":e,"самара":e,"сочи":e,"спб":e,"я":e}],"xn--pssy2u":a,"大拿":a,"xn--q9jyb4c":a,"みんな":a,"xn--qcka1pmc":a,"グーグル":a,"xn--rhqv96g":a,"世界":a,"xn--rovu88b":a,"書籍":a,"xn--ses554g":a,"网址":a,"xn--t60b56a":a,"닷넷":a,"xn--tckwe":a,"コム":a,"xn--tiq49xqyj":a,"天主教":a,"xn--unup4y":a,"游戏":a,"xn--vermgensberater-ctb":a,"vermögensberater":a,"xn--vermgensberatung-pwb":a,"vermögensberatung":a,"xn--vhquv":a,"企业":a,"xn--vuq861b":a,"信息":a,"xn--w4r85el8fhu5dnra":a,"嘉里大酒店":a,"xn--w4rs40l":a,"嘉里":a,"xn--xhq521b":a,"广东":a,"xn--zfr164b":a,"政务":a,xyz:[1,{blogsite:e,localzone:e,crafting:e,zapto:e,telebit:o}],yachts:a,yahoo:a,yamaxun:a,yandex:a,yodobashi:a,yoga:a,yokohama:a,you:a,youtube:a,yun:a,zappos:a,zara:a,zero:a,zip:a,zone:[1,{cloud66:e,hs:e,triton:o,lima:e}],zuerich:a}]}();function ba(a,e,i,o){let t=null,s=e;for(;void 0!==s&&(0!=(s[0]&o)&&(t={index:i+1,isIcann:1===s[0],isPrivate:2===s[0]}),-1!==i);){const e=s[1];s=Object.prototype.hasOwnProperty.call(e,a[i])?e[a[i]]:e["*"],i-=1}return t}function va(a,e,i){var o;if(function(a,e,i){if(!e.allowPrivateDomains&&a.length>3){const e=a.length-1,o=a.charCodeAt(e),t=a.charCodeAt(e-1),s=a.charCodeAt(e-2),n=a.charCodeAt(e-3);if(109===o&&111===t&&99===s&&46===n)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="com",!0;if(103===o&&114===t&&111===s&&46===n)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="org",!0;if(117===o&&100===t&&101===s&&46===n)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="edu",!0;if(118===o&&111===t&&103===s&&46===n)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="gov",!0;if(116===o&&101===t&&110===s&&46===n)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="net",!0;if(101===o&&100===t&&46===s)return i.isIcann=!0,i.isPrivate=!1,i.publicSuffix="de",!0}return!1}(a,e,i))return;const t=a.split("."),s=(e.allowPrivateDomains?2:0)|(e.allowIcannDomains?1:0),n=ba(t,ka,t.length-1,s);if(null!==n)return i.isIcann=n.isIcann,i.isPrivate=n.isPrivate,void(i.publicSuffix=t.slice(n.index+1).join("."));const r=ba(t,pa,t.length-1,s);if(null!==r)return i.isIcann=r.isIcann,i.isPrivate=r.isPrivate,void(i.publicSuffix=t.slice(r.index).join("."));i.isIcann=!1,i.isPrivate=!1,i.publicSuffix=null!==(o=t[t.length-1])&&void 0!==o?o:null}function ya(a,e={}){return function(a,e,i,o,t){const s=void 0===(n=o)?ga:function({allowIcannDomains:a=!0,allowPrivateDomains:e=!1,detectIp:i=!0,extractHostname:o=!0,mixedInputs:t=!0,validHosts:s=null,validateHostname:n=!0}){return{allowIcannDomains:a,allowPrivateDomains:e,detectIp:i,extractHostname:o,mixedInputs:t,validHosts:s,validateHostname:n}}(n);var n,r,l,u;return"string"!=typeof a?t:(s.extractHostname?s.mixedInputs?t.hostname=ma(a,ha(a)):t.hostname=ma(a,!1):t.hostname=a,0===e||null===t.hostname||s.detectIp&&(t.isIp=function(a){if(a.length<3)return!1;let e=a.startsWith("[")?1:0,i=a.length;if("]"===a[i-1]&&(i-=1),i-e>39)return!1;let o=!1;for(;e=48&&i<=57||i>=97&&i<=102||i>=65&&i<=90))return!1}return o}(r=t.hostname)||function(a){if(a.length<7)return!1;if(a.length>15)return!1;let e=0;for(let i=0;i57)return!1}return 3===e&&46!==a.charCodeAt(0)&&46!==a.charCodeAt(a.length-1)}(r),t.isIp)?t:s.validateHostname&&s.extractHostname&&!ha(t.hostname)?(t.hostname=null,t):(i(t.hostname,s,t),2===e||null===t.publicSuffix||(t.domain=function(a,e,i){if(null!==i.validHosts){const a=i.validHosts;for(const i of a)if(t=i,(o=e).endsWith(t)&&(o.length===t.length||"."===o[o.length-t.length-1]))return i}var o,t;let s=0;if(e.startsWith("."))for(;s{for(var t,s=o>1?void 0:o?wa(e,i):e,n=a.length-1;n>=0;n--)(t=a[n])&&(s=(o?t(e,i,s):t(s))||s);return o&&s&&fa(e,i,s),s};class za{constructor(a){this.value=a,this.includeSubdomains=!1}withSubdomains(a){return this.includeSubdomains=a,this}toString(){return void 0===this.value?"":`${this.includeSubdomains?".":""}${this.value}`}}var ja,$a=((ja=$a||{}).Empty="",ja.Strict="Strict",ja.Lax="Lax",ja.None="None",ja);class _a{constructor(a,e){this.name=a,this.value=e,this.domain=new Aa("Domain",new za("")),this.path=new Aa("Path",void 0),this.expires=new Aa("Expires",void 0),this.sameSite=new Aa("SameSite",void 0),this.maxAge=new Aa("Max-Age",void 0),this.httpOnly=new Aa("HttpOnly",!1),this.secure=new Aa("Secure",!1)}get persistance(){return void 0===this.expires.value&&void 0===this.maxAge.value?"session":"permanent"}get HostCookiePrefix(){return this.name.startsWith("__Host-")}get SecureCookiePrefix(){return this.name.startsWith("__Secure-")}browserCookie(a){const e=new _a(this.name,this.value),i=new URL(a);return e.domain.value=void 0===this.domain.value.value?new za(`${i.hostname}`):new za(`${this.domain.value}`).withSubdomains(!0),e.path.value=this.path.value,void 0===this.path.value&&(e.path.value="/"===i.pathname?"/":i.pathname.replace(/\/?$/,"")),e.sameSite.value=this.sameSite.value||"Lax",e.expires=this.expires,e.maxAge=this.maxAge,e.httpOnly.value=this.httpOnly.value,e.secure.value=this.secure.value,e}lifetime(){return void 0!==this.maxAge.value&&void 0!==this.maxAge.value?this.maxAge:void 0===this.maxAge.value?this.expires:this.maxAge}toString(){const a=[this.domain,this.path,this.lifetime(),this.httpOnly,this.secure,this.sameSite];return[`${this.name}=${this.value}`,...a.map((a=>a.toString())).filter((a=>""!==a))].join("; ")}}class Aa{constructor(a,e){this.attribute=a,this.value=e}toString(){switch(this.attribute){case"Domain":{const a=this.value;return a.value?`${this.attribute}=${a.toString()}`:""}case"Expires":{const a=this.value;return a?`${this.attribute}=${a.toUTCString()}`:""}case"Path":case"Max-Age":case"SameSite":return void 0===this.value?"":`${this.attribute}=${this.value}`;case"Secure":case"HttpOnly":return this.value?this.attribute:""}}setValue(a){return this.value=a,this}}let Sa=class extends ea{constructor(){super(),this.urlsToTests=[];const a=new URL(window.location.toString());a.search="",a.pathname="",this.origin=a.toString(),this.url=a.toString(),this.cookie=new _a("my-cookie","my-value"),this.cookie.domain.value=new za(void 0),this.cookie.path.value="/",this.cookie.expires.value=void 0,this.cookie.sameSite.value=void 0,this.cookie.maxAge.value=void 0,this.cookie.httpOnly.value=!1,this.cookie.secure.value=!1,this.setLifetime=this.setLifetime.bind(this)}setName(a){this.cookie.name=a,this.requestUpdate()}setValue(a){this.cookie.value=a,this.requestUpdate()}setCookieAttribute(a,e){a.value=e,this.requestUpdate()}setLifetime(a){a.target===this.querySelector("#expires")?this.cookie.expires.value=""===a.target.value?void 0:a.target.valueAsDate||void 0:this.cookie.maxAge.value=Number.isNaN(a.target.valueAsNumber)?void 0:a.target.valueAsNumber,this.requestUpdate()}checkUrl(a,e){try{return new URL(a).toString()}catch{}return e}connectedCallback(){var a;super.connectedCallback();const e=new URLSearchParams(window.location.search);if(e.has("origin")&&(this.origin=this.checkUrl(e.get("origin"),this.origin)),e.has("url")&&(this.url=this.checkUrl(e.get("url"),this.url)),e.has("cookie")){this.cookie.expires.value=void 0,this.cookie.path.value=void 0,this.cookie.domain.value=new za(""),this.cookie.sameSite.value=void 0;const i=null==(a=e.get("cookie"))?void 0:a.split(";");for(const a of i){let[e,i]=a.split("=");switch(e=e.trim(),i=i.trim(),e.toLocaleLowerCase()){case"Domain".toLocaleLowerCase():this.cookie.domain.value=new za(i);break;case"Path".toLocaleLowerCase():this.cookie.path.value=i;break;case"Expires".toLocaleLowerCase():this.cookie.expires.value=new Date(i);break;case"Max-Age".toLocaleLowerCase():this.cookie.maxAge.value=Number(i);break;case"SameSite".toLocaleLowerCase():this.cookie.sameSite.value=i;break;default:this.cookie.name=e,this.cookie.value=i}}}}createRenderRoot(){return this}CookieHeader(){return`Set-Cookie: ${this.cookie.toString()}`}CookieInBrowser(){return`document.cookie = "${this.cookie.browserCookie(this.origin).toString()}"`}getStories(){const a=this.cookie.browserCookie(this.origin);let e=new URL(this.url||this.origin);e.pathname="/",e=new URL(this.url),e.hostname=`subdomain.${e.hostname}`;const i=e.toString();e=new URL(this.origin),e.pathname="/cookie.png";const o=e.toString();e=new URL(this.origin),e.pathname="/cookie.html";const t=e.toString();return[{src:this.origin,dest:this.url,description:"",result:void 0},{src:this.origin,dest:i,description:"",result:void 0},{src:this.url,dest:o,description:`${this.url}
    GET ${o}`,type:0},{src:this.url,dest:t,description:`${this.url}
    Click on ${t}`,type:1}].map((({src:e,dest:i,description:o,type:t},s)=>{const{ok:n,...r}=function(a,e,i,o){for(const t of Ea){const s=t(a,e,i,o);if(!s.ok)return s}return qa(!0)}(new URL(e||this.origin),new URL(i),a,t);return O`

    ${r.error||na(" ")}

    ${s%2==0?"👩‍💻":"👨‍💻"}
    🌐

    ${o?na(o):e}

    ${i}

    `}))}render(){var a,e;return O``}};xa([la()],Sa.prototype,"origin",2),xa([la()],Sa.prototype,"url",2),xa([la()],Sa.prototype,"cookie",2),Sa=xa([(a=>e=>{return"function"==typeof e?(i=a,o=e,customElements.define(i,o),o):((a,e)=>{const{kind:i,elements:o}=e;return{kind:i,elements:o,finisher(e){customElements.define(a,e)}}})(a,e);var i,o})("my-cookies")],Sa);const qa=a=>({ok:!0,value:a,error:void 0}),Ca=a=>({ok:!1,value:void 0,error:a}),Ea=[function(a,e,i,o){return!0===i.secure.value&&"https:"!==e.protocol?Ca("Secure requires 'https'"):qa(!0)},function(a,e,i,o){if(i.HostCookiePrefix){if(!i.secure.value)return Ca("Prefix __Host requires 'Secure'");if(i.domain.value.includeSubdomains)return Ca("Only accessible by the same domain with the prefix __Host");if(void 0!==i.path.value&&"/"!==i.path.value)return Ca("__Host prefix must have path set to /")}return i.SecureCookiePrefix?i.secure.value?qa(!0):Ca("Prefix __Secure requires 'Secure'"):qa(!0)},function(a,e,i,o){return void 0===i.expires.value||i.expires.value.getTime()>=Date.now()?qa(!0):Ca("Cookie has expired")},function(a,e,i,o){return void 0===i.maxAge.value||i.maxAge.value>=1?qa(!0):Ca("Cookie has expired")},Pa,function(a,e,i,o){return e.pathname.startsWith(i.path.value||"")?qa(!0):Ca(`Path doesn't start with ${i.path.value}`)},function(a,e,i,o){switch(i.sameSite.value){case"Strict":return Pa(a,e,i);case"Lax":{const i=ya(a.toString(),{allowPrivateDomains:!0}),t=ya(e.toString(),{allowPrivateDomains:!0}),s=i.domain===t.domain;if(void 0!==o)switch(o){case 0:return s?qa(!0):Ca("Cross-site image");case 1:return qa(!0)}return s?qa(!0):Ca("SameSite=Lax: cross-site subrequest")}case"None":return i.secure.value?qa(!0):Ca("SameSite=None requires 'Secure'");default:return Ca("no lo sé")}}];function Pa(a,e,i,o){return i.domain.value.includeSubdomains?e.hostname.endsWith(i.domain.value.value)?qa(!0):Ca("Domain is different"):e.hostname===i.domain.value.value?qa(!0):Ca(`Only domain ${i.domain.value.value} is accepted`)} diff --git a/articles/cookies/index.html b/articles/cookies/index.html index c32fbea..8af70aa 100644 --- a/articles/cookies/index.html +++ b/articles/cookies/index.html @@ -1 +1 @@ -A tool about cookies | Yann Prono

      A tool about cookies

      A few days before deploying my project in production, I ran into an issue on the preproduction application: I was not able to log into the back office even though my credentials were correct. Who is to blame? My code? The authentication service? The server? The compiler (why not)? What about you, Yann?!

      The problem was the cookie: It was never sent because of two misconfigured attributes path and domain. So I decided to spend 8 hours making this tool to gain 2 minutes of RTFM the next time I have to deal with cookies.

      This tool is for educational purposes. It's not battle-tested so don't use it to prove your cookies are secure. Ping me on Github for issues.

      \ No newline at end of file +A tool about cookies | Yann Prono

        A tool about cookies

        A few days before deploying my project in production, I ran into an issue on the preproduction application: I was not able to log into the back office even though my credentials were correct. Who is to blame? My code? The authentication service? The server? The compiler (why not)? What about you, Yann?!

        The problem was the cookie: It was never sent because of two misconfigured attributes path and domain. So I decided to spend 8 hours making this tool to gain 2 minutes of RTFM the next time I have to deal with cookies.

        This tool is for educational purposes. It's not battle-tested so don't use it to prove your cookies are secure. Ping me on Github for issues.

        \ No newline at end of file diff --git a/articles/first-time-arch-linux/assets/chroot.sh b/articles/first-time-arch-linux/assets/chroot.sh new file mode 100644 index 0000000..883173c --- /dev/null +++ b/articles/first-time-arch-linux/assets/chroot.sh @@ -0,0 +1,92 @@ +#!/usr/bin/env bash + +set -xeuo pipefail + +# Allow up to 5 parallel downloads +sed -i 's/#ParallelDownloads = 5/ParallelDownloads = 5/' /etc/pacman.conf + +# Install base packages +pacman --noconfirm -S iwd curl iputils vim dhcpcd sudo base-devel git man nvidia alsa-tools pulseaudio pulseaudio-bluetooth alsa-utils ttf-fira-code htop +systemctl enable iwd +systemctl start iwd +systemctl enable dhcpcd +systemctl start dhcpcd +systemctl enable bluetooth +# Disable bluetooth on boot +sed -i 's/#AutoEnable=true/AutoEnable=false/' /etc/bluetooth/main.conf +# Remove kms from the HOOKS array in /etc/mkinitcpio.conf - https://wiki.archlinux.org/title/NVIDIA#Installation +sed -i 's/ kms / /g' /etc/mkinitcpio.conf +mkinitcpio -P + +# Setup zoneinfo +ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime + +# Sync time +hwclock --systohc +timedatectl set-ntp true + +# Select locales +sed -i 's/#en_US.UTF-8/en_US.UTF-8/g' /etc/locale.gen +sed -i 's/#fr_FR.UTF-8/fr_FR.UTF-8/g' /etc/locale.gen +locale-gen +echo "LANG=en_US.UTF-8" > /etc/locale.conf +echo "KEYMAP=fr-latin1" > /etc/vconsole.conf +echo "$USER" > /etc/hostname + +# Install Grub +pacman --noconfirm -S intel-ucode grub efibootmgr +grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB +grub-mkconfig -o /boot/grub/grub.cfg + +# Install Gnome Desktop environment +pacman -S --noconfirm gnome gnome-tweaks gnome-shell-extensions networkmanager gnome-terminal gtk-engine-murrine gtk4 mesa powerline powerline-fonts gnome-bluetooth-3.0 +systemctl enable gdm +systemctl enable NetworkManager +# I don't need these packages +pacman --noconfirm -R gnome-maps gnome-weather gnome-contacts gnome-clocks gnome-music epiphany totem + +# Post install instructions +pacman -S --noconfirm fish firefox-developer-edition flatpak +useradd -mG wheel -s /bin/bash "$USER" +echo "$USER:$PASSWORD" | chpasswd +sed -i 's/# %wheel /%wheel /' /etc/sudoers +chsh -s /bin/fish "$USER" + +# hide applications from the gnome search menu +echo -e "NoDisplay=true" | tee -a /usr/share/applications/org.gnome.Characters.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/org.gnome.Epiphany.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/qv4l2.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/org.gnome.Console.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/avahi-discover.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/bvnc.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/bssh.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/envy24control.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/qvidcap.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/hdspconf.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/hdspmixer.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/hwmixvolume.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/hdajackretask.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/yelp.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/lstopo.desktop +echo -e "NoDisplay=true" | tee -a /usr/share/applications/fish.desktop + +# Install yay +su -s /bin/bash "$USER" < /dev/null; then + rm -rf /tmp/yay + git clone https://aur.archlinux.org/yay.git /tmp/yay + cd /tmp/yay && makepkg --noconfirm -si + rm -rf /tmp/yay +fi + +yay --save --answerclean All --answerdiff None +yay -Sy --noconfirm python-pip visual-studio-code-bin mkinitcpio-numlock +EOF +sed -i 's/; enable-deferred-volume = yes/enable-deferred-volume = no/' /etc/pulse/daemon.conf +sed -i 's/%wheel ALL=(ALL:ALL) NOPASSWD: ALL/# %wheel ALL=(ALL:ALL) NOPASSWD: ALL/' /etc/sudoers +exit diff --git a/articles/first-time-arch-linux/assets/init.sh b/articles/first-time-arch-linux/assets/init.sh new file mode 100644 index 0000000..3e24258 --- /dev/null +++ b/articles/first-time-arch-linux/assets/init.sh @@ -0,0 +1,105 @@ +#!/usr/bin/env bash + +set -euo pipefail + +DIR=$(dirname "$0") + +function download { + local url="$1" + local output="$2" + if [ ! -f "$output" ]; then + printf "Download %s\n" "$url" + curl -L "$url" --output "$output" + fi +} + +# Download missing scripts +download "$URL_SCRIPTS/init.sh" "$DIR/init.sh" +download "$URL_SCRIPTS/chroot.sh" "$DIR/chroot.sh" +download "$URL_SCRIPTS/startup.sh" "$DIR/startup.sh" + +# Generate default .env file +if [ ! -f "$DIR/.env" ]; then + printf "Create %s\n" "$DIR/.env" + echo -e "DISK=/dev/sda +SSID='XXX' +WIFI_PASSPHRASE='XXX' +USER='user' +PASSWORD='user-passw0rd' +EMAIL='foo@example.com' +FULLNAME='Foo Bar' +URL_SCRIPTS='https://mcdostone.github.io/articles/first-time-arch-linux/assets'" > "$DIR/.env" + if [ -v SSID ]; then + sed -i "s/SSID='XXX'/SSID='$SSID'/" "$DIR/.env" + fi + if [ -v WIFI_PASSPHRASE ]; then + sed -i "s/WIFI_PASSPHRASE='XXX'/WIFI_PASSPHRASE='$WIFI_PASSPHRASE'/" "$DIR/.env" + fi + exit 0 +fi + +# Load env variables in .env +export $(xargs < "$DIR/.env") + +# Azerty keyboard +loadkeys fr-latin1 +chmod 755 "$DIR/startup.sh" "$DIR/chroot.sh" + +# Connect to the Internet +iwctl station wlan0 connect "$SSID" --passphrase "$WIFI_PASSPHRASE" + +# Sync time and hardware clock +timedatectl +hwclock -w + +# Umount /mnt if already mounted and disable swapping +umount -R /mnt || true +swapoff --all + +# Partitioning - https://wiki.archlinux.org/title/Installation_guide#Partition_the_disks +# Delete /dev/sda1, /dev/sda2, /dev/sda3, /dev/sda4 +partitions=$(ls $DISK* | grep -o '[0-9]' || true) +printf "%s" "$partitions" | xargs -t -I {} bash -c "printf 'd\n{}\nw\n' | fdisk $DISK" + +sleep 1 +partprobe +## Boot partition +printf 'g\nn\n\n\n+1g\ny\nw\n' | fdisk "$DISK" +sleep 1 +printf 't\n1\nw\n' | fdisk "$DISK" + +sleep 1 +## Swap partition +printf 'n\n\n\n+4g\ny\nw\n' | fdisk "$DISK" +sleep 1 +printf 't\n2\nswap\nw\n' | fdisk "$DISK" + +sleep 1 +## Root partition +printf 'n\n\n\n\nY\nw\n' | fdisk "$DISK" + +## Format partitions https://wiki.archlinux.org/title/Installation_guide#Format_the_partitions +mkfs.ext4 -F /dev/sda3 +mkswap /dev/sda2 +mkfs.fat -F 32 /dev/sda1 +mount /dev/sda3 /mnt +mount --mkdir /dev/sda1 /mnt/boot +swapon /dev/sda2 + +# Install Arch Linux +pacstrap -K /mnt base linux linux-firmware + +# Generate an fstab file +genfstab -U /mnt >> /mnt/etc/fstab + +# Copy other scripts files +cp "$DIR/chroot.sh" /mnt/init.sh +cp "$DIR/startup.sh" /mnt/startup.sh +arch-chroot /mnt /bin/bash -c "USER='${USER}' PASSWORD='${PASSWORD}' SSID='${SSID}' WIFI_PASSPHRASE='${WIFI_PASSPHRASE}' EMAIL='${EMAIL}' FULLNAME='${FULLNAME}' /init.sh" + +# Clean scripts +rm /mnt/init.sh +rm /mnt/startup.sh + +# Umount the root partition +umount -R /mnt \ No newline at end of file diff --git a/articles/first-time-arch-linux/assets/startup.sh b/articles/first-time-arch-linux/assets/startup.sh new file mode 100644 index 0000000..48b95b0 --- /dev/null +++ b/articles/first-time-arch-linux/assets/startup.sh @@ -0,0 +1,182 @@ +#!/usr/bin/env bash + +set -euo pipefail + +DIR=$(dirname "$0") +SSID="###SSID" +WIFI_PASSPHRASE="###WIFI_PASSPHRASE" +EMAIL="###EMAIL" +FULLNAME="###FULLNAME" + +# Configure git +git config --global user.email "$EMAIL" +git config --global user.name "$FULLNAME" +git config --global init.defaultBranch main +ssh-keygen -t ed25519 -C "$EMAIL" -f "$HOME/.ssh/id_ed25519" -N "" + +gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'fr')]" +sudo localectl set-keymap fr + +# Connect to the Internet +nmcli device wifi connect "$SSID" password "$WIFI_PASSPHRASE" + +yay --save --answerclean All --answerdiff None +yay -Sy --noconfirm python-pip systemd-numlockontty +sudo systemctl enable numLockOnTty +timedatectl set-ntp true + +cd /tmp +# Install bitwareden and ublock-origin +firefox-developer-edition https://addons.mozilla.org/en-US/firefox/addon/bitwarden-password-manager/ https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/ https://github.com/settings/keys https://addons.mozilla.org/en-US/firefox/addon/duckduckgo-for-firefox/ & + +# Tweak gnome +cd /tmp +git clone https://github.com/vinceliuice/Colloid-gtk-theme.git /tmp/theme +cd /tmp/theme && bash install.sh +rm -rf /tmp/theme +cd /tmp +git clone https://github.com/vinceliuice/WhiteSur-icon-theme.git /tmp/icons +cd /tmp/icons && bash install.sh +rm -rf /tmp/icons +yay --noconfirm -Sy apple_cursor apple-fonts +git clone https://github.com/lucagoc/MacOSSounds4Gnome ~/.local/share/sounds/MacOSSounds4Gnome + +# Install oh-my-fish +cd +curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install > /tmp/install.sh +fish -lic "fish /tmp/install.sh --noninteractive --yes" +fish -lic "omf install agnoster" + +# Install gnome-extensions-cli +cd +pip3 install --upgrade gnome-extensions-cli + +# Install gnome extensions +~/.local/bin/gnome-extensions-cli install quick-settings-tweaks@qwreey rounded-window-corners@yilozt blur-my-shell@aunetx dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com remove-alt-tab-delay@daase.net no-overview@fthx start-overlay-in-application-view@Hex_cz just-perfection-desktop@just-perfection nightthemeswitcher@romainvigier.fr search-light@icedman.github.com +gnome-extensions enable user-theme@gnome-shell-extensions.gcampax.github.com +gnome-extensions enable just-perfection-desktop@just-perfection +gnome-extensions enable search-light@icedman.github.com +gnome-extensions enable rounded-window-corners@yilozt +gnome-extensions enable nightthemeswitcher@romainvigier.fr +gnome-extensions enable blur-my-shell@aunetx +gnome-extensions enable dash-to-dock@micxgx.gmail.com +gnome-extensions enable remove-alt-tab-delay@daase.net + +# Theme for gnome-terminal +dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/use-theme-colors "false" +dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/background-color "'rgb(0,43,54)'" +dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/foreground-color "'rgb(131,148,150)'" +dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/palette "['rgb(7,54,66)', 'rgb(220,50,47)', 'rgb(133,153,0)', 'rgb(181,137,0)', 'rgb(38,139,210)', 'rgb(211,54,130)', 'rgb(42,161,152)', 'rgb(238,232,213)', 'rgb(0,43,54)', 'rgb(203,75,22)', 'rgb(88,110,117)', 'rgb(101,123,131)', 'rgb(131,148,150)', 'rgb(108,113,196)', 'rgb(147,161,161)', 'rgb(253,246,227)']" + +# Theme for gnome-shell +mkdir -p /home/$USER/Pictures/wallpaper +curl -L "https://github.com/Mcdostone/misc/raw/main/wallpaper.tar.xz" | tar xJv -C /home/$USER/Pictures/wallpaper +gsettings set org.gnome.desktop.background picture-uri "file:///home/$USER/Pictures/wallpaper/0.jpg" +gsettings set org.gnome.desktop.background picture-uri-dark "file:///home/$USER/Pictures/wallpaper/1.jpg" +gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' +gsettings set org.gnome.desktop.interface icon-theme 'WhiteSur' +gsettings set org.gnome.desktop.sound theme-name 'MacOSSounds4Gnome' +gsettings set org.gnome.shell.extensions.user-theme name "Colloid-Light" +gsettings set org.gnome.desktop.interface gtk-theme "Colloid-Light" +gsettings set org.gnome.desktop.wm.preferences button-layout ":minimize,close" +gsettings set org.gnome.desktop.interface cursor-theme 'macOS-BigSur-White' +gsettings set org.gnome.desktop.interface enable-hot-corners false +gsettings set org.gnome.desktop.peripherals.touchpad click-method areas +gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true +gsettings set org.gnome.desktop.peripherals.touchpad two-finger-scrolling-enabled true +gsettings set org.gnome.desktop.peripherals.touchpad speed 0 +gsettings set org.gnome.desktop.peripherals.keyboard numlock-state true +gsettings set org.gnome.desktop.peripherals.keyboard remember-numlock-state true +gsettings set org.gnome.shell favorite-apps "['org.gnome.Nautilus.desktop', 'firefoxdeveloperedition.desktop', 'org.gnome.Terminal.desktop', 'code.desktop', 'com.spotify.Client.desktop', 'com.discordapp.Discord.desktop' ]" +gsettings set org.gnome.desktop.search-providers disabled "['org.gnome.clocks.desktop', 'org.gnome.Characters.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Epiphany.desktop']" +gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']" +gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ name 'open terminal' +gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ command 'gnome-terminal' +gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ binding 't' +gsettings set org.gnome.desktop.interface document-font-name 'SF Pro Display Light 11' +gsettings set org.gnome.desktop.interface font-antialiasing 'grayscale' +gsettings set org.gnome.desktop.interface font-hinting 'slight' +gsettings set org.gnome.desktop.interface font-name 'SF Pro Display Light 11' +gsettings set org.gnome.desktop.interface monospace-font-name 'SF Mono Medium 10' +gsettings set org.gnome.desktop.wm.preferences titlebar-font 'SF Pro Display Light 11' + +gsettings --schemadir ~/.local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/schemas/ set org.gnome.shell.extensions.nightthemeswitcher.gtk-variants enabled true +gsettings --schemadir ~/.local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/schemas/ set org.gnome.shell.extensions.nightthemeswitcher.gtk-variants day 'Colloid-Light' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/schemas/ set org.gnome.shell.extensions.nightthemeswitcher.gtk-variants night 'Colloid-Dark' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/schemas/ set org.gnome.shell.extensions.nightthemeswitcher.shell-variants day 'Colloid-Light' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/schemas/ set org.gnome.shell.extensions.nightthemeswitcher.shell-variants enabled true +gsettings --schemadir ~/.local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/schemas/ set org.gnome.shell.extensions.nightthemeswitcher.shell-variants night 'Colloid-Dark' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/schemas/ set org.gnome.shell.extensions.nightthemeswitcher.icon-variants day 'WhiteSur' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/schemas/ set org.gnome.shell.extensions.nightthemeswitcher.icon-variants enabled true +gsettings --schemadir ~/.local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/schemas/ set org.gnome.shell.extensions.nightthemeswitcher.icon-variants night 'WhiteSur-dark' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/schemas/ set org.gnome.shell.extensions.nightthemeswitcher.cursor-variants day 'macOS-BigSur-White' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/schemas/ set org.gnome.shell.extensions.nightthemeswitcher.cursor-variants enabled true +gsettings --schemadir ~/.local/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr/schemas/ set org.gnome.shell.extensions.nightthemeswitcher.cursor-variants night 'macOS-BigSur' + +gsettings --schemadir ~/.local/share/gnome-shell/extensions/search-light@icedman.github.com/schemas/ set org.gnome.shell.extensions.search-light background-color '(0.0, 0.0, 0.0, 0.70333331823348999)' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/search-light@icedman.github.com/schemas/ set org.gnome.shell.extensions.search-light blur-background true +gsettings --schemadir ~/.local/share/gnome-shell/extensions/search-light@icedman.github.com/schemas/ set org.gnome.shell.extensions.search-light blur-brightness 0.51000000000000001 +gsettings --schemadir ~/.local/share/gnome-shell/extensions/search-light@icedman.github.com/schemas/ set org.gnome.shell.extensions.search-light blur-sigma 11.0 +gsettings --schemadir ~/.local/share/gnome-shell/extensions/search-light@icedman.github.com/schemas/ set org.gnome.shell.extensions.search-light border-radius '2.60' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/search-light@icedman.github.com/schemas/ set org.gnome.shell.extensions.search-light scale-height '0.3' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/search-light@icedman.github.com/schemas/ set org.gnome.shell.extensions.search-light scale-width '0.3' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/search-light@icedman.github.com/schemas/ set org.gnome.shell.extensions.search-light shortcut-search "['space']" + +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell brightness 0.55 +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell sigma 10 +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell.dash-to-dock blur false +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell.dash-to-dock brightness 0.59 +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell.dash-to-dock color "(0.0, 0.0, 0.0, 0.0)" +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell.dash-to-dock customize true +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell.dash-to-dock noise-amount 0.0 +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell.dash-to-dock noise-lightness 0.0 +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell.dash-to-dock override-background true +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell.dash-to-dock sigma 30 +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell.dash-to-dock static-blur true +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell.dash-to-dock style-dash-to-dock 1 +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell.dash-to-dock unblur-in-overview false +gsettings --schemadir ~/.local/share/gnome-shell/extensions/blur-my-shell@aunetx/schemas/ set org.gnome.shell.extensions.blur-my-shell.panel blur true + + +gsettings --schemadir ~/.local/share/gnome-shell/extensions//just-perfection-desktop@just-perfection/schemas/ set org.gnome.shell.extensions.just-perfection clock-menu-position 1 +gsettings --schemadir ~/.local/share/gnome-shell/extensions//just-perfection-desktop@just-perfection/schemas/ set org.gnome.shell.extensions.just-perfection activities-button false +gsettings --schemadir ~/.local/share/gnome-shell/extensions//just-perfection-desktop@just-perfection/schemas/ set org.gnome.shell.extensions.just-perfection window-demands-attention-focus true +gsettings --schemadir ~/.local/share/gnome-shell/extensions//just-perfection-desktop@just-perfection/schemas/ set org.gnome.shell.extensions.just-perfection startup-status 0 + +gsettings --schemadir ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/ set org.gnome.shell.extensions.dash-to-dock pressure-threshold 0 +gsettings --schemadir ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/ set org.gnome.shell.extensions.dash-to-dock disable-overview-on-startup true +gsettings --schemadir ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/ set org.gnome.shell.extensions.dash-to-dock apply-custom-theme true +gsettings --schemadir ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/ set org.gnome.shell.extensions.dash-to-dock apply-glossy-effect true +gsettings --schemadir ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/ set org.gnome.shell.extensions.dash-to-dock autohide true +gsettings --schemadir ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/ set org.gnome.shell.extensions.dash-to-dock autohide-in-fullscreen false +gsettings --schemadir ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/ set org.gnome.shell.extensions.dash-to-dock background-color 'rgb(0,0,0)' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/ set org.gnome.shell.extensions.dash-to-dock transparency-mode 'DYNAMIC' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/ set org.gnome.shell.extensions.dash-to-dock running-indicator-style 'DOTS' +gsettings --schemadir ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/ set org.gnome.shell.extensions.dash-to-dock show-show-apps-button false +gsettings --schemadir ~/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/ set org.gnome.shell.extensions.dash-to-dock intellihide false +gsettings set org.gnome.desktop.wm.preferences focus-new-windows 'smart' +echo "inode/directory=org.gnome.Nautilus.desktop;" > ~/.config/mimeapps.list + +# Install volta.sh +curl https://get.volta.sh | bash +fish -c "volta install node" + +#cat /proc/asound/card0/codec* | grep Codec +#Codec: Realtek ALC255 +echo "options snd_hda_intel index=0 model=alc255-asus,dell-headset-multi" | sudo tee /etc/modprobe.d/alsa-base.conf +pacmd set-source-volume 1 32000 + + +## Visual studio code +yay --noconfirm -Sy ttf-jetbrains-mono +code /tmp +sleep 5 +killall code +curl -L https://raw.githubusercontent.com/Mcdostone/misc/main/settings.json --output "$HOME/.config/Code/User/settings.json" + +# Some software I need +flatpak install -y flathub com.spotify.Client org.signal.Signal com.discordapp.Discord com.jetbrains.IntelliJ-IDEA-Ultimate org.videolan.VLC + +# Delete this script +rm "$DIR/$0" +exit diff --git a/articles/first-time-arch-linux/index.html b/articles/first-time-arch-linux/index.html index 85ee692..7ebe145 100644 --- a/articles/first-time-arch-linux/index.html +++ b/articles/first-time-arch-linux/index.html @@ -1,4 +1,4 @@ -My Arch Linux install | Yann Prono

          My Arch Linux install

          This article is a guide for myself: I spent hours writing bash scripts to install Arch Linux on my machine from scratch. There is room for improvement but right now I'm happy with this setup.

          Getting started

          Create a Arch Linux Installer USB drive:

          bash
          # Download the ISO
          +My Arch Linux install | Yann Prono

            My Arch Linux install

            This article is a guide for myself: I spent hours writing bash scripts to install Arch Linux on my machine from scratch. There is room for improvement but right now I'm happy with this setup.

            Getting started

            Create a Arch Linux Installer USB drive:

            bash
            # Download the ISO
             curl -L "https://geo.mirror.pkgbuild.com/iso/latest/archlinux-x86_64.iso" -O
             
             # Format and copy the iso on the thumb drive
            @@ -20,4 +20,4 @@
             
             # And install Arch Linux
             bash init.sh
            -

            Partitionning

            I use ext4 as a file system. Maybe there are better solutions these days. I allocate 1GB for the boot partition to test custom linux kernels.

            /dev/sda1
            1GBBoot
            /dev/sda2
            4GBSwap
            /dev/sda3
            114GBRoot

            Terminal and Shell

            I have a preference for fish Shell, the autosuggestion feature is the only reason I chose it. I use Gnome terminal.

            Desktop environment

            I use Gnome 44 with a bunch of extensions. The theme is Colloid-gtk, the icons pack is WhiteSur-icon.

            ExtensionDescription
            user-theme@gnome-shell-extensions.gcampax.github.comShould be in GNOME
            just-perfection-desktop@just-perfectionAdd blur in GNOME shell
            search-light@icedman.github.comTake the apps search out of overview
            rounded-window-corners@yiloztAdd rounded corners for all windows
            nightthemeswitcher@romainvigier.frToggle between light and dark theme automatically
            blur-my-shell@aunetxAdd blur in GNOME shell
            dash-to-dock@micxgx.gmail.comA dock for the Gnome Shell
            noannoyance@daase.netRemove the 'Window is ready' notification
            remove-alt-tab-delay@daase.netRemove the 0.15 second popup delay in switcher pop-ups
            windowIsReady_Remover@nunofarruca@gmail.comRemoves window is ready Notification

            Applications

            Most of the applications below are installed with flatpak.

            • Icon of VLC
            • Icon of Firefox developer edition
            • Icon of Fish shell
            • Icon of Spotify
            • Icon of Signal
            • Icon of Discord
            • Icon of intellij IDEA
            • Icon of VScode

            Screenshots

            Next step is to compile the Linux Kernel with a configuration dedicated to my laptop.

            \ No newline at end of file +

            Partitionning

            I use ext4 as a file system. Maybe there are better solutions these days. I allocate 1GB for the boot partition to test custom linux kernels.

            /dev/sda1
            1GBBoot
            /dev/sda2
            4GBSwap
            /dev/sda3
            114GBRoot

            Terminal and Shell

            I have a preference for fish Shell, the autosuggestion feature is the only reason I chose it. I use Gnome terminal.

            Desktop environment

            I use Gnome 44 with a bunch of extensions. The theme is Colloid-gtk, the icons pack is WhiteSur-icon.

            ExtensionDescription
            user-theme@gnome-shell-extensions.gcampax.github.comShould be in GNOME
            just-perfection-desktop@just-perfectionAdd blur in GNOME shell
            search-light@icedman.github.comTake the apps search out of overview
            rounded-window-corners@yiloztAdd rounded corners for all windows
            nightthemeswitcher@romainvigier.frToggle between light and dark theme automatically
            blur-my-shell@aunetxAdd blur in GNOME shell
            dash-to-dock@micxgx.gmail.comA dock for the Gnome Shell
            noannoyance@daase.netRemove the 'Window is ready' notification
            remove-alt-tab-delay@daase.netRemove the 0.15 second popup delay in switcher pop-ups
            windowIsReady_Remover@nunofarruca@gmail.comRemoves window is ready Notification

            Applications

            Most of the applications below are installed with flatpak.

            • Icon of VLC
            • Icon of Firefox developer edition
            • Icon of Fish shell
            • Icon of Spotify
            • Icon of Signal
            • Icon of Discord
            • Icon of intellij IDEA
            • Icon of VScode

            Screenshots

            Next step is to compile the Linux Kernel with a configuration dedicated to my laptop.

            \ No newline at end of file diff --git a/articles/intro-3d-css/index.html b/articles/intro-3d-css/index.html index 2929ccc..a53c976 100644 --- a/articles/intro-3d-css/index.html +++ b/articles/intro-3d-css/index.html @@ -1,4 +1,4 @@ -Introduction to 3D in CSS | Yann Prono

              Introduction to 3D in CSS

              H E L P !

              This article is a modest introduction to 3D in CSS through an example. I share with you how I made a Minecraft creeper head in CSS and animated it with JavaScript. This article is composed of 2 parts:

              1. Modeling a Minecraft creeper head.

              2. Making the creeper alive.

              Modeling the cube

              Modeling the creeper head is like modeling a cube. I use 2 assets:

              • The face of the creeper, face.avif

              • The side of his head, side.avif

              Each side of the cube is represented by an img tag and is nested in a div element. We need 6 images for the 6 square faces:

              HTML
              <div class="creeper">
              +Introduction to 3D in CSS | Yann Prono

                Introduction to 3D in CSS

                H E L P !

                This article is a modest introduction to 3D in CSS through an example. I share with you how I made a Minecraft creeper head in CSS and animated it with JavaScript. This article is composed of 2 parts:

                1. Modeling a Minecraft creeper head.

                2. Making the creeper alive.

                Modeling the cube

                Modeling the creeper head is like modeling a cube. I use 2 assets:

                • The face of the creeper, face.avif

                • The side of his head, side.avif

                Each side of the cube is represented by an img tag and is nested in a div element. We need 6 images for the 6 square faces:

                HTML
                <div class="creeper">
                   <img src="face.avif" alt="" class="side front" />
                   <img src="side.avif" alt="" class="side back" />
                   <img src="side.avif" alt="" class="side top" />
                @@ -41,7 +41,7 @@
                 .right {
                   transform: translateX(var(--half-size)) rotateY(90deg);
                 }
                -

                The following figure can help you understand how the elements are positioned in the 3D space:

                Hover me

                Bringing the cube to life

                This part is optional. The modeling is over, good job Jackson. The character looks very static though: I would like him to follow the cursor for more user interaction. To do so, we need to compute 2 angles. Once calculated, we can use rotateX and rotateY to position the cube relative to the axis of rotation X and Y. It has to be done in JavaScript:

                <div class="creeper" id="demo">
                +

                The following figure can help you understand how the elements are positioned in the 3D space:

                Hover me

                Bringing the cube to life

                This part is optional. The modeling is over, good job Jackson. The character looks very static though: I would like him to follow the cursor for more user interaction. To do so, we need to compute 2 angles. Once calculated, we can use rotateX and rotateY to position the cube relative to the axis of rotation X and Y. It has to be done in JavaScript:

                <div class="creeper" id="demo">
                   <img src="face.avif" alt="" class="side front" />
                   <img src="side.avif" alt="" class="side back" />
                   <img src="side.avif" alt="" class="side top" />
                @@ -132,4 +132,4 @@
                 } else {
                   handleCursor(creeper, options)
                 }
                -
                \ No newline at end of file + \ No newline at end of file diff --git a/articles/my-facebook-feed-is-a-nightmare/index.html b/articles/my-facebook-feed-is-a-nightmare/index.html index 93dc4a8..a01b1e3 100644 --- a/articles/my-facebook-feed-is-a-nightmare/index.html +++ b/articles/my-facebook-feed-is-a-nightmare/index.html @@ -1 +1 @@ -My facebook feed is a nightmare | Yann Prono

                  My facebook feed is a nightmare

                  I joined the social network in 2008. At this time, I was in middle school; people were sharing photos and posting comments. It was great. The content I received was the content I expected. The platform has always been a way to keep me informed about music, movies, local events, etc. For example, 2 days ago, I learned that Arctic Monkeys announced a new album.

                  Nowadays, I still use facebook because of messenger. Family and friends use it although I would rather use privacy-friendly apps such as Signal or Element (Matrix).

                  So why do I argue my feed is a nightmare? I take my phone out of my pocket, I open the facebook application and then, the funniest thing happens:

                  A post of the Ancient aliens Theory facebook group💩

                  We start with a group about alien theories.

                  Amazon Fresh facebook ad💩

                  An ad about Amazon Fresh. I don't like Amazon. I thought you already knew that Facebook.

                  Screenshot a blackscreen facebook video.💩

                  This guy sells a $400 ticket for a 3 days retreat to guide you in discovering your truest potential, purpose and power. He describes himself as an awakening guide. He sounds like a guru to me, what do you think Facebook?

                  Screenshot of a facebook video showing backseat of yellow Skoda Felicia Fun Pickup💩

                  A suggested video about a guy filming a yellow Skoda Felicia Fun Pickup. In the video, the guy has a baby voice.

                  Screenshot of a facebook post showing a guy making youtube videos💩

                  A suggested video of a guy making tech videos on Youtube. I'm into tech so it could make sense but this is not tech I like at all.

                  Screenshot of a facebook post from Pepco about road closures💩

                  A sponsored post again? Did I break the Facebook algorithm or something?

                  Screenshot of a facebook video showing a bald guy wearing a headset💩

                  What the heck? Who's that guy with this unbearable voice? Where did my friend's content go?

                  Screenshot of a gallery of facebook reels💩

                  A gallery of videos from people I don't even know.

                  Video thumbnail: pet fishs, from $0.01 to $30,000💩

                  I'm getting pissed off. Who is this guy again? And why does Facebook suggest these kinds of content?

                  Screenshot of a video showing a woman working on a laptop with a energy drink💩

                  A summary of what I hate about marketing. This post considers people idiots.

                  A crappy meme about cars, old cars are viril, modern cars are compared to waxed people💩

                  let's appreciate this misogynistic meme. Oh and by the way, I do not care about cars.

                  A NBA player roasting everyone according to the clickbait title💩

                  It's the twelfth post on my timeline and still waiting for a friend's post. I don't even watch NBA.

                  A marvel meme from Black widow, it's about sex performances of different male actors💩

                  Another meme about Marvel movies, no comment...

                  An ad of an electric flying insect trap device💩

                  It's getting worse than TV ads at this rate...

                  An anonymised facebook post with a picture of a stone house👍

                  First post I would possibly be interested in because I joined this facebook group 🎉. Are you trying to manipulate me Mark or am I paranoid?

                  A facebook post with a picture a cyclist near Big Ben in London💩

                  An Australian shitposting group page talking about the UK??

                  Screnshot of a guy talking about influencers💩

                  Money Driven Dream. That's so me Mark!

                  Ad of Wendy's💩

                  According to a survey conducted by Choconews, 82% of American people think it's a great fast-food restaurant. Yann would tell you the contrary.

                  Screnshot of a Video with a woman💩

                  Again, shitposting about people I don't even give attention to. What the fuck is wrong with Facebook?

                  Weird goodbyes album of The national feat. Bon Iver👍

                  I need to check out what he's been working on these days.

                  anonymised friend's facebook post👍

                  A post about a facebook page I follow, very surprising, I was expecting another suggested/sponsored content.

                  NEA today post💩

                  I thought for a second the algorithm was working correctly, I almost had a panic attack...

                  Video of guy pouring champagn on cushions💩

                  Shitposting video about a guy mad because people put some champagne on his $1000 cushions. What a sad life!

                  Little girl talking about Burning man👍

                  I follow this person, he's a photographer.

                  anonymised friend's facebook post💩

                  Sponsored facebook post of state farm showing a young man dancing in a backyard💩

                  Are you trying to convince me your insurance company is lit? Let me doubt about it.

                  Anonymised friend's facebook post👍
                  A facebook marketplace post👍

                  A friend selling furniture on facebook marketplace.

                  Anonymised friend's facebook post👍

                  Are you still scrolling for real?

                  A sponsored facebook post about an alcohol drink💩

                  I wonder whether minors could see this ad on their timeline.

                  Anonymised friend's facebook post👍
                  Article from the Wall Street journal: If your Co-Workers are 'Quiet Quitting', Here's What That means💩

                  What are you trying to tell me Mark?

                  A nurse dancing in front of her camera💩

                  Until what? Until WHAT? TELL ME PLEASE, I WANNA KNOW!

                  A meme with characters from Kuzco about Mario💩
                  Anonymised friend's facebook post👍

                  Skull shaver, a company selling products for shaving💩
                  Anonymised friend's facebook post👍
                  Anonymised friend's facebook post👍
                  Anonymised facebook marketplace post👍

                  A modelo beer💩

                  I don't drink this beer.

                  Video of Romain Lanéry💩

                  The second time this guy is suggested. My position remains the same.

                  Video of a 2024 electric dodge challenger SRT💩

                  I repeat myself one more time, I don't give a shit about cars.

                  Anonymised friend's facebook post👍
                  Alchemical Records post about NFTs💩

                  La cerise sur le gâteau: NFTs

                  Anonymised friend's facebook post💩

                  I think it's enough for today.

                  Why does it look so bad?

                  Have you noticed the crazy number of ads? How is it possible? Who on this planet could like so much shitty content seriously?

                  I have a simple theory: I think fewer and fewer people use facebook and prefer sharing content on Instagram. The fewer people using facebook, the more room for ads. This theory is the result of my observations, very unscientific though.

                  Any solutions?

                  2 years ago, I had already noticed more and more ads. Let's be honest a second: The ads are so bad and irrelevant most of the time but being confronted with them regularly is not without consequences. So I started reporting and hiding them:

                  facebook menu with 4 actions: save, hide or report a post

                  Unfortunately, as you can see, it has no impact, it's even worse I would say. A radical solution would be to get rid of facebook which also means getting rid of messenger, which is not an option for me at this time. Another solution is to disable your account. And good news: you can still use messenger even if your facebook account is disabled.

                  Summary of posts

                  PostSuggestionSponsorRelevanceLink
                  #1Ancient Aliens TheoryLink
                  #2Amazon Fresh/
                  #3Dany MorelLink
                  #4The Carz PagevvLink
                  #5Romain LanéryLink
                  #6PepcoConnectLink
                  #7entrepreneurauthorityLink
                  #8Random Reel videos/
                  #9ToopetLink
                  #10Optimum NutritionLink
                  #11Mecanicien actuLink
                  #12nba_flamesLink
                  #13Marvelous world of fictionLink
                  #14ZevoLink
                  #15A facebook group I belong to/
                  #16LADBible AustraliaLink
                  #17Money Driven DreamLink
                  #18Wendy'sLink
                  #29Guillaume PleyLink
                  #20Bon IverLink
                  #21A Facebook group about music/
                  #22NEA todayLink
                  #23nobodyspecialLink
                  #24Trey RatCliffLink
                  #25A friend's post/
                  #26State FarmLink
                  #27Another friend's post/
                  #28A friend selling a furniture/
                  #39A post about a person I follow/
                  #30NÜTRL Vodka SeltzerLink
                  #31A post about sport news/
                  #32The Wall Street JournalLink
                  #33frontelineboutique.coLink
                  #34Wonderful world of gamingLink
                  #35A friend has changed his profile picture/
                  #36Skull ShaverLink
                  #37A friend sharing a post about summer activities/
                  #38Sport news again/
                  #39A friend selling furnitures/
                  #40ModeloLink
                  #41Romain LanéryLink
                  #42Modded Detroit Car ShowsLink
                  #43A friend sharing some pictures/
                  #44Alchemical RecordsLink
                  #45A friend sharing a post about soccer/
                  Total18 ✓12 ✓15 ✓
                  \ No newline at end of file +My facebook feed is a nightmare | Yann Prono

                    My facebook feed is a nightmare

                    I joined the social network in 2008. At this time, I was in middle school; people were sharing photos and posting comments. It was great. The content I received was the content I expected. The platform has always been a way to keep me informed about music, movies, local events, etc. For example, 2 days ago, I learned that Arctic Monkeys announced a new album.

                    Nowadays, I still use facebook because of messenger. Family and friends use it although I would rather use privacy-friendly apps such as Signal or Element (Matrix).

                    So why do I argue my feed is a nightmare? I take my phone out of my pocket, I open the facebook application and then, the funniest thing happens:

                    A post of the Ancient aliens Theory facebook group💩

                    We start with a group about alien theories.

                    Amazon Fresh facebook ad💩

                    An ad about Amazon Fresh. I don't like Amazon. I thought you already knew that Facebook.

                    Screenshot a blackscreen facebook video.💩

                    This guy sells a $400 ticket for a 3 days retreat to guide you in discovering your truest potential, purpose and power. He describes himself as an awakening guide. He sounds like a guru to me, what do you think Facebook?

                    Screenshot of a facebook video showing backseat of yellow Skoda Felicia Fun Pickup💩

                    A suggested video about a guy filming a yellow Skoda Felicia Fun Pickup. In the video, the guy has a baby voice.

                    Screenshot of a facebook post showing a guy making youtube videos💩

                    A suggested video of a guy making tech videos on Youtube. I'm into tech so it could make sense but this is not tech I like at all.

                    Screenshot of a facebook post from Pepco about road closures💩

                    A sponsored post again? Did I break the Facebook algorithm or something?

                    Screenshot of a facebook video showing a bald guy wearing a headset💩

                    What the heck? Who's that guy with this unbearable voice? Where did my friend's content go?

                    Screenshot of a gallery of facebook reels💩

                    A gallery of videos from people I don't even know.

                    Video thumbnail: pet fishs, from $0.01 to $30,000💩

                    I'm getting pissed off. Who is this guy again? And why does Facebook suggest these kinds of content?

                    Screenshot of a video showing a woman working on a laptop with a energy drink💩

                    A summary of what I hate about marketing. This post considers people idiots.

                    A crappy meme about cars, old cars are viril, modern cars are compared to waxed people💩

                    let's appreciate this misogynistic meme. Oh and by the way, I do not care about cars.

                    A NBA player roasting everyone according to the clickbait title💩

                    It's the twelfth post on my timeline and still waiting for a friend's post. I don't even watch NBA.

                    A marvel meme from Black widow, it's about sex performances of different male actors💩

                    Another meme about Marvel movies, no comment...

                    An ad of an electric flying insect trap device💩

                    It's getting worse than TV ads at this rate...

                    An anonymised facebook post with a picture of a stone house👍

                    First post I would possibly be interested in because I joined this facebook group 🎉. Are you trying to manipulate me Mark or am I paranoid?

                    A facebook post with a picture a cyclist near Big Ben in London💩

                    An Australian shitposting group page talking about the UK??

                    Screnshot of a guy talking about influencers💩

                    Money Driven Dream. That's so me Mark!

                    Ad of Wendy's💩

                    According to a survey conducted by Choconews, 82% of American people think it's a great fast-food restaurant. Yann would tell you the contrary.

                    Screnshot of a Video with a woman💩

                    Again, shitposting about people I don't even give attention to. What the fuck is wrong with Facebook?

                    Weird goodbyes album of The national feat. Bon Iver👍

                    I need to check out what he's been working on these days.

                    anonymised friend's facebook post👍

                    A post about a facebook page I follow, very surprising, I was expecting another suggested/sponsored content.

                    NEA today post💩

                    I thought for a second the algorithm was working correctly, I almost had a panic attack...

                    Video of guy pouring champagn on cushions💩

                    Shitposting video about a guy mad because people put some champagne on his $1000 cushions. What a sad life!

                    Little girl talking about Burning man👍

                    I follow this person, he's a photographer.

                    anonymised friend's facebook post💩

                    Sponsored facebook post of state farm showing a young man dancing in a backyard💩

                    Are you trying to convince me your insurance company is lit? Let me doubt about it.

                    Anonymised friend's facebook post👍
                    A facebook marketplace post👍

                    A friend selling furniture on facebook marketplace.

                    Anonymised friend's facebook post👍

                    Are you still scrolling for real?

                    A sponsored facebook post about an alcohol drink💩

                    I wonder whether minors could see this ad on their timeline.

                    Anonymised friend's facebook post👍
                    Article from the Wall Street journal: If your Co-Workers are 'Quiet Quitting', Here's What That means💩

                    What are you trying to tell me Mark?

                    A nurse dancing in front of her camera💩

                    Until what? Until WHAT? TELL ME PLEASE, I WANNA KNOW!

                    A meme with characters from Kuzco about Mario💩
                    Anonymised friend's facebook post👍

                    Skull shaver, a company selling products for shaving💩
                    Anonymised friend's facebook post👍
                    Anonymised friend's facebook post👍
                    Anonymised facebook marketplace post👍

                    A modelo beer💩

                    I don't drink this beer.

                    Video of Romain Lanéry💩

                    The second time this guy is suggested. My position remains the same.

                    Video of a 2024 electric dodge challenger SRT💩

                    I repeat myself one more time, I don't give a shit about cars.

                    Anonymised friend's facebook post👍
                    Alchemical Records post about NFTs💩

                    La cerise sur le gâteau: NFTs

                    Anonymised friend's facebook post💩

                    I think it's enough for today.

                    Why does it look so bad?

                    Have you noticed the crazy number of ads? How is it possible? Who on this planet could like so much shitty content seriously?

                    I have a simple theory: I think fewer and fewer people use facebook and prefer sharing content on Instagram. The fewer people using facebook, the more room for ads. This theory is the result of my observations, very unscientific though.

                    Any solutions?

                    2 years ago, I had already noticed more and more ads. Let's be honest a second: The ads are so bad and irrelevant most of the time but being confronted with them regularly is not without consequences. So I started reporting and hiding them:

                    facebook menu with 4 actions: save, hide or report a post

                    Unfortunately, as you can see, it has no impact, it's even worse I would say. A radical solution would be to get rid of facebook which also means getting rid of messenger, which is not an option for me at this time. Another solution is to disable your account. And good news: you can still use messenger even if your facebook account is disabled.

                    Summary of posts

                    PostSuggestionSponsorRelevanceLink
                    #1Ancient Aliens TheoryLink
                    #2Amazon Fresh/
                    #3Dany MorelLink
                    #4The Carz PagevvLink
                    #5Romain LanéryLink
                    #6PepcoConnectLink
                    #7entrepreneurauthorityLink
                    #8Random Reel videos/
                    #9ToopetLink
                    #10Optimum NutritionLink
                    #11Mecanicien actuLink
                    #12nba_flamesLink
                    #13Marvelous world of fictionLink
                    #14ZevoLink
                    #15A facebook group I belong to/
                    #16LADBible AustraliaLink
                    #17Money Driven DreamLink
                    #18Wendy'sLink
                    #29Guillaume PleyLink
                    #20Bon IverLink
                    #21A Facebook group about music/
                    #22NEA todayLink
                    #23nobodyspecialLink
                    #24Trey RatCliffLink
                    #25A friend's post/
                    #26State FarmLink
                    #27Another friend's post/
                    #28A friend selling a furniture/
                    #39A post about a person I follow/
                    #30NÜTRL Vodka SeltzerLink
                    #31A post about sport news/
                    #32The Wall Street JournalLink
                    #33frontelineboutique.coLink
                    #34Wonderful world of gamingLink
                    #35A friend has changed his profile picture/
                    #36Skull ShaverLink
                    #37A friend sharing a post about summer activities/
                    #38Sport news again/
                    #39A friend selling furnitures/
                    #40ModeloLink
                    #41Romain LanéryLink
                    #42Modded Detroit Car ShowsLink
                    #43A friend sharing some pictures/
                    #44Alchemical RecordsLink
                    #45A friend sharing a post about soccer/
                    Total18 ✓12 ✓15 ✓
                    \ No newline at end of file diff --git a/articles/self-documented-makefile-v1-1/index.html b/articles/self-documented-makefile-v1-1/index.html index 75f9af4..d37e2d5 100644 --- a/articles/self-documented-makefile-v1-1/index.html +++ b/articles/self-documented-makefile-v1-1/index.html @@ -1,4 +1,4 @@ -Self-Documented Makefile V1.1 | Yann Prono

                      Self-Documented Makefile V1.1

                      I like Makefiles: The syntax is quite simple, it's easy to use and it's useful to group commands in one place. In 2016, Marmelab published an article on documenting a Makefile. With some shell script voodoo, you can run make help and it will print all the available targets and their descriptions. It works and it is simple. I've been using this trick for years and I'm happy with it.

                      Today I would like to go one step further: Let's improve the help target so it also outputs the variables and their values. To do so, we can read the internal database thanks to make -p. This command prints a lot of information: recipes, prerequisites, environment variables, variables and so on.

                      bash
                      make -pn hello=there # -n for a dry run
                      +Self-Documented Makefile V1.1 | Yann Prono

                        Self-Documented Makefile V1.1

                        I like Makefiles: The syntax is quite simple, it's easy to use and it's useful to group commands in one place. In 2016, Marmelab published an article on documenting a Makefile. With some shell script voodoo, you can run make help and it will print all the available targets and their descriptions. It works and it is simple. I've been using this trick for years and I'm happy with it.

                        Today I would like to go one step further: Let's improve the help target so it also outputs the variables and their values. To do so, we can read the internal database thanks to make -p. This command prints a lot of information: recipes, prerequisites, environment variables, variables and so on.

                        bash
                        make -pn hello=there # -n for a dry run
                         # environment
                         XAUTHORITY = /run/user/1000/gdm/Xauthority
                         # environment
                        @@ -31,4 +31,4 @@
                         
                         Targets:
                           help                           Show this help
                        -
                        \ No newline at end of file +
                        \ No newline at end of file diff --git a/articles/syntax-highlighter/index.html b/articles/syntax-highlighter/index.html index 5e1859b..c99169a 100644 --- a/articles/syntax-highlighter/index.html +++ b/articles/syntax-highlighter/index.html @@ -1,4 +1,4 @@ -My syntax highlighter | Yann Prono

                          My syntax highlighter

                          In this article, I'm going to explain how I chose a syntax highlighting library for my blog and how I improved it because yes, I have very high expectations:

                          • The highlighting must be performed at build time. I use Eleventy as a static site generator.

                          • The output format must be HTML.

                          • A Node.js library is preferable since Eleventy requires it.

                          • The library must support at least the following programming languages: HTML, CSS, JS, TS, Makefile, JSON, Golang, Ruby, C, Rust, and Java.

                          • Support of a dark theme is a plus.

                          • Embedding extra JS scripts is not a possibility: As you know, energy prices are getting crazy. I bought a turtleneck sweater for my server but Github doesn't want to give me physical access to my machine so let's save some bytes.

                          • A concise and clean HTML output is appreciated.

                          Choosing a library

                          I'm not going to reinvent the wheel. Let's explore the different libraries available on the Internet:

                          • codemirror: I use this library for the code vizualiser of SARD. This library is complete but too overkilled for this blog. Furthermore, Codemirror is supposed to be run in a browser.

                          • shjs: Not available on npm, bye bye.

                          • rainbow: Supported languages don't match my needs.

                          • highlightjs: Highlight looks great. It's also very well integrated with Eleventy.

                          • prism.js: Another library for the browser.

                          • torchlight: There's no way I pay for highlighting my shitty code.

                          • shiki: This one looks great too.

                          After comparing highlightjs and shiki, I decided to choose shiki because the colors look great and sharp (inspired by VScode themes) and it's a way for me to test the flexibility and modularity of Eleventy. Let's run Shiki for the first time to see what the output looks like:

                          HTML
                          <!-- codeToHtml(`const shiki = require('shiki')`, { lang: 'js' }) -->
                          +My syntax highlighter | Yann Prono

                            My syntax highlighter

                            In this article, I'm going to explain how I chose a syntax highlighting library for my blog and how I improved it because yes, I have very high expectations:

                            • The highlighting must be performed at build time. I use Eleventy as a static site generator.

                            • The output format must be HTML.

                            • A Node.js library is preferable since Eleventy requires it.

                            • The library must support at least the following programming languages: HTML, CSS, JS, TS, Makefile, JSON, Golang, Ruby, C, Rust, and Java.

                            • Support of a dark theme is a plus.

                            • Embedding extra JS scripts is not a possibility: As you know, energy prices are getting crazy. I bought a turtleneck sweater for my server but Github doesn't want to give me physical access to my machine so let's save some bytes.

                            • A concise and clean HTML output is appreciated.

                            Choosing a library

                            I'm not going to reinvent the wheel. Let's explore the different libraries available on the Internet:

                            • codemirror: I use this library for the code vizualiser of SARD. This library is complete but too overkilled for this blog. Furthermore, Codemirror is supposed to be run in a browser.

                            • shjs: Not available on npm, bye bye.

                            • rainbow: Supported languages don't match my needs.

                            • highlightjs: Highlight looks great. It's also very well integrated with Eleventy.

                            • prism.js: Another library for the browser.

                            • torchlight: There's no way I pay for highlighting my shitty code.

                            • shiki: This one looks great too.

                            After comparing highlightjs and shiki, I decided to choose shiki because the colors look great and sharp (inspired by VScode themes) and it's a way for me to test the flexibility and modularity of Eleventy. Let's run Shiki for the first time to see what the output looks like:

                            HTML
                            <!-- codeToHtml(`const shiki = require('shiki')`, { lang: 'js' }) -->
                             <pre class="shiki">
                               <code>
                                 <span class="line">
                            @@ -215,4 +215,4 @@
                               <span class="h01">'shiki'</span>
                               <span class="h08">)</span>
                             </span>
                            -
                            \ No newline at end of file +
                            \ No newline at end of file diff --git a/assets/css/photoswipe-aaba5c28.css b/assets/css/photoswipe-4007c76f.css similarity index 75% rename from assets/css/photoswipe-aaba5c28.css rename to assets/css/photoswipe-4007c76f.css index b22dc3b..a81eb76 100644 --- a/assets/css/photoswipe-aaba5c28.css +++ b/assets/css/photoswipe-4007c76f.css @@ -1 +1 @@ -/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;top:0;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0px}.pswp__button--arrow--next{right:0px}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;-webkit-margin-start:20px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}#gallery{display:grid;gap:1rem}#gallery a{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;justify-self:center;align-self:center;max-width:var(--w)}.pswp__button{display:flex;justify-content:center;align-items:center}.pswp__button--zoom{display:none}.pswp__button--arrow{background-color:#00000073;border-radius:7px;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;margin-top:-10px;padding:8px 10px 9px;position:absolute;top:50%;z-index:1080;outline:0;border:none;width:42px;height:39px}.pswp__button .pswp__icn{height:1rem;width:1rem;opacity:.5;position:initial;margin:0}.pswp__button--close .pswp__icn{height:1.2rem;width:auto}.pswp__button:hover .pswp__icn{opacity:1}.pswp__button--arrow--next{right:20px}.pswp__button--arrow:hover,.pswp__button--arrow:active,.pswp__button--arrow:focus{background-color:#00000073;padding:8px 10px 9px}.pswp__button--close,.pswp__button--close:hover{background:transparent}.pswp__button--arrow--prev{left:20px}.pswp--touch .pswp__button--arrow{visibility:unset} +/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;top:0;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0px}.pswp__button--arrow--next{right:0px}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}#gallery{display:grid;gap:1rem}#gallery a{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;justify-self:center;align-self:center;max-width:var(--w)}.pswp__button{display:flex;justify-content:center;align-items:center}.pswp__button--zoom{display:none}.pswp__button--arrow{background-color:#00000073;border-radius:7px;color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;margin-top:-10px;padding:8px 10px 9px;position:absolute;top:50%;z-index:1080;outline:0;border:none;width:42px;height:39px}.pswp__button .pswp__icn{height:1rem;width:1rem;opacity:.5;position:initial;margin:0}.pswp__button--close .pswp__icn{height:1.2rem;width:auto}.pswp__button:hover .pswp__icn{opacity:1}.pswp__button--arrow--next{right:20px}.pswp__button--arrow:hover,.pswp__button--arrow:active,.pswp__button--arrow:focus{background-color:#00000073;padding:8px 10px 9px}.pswp__button--close,.pswp__button--close:hover{background:transparent}.pswp__button--arrow--prev{left:20px}.pswp--touch .pswp__button--arrow{visibility:unset} diff --git a/assets/css/style-617cb24f.css b/assets/css/style-617cb24f.css deleted file mode 100644 index 9897d95..0000000 --- a/assets/css/style-617cb24f.css +++ /dev/null @@ -1 +0,0 @@ -*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,svg{display:block;width:100%;height:auto}input,button{font:inherit}p,h1,h2{overflow-wrap:break-word}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}:root{--body-background: #fff;--black: #1a1a1a;--text-color: #1a1a1a;--border-color: #dcdcdc;--caption-color: #858585;--card-background: #f5f5f7;--card-background-hover: #ececf1;--link-color: #2563eb;--editor-background: #fff;--navbar-height: 120px;--input-background: #fafafa;--outline-border-color: #007aff;--outline-shadow-color: rgb(219 234 254);font-size:1rem;line-height:1.75;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:auto}*{box-sizing:border-box}img{color:transparent}h1,h2{letter-spacing:-.016em;line-height:1.25;font-weight:700}p,li,h1,h2{word-break:normal}html{overflow-x:hidden}body{margin:0;scrollbar-gutter:stable;text-rendering:optimizelegibility;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;overflow-x:hidden;max-width:100vw;background:var(--body-background)}.container{--width:calc(50% - 354px);--padding: clamp(10px, var(--width), var(--width));display:grid;grid-template-rows:min-content;grid-template-columns:var(--padding) auto var(--padding)}.container>*{grid-column:2}article{padding:0}video{width:100%}a.asset{display:inline-block;text-decoration:none;position:relative;overflow:hidden}.asset{width:125px}.asset+.asset{margin-left:.5rem}a.asset:after,a.asset:before{--size: 1.5rem;transition:.4s transform;transform:translate3d(2rem,2rem,0);content:"";position:absolute;bottom:0;right:0;border-radius:100% 0 0;width:var(--size);height:var(--size)}a.asset:before{background-color:#ffffff7f;-webkit-backdrop-filter:blur(10px) saturate(100%) contrast(45%) brightness(130%);backdrop-filter:blur(10px) saturate(100%) contrast(45%) brightness(130%);content:"";position:absolute}a.asset:after{background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:calc(var(--size) / 1.75);background-position:80% 65%;box-shadow:inset 0 2px 4px #00000017}a.asset:is(:hover,:focus):before,a.asset:is(:hover,:focus):after{transform:translateZ(0);transition:.45s transform}pre code{height:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;letter-spacing:initial;border-radius:3px}pre{margin:0}@media screen and (prefers-reduced-motion: no-preference){body{scroll-behavior:smooth}}@media only screen and (width <= 600px),(prefers-reduced-motion: reduce){a.asset:before,a.asset:after{transform:translateZ(0)}a.asset:after{transform:translate(0);transition:.45s transform;opacity:.75}}@media (prefers-reduced-motion: reduce){a.asset:before,a.asset:after{transform:translateZ(0)}a.asset:hover:after{opacity:1}*{animation-play-state:paused!important}}body#dark{--body-background: #121212;--text-color: white;--border-color: #353535;--input-background: #222224;--link-color: #4ca2fe;--outline-shadow-color: rgb(37 99 235 / 40%);--card-background: #222224;--card-background-hover: #29292c;background:var(--body-background);color:var(--text-color)}#dark article ul li:before{background-color:var(--text-color)}#dark ol::marker{color:var(--text-color)}#dark img:not([src*=".svg"]){filter:grayscale(20%)}#dark blockquote{background:#222224}#dark .language-tag{background:var(--body-background);color:#c7c7c7}#dark .theme-selector form{box-shadow:0 -1px #3f3f46;background:#27272a}#dark .icon:hover{color:#fff}#dark article header:before{background:#222224;border-color:#353535}#dark article h1{background-image:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%)}#dark article p{color:#f8f8f8}#dark article h2{color:#ececec}#dark .me p{color:#b3b3b3}#dark .me h1{color:#f5f7fa}#dark .article-item h2{color:#ececf0}#dark .article-item-description{color:#bebebe}#dark article :not(pre)>code:before{background:#282828}#dark label{color:var(--text-color)}#dark .tab label{background:transparent}#dark .tabs{--border-color-inactive: #353535}#dark :is(input:not([type="range"]),select,textarea){background:#222224;color:var(--text-color)}#dark .theme-selector input:checked+label{color:#0ea5e9}#dark .tab [type=radio]:checked~label{background:transparent;color:#fff}#dark .tab [type=radio]:checked~label:after{background:var(--body-background)}#dark .editor:after{filter:invert(.81)}#dark .article-metadata{color:#b9b9b9}#dark .header-anchor{border-color:#2e2e2e}#dark .header-anchor:hover{border-color:#5d5d5d}#dark .header-anchor:after,#dark .header-anchor:before{filter:invert(.8)}#dark table th{background:var(--body-background)}#dark table{--color-border-subtle: #303539;--color-border: #303539}.me{position:relative;width:100%;align-items:center;gap:0 2rem;display:flex;flex-wrap:wrap}.me h1{text-align:center;margin:.75rem 0 .25rem;line-height:clamp(56px,-.875rem + 8.333vw,64px);font-size:clamp(56px,-.875rem + 8.333vw,64px);color:#292929;font-weight:700}.me p{text-align:center;margin:0;color:#575757;overflow-wrap:break-word}.ole{width:220px;height:220px;position:relative}.ole+div{flex-grow:1;flex-basis:min-content}.ole :is(div,.my-head,.my-head img){position:absolute;-o-object-fit:cover;object-fit:cover;animation:gg 16s infinite both}.ole :is(img,picture){z-index:2;width:100%;height:100%}.ole>div{inset:-1px;z-index:0;background-image:linear-gradient(145deg,#d08c7b,#21a9d6,#6b48af,#d23d80);background-size:400%;opacity:.8}.ole>div+div{filter:blur(25px);opacity:.5}@keyframes gg{0%{border-radius:52% 48% 53% 47%/61% 52% 48% 39%}25%{border-radius:62% 38% 64% 36%/41% 65% 35% 59%}75%{border-radius:20% 80% 26% 74%/59% 75% 25% 41%}to{border-radius:52% 48% 53% 47%/61% 52% 48% 39%}}@keyframes ff{0%{transform:translate(0)}to{transform:translate(var(--offset),var(--offset))}}.me div:first-child:after{background:blue;--offset: 1rem}@keyframes dd{0%{transform:rotate(0) translate(var(--offset))}to{transform:rotate(720deg) translate(var(--offset))}}.ole .eye{position:absolute;border-radius:100%;height:17px;width:16px;z-index:3;left:86px;top:87px;background:white;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0009}.ole .eye:after{background:black;content:"";position:absolute;animation:4s dd linear infinite forwards;left:60%;--offset: 3px;top:50%;border-radius:100%;height:3px;width:3px}.ole .eye:nth-child(1):after{left:20%;top:40%;animation:dd 6s linear infinite reverse}.ole .eye:nth-child(2){left:109px}.me .social-networks{margin-top:.5rem}.home{min-height:calc(100vh - 72px);display:flex;flex-direction:column;--gap-grid: 2rem}.home .container{padding-bottom:3rem}.home main>.container{--width:calc(40% - 354px);width:100%;padding:2rem .5rem}.home section{max-width:980px}.home .me{max-width:680px;padding:1rem;margin:0 auto;margin-bottom:3rem}.home main{flex:1}.articles h2{color:var(--black);margin-top:0}.list-articles{list-style-type:none;display:grid;padding:0;margin:0;gap:var(--gap-grid);grid-auto-flow:dense;grid-template-rows:min-content;grid-template-columns:1fr}.article-item{background:var(--card-background);color:var(--text-color);display:flex;align-items:center;border-radius:.5rem;overflow:hidden;gap:1rem;text-decoration:none;padding:1.5rem 2rem}.article-item .go-arrow{transition:.2s all;width:16px;height:16px}.article-item:is(:hover,:focus-visible) .go-arrow{transition:.2s all;transform:translate(.5rem)}.article-item:hover{border-color:#e0e0e0;background:var(--card-background-hover)}.article-item-description{color:#4e4e4e;flex:1;display:flex;flex-direction:column;justify-content:space-between}.article-item p{margin:.5rem 0}.article-item-metadata{display:flex;flex-wrap:wrap;gap:0 1rem;font-size:.875rem;font-weight:400;letter-spacing:-.01em;align-items:center}#dark .article-item-metadata{color:#8b8b8b}.article-item div:first-child span{font-size:.75rem;font-weight:500}.article-item h2{font-weight:700;color:#000;letter-spacing:-.005em;font-size:2rem;margin:0}@media only screen and (width <= 1200px){.home section{margin:0 auto;max-width:680px}}@media only screen and (width <= 780px){.home{--gap-grid: 1rem}.list-articles{grid-template-columns:1fr;padding:0 var(--gap-grid)}.home>div{display:flex;flex-direction:column-reverse}.home .me{flex-direction:column;margin-bottom:0}.article-item{max-width:375px;width:100%;margin:0 auto;justify-self:center}.article-item .go-arrow{display:none}}.tab label{padding:.5rem 1rem;font-size:.75rem;display:flex;align-items:center;font-weight:500;border:1px solid #adadad;border:1px solid var(--border-color-inactive);cursor:pointer;white-space:nowrap;color:#707070;position:relative;background:#fafafa;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tabs{--border-color-inactive: #eaeaea;display:flex;justify-content:flex-end;position:relative;width:100%}.tab+.tab label{margin-left:-1px}.tab [type=radio]{opacity:0;display:none}.tab [type=radio]:checked~label{background:var(--editor-background);border-color:var(--border-color);color:var(--black);z-index:2}.tab [type=radio]:checked~label:after{content:"";position:absolute;height:2px;left:0;right:0;bottom:-1px;background:var(--editor-background)}.tab [type=radio]:checked~label~pre{-webkit-user-select:initial;-moz-user-select:initial;user-select:initial;z-index:1}.tab [type=radio]:checked~label~pre>*{opacity:1}.header{padding:1.5rem 2rem;z-index:10}.header a{line-height:0px;color:var(--text-color);padding:.25rem 0;font-weight:600;text-decoration:none}.header a.active{border-bottom:2px solid var(--text-color)}.header a+a{margin-left:2rem}.header a:hover{opacity:1;border-bottom:2px solid var(--text-color);color:var(--text-color)}.header .container>div{display:flex;justify-content:space-between}.header #search-button svg{color:var(--text-color);width:1.75rem}.header #search-button{justify-self:end;height:2rem;width:4rem;display:flex;flex-flow:row nowrap;grid-column:3;align-items:center;transform:translateY(-2px);border:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.375rem;padding:.25rem .325rem .25rem 0;font-size:.75rem;font-weight:500}@media only screen and (width <= 500px){.header #search-button{width:-moz-fit-content;width:fit-content}.header #search-button span{visibility:hidden;display:none}}.theme-selector{position:relative}.social-networks .theme-selector .icon{padding:.4rem}.theme-selector dialog{position:absolute;bottom:0;right:0;padding:0;z-index:40;margin:auto;transform:translate(-50%,calc(100% + .75rem));border:none;background:transparent}.theme-selector button{cursor:pointer;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;box-shadow:none;box-sizing:border-box;color:#24292e;display:inline-block;position:relative;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;vertical-align:middle;white-space:nowrap;word-wrap:break-word;background:transparent;height:100%;width:100%}.theme-selector form{display:flex;flex-direction:column;background:var(--body-background);border-radius:7px;box-shadow:#fff 0 0,#0f172a1a 0 0 0 1px,#0000001a 0 10px 15px -3px,#0000001a 0 4px 6px -4px}.theme-selector form button{--background-hover: #f1f5f9;margin:0;cursor:pointer;display:flex;align-items:center;gap:.5rem;color:var(--text-color);padding:.25rem 1rem}.theme-selector form button svg{height:1.5rem;width:1.5rem;padding:5px;border-radius:4px;color:inherit}.theme-selector form button:focus{z-index:1}.theme-selector form button:first-child{border-radius:7px 7px 0 0}.theme-selector form button:last-child{border-radius:0 0 7px 7px}.theme-selector form button:hover{background:var(--background-hover)!important}.theme-selector button[aria-pressed]{color:#0ea5e9}.theme-selector button[aria-pressed]:focus{background:var(--background-hover)}.theme-selector form:hover button[aria-pressed]{background:transparent}#dark .theme-selector button{--background-hover: #475569}footer{padding-top:3rem;padding-bottom:3rem;box-sizing:border-box;color:#a1a1a1;font-weight:400;font-size:.875rem;height:256px;display:flex;justify-content:center;align-items:center}footer a{color:inherit;text-decoration:none}footer .container{width:100%;margin:0 auto}.icon{width:100%;filter:grayscale(100%);height:100%;color:#9b9b9b}.icon.github{color:#9b9b9b}.icon:hover{filter:grayscale(0%);color:#000}input,select{padding:.25rem .5rem}input{box-shadow:none;border:1px solid var(--border-color)}input:not([type="checkbox"]),button,textarea,select{font:inherit;width:100%;color:var(--text-color);border-radius:4px;border:1px solid var(--border-color);background:var(--input-background)}select{height:34px;border:1px solid var(--border-color);padding:0 1em 0 1rem;z-index:1}textarea{width:100%;min-width:100%;max-width:100%}a:focus-visible{outline:2px solid var(--outline-border-color)}:is(select,input:not([type="checkbox"])):is(:focus){border-color:var(--outline-border-color);outline:2px solid var(--outline-shadow-color)}input:focus,textarea:focus,select:focus{background:var(--body-background)}select:active{outline:2px solid #007aff}fieldset{border:none;margin:0;padding:0;min-width:0}.content-container{--max-width: min(680px, 100%);--article-paddding: 8rem;--text-width: calc(var(--max-width) - 2rem);max-width:var(--max-width);padding:2rem 1rem;width:100%;margin:0 auto}blockquote{background:hsl(220deg 12% 98%);border-left:3px solid var(--border-color);padding:.75rem 1rem;display:block;font-style:normal;border-radius:0 3px 3px 0;font-size:1rem}article{--dark: rgb(23 23 23);position:relative;box-sizing:border-box;margin:0 auto;letter-spacing:.004em;color:var(--text-color)}article h2:hover .header-anchor{opacity:1}article ol li::marker{width:1.75rem;color:var(--text-color)}article ul li::marker{color:var(--text-color)}article ul{list-style-type:disc}article :is(img,picture){max-width:100%;margin:0 auto;height:auto;background:var(--pc, #dfdfdf);display:block}article :is(img[data-no-pc]){--pc: transparent}article>:is(img,picture),article>*{margin-bottom:1.5rem}article header+*{margin-top:2rem}article :is(.code-snippet,.illustration,figure){max-width:min(780px,70vw)}article>.content-container{margin-top:1rem}article p{line-height:1.75}article header{display:flex;flex-direction:column;position:relative;width:-moz-fit-content;width:fit-content;width:calc(100% + 2rem);padding:0 1rem;margin:4rem -1rem 6rem}article header:before{content:"";position:absolute;inset:-2rem;left:-130px;background:#f5f5f7;border-radius:10px;border:1px solid #eee;width:200vw;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:svgjs='http://svgjs.dev/svgjs' viewBox='0 0 700 700' width='700' height='700'%3E%3Cdefs%3E%3CradialGradient id='gggrain-gradient' r='2.1'%3E%3Cstop offset='0%25' stop-color='%23f5f5f7'%3E%3C/stop%3E%3Cstop offset='50%25' stop-color='%23f5f5f7'%3E%3C/stop%3E%3Cstop offset='100%25' stop-color='%23f5f5f7'%3E%3C/stop%3E%3C/radialGradient%3E%3Cfilter id='gggrain-filter' x='-20%25' y='-20%25' width='140%25' height='140%25' filterUnits='objectBoundingBox' primitiveUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.25' numOctaves='2' seed='2' stitchTiles='stitch' x='0%25' y='0%25' width='100%25' height='100%25' result='turbulence'%3E%3C/feTurbulence%3E%3CfeColorMatrix type='saturate' values='0' x='0%25' y='0%25' width='100%25' height='100%25' in='turbulence' result='colormatrix'%3E%3C/feColorMatrix%3E%3CfeComponentTransfer x='0%25' y='0%25' width='100%25' height='100%25' in='colormatrix' result='componentTransfer'%3E%3CfeFuncR type='linear' slope='3'%3E%3C/feFuncR%3E%3CfeFuncG type='linear' slope='3'%3E%3C/feFuncG%3E%3CfeFuncB type='linear' slope='3'%3E%3C/feFuncB%3E%3C/feComponentTransfer%3E%3CfeColorMatrix x='0%25' y='0%25' width='100%25' height='100%25' in='componentTransfer' result='colormatrix2' type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 15 -7'%3E%3C/feColorMatrix%3E%3C/filter%3E%3C/defs%3E%3Cg%3E%3Crect width='100%25' height='100%25' fill='url(%23gggrain-gradient)'%3E%3C/rect%3E%3Crect width='100%25' height='100%25' fill='transparent' filter='url(%23gggrain-filter)' opacity='1' style='mix-blend-mode: normal'%3E%3C/rect%3E%3C/g%3E%3C/svg%3E")}article h1{margin:0;view-transition-name:var(--h);letter-spacing:clamp(0em,-.875rem + 8.333vw,.04em);font-size:clamp(2rem,-.875rem + 8.333vw,4rem);background-image:linear-gradient(140deg,#171717 12.09%,#262626 42.58%,#1e293b 84.96%);line-height:unset;font-weight:700;color:transparent;background-clip:text;-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline-block}.article-metadata{display:flex;gap:0 3rem;margin:0;color:#525252;margin-top:1rem;font-size:1rem;font-weight:unset;letter-spacing:.1px}h1+.article-metadata{margin-top:1rem;color:#525252}.article-published-on{margin:0;font-size:1rem;font-weight:unset;letter-spacing:.1px}article h2{--line-height: 36px;--dark: rgb(41 41 41);line-height:var(--line-height);display:inline;letter-spacing:0;font-size:1.875rem;font-weight:700;overflow-wrap:break-word;word-break:break-word;margin:0;scroll-margin-top:1.4rem}article h3{--line-height: 36px;--dark: rgb(41 41 41);line-height:var(--line-height);display:inline;letter-spacing:0;font-size:1.325rem;font-weight:700;overflow-wrap:break-word;word-break:break-word;margin:0;scroll-margin-top:1.5rem}article .full-bleed{width:100vw;--offset: calc(100vw - var(--text-width));transform:translate(calc(var(--offset) / -2))}article a{color:inherit}article :not(pre)>code{margin:0;position:relative;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;letter-spacing:.5px;padding:3px 6px;white-space:nowrap;z-index:1}article :not(pre)>code:before{position:absolute;border-radius:3px;inset:0;content:"";z-index:-1;background-color:#eee}article :not(pre)>code[tabindex]::-moz-selection{color:inherit}article :not(pre)>code[tabindex]::selection{color:inherit}article pre code{display:block;overflow:auto;cursor:initial;border:1px solid var(--border-color);border-radius:7px}:is(article p,.me p) a{font-weight:500;color:var(--link-color);text-decoration:none}:is(article p,.me p) a:hover{text-decoration:underline}@media only screen and (width <= 84ch){article li,article>p{font-size:1rem}}@media only screen and (width <= 1080px){article :is(.code-snippet,.illustration,figure){grid-column:1 / -1;max-width:min(780px,100%)}}@media only screen and (width <= 780px){article .editor{width:100%;margin-left:0}}@media print{article>*{max-width:100%}article :is(.code-snippet,.illustration,figure){max-width:100%}}.list-links{list-style-type:none;padding:0;display:flex;gap:1rem;flex-direction:column}.list-links li{color:var(--text-color);text-decoration:none;position:relative;border-radius:.5rem;background:var(--card-background);flex-wrap:nowrap;display:grid;grid-template-columns:4rem auto minmax(4rem,4rem)}.list-links li.with-cover{grid-template-columns:4rem auto auto}.list-links li>:is(img,picture){display:inline-block;aspect-ratio:1;position:relative;height:28px;width:auto;padding:.25rem;transition:.2s linear opacity;align-self:center;justify-self:center}.list-links li>a{align-self:center;position:relative;border-left:1px solid var(--card-background-hover);display:flex;border-radius:0 .5rem .5rem 0;align-items:center;justify-content:center;height:100%}.list-links li a{color:inherit}.list-links li div a{text-overflow:ellipsis;overflow-wrap:break-word;word-break:break-all}.list-links li>a:last-child img{position:absolute;width:100%;height:100%;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;-o-object-fit:cover;object-fit:cover}.list-links li.with-cover>a{aspect-ratio:1 /1;height:128px}.list-links li.with-cover>a:after{content:"";position:absolute;inset:0;transform:translate(30%)}.list-links li>a:hover{background:var(--card-background-hover)}.list-links li svg{align-self:center;width:1rem;height:1rem}.list-links li>div:not(.vinyl){grid-column-start:2;display:flex;justify-content:center;padding:1rem 1rem 1rem 0;text-overflow:ellipsis;flex-direction:column}.list-links li span{grid-column-start:2}@media only screen and (width <= 500px){.list-links li.with-cover,.list-links li{grid-template-columns:1rem auto 4rem}.list-links li.with-cover a{aspect-ratio:unset;height:100%}.list-links li>a .vinyl,.list-links li>a img{display:none;visibility:hidden}.list-links li>:is(img,picture){display:none;visibility:hidden}}.vinyl{--duration-revolution: 1.81s;aspect-ratio:1 / 1;transform:translate(-10%);transition:transform .4s ease-in-out;top:10px;right:0;bottom:10px;position:absolute;width:auto;z-index:-1}.list-links li>a:hover .vinyl{transform:translate(40%);transition:transform .4s ease}.galette:after{position:absolute;inset:0;content:"";background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpzdmdqcz0iaHR0cDovL3N2Z2pzLmRldi9zdmdqcyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgODAwIDgwMCI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJjY2NpcmN1bGFyLWdyYWQiIHI9IjUwJSIgY3g9IjUwJSIgY3k9IjUwJSI+CiAgICAgICAgIDxzdG9wIG9mZnNldD0iOTklIiBzdG9wLWNvbG9yPSJibGFjayIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0id2hpdGUiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgICAgICAgPHN0b3Agb2Zmc2V0PSI5MSUiIHN0b3AtY29sb3I9InJnYigxNSwgMTUsIDE1KSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICAgICAgPC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0idXJsKCNjY2NpcmN1bGFyLWdyYWQpIj48Y2lyY2xlIHI9IjIyMCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMjE2IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIyMTIiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjIwOCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMjA0IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIyMDAiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjE5NiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTkyIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxODgiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjE4NCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTgwIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxNzYiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjE3MiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTY4IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxNjQiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjE2MCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTU2IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxNTIiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjE0OCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTQ0IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxNDAiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjEzNiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTMyIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxMjgiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjEyNCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTIwIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxMTYiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjExMiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTA4IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxMDQiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjEwMCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iOTYiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjkyIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSI4OCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iODQiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjgwIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSI3NiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iNzIiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjY4IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSI2NCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iNjAiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjU2IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSI1MiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iNDgiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjQ0IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSI0MCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMzYiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjMyIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIyOCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMjQiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjIwIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxNiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTIiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjgiIGN4PSI0MDAiIGN5PSI0MDAiLz48L2c+PC9zdmc+);opacity:.2;background-size:170px 170px;background-position:center;overflow:hidden;background-repeat:no-repeat}.vinyl .macaron{--temp: var(--color, 255 255 255);background:white;background:linear-gradient(90deg,rgb(var(--temp)) 0%,rgb(var(--temp)) 80%,rgb(var(--temp) / 40%) 100%);width:33.33%;height:33.33%;position:relative;border-radius:50%;animation:play-music var(--duration-revolution) 0s linear infinite}.vinyl .galette{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100%;border-radius:50%;background-color:#040504}.vinyl .light,.vinyl .light:after{position:absolute;inset:0;z-index:5;border-radius:50%;background-image:linear-gradient(140deg,transparent,rgb(255 255 255 / 10%),transparent)}.vinyl .light:after{content:"";background-image:linear-gradient(140deg,transparent 40%,rgb(255 255 255 / 25%) 50%,transparent 60%)}.vinyl:before{position:absolute;content:"";inset:0;left:-.5px;transform:translate(1px);background:black;border-radius:100%;animation:animate-light var(--duration-revolution) ease alternate-reverse infinite}@keyframes animate-light{0%{transform:rotate(0)}to{transform:rotate(2deg)}}@keyframes play-music{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header-anchor{--offset: .2px;display:inline-block;aspect-ratio:1;vertical-align:middle;position:relative;height:28px;width:auto;margin-bottom:4px;margin-left:.25rem;border:1px solid #e5e5e5;border-radius:4px;transition:.2s linear opacity;opacity:.6}.header-anchor:after,.header-anchor:before{content:"";inset:0;opacity:.7;position:absolute;background:url('data:image/svg+xml,');background-size:1.125rem;background-position:center;background-repeat:no-repeat;transform:initial;transition:.6s transform cubic-bezier(.68,-.55,.27,1.55)}@keyframes rr{0%{opacity:0}50%{opacity:0}75%{opacity:1}}.header-anchor:before{background-image:url('data:image/svg+xml,')}.header-anchor:hover{border-color:#d4d4d4;box-shadow:0 1px 2px #0000000d}.header-anchor:hover:after,.header-anchor:hover:before{opacity:1}.heading{--line-height: 36px;--dark: rgb(41 41 41);position:relative;padding-left:1rem;margin-left:-1rem;letter-spacing:0;line-height:var(--line-height);font-size:30px;font-weight:700;overflow-wrap:break-word;word-break:break-word;color:var(--dark)}.heading:hover .header-anchor{opacity:1}@media only screen and (width >= 780px){.header-anchor{position:absolute;left:0;top:0;transform:translate(-85%,4px);margin-left:0;opacity:0}.header-anchor:before,.header-anchor:after{transform:translate(calc(var(--offset) * -1),var(--offset))}.header-anchor .link{position:absolute;inset:0;display:initial}h2:hover .link{animation:.65s rr ease-out forwards}.header-anchor:before{transform:translate(var(--offset),calc(var(--offset) * -1))}.header-anchor:focus:after,.header-anchor:focus:before,h2:hover .header-anchor:after,h2:hover .header-anchor:before{transform:initial}.header-anchor:focus,.header-anchor:hover{opacity:1}}.list-ingredients{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.recipe-source{opacity:.8;font-style:italic}.ole picture.chef-hat{bottom:0}.ole picture.chef-hat img{height:auto}.ole .chef-hat{transform-origin:top center;position:absolute;z-index:4;animation:none;width:47%;left:25%;top:7%;height:auto;transform:rotate(-9deg);filter:drop-shadow(0 1px 0 #00000010)!important}.ingredient-form{display:flex;gap:1rem .5rem;flex-direction:column;border-radius:10px;max-width:-moz-fit-content;max-width:fit-content;align-items:center;justify-content:center;width:auto;color:var(--text-color)}.ingredient-form button:hover{background:#efeeee}.ingredient-form label input{width:7ch}.recipe-container .ingredient-form{margin:1rem auto}.list-ingredients li{flex-grow:1;height:auto;position:relative;display:grid;flex-direction:row;grid-template-columns:40px auto;align-items:center;gap:0 .5rem;border-radius:24px}.list-ingredients li>span{width:40px;height:40px;position:relative;display:flex;justify-content:center;font-size:24px;align-items:center;background:transparent;background:#f7f7f7;border-radius:10px;grid-row:1 / 2;box-shadow:0 1.4286px 2.8571px #0000001a;border:1px solid rgb(0 0 0 / 6%)}.list-ingredients li :is(p,div){position:relative;z-index:1}.list-ingredients li p{font-weight:700}.list-ingredients li div{font-size:.875rem;grid-column-start:2}.list-ingredients li>span:before{position:absolute;content:attr(data-i);display:flex;z-index:200;align-items:center;justify-content:center;inset:0;border-radius:inherit}.recipe-duration{display:flex;gap:0 .5rem;width:-moz-fit-content;width:fit-content;align-items:center}.article-item .recipe-duration{gap:.25rem}.recipe-duration svg{width:1rem;height:1rem}.article-item-metadata svg{width:.875rem;height:.875rem}#dark .list-ingredients li>span{background:rgb(37 37 41)}#dark .list-ingredients li div{color:var(--text-color)}.pepper:before{filter:invert(.7)}.black-olive:before{filter:grayscale(100%) contrast(200%) brightness(60%)}.red-bell-pepper:before{filter:saturate(170%) hue-rotate(269deg)}.egg:before{filter:sepia(75%) hue-rotate(681deg) contrast(91%)}.yeast:before{filter:brightness(154%) contrast(53%) sepia(179%) hue-rotate(340deg)}@media only screen and (width <= 500px){.recipe-container .ingredient-form{margin:1rem 0}.list-ingredients{display:flex;align-items:unset;padding:0;justify-content:flex-start;flex-direction:column}}figure{position:relative}figure.border>*:first-child{position:relative}figure.border>*:first-child:after{position:absolute;content:"";inset:0;border:1px solid var(--border-color);border-radius:7px}figure figcaption{text-align:center;font-weight:400;font-size:.875rem;line-height:20px;color:#757575;padding:.375rem 0 0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.table-responsive{overflow-x:auto;width:100%}table{--color-border-subtle: #f6f8fa;--color-border: #d8dee4;color:var(--text-color, white);display:table;border-collapse:collapse;position:relative;font-size:90%;line-height:1.5;table-layout:auto}table thead{position:relative;z-index:2}table th{font-weight:400;text-align:left;vertical-align:top;z-index:1;top:0;background:var(--body-background, white);box-shadow:0 3px 0 0 var(--color-border-subtle);padding:.75rem .5rem;border:0}table tbody tr{border-top:1px solid var(--color-border)}table td{padding:.75rem .5rem;border:0;vertical-align:top}.code-block-inner{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;direction:ltr;text-align:left;padding:1.5rem 2rem;white-space:pre;word-spacing:normal;word-break:normal;font-size:.875rem;line-height:1.375rem;-webkit-hyphens:none;hyphens:none;background:transparent;--h00: #032f62;--h01: #22863a;--h02: #6f42c1;--h03: #005cc5;--h04: #6a737d;--h05: #f6f8fa;--h06: #586069;--h07: #b31d28;--h08: #e36209;--h09: #d73a49;--h10: #24292e;--h11: #fafbfc}#dark .code-block-inner{--h00: #dbedff;--h01: #85e89d;--h02: #b392f0;--h03: #79b8ff;--h04: #6a737d;--h05: #2f363d;--h06: #d1d5da;--h07: #fdaeb7;--h08: #ffab70;--h09: #f97583;--h10: #e1e4e8;--h11: #24292e}.h00{color:var(--h00)}.h01{color:var(--h01)}.h02{color:var(--h02)}.h03{color:var(--h03)}.h04{color:var(--h04)}.h05{color:var(--h05)}.h06{color:var(--h06)}.h07{color:var(--h07)}.h08{color:var(--h08)}.h09{color:var(--h09)}.h10{color:var(--h10)}.h11{color:var(--h11)}.language-tag{position:absolute;top:calc(2rem + 1px);top:-.625rem;right:1rem;border-radius:2px;z-index:2;font-size:.75rem;height:1.5rem;padding:.5rem .75rem;display:flex;align-items:center;font-weight:600;border:1px solid var(--border-color);border-color:var(--border-color);color:#464646;background:var(--body-background);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:.2s opacity ease-in-out}.code-block-inner a{text-decoration:none}.code-block-inner a:hover{text-decoration:underline}::view-transition-image-pair(root){isolation:auto}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal;display:block;opacity:1}.list-articles li:first-child a h2{view-transition-name:var(--h)}.card{display:block;padding:1rem;color:#000;text-decoration:none;border-radius:.3em;line-height:2.1em;background:white;box-shadow:0 1px 1px #00000005,0 2px 2px #00000005,0 4px 4px #00000005,0 8px 8px #00000005,0 16px 16px #00000005}.card a{text-decoration:none;color:#000}.social-networks{display:flex;justify-content:center;gap:.75rem}.social-networks .icon{padding:.25rem;width:2rem;height:2rem} diff --git a/assets/css/style-f33b7f6c.css b/assets/css/style-f33b7f6c.css new file mode 100644 index 0000000..e0887db --- /dev/null +++ b/assets/css/style-f33b7f6c.css @@ -0,0 +1 @@ +*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,svg{display:block;width:100%;height:auto}input,button{font:inherit}p,h1,h2{overflow-wrap:break-word}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}:root{--body-background: #fff;--black: #1a1a1a;--text-color: #1a1a1a;--border-color: #dcdcdc;--caption-color: #858585;--card-background: #f5f5f7;--card-background-hover: #ececf1;--link-color: #2563eb;--editor-background: #fff;--navbar-height: 120px;--input-background: #fafafa;--outline-border-color: #007aff;--outline-shadow-color: rgb(219 234 254);font-size:1rem;line-height:1.75;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:auto}*{box-sizing:border-box}img{color:transparent}h1,h2{letter-spacing:-.016em;line-height:1.25;font-weight:700}p,li,h1,h2{word-break:normal}html{overflow-x:hidden}body{margin:0;scrollbar-gutter:stable;text-rendering:optimizelegibility;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;overflow-x:hidden;max-width:100vw;background:var(--body-background)}.container{--width:calc(50% - 354px);--padding: clamp(10px, var(--width), var(--width));display:grid;grid-template-rows:min-content;grid-template-columns:var(--padding) auto var(--padding)}.container>*{grid-column:2}article{padding:0}video{width:100%}a.asset{display:inline-block;text-decoration:none;position:relative;overflow:hidden}.asset{width:125px}.asset+.asset{margin-left:.5rem}a.asset:after,a.asset:before{--size: 1.5rem;transition:.4s transform;transform:translate3d(2rem,2rem,0);content:"";position:absolute;bottom:0;right:0;border-radius:100% 0 0;width:var(--size);height:var(--size)}a.asset:before{background-color:#ffffff7f;-webkit-backdrop-filter:blur(10px) saturate(100%) contrast(45%) brightness(130%);backdrop-filter:blur(10px) saturate(100%) contrast(45%) brightness(130%);content:"";position:absolute}a.asset:after{background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:calc(var(--size) / 1.75);background-position:80% 65%;box-shadow:inset 0 2px 4px #00000017}a.asset:is(:hover,:focus):before,a.asset:is(:hover,:focus):after{transform:translateZ(0);transition:.45s transform}pre code{height:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;letter-spacing:initial;border-radius:3px}pre{margin:0}@media screen and (prefers-reduced-motion: no-preference){body{scroll-behavior:smooth}}@media only screen and (width <= 600px),(prefers-reduced-motion: reduce){a.asset:before,a.asset:after{transform:translateZ(0)}a.asset:after{transform:translate(0);transition:.45s transform;opacity:.75}}@media (prefers-reduced-motion: reduce){a.asset:before,a.asset:after{transform:translateZ(0)}a.asset:hover:after{opacity:1}*{animation-play-state:paused!important}}body#dark{--body-background: #121212;--text-color: white;--border-color: #353535;--input-background: #222224;--link-color: #4ca2fe;--outline-shadow-color: rgb(37 99 235 / 40%);--card-background: #222224;--card-background-hover: #29292c;background:var(--body-background);color:var(--text-color)}#dark article ul li:before{background-color:var(--text-color)}#dark ol::marker{color:var(--text-color)}#dark img:not([src*=".svg"]){filter:grayscale(20%)}#dark blockquote{background:#222224}#dark .language-tag{background:var(--body-background);color:#c7c7c7}#dark .theme-selector form{box-shadow:0 -1px #3f3f46;background:#27272a}#dark .icon:hover{color:#fff}#dark article header:before{background:#222224;border-color:#353535}#dark .header .container>div:nth-child(2)>*{border:1px solid #2b2b2b;background:var(--card-background)}#dark .header .container>div:nth-child(2)>*:hover{border:1px solid #3f3f3f}#dark article h1{background-image:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%)}#dark article p{color:#f8f8f8}#dark article h2{color:#ececec}#dark .me p{color:#b3b3b3}#dark .me h1{color:#f5f7fa}#dark .article-item h2{color:#ececf0}#dark .article-item-description{color:#bebebe}#dark article :not(pre)>code:before{background:#282828}#dark label{color:var(--text-color)}#dark .tab label{background:transparent}#dark .tabs{--border-color-inactive: #353535}#dark :is(input:not([type="range"]),select,textarea){background:#222224;color:var(--text-color)}#dark .theme-selector input:checked+label{color:#0ea5e9}#dark .tab [type=radio]:checked~label{background:transparent;color:#fff}#dark .tab [type=radio]:checked~label:after{background:var(--body-background)}#dark .editor:after{filter:invert(.81)}#dark .article-metadata{color:#b9b9b9}#dark .header-anchor{border-color:#2e2e2e}#dark .header-anchor:hover{border-color:#5d5d5d}#dark .header-anchor:after,#dark .header-anchor:before{filter:invert(.8)}#dark table th{background:var(--body-background)}#dark table{--color-border-subtle: #303539;--color-border: #303539}.me{position:relative;width:100%;align-items:center;gap:0 2rem;display:flex;flex-wrap:wrap}.me h1{text-align:center;margin:.75rem 0 .25rem;line-height:clamp(56px,-.875rem + 8.333vw,64px);font-size:clamp(56px,-.875rem + 8.333vw,64px);color:#292929;font-weight:700}.me p{text-align:center;margin:0;color:#575757;overflow-wrap:break-word}.ole{width:220px;height:220px;position:relative}.ole+div{flex-grow:1;flex-basis:min-content}.ole :is(div,.my-head,.my-head img){position:absolute;-o-object-fit:cover;object-fit:cover;animation:gg 16s infinite both}.ole :is(img,picture){z-index:2;width:100%;height:100%}.ole>div{inset:-1px;z-index:0;background-image:linear-gradient(145deg,#d08c7b,#21a9d6,#6b48af,#d23d80);background-size:400%;opacity:.8}.ole>div+div{filter:blur(25px);opacity:.5}@keyframes gg{0%{border-radius:52% 48% 53% 47%/61% 52% 48% 39%}25%{border-radius:62% 38% 64% 36%/41% 65% 35% 59%}75%{border-radius:20% 80% 26% 74%/59% 75% 25% 41%}to{border-radius:52% 48% 53% 47%/61% 52% 48% 39%}}@keyframes ff{0%{transform:translate(0)}to{transform:translate(var(--offset),var(--offset))}}.me div:first-child:after{background:blue;--offset: 1rem}@keyframes dd{0%{transform:rotate(0) translate(var(--offset))}to{transform:rotate(720deg) translate(var(--offset))}}.ole .eye{position:absolute;border-radius:100%;height:17px;width:16px;z-index:3;left:86px;top:87px;background:white;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0009}.ole .eye:after{background:black;content:"";position:absolute;animation:4s dd linear infinite forwards;left:60%;--offset: 3px;top:50%;border-radius:100%;height:3px;width:3px}.ole .eye:nth-child(1):after{left:20%;top:40%;animation:dd 6s linear infinite reverse}.ole .eye:nth-child(2){left:109px}.me .social-networks{margin-top:.5rem}.home{min-height:calc(100vh - 72px);display:flex;flex-direction:column;--gap-grid: 2rem}.home .container{padding-bottom:3rem}.home main>.container{--width:calc(40% - 354px);width:100%;padding:2rem .5rem}.home section{max-width:980px}.home .me{max-width:680px;padding:1rem;margin:0 auto;margin-bottom:3rem}.home main{flex:1}.articles h2{color:var(--black);margin-top:0}.list-articles{list-style-type:none;display:grid;padding:0;margin:0;gap:var(--gap-grid);grid-auto-flow:dense;grid-template-rows:min-content;grid-template-columns:1fr}.article-item{background:var(--card-background);color:var(--text-color);display:flex;align-items:center;border-radius:.5rem;overflow:hidden;gap:1rem;text-decoration:none;padding:1.5rem 2rem}.article-item .go-arrow{transition:.2s all;width:16px;height:16px}.article-item:is(:hover,:focus-visible) .go-arrow{transition:.2s all;transform:translate(.5rem)}.article-item:hover{border-color:#e0e0e0;background:var(--card-background-hover)}.article-item-description{color:#4e4e4e;flex:1;display:flex;flex-direction:column;justify-content:space-between}.article-item p{margin:.5rem 0}.article-item-metadata{display:flex;flex-wrap:wrap;gap:0 1rem;font-size:.875rem;font-weight:400;letter-spacing:-.01em;align-items:center}#dark .article-item-metadata{color:#8b8b8b}.article-item div:first-child span{font-size:.75rem;font-weight:500}.article-item h2{font-weight:700;color:#000;letter-spacing:-.005em;font-size:2rem;margin:0}@media only screen and (width <= 1200px){.home section{margin:0 auto;max-width:680px}}@media only screen and (width <= 780px){.home{--gap-grid: 1rem}.list-articles{grid-template-columns:1fr;padding:0 var(--gap-grid)}.home>div{display:flex;flex-direction:column-reverse}.home .me{flex-direction:column;margin-bottom:0}.article-item{max-width:375px;width:100%;margin:0 auto;justify-self:center}.article-item .go-arrow{display:none}}.tab label{padding:.5rem 1rem;font-size:.75rem;display:flex;align-items:center;font-weight:500;border:1px solid #adadad;border:1px solid var(--border-color-inactive);cursor:pointer;white-space:nowrap;color:#707070;position:relative;background:#fafafa;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tabs{--border-color-inactive: #eaeaea;display:flex;justify-content:flex-end;position:relative;width:100%}.tab+.tab label{margin-left:-1px}.tab [type=radio]{opacity:0;display:none}.tab [type=radio]:checked~label{background:var(--editor-background);border-color:var(--border-color);color:var(--black);z-index:2}.tab [type=radio]:checked~label:after{content:"";position:absolute;height:2px;left:0;right:0;bottom:-1px;background:var(--editor-background)}.tab [type=radio]:checked~label~pre{-webkit-user-select:initial;-moz-user-select:initial;user-select:initial;z-index:1}.tab [type=radio]:checked~label~pre>*{opacity:1}.header{padding:1.5rem 2rem;z-index:10}.header .container>div{display:flex;gap:2rem}.header .container>div:nth-child(2){grid-column-start:3;display:flex;align-items:center;justify-content:flex-end;gap:1rem;height:32px;width:120px;justify-self:last baseline}.header .container>div:nth-child(2)>*{height:100%;border-radius:.375rem;border:1px solid #ebebeb;background:transparent}.header .container>div:nth-child(2)>*:hover{border:1px solid #d7d7d7}.header a{color:var(--text-color);padding:.375rem 0;font-weight:600;text-decoration:none}.header a.active{border-bottom:2px solid var(--text-color)}.header a:hover{opacity:1;border-bottom:2px solid var(--text-color);color:var(--text-color)}.header #search-button{justify-self:flex-end;height:2rem;min-width:80px;font-size:.875rem;display:flex;align-items:center;gap:.25rem;justify-content:center;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.375rem;padding:0 .25rem 0 0;background:transparent;font-weight:500}.header #search-button svg{color:var(--text-color);width:1.5rem}@media only screen and (width <= 500px){.header #search-button span{visibility:hidden;display:none}}.theme-selector{position:relative;aspect-ratio:1}.social-networks .theme-selector .icon{padding:.4rem}.theme-selector svg{width:1.75rem;height:1.75rem;padding:.25rem .325rem;color:var(--text-color)}.theme-selector dialog{position:absolute;bottom:0;right:0;padding:0;z-index:40;margin:auto;transform:translate(-50%,calc(100% + .75rem));border:none;background:transparent}.theme-selector button{cursor:pointer;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;border:none;box-shadow:none;box-sizing:border-box;color:#24292e;position:relative;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;vertical-align:middle;white-space:nowrap;word-wrap:break-word;background:transparent;height:100%;width:100%}.theme-selector form{display:flex;flex-direction:column;background:var(--body-background);border-radius:7px;box-shadow:#fff 0 0,#0f172a1a 0 0 0 1px,#0000001a 0 10px 15px -3px,#0000001a 0 4px 6px -4px}.theme-selector form button{--background-hover: #f1f5f9;margin:0;cursor:pointer;display:flex;align-items:center;gap:.5rem;color:var(--text-color);padding:.25rem 1rem}.theme-selector form button svg{height:1.5rem;width:1.5rem;padding:5px;border-radius:4px;color:inherit}.theme-selector form button:focus{z-index:1}.theme-selector form button:first-child{border-radius:7px 7px 0 0}.theme-selector form button:last-child{border-radius:0 0 7px 7px}.theme-selector form button:hover{background:var(--background-hover)!important}.theme-selector button[aria-pressed]{color:#0ea5e9}.theme-selector button[aria-pressed]:focus{background:var(--background-hover)}.theme-selector form:hover button[aria-pressed]{background:transparent}#dark .theme-selector button{--background-hover: #475569}footer{padding-top:3rem;padding-bottom:3rem;box-sizing:border-box;color:#a1a1a1;font-weight:400;font-size:.875rem;height:256px;display:flex;justify-content:center;align-items:center}footer a{color:inherit;text-decoration:none}footer .container{width:100%;margin:0 auto}.icon{width:100%;filter:grayscale(100%);height:100%;color:#9b9b9b}.icon.github{color:#9b9b9b}.icon:hover{filter:grayscale(0%);color:#000}input,select{padding:.25rem .5rem}input{box-shadow:none;border:1px solid var(--border-color)}input:not([type="checkbox"]),button,textarea,select{font:inherit;width:100%;color:var(--text-color);border-radius:4px;border:1px solid var(--border-color);background:var(--input-background)}select{height:34px;border:1px solid var(--border-color);padding:0 1em 0 1rem;z-index:1}textarea{width:100%;min-width:100%;max-width:100%}a:focus-visible{outline:2px solid var(--outline-border-color)}:is(select,input:not([type="checkbox"])):is(:focus){border-color:var(--outline-border-color);outline:2px solid var(--outline-shadow-color)}input:focus,textarea:focus,select:focus{background:var(--body-background)}select:active{outline:2px solid #007aff}fieldset{border:none;margin:0;padding:0;min-width:0}.content-container{--max-width: min(680px, 100%);--article-paddding: 8rem;--text-width: calc(var(--max-width) - 2rem);max-width:var(--max-width);padding:2rem 1rem;width:100%;margin:0 auto}blockquote{background:hsl(220deg 12% 98%);border-left:3px solid var(--border-color);padding:.75rem 1rem;display:block;font-style:normal;border-radius:0 3px 3px 0;font-size:1rem}article{--dark: rgb(23 23 23);position:relative;box-sizing:border-box;margin:0 auto;letter-spacing:.004em;color:var(--text-color)}article h2:hover .header-anchor{opacity:1}article ol li::marker{width:1.75rem;color:var(--text-color)}article ul li::marker{color:var(--text-color)}article ul{list-style-type:disc}article :is(img,picture){max-width:100%;margin:0 auto;height:auto;background:var(--pc, #dfdfdf);display:block}article :is(img[data-no-pc]){--pc: transparent}article>:is(img,picture),article>*{margin-bottom:1.5rem}article header+*{margin-top:2rem}article :is(.code-snippet,.illustration,figure){max-width:min(780px,70vw)}article>.content-container{margin-top:1rem}article p{line-height:1.75}article header{display:flex;flex-direction:column;position:relative;width:-moz-fit-content;width:fit-content;width:calc(100% + 2rem);padding:0 1rem;margin:4rem -1rem 6rem}article header:before{content:"";position:absolute;inset:-2rem;left:-130px;background:#f5f5f7;border-radius:10px;border:1px solid #eee;width:200vw;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:svgjs='http://svgjs.dev/svgjs' viewBox='0 0 700 700' width='700' height='700'%3E%3Cdefs%3E%3CradialGradient id='gggrain-gradient' r='2.1'%3E%3Cstop offset='0%25' stop-color='%23f5f5f7'%3E%3C/stop%3E%3Cstop offset='50%25' stop-color='%23f5f5f7'%3E%3C/stop%3E%3Cstop offset='100%25' stop-color='%23f5f5f7'%3E%3C/stop%3E%3C/radialGradient%3E%3Cfilter id='gggrain-filter' x='-20%25' y='-20%25' width='140%25' height='140%25' filterUnits='objectBoundingBox' primitiveUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.25' numOctaves='2' seed='2' stitchTiles='stitch' x='0%25' y='0%25' width='100%25' height='100%25' result='turbulence'%3E%3C/feTurbulence%3E%3CfeColorMatrix type='saturate' values='0' x='0%25' y='0%25' width='100%25' height='100%25' in='turbulence' result='colormatrix'%3E%3C/feColorMatrix%3E%3CfeComponentTransfer x='0%25' y='0%25' width='100%25' height='100%25' in='colormatrix' result='componentTransfer'%3E%3CfeFuncR type='linear' slope='3'%3E%3C/feFuncR%3E%3CfeFuncG type='linear' slope='3'%3E%3C/feFuncG%3E%3CfeFuncB type='linear' slope='3'%3E%3C/feFuncB%3E%3C/feComponentTransfer%3E%3CfeColorMatrix x='0%25' y='0%25' width='100%25' height='100%25' in='componentTransfer' result='colormatrix2' type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 15 -7'%3E%3C/feColorMatrix%3E%3C/filter%3E%3C/defs%3E%3Cg%3E%3Crect width='100%25' height='100%25' fill='url(%23gggrain-gradient)'%3E%3C/rect%3E%3Crect width='100%25' height='100%25' fill='transparent' filter='url(%23gggrain-filter)' opacity='1' style='mix-blend-mode: normal'%3E%3C/rect%3E%3C/g%3E%3C/svg%3E")}article h1{margin:0;view-transition-name:var(--h);letter-spacing:clamp(0em,-.875rem + 8.333vw,.04em);font-size:clamp(2rem,-.875rem + 8.333vw,4rem);background-image:linear-gradient(140deg,#171717 12.09%,#262626 42.58%,#1e293b 84.96%);line-height:unset;font-weight:700;color:transparent;background-clip:text;-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline-block}.article-metadata{display:flex;gap:0 3rem;margin:0;color:#525252;margin-top:1rem;font-size:1rem;font-weight:unset;letter-spacing:.1px}h1+.article-metadata{margin-top:1rem;color:#525252}.article-published-on{margin:0;font-size:1rem;font-weight:unset;letter-spacing:.1px}article h2{--line-height: 36px;--dark: rgb(41 41 41);line-height:var(--line-height);display:inline;letter-spacing:0;font-size:1.875rem;font-weight:700;overflow-wrap:break-word;word-break:break-word;margin:0;scroll-margin-top:1.4rem}article h3{--line-height: 36px;--dark: rgb(41 41 41);line-height:var(--line-height);display:inline;letter-spacing:0;font-size:1.325rem;font-weight:700;overflow-wrap:break-word;word-break:break-word;margin:0;scroll-margin-top:1.5rem}article .full-bleed{width:100vw;--offset: calc(100vw - var(--text-width));transform:translate(calc(var(--offset) / -2))}article a{color:inherit}article :not(pre)>code{margin:0;position:relative;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;letter-spacing:.5px;padding:3px 6px;white-space:nowrap;z-index:1}article :not(pre)>code:before{position:absolute;border-radius:3px;inset:0;content:"";z-index:-1;background-color:#eee}article :not(pre)>code[tabindex]::-moz-selection{color:inherit}article :not(pre)>code[tabindex]::selection{color:inherit}article pre code{display:block;overflow:auto;cursor:initial;border:1px solid var(--border-color);border-radius:7px}:is(article p,.me p) a{font-weight:500;color:var(--link-color);text-decoration:none}:is(article p,.me p) a:hover{text-decoration:underline}@media only screen and (width <= 84ch){article li,article>p{font-size:1rem}}@media only screen and (width <= 1080px){article :is(.code-snippet,.illustration,figure){grid-column:1 / -1;max-width:min(780px,100%)}}@media only screen and (width <= 780px){article .editor{width:100%;margin-left:0}}@media print{article>*{max-width:100%}article :is(.code-snippet,.illustration,figure){max-width:100%}}.list-links{list-style-type:none;padding:0;display:flex;gap:1rem;flex-direction:column}.list-links li{color:var(--text-color);text-decoration:none;position:relative;border-radius:.5rem;background:var(--card-background);flex-wrap:nowrap;display:grid;grid-template-columns:4rem auto minmax(4rem,4rem)}.list-links li.with-cover{grid-template-columns:4rem auto auto}.list-links li>:is(img,picture){display:inline-block;aspect-ratio:1;position:relative;height:28px;width:auto;padding:.25rem;transition:.2s linear opacity;align-self:center;justify-self:center}.list-links li>a{align-self:center;position:relative;border-left:1px solid var(--card-background-hover);display:flex;border-radius:0 .5rem .5rem 0;align-items:center;justify-content:center;height:100%}.list-links li a{color:inherit}.list-links li div a{text-overflow:ellipsis;overflow-wrap:break-word;word-break:break-all}.list-links li>a:last-child img{position:absolute;width:100%;height:100%;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;-o-object-fit:cover;object-fit:cover}.list-links li.with-cover>a{aspect-ratio:1 /1;height:128px}.list-links li.with-cover>a:after{content:"";position:absolute;inset:0;transform:translate(30%)}.list-links li>a:hover{background:var(--card-background-hover)}.list-links li svg{align-self:center;width:1rem;height:1rem}.list-links li>div:not(.vinyl){grid-column-start:2;display:flex;justify-content:center;padding:1rem 1rem 1rem 0;text-overflow:ellipsis;flex-direction:column}.list-links li span{grid-column-start:2}@media only screen and (width <= 500px){.list-links li.with-cover,.list-links li{grid-template-columns:1rem auto 4rem}.list-links li.with-cover a{aspect-ratio:unset;height:100%}.list-links li>a .vinyl,.list-links li>a img{display:none;visibility:hidden}.list-links li>:is(img,picture){display:none;visibility:hidden}}.vinyl{--duration-revolution: 1.81s;aspect-ratio:1 / 1;transform:translate(-10%);transition:transform .4s ease-in-out;top:10px;right:0;bottom:10px;position:absolute;width:auto;z-index:-1}.list-links li>a:hover .vinyl{transform:translate(40%);transition:transform .4s ease}.galette:after{position:absolute;inset:0;content:"";background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpzdmdqcz0iaHR0cDovL3N2Z2pzLmRldi9zdmdqcyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgODAwIDgwMCI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJjY2NpcmN1bGFyLWdyYWQiIHI9IjUwJSIgY3g9IjUwJSIgY3k9IjUwJSI+CiAgICAgICAgIDxzdG9wIG9mZnNldD0iOTklIiBzdG9wLWNvbG9yPSJibGFjayIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0id2hpdGUiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgICAgICAgPHN0b3Agb2Zmc2V0PSI5MSUiIHN0b3AtY29sb3I9InJnYigxNSwgMTUsIDE1KSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICAgICAgPC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PGcgZmlsbD0idXJsKCNjY2NpcmN1bGFyLWdyYWQpIj48Y2lyY2xlIHI9IjIyMCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMjE2IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIyMTIiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjIwOCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMjA0IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIyMDAiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjE5NiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTkyIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxODgiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjE4NCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTgwIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxNzYiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjE3MiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTY4IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxNjQiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjE2MCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTU2IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxNTIiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjE0OCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTQ0IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxNDAiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjEzNiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTMyIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxMjgiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjEyNCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTIwIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxMTYiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjExMiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTA4IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxMDQiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjEwMCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iOTYiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjkyIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSI4OCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iODQiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjgwIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSI3NiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iNzIiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjY4IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSI2NCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iNjAiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjU2IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSI1MiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iNDgiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjQ0IiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSI0MCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMzYiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjMyIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIyOCIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMjQiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjIwIiBjeD0iNDAwIiBjeT0iNDAwIi8+PGNpcmNsZSByPSIxNiIgY3g9IjQwMCIgY3k9IjQwMCIvPjxjaXJjbGUgcj0iMTIiIGN4PSI0MDAiIGN5PSI0MDAiLz48Y2lyY2xlIHI9IjgiIGN4PSI0MDAiIGN5PSI0MDAiLz48L2c+PC9zdmc+);opacity:.2;background-size:170px 170px;background-position:center;overflow:hidden;background-repeat:no-repeat}.vinyl .macaron{--temp: var(--color, 255 255 255);background:white;background:linear-gradient(90deg,rgb(var(--temp)) 0%,rgb(var(--temp)) 80%,rgb(var(--temp) / 40%) 100%);width:33.33%;height:33.33%;position:relative;border-radius:50%;animation:play-music var(--duration-revolution) 0s linear infinite}.vinyl .galette{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100%;border-radius:50%;background-color:#040504}.vinyl .light,.vinyl .light:after{position:absolute;inset:0;z-index:5;border-radius:50%;background-image:linear-gradient(140deg,transparent,rgb(255 255 255 / 10%),transparent)}.vinyl .light:after{content:"";background-image:linear-gradient(140deg,transparent 40%,rgb(255 255 255 / 25%) 50%,transparent 60%)}.vinyl:before{position:absolute;content:"";inset:0;left:-.5px;transform:translate(1px);background:black;border-radius:100%;animation:animate-light var(--duration-revolution) ease alternate-reverse infinite}@keyframes animate-light{0%{transform:rotate(0)}to{transform:rotate(2deg)}}@keyframes play-music{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header-anchor{--offset: .2px;display:inline-block;aspect-ratio:1;vertical-align:middle;position:relative;height:28px;width:auto;margin-bottom:4px;margin-left:.25rem;border:1px solid #e5e5e5;border-radius:4px;transition:.2s linear opacity;opacity:.6}.header-anchor:after,.header-anchor:before{content:"";inset:0;opacity:.7;position:absolute;background:url('data:image/svg+xml,');background-size:1.125rem;background-position:center;background-repeat:no-repeat;transform:initial;transition:.6s transform cubic-bezier(.68,-.55,.27,1.55)}@keyframes rr{0%{opacity:0}50%{opacity:0}75%{opacity:1}}.header-anchor:before{background-image:url('data:image/svg+xml,')}.header-anchor:hover{border-color:#d4d4d4;box-shadow:0 1px 2px #0000000d}.header-anchor:hover:after,.header-anchor:hover:before{opacity:1}.heading{--line-height: 36px;--dark: rgb(41 41 41);position:relative;padding-left:1rem;margin-left:-1rem;letter-spacing:0;line-height:var(--line-height);font-size:30px;font-weight:700;overflow-wrap:break-word;word-break:break-word;color:var(--dark)}.heading:hover .header-anchor{opacity:1}@media only screen and (width >= 780px){.header-anchor{position:absolute;left:0;top:0;transform:translate(-85%,4px);margin-left:0;opacity:0}.header-anchor:before,.header-anchor:after{transform:translate(calc(var(--offset) * -1),var(--offset))}.header-anchor .link{position:absolute;inset:0;display:initial}h2:hover .link{animation:.65s rr ease-out forwards}.header-anchor:before{transform:translate(var(--offset),calc(var(--offset) * -1))}.header-anchor:focus:after,.header-anchor:focus:before,h2:hover .header-anchor:after,h2:hover .header-anchor:before{transform:initial}.header-anchor:focus,.header-anchor:hover{opacity:1}}.list-ingredients{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.recipe-source{opacity:.8;font-style:italic}.ole picture.chef-hat{bottom:0}.ole picture.chef-hat img{height:auto}.ole .chef-hat{transform-origin:top center;position:absolute;z-index:4;animation:none;width:47%;left:25%;top:7%;height:auto;transform:rotate(-9deg);filter:drop-shadow(0 1px 0 #00000010)!important}.ingredient-form{display:flex;gap:1rem .5rem;flex-direction:column;border-radius:10px;max-width:-moz-fit-content;max-width:fit-content;align-items:center;justify-content:center;width:auto;color:var(--text-color)}.ingredient-form button:hover{background:#efeeee}.ingredient-form label input{width:7ch}.recipe-container .ingredient-form{margin:1rem auto}.list-ingredients li{flex-grow:1;height:auto;position:relative;display:grid;flex-direction:row;grid-template-columns:40px auto;align-items:center;gap:0 .5rem;border-radius:24px}.list-ingredients li>span{width:40px;height:40px;position:relative;display:flex;justify-content:center;font-size:24px;align-items:center;background:transparent;background:#f7f7f7;border-radius:10px;grid-row:1 / 2;box-shadow:0 1.4286px 2.8571px #0000001a;border:1px solid rgb(0 0 0 / 6%)}.list-ingredients li :is(p,div){position:relative;z-index:1}.list-ingredients li p{font-weight:700}.list-ingredients li div{font-size:.875rem;grid-column-start:2}.list-ingredients li>span:before{position:absolute;content:attr(data-i);display:flex;z-index:200;align-items:center;justify-content:center;inset:0;border-radius:inherit}.recipe-duration{display:flex;gap:0 .5rem;width:-moz-fit-content;width:fit-content;align-items:center}.article-item .recipe-duration{gap:.25rem}.recipe-duration svg{width:1rem;height:1rem}.article-item-metadata svg{width:.875rem;height:.875rem}#dark .list-ingredients li>span{background:rgb(37 37 41)}#dark .list-ingredients li div{color:var(--text-color)}.pepper:before{filter:invert(.7)}.black-olive:before{filter:grayscale(100%) contrast(200%) brightness(60%)}.red-bell-pepper:before{filter:saturate(170%) hue-rotate(269deg)}.egg:before{filter:sepia(75%) hue-rotate(681deg) contrast(91%)}.yeast:before{filter:brightness(154%) contrast(53%) sepia(179%) hue-rotate(340deg)}@media only screen and (width <= 500px){.recipe-container .ingredient-form{margin:1rem 0}.list-ingredients{display:flex;align-items:unset;padding:0;justify-content:flex-start;flex-direction:column}}figure{position:relative}figure.border>*:first-child{position:relative}figure.border>*:first-child:after{position:absolute;content:"";inset:0;border:1px solid var(--border-color);border-radius:7px}figure figcaption{text-align:center;font-weight:400;font-size:.875rem;line-height:20px;color:#757575;padding:.375rem 0 0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.table-responsive{overflow-x:auto;width:100%}table{--color-border-subtle: #f6f8fa;--color-border: #d8dee4;color:var(--text-color, white);display:table;border-collapse:collapse;position:relative;font-size:90%;line-height:1.5;table-layout:auto}table thead{position:relative;z-index:2}table th{font-weight:400;text-align:left;vertical-align:top;z-index:1;top:0;background:var(--body-background, white);box-shadow:0 3px 0 0 var(--color-border-subtle);padding:.75rem .5rem;border:0}table tbody tr{border-top:1px solid var(--color-border)}table td{padding:.75rem .5rem;border:0;vertical-align:top}.code-block-inner{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;direction:ltr;text-align:left;padding:1.5rem 2rem;white-space:pre;word-spacing:normal;word-break:normal;font-size:.875rem;line-height:1.375rem;-webkit-hyphens:none;hyphens:none;background:transparent;--h00: #032f62;--h01: #22863a;--h02: #6f42c1;--h03: #005cc5;--h04: #6a737d;--h05: #f6f8fa;--h06: #586069;--h07: #b31d28;--h08: #e36209;--h09: #d73a49;--h10: #24292e;--h11: #fafbfc}#dark .code-block-inner{--h00: #dbedff;--h01: #85e89d;--h02: #b392f0;--h03: #79b8ff;--h04: #6a737d;--h05: #2f363d;--h06: #d1d5da;--h07: #fdaeb7;--h08: #ffab70;--h09: #f97583;--h10: #e1e4e8;--h11: #24292e}.h00{color:var(--h00)}.h01{color:var(--h01)}.h02{color:var(--h02)}.h03{color:var(--h03)}.h04{color:var(--h04)}.h05{color:var(--h05)}.h06{color:var(--h06)}.h07{color:var(--h07)}.h08{color:var(--h08)}.h09{color:var(--h09)}.h10{color:var(--h10)}.h11{color:var(--h11)}.language-tag{position:absolute;top:calc(2rem + 1px);top:-.625rem;right:1rem;border-radius:2px;z-index:2;font-size:.75rem;height:1.5rem;padding:.5rem .75rem;display:flex;align-items:center;font-weight:600;border:1px solid var(--border-color);border-color:var(--border-color);color:#464646;background:var(--body-background);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:.2s opacity ease-in-out}.code-block-inner a{text-decoration:none}.code-block-inner a:hover{text-decoration:underline}::view-transition-image-pair(root){isolation:auto}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal;display:block;opacity:1}.list-articles li:first-child a h2{view-transition-name:var(--h)}.card{display:block;padding:1rem;color:#000;text-decoration:none;border-radius:.3em;line-height:2.1em;background:white;box-shadow:0 1px 1px #00000005,0 2px 2px #00000005,0 4px 4px #00000005,0 8px 8px #00000005,0 16px 16px #00000005}.card a{text-decoration:none;color:#000}.social-networks{display:flex;justify-content:center;gap:.75rem}.social-networks .icon{padding:.25rem;width:2rem;height:2rem} diff --git a/assets/search.json b/assets/search.json index 58f9736..39f4636 100644 --- a/assets/search.json +++ b/assets/search.json @@ -1 +1 @@ -[{"url":"/articles/intro-3d-css/","title":"Introduction to 3D in CSS","type":"article","description":"This article is a modest introduction to 3D in CSS through an example. I share with you how I made a Minecraft creeper head in CSS and animated it with JavaScript.","text":"article modest introduction CSS example share made Minecraft creeper head CSS animated JavaScript article composed parts Modeling Minecraft creeper head Making creeper alive Modeling cube Modeling creeper head modeling cube use assets face creeper face avif side head side avif side cube represented img tag nested div element need images square faces HTML div class creeper img src face avif alt class side front img src side avif alt class side back img src side avif alt class side top img src side avif alt class side bottom img src side avif alt class side left img src side avif alt class side right div default HTML elements positioned two dimensional space meaning everything flat menacing flat mouth hairy moustache transform style CSS property indicating children elements positioned space keyword preserve unlock dimension add depth page position elements relative axis CSS function translateZ position element closer farther away viewer CSS creeper size 128px half size calc var size margin auto width var size height var size Elements positioned space transform style preserve side position absolute width var size height var size front transform translateZ var half size back transform translateZ calc var half size top transform translateY calc var half size rotateX 90deg left transform translateX calc var half size rotateY 90deg bottom transform translateY var half size rotateX 90deg right transform translateX var half size rotateY 90deg following figure help understand elements positioned space Hover Bringing cube life part optional modeling good job Jackson character looks static though follow cursor user interaction need compute angles Once calculated use rotateX rotateY position cube relative axis rotation done JavaScript creeper html div class creeper demo img src face avif alt class side front img src side avif alt class side back img src side avif alt class side top img src side avif alt class side bottom img src side avif alt class side right img src side avif alt class side left div style css creeper size 128px half size calc var size margin auto width var size height var size Elements positioned space transform style preserve animation smoother transition 05s transform ease transform rotateX var angle 0deg rotateY var angle 0deg side position absolute width var size height var size front transform translateZ var half size back transform translateZ calc var half size top transform translateY calc var half size rotateX 90deg left transform translateX calc var half size rotateY 90deg bottom transform translateY var half size rotateX 90deg right transform translateX var half size rotateY 90deg app type Options maxAngleX number maxAngleY number const map value number low1 number high1 number low2 number high2 number low2 high2 low2 value low1 high1 low1 function rotate element HTMLElement angleX number angleY number void element style setProperty angle angleX deg element style setProperty angle angleY deg function handleOrientation element HTMLElement options Options void window addEventListener deviceorientation event DeviceOrientationEvent const decY map event gamma 180 360 options maxAngleY options maxAngleY rotate element decY function handleCursor element HTMLElement options Options void window addEventListener mousemove event MouseEvent const elementRect element getBoundingClientRect const originX elementRect left elementRect width const originY elementRect top elementRect height const width window innerWidth const height window innerHeight const angleX map event clientY originY height height options maxAngleY options maxAngleY const angleY map event clientX originX width width options maxAngleX options maxAngleX rotate element angleX angleY const creeper document querySelector demo HTMLElement const options Options maxAngleX maxAngleY touch screens window DeviceOrientationEvent ontouchstart window handleOrientation creeper Object assign options maxAngleY else handleCursor creeper options const map function rotate style setProperty angle deg style setProperty angle deg function handleOrientation window addEventListener deviceorientation const map gamma 180 360 maxAngleY maxAngleY rotate function handleCursor window addEventListener mousemove const getBoundingClientRect left width top height window innerWidth window innerHeight map clientY maxAngleY maxAngleY map clientX maxAngleX maxAngleX rotate const creeper document querySelector demo options maxAngleX maxAngleY window DeviceOrientationEvent ontouchstart window handleOrientation creeper Object assign options maxAngleY handleCursor creeper options"},{"url":"/articles/self-documented-makefile-v1-1/","title":"Self-Documented Makefile V1.1","type":"article","description":"A trick to print Makefile variables and their values.","text":"Makefiles syntax quite simple easy use useful group commands one place 2016 Marmelab published article documenting Makefile shell script voodoo run help will print available targets descriptions works simple using trick years happy Today one step further Let improve help target outputs variables values read internal database thanks command prints lot information recipes prerequisites environment variables variables bashmake hello dry run environment XAUTHORITY run user 1000 gdm Xauthority environment GDMSESSION ubuntu environment XMODIFIERS ibus makefile Makefile line NPROC command line hello quick lookup output later extract relevant information command nothing fancy bashmake awk makefile command getline print Finally let format print result Makefile looks Makefile DEFAULT_GOAL help NPROC shell nproc HOST 127 PHONY help help Show help echo Variables pnf MAKEFILE_LIST awk makefile command getline print grep MAKEFILE_LIST sort uniq awk BEGIN printf 033 36m 30s 033 echo nTargets grep MAKEFILE_LIST sort awk BEGIN printf 033 36m 30s 033 bashmake help hello world Variables DEFAULT_GOAL help HOST 127 NPROC hello world Targets help Show help"},{"url":"/articles/after-effects-date/","title":"Adobe After Effects and JavaScript","type":"article","description":"Adobe After Effects scripting has never been so easy.","text":"January 1st 2021 challenged myself record second video every day entire 2021 year compile single film really enjoyed achieving idea felt great something little creative not familiar camera love video editing perfect reason say hello family friends Finally even exciting kept challenge secret enough storytelling Let point article Something wanted video current date video taken course changing 365 times text layer Adobe project not part plan let explore automate tedious task Adobe Effects Scripting Adobe applications When student learned Adobe applications scripting language named ExtendScript Even though language syntactically close JavaScript didn even try reason Studio crew focused investigating secrets light hoppy drink drawing flying dutchman bottle October 2018 excuses Adobe applications embed JavaScript engine JavaScriptCore means write modern use latest features Generating date means able generate dates few lines code write something target browser runtime TSfunction generateDate time const date new Date 2021 date setDate date getDate Math floor time const options month long day numeric return date toLocaleDateString options January rendering timeline better Firefox just saying code will run Adobe application not web browser means Adobe runtime exposes APIs data program One missing information time variable correspond current time composition According documentation time global variable representing composition time seconds exactly need time global variable const date new Date 2021 const options month long day numeric date setDate date getDate Math floor time date toLocaleDateString options Sorry browser doesn support embedded videos function getDate const new Date 2021 setDate getDate Math floor return toLocaleDateString month long day numeric const date document querySelector viewer date cursor document querySelector timeline date innerHTML getDate cursor value cursor addEventListener input const target date innerHTML getDate value Note wonder import external libraries imagine limitless possibilities ahead generate NFT videos library odd moment glad wasn robot task"},{"url":"/articles/cookies/","title":"A tool about cookies","type":"article","description":"A visual tool to understand cookie attributes and their outcomes.","text":"few days deploying project production ran issue preproduction application not able log back office even though credentials correct blame code authentication service server compiler why not Yann problem cookie sent two misconfigured attributes path domain decided spend hours making tool gain minutes RTFM next time deal cookies tool educational purposes not battle tested don use prove cookies secure Ping Github issues"},{"url":"/articles/my-facebook-feed-is-a-nightmare/","title":"My facebook feed is a nightmare","type":"article","description":"A dream for those who like ads.","text":"joined social network 2008 time middle school people sharing photos posting comments great content received content expected platform always keep informed music movies local events etc example days ago learned Arctic Monkeys announced new album Nowadays use facebook messenger Family friends use although rather use privacy friendly apps Signal Element Matrix why argue feed nightmare phone pocket open facebook application funniest thing happens start group alien theories Amazon Fresh don Amazon thought already knew Facebook guy sells 400 ticket days retreat guide discovering truest potential purpose power describes awakening guide sounds guru think Facebook suggested video guy filming yellow Skoda Felicia Fun Pickup video guy baby voice suggested video guy making tech videos Youtube tech sense not tech sponsored post again break Facebook algorithm something heck guy unbearable voice friend content gallery videos people don even know getting pissed off guy again why does Facebook suggest kinds content summary hate marketing post considers people idiots let appreciate misogynistic meme not care cars twelfth post timeline waiting friend post don even watch NBA meme Marvel movies comment getting worse ads rate First post possibly interested joined facebook group trying manipulate Mark paranoid Australian shitposting group page talking Money Driven Dream Mark According survey conducted Choconews American people think great fast food restaurant Yann tell contrary Again shitposting people don even give attention fuck wrong Facebook need check working days post facebook page follow surprising expecting suggested sponsored content thought second algorithm working correctly almost panic attack Shitposting video guy mad people put champagne 1000 cushions sad life follow person photographer trying convince insurance company lit Let doubt friend selling furniture facebook marketplace scrolling real wonder whether minors see timeline trying tell Mark Until Until TELL PLEASE WANNA KNOW don drink beer second time guy suggested position remains repeat myself one time don give shit cars cerise sur gateau NFTs think enough today Why does look bad noticed crazy number ads possible planet shitty content seriously simple theory think fewer fewer people use facebook prefer sharing content Instagram fewer people using facebook room ads theory result observations unscientific though solutions years ago already noticed ads Let honest second ads bad irrelevant time confronted regularly not without consequences started reporting hiding Unfortunately see impact even worse say radical solution rid facebook means getting rid messenger not option time solution disable account good news use messenger even facebook account disabled Summary posts Post Suggestion Sponsor Relevance Link Ancient Aliens Theory Link Amazon Fresh Dany Morel Link Carz Pagevv Link Romain Lanery Link PepcoConnect Link entrepreneurauthority Link Random Reel videos Toopet Link Optimum Nutrition Link Mecanicien actu Link nba_flames Link Marvelous world fiction Link Zevo Link facebook group belong LADBible Australia Link Money Driven Dream Link Wendy Link Guillaume Pley Link Bon Iver Link Facebook group music NEA today Link nobodyspecial Link Trey RatCliff Link friend post State Farm Link friend post friend selling furniture post person follow NUTRL Vodka Seltzer Link post sport news Wall Street Journal Link frontelineboutique Link Wonderful world gaming Link friend changed profile picture Skull Shaver Link friend sharing post summer activities Sport news again friend selling furnitures Modelo Link Romain Lanery Link Modded Detroit Car Shows Link friend sharing pictures Alchemical Records Link friend sharing post soccer Total"},{"url":"/articles/syntax-highlighter/","title":"My syntax highlighter","type":"article","description":"A lightweight build-time rendering Node.js syntax highlighter module based on Shiki.","text":"article going explain chose syntax highlighting library blog improved yes high expectations highlighting performed build time use Eleventy static site generator output format HTML Node library preferable Eleventy requires library support least following programming languages HTML CSS Makefile JSON Golang Ruby Rust Java Support dark theme plus Embedding extra scripts not possibility know energy prices getting crazy bought turtleneck sweater server Github doesn want give physical access machine let save bytes concise clean HTML output appreciated Choosing library not going reinvent wheel Let explore different libraries available Internet codemirror use library code vizualiser SARD library complete overkilled blog Furthermore Codemirror supposed run browser shjs Not available npm bye bye rainbow Supported languages don match needs highlightjs Highlight looks great integrated Eleventy prism library browser torchlight pay highlighting shitty code shiki one looks great comparing highlightjs shiki decided choose shiki colors look great sharp inspired VScode themes test flexibility modularity Eleventy Let run Shiki first time see output looks HTML codeToHtml const shiki require shiki lang pre class shiki code span class line span style color 81A1C1 const span span style color D8DEE9FF span span style color D8DEE9 shiki span span style color D8DEE9FF span span style color 81A1C1 span span style color D8DEE9FF span span style color ECEFF4 span span style color A3BE8C shiki span span style color ECEFF4 span span code pre Not bad few problems Colors hardcoded meaning support different color themes especially dark theme HTML output verbose due style attribute token lot colors duplicated multiple times small number lines code not big deal when comes sharing big chunks code increases size HTML opinion better approach look HTML classes prefixed highlight every class unique codeToHtml const shiki require shiki lang pre class shiki code span class line span class const span span class span span class shiki span span class span span class span span class span span class span span class shiki span span class span span code pre following CSS rules will embedded CSS file caching concerns style shiki 81a1c1 d8dee9ff media prefers color scheme dark shiki 0550ae a5d6ff color var color var style lot benefits want change theme one day just need update CSS files define themes want defining extra CSS variables HTML cleaner default output Enhancing shiki output special theme css variables uses CSS variables instead hardcoded values Using theme allow support dark theme testing feature turns result not great choosing normal theme github light going bake homemade code Shiki API designed exposes functions codeToHtml returns HTML output string code codeToThemedTokens returns intermediate representation highlighted code going use codeToThemedTokens control HTML rendering function returns object type IThemedToken first dimension lines second dimension different tokens nothing fancy highlight main module function highlight will used Eleventy generate theme program run once generate CSS rules theme mapping json theme mapping json maps HTML class color theme github light json highlight import encode html entities import Highlighter IThemedToken shiki eslint disable next line typescript eslint var requires unicorn prefer module const mapping require theme mapping json class Highlight constructor private readonly Highlighter Highlight code colors param string code param string language returns string HTML content highlight code string language string string eslint disable next line typescript eslint non null assertion const tokens codeToThemedTokens code language return renderToHTML tokens Build HTML output tokens https github com shikijs shiki blob main packages shiki src renderer L24 param tokens tokens shiki library see codeToThemedTokens returns string HTML content renderToHTML tokens IThemedToken string eslint disable next line typescript eslint non null assertion const theme getTheme let html const line tokens html span const token line const className token color mapping token color toUpperCase theme html generateSpanTag token className html span return html trimEnd generateSpanTag token IThemedToken className token content trim return span processToken token span return span class className processToken token span processToken token IThemedToken const HTTP_URL https 256 const token content match HTTP_URL return token content replaceAll href encode return encode token content export Highlight generate theme import promises node import path node path import loadTheme shiki interface Colors light string dark string https github com shikijs shiki tree main packages shiki themes const DEFAULT_THEME github function generateClass index return String index padStart function generateCSS colors Array Colors let cssOutput const variables colors map colors index generateClass index colors light const darkVariables colors map colors index generateClass index colors dark let index index colors length index const paddedIndex generateClass index cssOutput cssOutput paddedIndex color var paddedIndex return code block inner variables join dark code block inner darkVariables join cssOutput function generateMappingFile colors Array Colors const mapping new Map string string const index color colors entries mapping set color light toUpperCase generateClass index eslint disable next line unicorn prefer module return writeFile path join __dirname theme mapping json JSON stringify Object fromEntries mapping undefined async function main themeName string const colors new Map string string const theme await loadTheme themes themeName light json settings const darkTheme await loadTheme themes themeName dark json settings const index theme const key theme index settings foreground undefined key colors key darkTheme index settings foreground console error Color key already used theme index scope continue eslint disable next line typescript eslint non null assertion colors set key darkTheme index settings foreground const sortedColors colors map light dark light dark sort return light localeCompare dark await generateMappingFile sortedColors console log generateCSS sortedColors node_modules bin node modules eleventy generate theme eslint disable next line unicorn prefer top level await main process argv DEFAULT_THEME catch console error theme mapping json 032F62 h00 22863A h01 6F42C1 h02 005CC5 h03 6A737D h04 F6F8FA h05 586069 h06 B31D28 h07 E36209 h08 D73A49 h09 24292E h10 FAFBFC h11 output html span span class h11 const span span span span class h03 shiki span span span span class h11 span span span span class h05 require span span class h08 span span class h01 shiki span span class h08 span span"},{"url":"/articles/first-time-arch-linux/","title":"My Arch Linux install","type":"article","description":"Just some voodoo bash scripts to install Arch Linux from scratch.","text":"article guide myself spent hours writing bash scripts install Arch Linux machine scratch room improvement right happy setup Getting started Create Arch Linux Installer USB drive bash Download ISO curl https geo mirror pkgbuild com iso latest archlinux x86_64 iso Format copy iso thumb drive wipefs dev sdx archlinux x86_64 iso dev sdx reboot Once Arch Linux booted bash Boot Arch Linux live USB run command mkdir scripts scripts export SSID ssid export WIFI_PASSPHRASE wifi passphrase iwctl station wlan0 connect SSID passphrase WIFI_PASSPHRASE curl https mcdostone github install arch linux bash Configure environment variables cat env install Arch Linux bash init init entrypoint script chroot Script executed when arch chroot startup script run reboot once Arch Linux installed Partitionning use ext4 file system Maybe better solutions days allocate 1GB boot partition test custom linux kernels dev sda11GBBoot dev sda24GBSwap dev sda3114GBRoot Terminal Shell preference fish Shell autosuggestion feature reason chose use Gnome terminal use fish install themes colors palette Agnoster theme use Pro Display Mono fonts Desktop environment use Gnome bunch extensions theme Colloid gtk icons pack WhiteSur icon Extension Description user theme gnome shell extensions gcampax github com GNOME just perfection desktop just perfection Add blur GNOME shell search light icedman github com apps search overview rounded window corners yilozt Add rounded corners windows nightthemeswitcher romainvigier Toggle light dark theme automatically blur shell aunetx Add blur GNOME shell dash dock micxgx gmail com dock Gnome Shell noannoyance daase net Remove Window ready notification remove alt tab delay daase net Remove second popup delay switcher pop ups windowIsReady_Remover nunofarruca gmail com Removes window ready Notification Applications applications below installed flatpak Screenshots Next step compile Linux Kernel configuration dedicated laptop"},{"url":"/recipes/butternut-goat-cheese-lasagna/","title":"Lasagnes de butternut et fromage de chèvre","type":"recipe","description":"Lasagnes de butternut et fromage de chèvre","text":"Les ingredients Pour personnes Courge butternut Courges butternut Feuilles lasagnes paquets Oignon oignons Ail gousses Concasse tomates 500g Buche fromage chevre buches Fromage chevre frais 100g Gruyere rape 100g Huile olive filets Paprika cuilleres cafe Cumin moulu cuilleres cafe Beurre 50g Farine 50g Lait 70cl Sel Poivre recette Une photo est prevue lorsque aurai cuisine cette pepite Pelez egrainez courge butternut Coupez des disposez les sur une grille recouverte papier cuisson Parsemez paprika cumin puis enfournez 180 pendant minutes Pelez emincez oignon les gousses ails faites les revenir dans une poele chaude avec filet huile olive jusqu ils colorent Ajoutez concasse tomates laissez mijoter sur feux doux pondant minutes Incorporez chevre frais moitie buche coupee preparation puis ajoutez les des courge melangez Pour bechamel faites fondre beurre feu moyen dans une casserole puis ajoutez farine remuant rapidement Versez progressivemnt lait tout remuant jusqu que melange epaississe assaisonnez votre convenance Reservez Beurrez plat gratin puis montez vos lasagnes Etalez une fine couche bechamel puis recouvrez feuilles lasagne Versez moitie sauce courge puis une couche bechamel Recouvrez feuilles lasagne continuez amener finissant par des feuilles lasagnes recouvertes bechamel rondelles buche chevre gruyere rape Enfournez minutes 180 Servez chaud"},{"url":"/recipes/vegetarian-savoury-cake/","title":"Cake salé végétarien","type":"recipe","description":"Cake salé végétarien aux poivrons, olives et féta","text":"Les ingredients Pour personnes Oeuf 3oeufs Farine 150g Levure chimique sachets Huile olive 8cl Lait 5cl Gruyere rape 100g Poivron rouge 1poivrons Feta 150g Olives noire 50g Poivre recette moule 28cm est necessaire Faites griller les poivrons poele four Coupez feta des ajoutez les olives coupees rondelles Reservez Dans saladier fouettez les oeufs farine levure poivre Incorporez petit petit lait huile legerement tiedi micro onde Ajoutez gruyere Melangez Incorporez ensuite melange poivrons feta olives pate remuez Transvasez tout dans moule beurre saupoudrez peu origan faites cuire pendant minutes"},{"url":"https://www.nan.fyi/svg-paths","title":"Understanding SVG Paths.","type":"external-link","description":"https://www.nan.fyi/svg-paths","text":"https www nan fyi svg paths"},{"url":"https://www.youtube.com/watch?v=7ZBe1VFy0gc","title":"The Internet's Own Boy: The Story of Aaron Swartz.","type":"external-link","description":"https://www.youtube.com/watch?v=7ZBe1VFy0gc","text":"https www youtube com watch 7ZBe1VFy0gc"},{"url":"https://open.spotify.com/album/59HnOYmSTW2CgNihmws5H4?si=8VsIRw4PQoaYOggMHyh9-g","title":"A cool concept album.","type":"external-link","description":"https://open.spotify.com/album/59HnOYmSTW2CgNihmws5H4?si=8VsIRw4PQoaYOggMHyh9-g","text":"https open spotify com album 59HnOYmSTW2CgNihmws5H4 8VsIRw4PQoaYOggMHyh9"},{"url":"https://vectorizer.ai/","title":"Convert your JPEG and PNG bitmaps to SVG vectors quickly and easily.","type":"external-link","description":"https://vectorizer.ai/","text":"https vectorizer"},{"url":"https://emilkowal.ski/ui/dynamic-island","title":"Dynamic island made with CSS.","type":"external-link","description":"https://emilkowal.ski/ui/dynamic-island","text":"https emilkowal ski dynamic island"},{"url":"https://samwho.dev/load-balancing/","title":"An article illustrating different load balancing strategies.","type":"external-link","description":"https://samwho.dev/load-balancing/","text":"https samwho dev load balancing"},{"url":"https://clig.dev/","title":"Command Line Interface Guidelines.","type":"external-link","description":"https://clig.dev/","text":"https clig dev"},{"url":"https://blog.clement.delafargue.name/posts/2015-05-20-why-auto-increment-is-a-terrible-idea.html","title":"Why auto increment is a terrible idea.","type":"external-link","description":"https://blog.clement.delafargue.name/posts/2015-05-20-why-auto-increment-is-a-terrible-idea.html","text":"https blog clement delafargue name posts 2015 why auto increment terrible idea html"},{"url":"https://fffuel.co/","title":"A toolbox for frontend designers.","type":"external-link","description":"https://fffuel.co/","text":"https fffuel"},{"url":"https://www.youtube.com/watch?v=um9zUJfoxQs","title":"How semantic versioning can help you release software.","type":"external-link","description":"https://www.youtube.com/watch?v=um9zUJfoxQs","text":"https www youtube com watch um9zUJfoxQs"},{"url":"https://12factor.net/","title":"A must-read guide for developers.","type":"external-link","description":"https://12factor.net/","text":"https 12factor net"}] \ No newline at end of file +[{"url":"/articles/intro-3d-css/","title":"Introduction to 3D in CSS","type":"article","description":"This article is a modest introduction to 3D in CSS through an example. I share with you how I made a Minecraft creeper head in CSS and animated it with JavaScript.","text":"article modest introduction CSS example share made Minecraft creeper head CSS animated JavaScript article composed parts Modeling Minecraft creeper head Making creeper alive Modeling cube Modeling creeper head modeling cube use assets face creeper face avif side head side avif side cube represented img tag nested div element need images square faces HTML div class creeper img src face avif alt class side front img src side avif alt class side back img src side avif alt class side top img src side avif alt class side bottom img src side avif alt class side left img src side avif alt class side right div default HTML elements positioned two dimensional space meaning everything flat menacing flat mouth hairy moustache transform style CSS property indicating children elements positioned space keyword preserve unlock dimension add depth page position elements relative axis CSS function translateZ position element closer farther away viewer CSS creeper size 128px half size calc var size margin auto width var size height var size Elements positioned space transform style preserve side position absolute width var size height var size front transform translateZ var half size back transform translateZ calc var half size top transform translateY calc var half size rotateX 90deg left transform translateX calc var half size rotateY 90deg bottom transform translateY var half size rotateX 90deg right transform translateX var half size rotateY 90deg following figure help understand elements positioned space Hover Bringing cube life part optional modeling good job Jackson character looks static though follow cursor user interaction need compute angles Once calculated use rotateX rotateY position cube relative axis rotation done JavaScript creeper html div class creeper demo img src face avif alt class side front img src side avif alt class side back img src side avif alt class side top img src side avif alt class side bottom img src side avif alt class side right img src side avif alt class side left div style css creeper size 128px half size calc var size margin auto width var size height var size Elements positioned space transform style preserve animation smoother transition 05s transform ease transform rotateX var angle 0deg rotateY var angle 0deg side position absolute width var size height var size front transform translateZ var half size back transform translateZ calc var half size top transform translateY calc var half size rotateX 90deg left transform translateX calc var half size rotateY 90deg bottom transform translateY var half size rotateX 90deg right transform translateX var half size rotateY 90deg app type Options maxAngleX number maxAngleY number const map value number low1 number high1 number low2 number high2 number low2 high2 low2 value low1 high1 low1 function rotate element HTMLElement angleX number angleY number void element style setProperty angle angleX deg element style setProperty angle angleY deg function handleOrientation element HTMLElement options Options void window addEventListener deviceorientation event DeviceOrientationEvent const decY map event gamma 180 360 options maxAngleY options maxAngleY rotate element decY function handleCursor element HTMLElement options Options void window addEventListener mousemove event MouseEvent const elementRect element getBoundingClientRect const originX elementRect left elementRect width const originY elementRect top elementRect height const width window innerWidth const height window innerHeight const angleX map event clientY originY height height options maxAngleY options maxAngleY const angleY map event clientX originX width width options maxAngleX options maxAngleX rotate element angleX angleY const creeper document querySelector demo HTMLElement const options Options maxAngleX maxAngleY touch screens window DeviceOrientationEvent ontouchstart window handleOrientation creeper Object assign options maxAngleY else handleCursor creeper options const map function rotate style setProperty angle deg style setProperty angle deg function handleOrientation window addEventListener deviceorientation const map gamma 180 360 maxAngleY maxAngleY rotate function handleCursor window addEventListener mousemove const getBoundingClientRect left width top height window innerWidth window innerHeight map clientY maxAngleY maxAngleY map clientX maxAngleX maxAngleX rotate const creeper document querySelector demo options maxAngleX maxAngleY window DeviceOrientationEvent ontouchstart window handleOrientation creeper Object assign options maxAngleY handleCursor creeper options"},{"url":"/articles/self-documented-makefile-v1-1/","title":"Self-Documented Makefile V1.1","type":"article","description":"A trick to print Makefile variables and their values.","text":"Makefiles syntax quite simple easy use useful group commands one place 2016 Marmelab published article documenting Makefile shell script voodoo run help will print available targets descriptions works simple using trick years happy Today one step further Let improve help target outputs variables values read internal database thanks command prints lot information recipes prerequisites environment variables variables bashmake hello dry run environment XAUTHORITY run user 1000 gdm Xauthority environment GDMSESSION ubuntu environment XMODIFIERS ibus makefile Makefile line NPROC command line hello quick lookup output later extract relevant information command nothing fancy bashmake awk makefile command getline print Finally let format print result Makefile looks Makefile DEFAULT_GOAL help NPROC shell nproc HOST 127 PHONY help help Show help echo Variables pnf MAKEFILE_LIST awk makefile command getline print grep MAKEFILE_LIST sort uniq awk BEGIN printf 033 36m 30s 033 echo nTargets grep MAKEFILE_LIST sort awk BEGIN printf 033 36m 30s 033 bashmake help hello world Variables DEFAULT_GOAL help HOST 127 NPROC hello world Targets help Show help"},{"url":"/articles/after-effects-date/","title":"Adobe After Effects and JavaScript","type":"article","description":"Adobe After Effects scripting has never been so easy.","text":"January 1st 2021 challenged myself record second video every day entire 2021 year compile single film really enjoyed achieving idea felt great something little creative not familiar camera love video editing perfect reason say hello family friends Finally even exciting kept challenge secret enough storytelling Let point article Something wanted video current date video taken course changing 365 times text layer Adobe project not part plan let explore automate tedious task Adobe Effects Scripting Adobe applications When student learned Adobe applications scripting language named ExtendScript Even though language syntactically close JavaScript didn even try reason Studio crew focused investigating secrets light hoppy drink drawing flying dutchman bottle October 2018 excuses Adobe applications embed JavaScript engine JavaScriptCore means write modern use latest features Generating date means able generate dates few lines code write something target browser runtime TSfunction generateDate time const date new Date 2021 date setDate date getDate Math floor time const options month long day numeric return date toLocaleDateString options January rendering timeline better Firefox just saying code will run Adobe application not web browser means Adobe runtime exposes APIs data program One missing information time variable correspond current time composition According documentation time global variable representing composition time seconds exactly need time global variable const date new Date 2021 const options month long day numeric date setDate date getDate Math floor time date toLocaleDateString options Sorry browser doesn support embedded videos function getDate const new Date 2021 setDate getDate Math floor return toLocaleDateString month long day numeric const date document querySelector viewer date cursor document querySelector timeline date innerHTML getDate cursor value cursor addEventListener input const target date innerHTML getDate value Note wonder import external libraries imagine limitless possibilities ahead generate NFT videos library odd moment glad wasn robot task"},{"url":"/articles/cookies/","title":"A tool about cookies","type":"article","description":"A visual tool to understand cookie attributes and their outcomes.","text":"few days deploying project production ran issue preproduction application not able log back office even though credentials correct blame code authentication service server compiler why not Yann problem cookie sent two misconfigured attributes path domain decided spend hours making tool gain minutes RTFM next time deal cookies tool educational purposes not battle tested don use prove cookies secure Ping Github issues"},{"url":"/articles/my-facebook-feed-is-a-nightmare/","title":"My facebook feed is a nightmare","type":"article","description":"A dream for those who like ads.","text":"joined social network 2008 time middle school people sharing photos posting comments great content received content expected platform always keep informed music movies local events etc example days ago learned Arctic Monkeys announced new album Nowadays use facebook messenger Family friends use although rather use privacy friendly apps Signal Element Matrix why argue feed nightmare phone pocket open facebook application funniest thing happens start group alien theories Amazon Fresh don Amazon thought already knew Facebook guy sells 400 ticket days retreat guide discovering truest potential purpose power describes awakening guide sounds guru think Facebook suggested video guy filming yellow Skoda Felicia Fun Pickup video guy baby voice suggested video guy making tech videos Youtube tech sense not tech sponsored post again break Facebook algorithm something heck guy unbearable voice friend content gallery videos people don even know getting pissed off guy again why does Facebook suggest kinds content summary hate marketing post considers people idiots let appreciate misogynistic meme not care cars twelfth post timeline waiting friend post don even watch NBA meme Marvel movies comment getting worse ads rate First post possibly interested joined facebook group trying manipulate Mark paranoid Australian shitposting group page talking Money Driven Dream Mark According survey conducted Choconews American people think great fast food restaurant Yann tell contrary Again shitposting people don even give attention fuck wrong Facebook need check working days post facebook page follow surprising expecting suggested sponsored content thought second algorithm working correctly almost panic attack Shitposting video guy mad people put champagne 1000 cushions sad life follow person photographer trying convince insurance company lit Let doubt friend selling furniture facebook marketplace scrolling real wonder whether minors see timeline trying tell Mark Until Until TELL PLEASE WANNA KNOW don drink beer second time guy suggested position remains repeat myself one time don give shit cars cerise sur gateau NFTs think enough today Why does look bad noticed crazy number ads possible planet shitty content seriously simple theory think fewer fewer people use facebook prefer sharing content Instagram fewer people using facebook room ads theory result observations unscientific though solutions years ago already noticed ads Let honest second ads bad irrelevant time confronted regularly not without consequences started reporting hiding Unfortunately see impact even worse say radical solution rid facebook means getting rid messenger not option time solution disable account good news use messenger even facebook account disabled Summary posts Post Suggestion Sponsor Relevance Link Ancient Aliens Theory Link Amazon Fresh Dany Morel Link Carz Pagevv Link Romain Lanery Link PepcoConnect Link entrepreneurauthority Link Random Reel videos Toopet Link Optimum Nutrition Link Mecanicien actu Link nba_flames Link Marvelous world fiction Link Zevo Link facebook group belong LADBible Australia Link Money Driven Dream Link Wendy Link Guillaume Pley Link Bon Iver Link Facebook group music NEA today Link nobodyspecial Link Trey RatCliff Link friend post State Farm Link friend post friend selling furniture post person follow NUTRL Vodka Seltzer Link post sport news Wall Street Journal Link frontelineboutique Link Wonderful world gaming Link friend changed profile picture Skull Shaver Link friend sharing post summer activities Sport news again friend selling furnitures Modelo Link Romain Lanery Link Modded Detroit Car Shows Link friend sharing pictures Alchemical Records Link friend sharing post soccer Total"},{"url":"/articles/syntax-highlighter/","title":"My syntax highlighter","type":"article","description":"A lightweight build-time rendering Node.js syntax highlighter module based on Shiki.","text":"article going explain chose syntax highlighting library blog improved yes high expectations highlighting performed build time use Eleventy static site generator output format HTML Node library preferable Eleventy requires library support least following programming languages HTML CSS Makefile JSON Golang Ruby Rust Java Support dark theme plus Embedding extra scripts not possibility know energy prices getting crazy bought turtleneck sweater server Github doesn want give physical access machine let save bytes concise clean HTML output appreciated Choosing library not going reinvent wheel Let explore different libraries available Internet codemirror use library code vizualiser SARD library complete overkilled blog Furthermore Codemirror supposed run browser shjs Not available npm bye bye rainbow Supported languages don match needs highlightjs Highlight looks great integrated Eleventy prism library browser torchlight pay highlighting shitty code shiki one looks great comparing highlightjs shiki decided choose shiki colors look great sharp inspired VScode themes test flexibility modularity Eleventy Let run Shiki first time see output looks HTML codeToHtml const shiki require shiki lang pre class shiki code span class line span style color 81A1C1 const span span style color D8DEE9FF span span style color D8DEE9 shiki span span style color D8DEE9FF span span style color 81A1C1 span span style color D8DEE9FF span span style color ECEFF4 span span style color A3BE8C shiki span span style color ECEFF4 span span code pre Not bad few problems Colors hardcoded meaning support different color themes especially dark theme HTML output verbose due style attribute token lot colors duplicated multiple times small number lines code not big deal when comes sharing big chunks code increases size HTML opinion better approach look HTML classes prefixed highlight every class unique codeToHtml const shiki require shiki lang pre class shiki code span class line span class const span span class span span class shiki span span class span span class span span class span span class span span class shiki span span class span span code pre following CSS rules will embedded CSS file caching concerns style shiki 81a1c1 d8dee9ff media prefers color scheme dark shiki 0550ae a5d6ff color var color var style lot benefits want change theme one day just need update CSS files define themes want defining extra CSS variables HTML cleaner default output Enhancing shiki output special theme css variables uses CSS variables instead hardcoded values Using theme allow support dark theme testing feature turns result not great choosing normal theme github light going bake homemade code Shiki API designed exposes functions codeToHtml returns HTML output string code codeToThemedTokens returns intermediate representation highlighted code going use codeToThemedTokens control HTML rendering function returns object type IThemedToken first dimension lines second dimension different tokens nothing fancy highlight main module function highlight will used Eleventy generate theme program run once generate CSS rules theme mapping json theme mapping json maps HTML class color theme github light json highlight import encode html entities import Highlighter IThemedToken shiki eslint disable next line typescript eslint var requires unicorn prefer module const mapping require theme mapping json class Highlight constructor private readonly Highlighter Highlight code colors param string code param string language returns string HTML content highlight code string language string string eslint disable next line typescript eslint non null assertion const tokens codeToThemedTokens code language return renderToHTML tokens Build HTML output tokens https github com shikijs shiki blob main packages shiki src renderer L24 param tokens tokens shiki library see codeToThemedTokens returns string HTML content renderToHTML tokens IThemedToken string eslint disable next line typescript eslint non null assertion const theme getTheme let html const line tokens html span const token line const className token color mapping token color toUpperCase theme html generateSpanTag token className html span return html trimEnd generateSpanTag token IThemedToken className token content trim return span processToken token span return span class className processToken token span processToken token IThemedToken const HTTP_URL https 256 const token content match HTTP_URL return token content replaceAll href encode return encode token content export Highlight generate theme import promises node import path node path import loadTheme shiki interface Colors light string dark string https github com shikijs shiki tree main packages shiki themes const DEFAULT_THEME github function generateClass index return String index padStart function generateCSS colors Array Colors let cssOutput const variables colors map colors index generateClass index colors light const darkVariables colors map colors index generateClass index colors dark let index index colors length index const paddedIndex generateClass index cssOutput cssOutput paddedIndex color var paddedIndex return code block inner variables join dark code block inner darkVariables join cssOutput function generateMappingFile colors Array Colors const mapping new Map string string const index color colors entries mapping set color light toUpperCase generateClass index eslint disable next line unicorn prefer module return writeFile path join __dirname theme mapping json JSON stringify Object fromEntries mapping undefined async function main themeName string const colors new Map string string const theme await loadTheme themes themeName light json settings const darkTheme await loadTheme themes themeName dark json settings const index theme const key theme index settings foreground undefined key colors key darkTheme index settings foreground console error Color key already used theme index scope continue eslint disable next line typescript eslint non null assertion colors set key darkTheme index settings foreground const sortedColors colors map light dark light dark sort return light localeCompare dark await generateMappingFile sortedColors console log generateCSS sortedColors node_modules bin node modules eleventy generate theme eslint disable next line unicorn prefer top level await main process argv DEFAULT_THEME catch console error theme mapping json 032F62 h00 22863A h01 6F42C1 h02 005CC5 h03 6A737D h04 F6F8FA h05 586069 h06 B31D28 h07 E36209 h08 D73A49 h09 24292E h10 FAFBFC h11 output html span span class h11 const span span span span class h03 shiki span span span span class h11 span span span span class h05 require span span class h08 span span class h01 shiki span span class h08 span span"},{"url":"/articles/first-time-arch-linux/","title":"My Arch Linux install","type":"article","description":"Just some voodoo bash scripts to install Arch Linux from scratch.","text":"article guide myself spent hours writing bash scripts install Arch Linux machine scratch room improvement right happy setup Getting started Create Arch Linux Installer USB drive bash Download ISO curl https geo mirror pkgbuild com iso latest archlinux x86_64 iso Format copy iso thumb drive wipefs dev sdx archlinux x86_64 iso dev sdx reboot Once Arch Linux booted bash Boot Arch Linux live USB run command mkdir scripts scripts export SSID ssid export WIFI_PASSPHRASE wifi passphrase iwctl station wlan0 connect SSID passphrase WIFI_PASSPHRASE curl https mcdostone github install arch linux bash Configure environment variables cat env install Arch Linux bash init init entrypoint script chroot Script executed when arch chroot startup script run reboot once Arch Linux installed Partitionning use ext4 file system Maybe better solutions days allocate 1GB boot partition test custom linux kernels dev sda11GBBoot dev sda24GBSwap dev sda3114GBRoot Terminal Shell preference fish Shell autosuggestion feature reason chose use Gnome terminal use fish install themes colors palette Agnoster theme use Pro Display Mono fonts Desktop environment use Gnome bunch extensions theme Colloid gtk icons pack WhiteSur icon Extension Description user theme gnome shell extensions gcampax github com GNOME just perfection desktop just perfection Add blur GNOME shell search light icedman github com apps search overview rounded window corners yilozt Add rounded corners windows nightthemeswitcher romainvigier Toggle light dark theme automatically blur shell aunetx Add blur GNOME shell dash dock micxgx gmail com dock Gnome Shell noannoyance daase net Remove Window ready notification remove alt tab delay daase net Remove second popup delay switcher pop ups windowIsReady_Remover nunofarruca gmail com Removes window ready Notification Applications applications below installed flatpak Screenshots Next step compile Linux Kernel configuration dedicated laptop"},{"url":"/recipes/butternut-goat-cheese-lasagna/","title":"Lasagnes de butternut et fromage de chèvre","type":"recipe","description":"Lasagnes de butternut et fromage de chèvre","text":"Les ingredients Pour personnes Courge butternut Courges butternut Feuilles lasagnes paquets Oignon oignons Ail gousses Concasse tomates 500g Buche fromage chevre buches Fromage chevre frais 100g Gruyere rape 100g Huile olive filets Paprika cuilleres cafe Cumin moulu cuilleres cafe Beurre 50g Farine 50g Lait 70cl Sel Poivre recette Une photo est prevue lorsque aurai cuisine cette pepite Pelez egrainez courge butternut Coupez des disposez les sur une grille recouverte papier cuisson Parsemez paprika cumin puis enfournez 180 pendant minutes Pelez emincez oignon les gousses ails faites les revenir dans une poele chaude avec filet huile olive jusqu ils colorent Ajoutez concasse tomates laissez mijoter sur feux doux pondant minutes Incorporez chevre frais moitie buche coupee preparation puis ajoutez les des courge melangez Pour bechamel faites fondre beurre feu moyen dans une casserole puis ajoutez farine remuant rapidement Versez progressivemnt lait tout remuant jusqu que melange epaississe assaisonnez votre convenance Reservez Beurrez plat gratin puis montez vos lasagnes Etalez une fine couche bechamel puis recouvrez feuilles lasagne Versez moitie sauce courge puis une couche bechamel Recouvrez feuilles lasagne continuez amener finissant par des feuilles lasagnes recouvertes bechamel rondelles buche chevre gruyere rape Enfournez minutes 180 Servez chaud"},{"url":"/recipes/vegetarian-savoury-cake/","title":"Cake salé végétarien","type":"recipe","description":"Cake salé végétarien aux poivrons, olives et féta","text":"Les ingredients Pour personnes Oeuf 3oeufs Farine 150g Levure chimique sachets Huile olive 8cl Lait 5cl Gruyere rape 100g Poivron rouge 1poivrons Feta 150g Olives noire 50g Poivre recette moule 28cm est necessaire Faites griller les poivrons poele four Coupez feta des ajoutez les olives coupees rondelles Reservez Dans saladier fouettez les oeufs farine levure poivre Incorporez petit petit lait huile legerement tiedi micro onde Ajoutez gruyere Melangez Incorporez ensuite melange poivrons feta olives pate remuez Transvasez tout dans moule beurre saupoudrez peu origan faites cuire pendant minutes"},{"url":"https://cpu.land/","title":"How CPUs run programs?","type":"external-link","description":"https://cpu.land/","text":"https cpu land"},{"url":"https://www.nan.fyi/svg-paths","title":"Understanding SVG Paths.","type":"external-link","description":"https://www.nan.fyi/svg-paths","text":"https www nan fyi svg paths"},{"url":"https://www.youtube.com/watch?v=7ZBe1VFy0gc","title":"The Internet's Own Boy: The Story of Aaron Swartz.","type":"external-link","description":"https://www.youtube.com/watch?v=7ZBe1VFy0gc","text":"https www youtube com watch 7ZBe1VFy0gc"},{"url":"https://open.spotify.com/album/59HnOYmSTW2CgNihmws5H4?si=8VsIRw4PQoaYOggMHyh9-g","title":"A cool concept album.","type":"external-link","description":"https://open.spotify.com/album/59HnOYmSTW2CgNihmws5H4?si=8VsIRw4PQoaYOggMHyh9-g","text":"https open spotify com album 59HnOYmSTW2CgNihmws5H4 8VsIRw4PQoaYOggMHyh9"},{"url":"https://vectorizer.ai/","title":"Convert your JPEG and PNG bitmaps to SVG vectors quickly and easily.","type":"external-link","description":"https://vectorizer.ai/","text":"https vectorizer"},{"url":"https://emilkowal.ski/ui/dynamic-island","title":"Dynamic island made with CSS.","type":"external-link","description":"https://emilkowal.ski/ui/dynamic-island","text":"https emilkowal ski dynamic island"},{"url":"https://samwho.dev/load-balancing/","title":"An article illustrating different load balancing strategies.","type":"external-link","description":"https://samwho.dev/load-balancing/","text":"https samwho dev load balancing"},{"url":"https://clig.dev/","title":"Command Line Interface Guidelines.","type":"external-link","description":"https://clig.dev/","text":"https clig dev"},{"url":"https://blog.clement.delafargue.name/posts/2015-05-20-why-auto-increment-is-a-terrible-idea.html","title":"Why auto increment is a terrible idea.","type":"external-link","description":"https://blog.clement.delafargue.name/posts/2015-05-20-why-auto-increment-is-a-terrible-idea.html","text":"https blog clement delafargue name posts 2015 why auto increment terrible idea html"},{"url":"https://fffuel.co/","title":"A toolbox for frontend designers.","type":"external-link","description":"https://fffuel.co/","text":"https fffuel"},{"url":"https://www.youtube.com/watch?v=um9zUJfoxQs","title":"How semantic versioning can help you release software.","type":"external-link","description":"https://www.youtube.com/watch?v=um9zUJfoxQs","text":"https www youtube com watch um9zUJfoxQs"},{"url":"https://12factor.net/","title":"A must-read guide for developers.","type":"external-link","description":"https://12factor.net/","text":"https 12factor net"}] \ No newline at end of file diff --git a/index.html b/index.html index cf7a3f7..849b1db 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Yann Prono
                              Me holding a piece of paper.

                              Yann Prono

                              Software Engineer, MAIF

                              \ No newline at end of file +Yann Prono
                                Me holding a piece of paper.

                                Yann Prono

                                Software Engineer, MAIF

                                \ No newline at end of file diff --git a/index.xml b/index.xml index 4f35164..7241e5a 100644 --- a/index.xml +++ b/index.xml @@ -4,7 +4,7 @@ My blog - 2023-07-31T22:09:37Z + 2023-08-15T22:36:18Z https://mcdostone.github.io/ Yann Prono @@ -14,7 +14,7 @@ https://mcdostone.github.io/assets/search.json - 2023-07-31T22:09:37Z + 2023-08-15T22:36:18Z diff --git a/links/index.html b/links/index.html index a5b3984..4bd2624 100644 --- a/links/index.html +++ b/links/index.html @@ -1 +1 @@ -Yann Prono
                                  Me holding a piece of paper.

                                  Some links

                                  Links that could be useful one day but it will never happen.

                                  \ No newline at end of file +Yann Prono
                                    Me holding a piece of paper.

                                    Some links

                                    Links that could be useful one day but it will never happen.

                                    \ No newline at end of file diff --git a/marion-colomer/index.html b/marion-colomer/index.html index 98ebd1d..7ee4d0b 100644 --- a/marion-colomer/index.html +++ b/marion-colomer/index.html @@ -1 +1 @@ -Portfolio - Marion Colomer
                                    Birds serie

                                    Birds

                                    2016
                                    \ No newline at end of file +Portfolio - Marion Colomer
                                    Birds serie

                                    Birds

                                    2016
                                    \ No newline at end of file diff --git a/marion-colomer/portfolio/birds/index.html b/marion-colomer/portfolio/birds/index.html index 3d616b4..730bdbb 100644 --- a/marion-colomer/portfolio/birds/index.html +++ b/marion-colomer/portfolio/birds/index.html @@ -1 +1 @@ -Birds - Marion Colomer

                                    Birds

                                    — 2016 —

                                    Colomer’s work is rooted in questions of intimacy and sensuality. Her latest body of work is inspired by the Museum of Natural History’s collection. Through the metaphor of dead birds, Colomer returns to the question of suffocation in a couple and death within a romantic relationship. This work also explores the concept of tradition, in its ability to be both beautiful and stifling. Traditional painting technique and still life subjects join naturalist drawings and handicrafts, or embroider. This is a way to think about gender and confinement through the progression of a relationship, as well as through historical norms of heterosexual romance in the West. Embroidering good pieces for a trousseau, in preparation for marriage, was a sign of good upbringing and chastity, as well as a promise of domestic bliss to come. To see them adorned instead with clichés of family life offers a hollow, even entrapping, undertone to domesticity. Like the birds, trapped in a moment together.

                                    Paintings: « Honey, What’s for dinner ? » oil, emulsion painting on canvas and embroidery, 30x 40, 2016. « Darling I’m home ! » oil, emulsion on canvas painting and embroidery, 30x 40, 2016.

                                    Sketches: Dead birds, pencil on paper, 16×20, 2016

                                    \ No newline at end of file +Birds - Marion Colomer

                                    Birds

                                    — 2016 —

                                    Colomer’s work is rooted in questions of intimacy and sensuality. Her latest body of work is inspired by the Museum of Natural History’s collection. Through the metaphor of dead birds, Colomer returns to the question of suffocation in a couple and death within a romantic relationship. This work also explores the concept of tradition, in its ability to be both beautiful and stifling. Traditional painting technique and still life subjects join naturalist drawings and handicrafts, or embroider. This is a way to think about gender and confinement through the progression of a relationship, as well as through historical norms of heterosexual romance in the West. Embroidering good pieces for a trousseau, in preparation for marriage, was a sign of good upbringing and chastity, as well as a promise of domestic bliss to come. To see them adorned instead with clichés of family life offers a hollow, even entrapping, undertone to domesticity. Like the birds, trapped in a moment together.

                                    Paintings: « Honey, What’s for dinner ? » oil, emulsion painting on canvas and embroidery, 30x 40, 2016. « Darling I’m home ! » oil, emulsion on canvas painting and embroidery, 30x 40, 2016.

                                    Sketches: Dead birds, pencil on paper, 16×20, 2016

                                    \ No newline at end of file diff --git a/marion-colomer/portfolio/portraits-and-embroidery/index.html b/marion-colomer/portfolio/portraits-and-embroidery/index.html index e5e51fa..7f6a675 100644 --- a/marion-colomer/portfolio/portraits-and-embroidery/index.html +++ b/marion-colomer/portfolio/portraits-and-embroidery/index.html @@ -1 +1 @@ -Portraits and Embroidery - Marion Colomer

                                    Portraits And Embroidery

                                    — 2010 —

                                    Marion Colomer’s oil paintings represent a panel of Indian society captured through a series of portraits. They testify to an other reality of the country not reduced to the common cliché of the poor.

                                    The diversity of the models chosen show the rich culture of India, captured in a context of growth through its philosophers, Sufi poets, artists, fashions designers, business men, glitterati or old maharajas and maharanis. The models contain within-themselves the great energy of modern India, standing at the crossroad of traditional India and the India to become. These specially selected models are iconic figures of the vast Indian culture and represent an ideology, such as the portrait of Gaddar the Naxalite or the greatness of the historic Raj.

                                    Marion’s work combine a classical style of Western paintings and merges it with traditional motifs of Indian culture, including designs observed in numerous miniature paintings and textiles. The motifs are used abundantly throughout her body of work and take three different forms: positive motifs who are painted; negative motifs, scratched off the painted surface and revealing the naked canvas; and finally culminating with positive hand-sewed embroideries, influenced by traditional Indian and Western styles of artwork.

                                    The symbolism of the motifs references the condition of the Indian Woman. Some women in today’s India are still recluses in their homes and unable to witness the outside world. As it was in the old times, when purdah was practiced and a woman’s view was blocked by a Jalli marble window, some present-day women can only see life through a window masked and blocked by the screen of a mosquito net or grille. The motifs in Marion’s painting are a metaphor of this obstructed view.

                                    Similarly to the way women’s view is blocked by images or fixtures, so an outsider cannot see them, some sections of Marion’s painting remain blank, as illustrated by the nudity of the canvas. As spectators observe the painting, their view is partially obstructed by the blank screen patterns. This illustrates Marion’s inability to completely understand her model, the difficulty of restituting their personality, identity, life and culture, which continues to escape her.

                                    The use of the embroideries, hand-stitched directly on the canvas, on the top of the painting, represents and symbolizes both French and India craftwork.

                                    In Western art forms, specifically the French style, these embroideries draw parallels to the feminine style of work forming the bridge from childhood to womanhood. They embroider their initials in cross point on their trousseau (wedding dowry). In India, embroiders are predominately Muslim males and are the artesian depositaries of the Mogol artistic legacy. The inclusion of embroideries in Marion’s paintings are a symbolic way for her to exchange and collaborate with local craftsmen and artisans as well understand Indian culture, more so than to beautify by decorating the painting. They add a layer of decorative complexity helps connect with and represent the personality of the model.p>

                                    Marion’s paintings are intricately designed in a multifaceted style, with different levels, to express her exposure to India. Her multi-layered process, much like the traditional Indian architecture, or caste system still ruling society today, are woven and artistically embedded into her portraits. The combination of oil painting, decorative motifs and stylistic embroideries, of both French and Indian influences, are an integral combination of Western and Oriental traditions which ultimately bridge the two dynamic cultures.

                                    \ No newline at end of file +Portraits and Embroidery - Marion Colomer

                                    Portraits And Embroidery

                                    — 2010 —

                                    Marion Colomer’s oil paintings represent a panel of Indian society captured through a series of portraits. They testify to an other reality of the country not reduced to the common cliché of the poor.

                                    The diversity of the models chosen show the rich culture of India, captured in a context of growth through its philosophers, Sufi poets, artists, fashions designers, business men, glitterati or old maharajas and maharanis. The models contain within-themselves the great energy of modern India, standing at the crossroad of traditional India and the India to become. These specially selected models are iconic figures of the vast Indian culture and represent an ideology, such as the portrait of Gaddar the Naxalite or the greatness of the historic Raj.

                                    Marion’s work combine a classical style of Western paintings and merges it with traditional motifs of Indian culture, including designs observed in numerous miniature paintings and textiles. The motifs are used abundantly throughout her body of work and take three different forms: positive motifs who are painted; negative motifs, scratched off the painted surface and revealing the naked canvas; and finally culminating with positive hand-sewed embroideries, influenced by traditional Indian and Western styles of artwork.

                                    The symbolism of the motifs references the condition of the Indian Woman. Some women in today’s India are still recluses in their homes and unable to witness the outside world. As it was in the old times, when purdah was practiced and a woman’s view was blocked by a Jalli marble window, some present-day women can only see life through a window masked and blocked by the screen of a mosquito net or grille. The motifs in Marion’s painting are a metaphor of this obstructed view.

                                    Similarly to the way women’s view is blocked by images or fixtures, so an outsider cannot see them, some sections of Marion’s painting remain blank, as illustrated by the nudity of the canvas. As spectators observe the painting, their view is partially obstructed by the blank screen patterns. This illustrates Marion’s inability to completely understand her model, the difficulty of restituting their personality, identity, life and culture, which continues to escape her.

                                    The use of the embroideries, hand-stitched directly on the canvas, on the top of the painting, represents and symbolizes both French and India craftwork.

                                    In Western art forms, specifically the French style, these embroideries draw parallels to the feminine style of work forming the bridge from childhood to womanhood. They embroider their initials in cross point on their trousseau (wedding dowry). In India, embroiders are predominately Muslim males and are the artesian depositaries of the Mogol artistic legacy. The inclusion of embroideries in Marion’s paintings are a symbolic way for her to exchange and collaborate with local craftsmen and artisans as well understand Indian culture, more so than to beautify by decorating the painting. They add a layer of decorative complexity helps connect with and represent the personality of the model.p>

                                    Marion’s paintings are intricately designed in a multifaceted style, with different levels, to express her exposure to India. Her multi-layered process, much like the traditional Indian architecture, or caste system still ruling society today, are woven and artistically embedded into her portraits. The combination of oil painting, decorative motifs and stylistic embroideries, of both French and Indian influences, are an integral combination of Western and Oriental traditions which ultimately bridge the two dynamic cultures.

                                    \ No newline at end of file diff --git a/recipes/butternut-goat-cheese-lasagna/index.html b/recipes/butternut-goat-cheese-lasagna/index.html index fdd1d14..0b8bc01 100644 --- a/recipes/butternut-goat-cheese-lasagna/index.html +++ b/recipes/butternut-goat-cheese-lasagna/index.html @@ -1 +1 @@ -Lasagnes de butternut et fromage de chèvre | Yann Prono

                                      Lasagnes de butternut et fromage de chèvre

                                      Les ingrédients

                                      • Courge butternut

                                        1 Courges butternut
                                      • Feuilles de lasagnes

                                        1 paquets
                                      • Oignon

                                        1 oignons
                                      • Ail

                                        2 gousses
                                      • Concassé de tomates

                                        500g
                                      • Bûche de fromage de chèvre

                                        1 bûches
                                      • Fromage de chèvre frais

                                        100g
                                      • Gruyère râpé

                                        100g
                                      • Huile d'olive

                                        1 filets
                                      • Paprika

                                        1 cuillères à café
                                      • Cumin moulu

                                        1 cuillères à café
                                      • Beurre

                                        50g
                                      • Farine

                                        50g
                                      • Lait

                                        70cl
                                      • Sel

                                      • Poivre

                                      La recette

                                      Une photo est prévue lorsque j'aurai cuisiné cette pépite.

                                      1. Pelez et égrainez la courge butternut. Coupez-la en dés et disposez-les sur une grille recouverte de papier cuisson. Parsemez de paprika et de cumin, puis enfournez à 180°C pendant 30 minutes.

                                      2. Pelez et émincez l'oignon et les gousses d'ails faites-les revenir dans une poêle chaude avec un filet d'huile d'olive jusqu'à ce qu'ils colorent. Ajoutez-le concassé de tomates et laissez mijoter sur feux doux pondant 10 minutes.

                                      3. Incorporez le chèvre frais et la moitié de la bûche coupée à la préparation puis ajoutez les dés de courge et mélangez.

                                      4. Pour la béchamel, faites fondre le beurre à feu moyen dans une casserole puis ajoutez la farine en remuant rapidement. Versez progressivemnt le lait tout en remuant jusqu'à ce que le mélange épaississe et assaisonnez à votre convenance. Réservez.

                                      5. Beurrez un plat à gratin puis montez vos lasagnes. Étalez une fine couche de béchamel puis recouvrez de feuilles de lasagne. Versez la moitié de la sauce à la courge puis une couche de béchamel. Recouvrez de feuilles de lasagne et continuez d'amener et finissant par des feuilles de lasagnes recouvertes de béchamel, de rondelles de bûche de chèvre et de gruyère râpé.

                                      6. Enfournez 30 minutes à 180°C. Servez chaud.

                                      J'ai quatre hommes à la maison et ils se régalent tous, il n'en reste jamais!

                                      \ No newline at end of file +Lasagnes de butternut et fromage de chèvre | Yann Prono

                                        Lasagnes de butternut et fromage de chèvre

                                        Les ingrédients

                                        • Courge butternut

                                          1 Courges butternut
                                        • Feuilles de lasagnes

                                          1 paquets
                                        • Oignon

                                          1 oignons
                                        • Ail

                                          2 gousses
                                        • Concassé de tomates

                                          500g
                                        • Bûche de fromage de chèvre

                                          1 bûches
                                        • Fromage de chèvre frais

                                          100g
                                        • Gruyère râpé

                                          100g
                                        • Huile d'olive

                                          1 filets
                                        • Paprika

                                          1 cuillères à café
                                        • Cumin moulu

                                          1 cuillères à café
                                        • Beurre

                                          50g
                                        • Farine

                                          50g
                                        • Lait

                                          70cl
                                        • Sel

                                        • Poivre

                                        La recette

                                        Une photo est prévue lorsque j'aurai cuisiné cette pépite.

                                        1. Pelez et égrainez la courge butternut. Coupez-la en dés et disposez-les sur une grille recouverte de papier cuisson. Parsemez de paprika et de cumin, puis enfournez à 180°C pendant 30 minutes.

                                        2. Pelez et émincez l'oignon et les gousses d'ails faites-les revenir dans une poêle chaude avec un filet d'huile d'olive jusqu'à ce qu'ils colorent. Ajoutez-le concassé de tomates et laissez mijoter sur feux doux pondant 10 minutes.

                                        3. Incorporez le chèvre frais et la moitié de la bûche coupée à la préparation puis ajoutez les dés de courge et mélangez.

                                        4. Pour la béchamel, faites fondre le beurre à feu moyen dans une casserole puis ajoutez la farine en remuant rapidement. Versez progressivemnt le lait tout en remuant jusqu'à ce que le mélange épaississe et assaisonnez à votre convenance. Réservez.

                                        5. Beurrez un plat à gratin puis montez vos lasagnes. Étalez une fine couche de béchamel puis recouvrez de feuilles de lasagne. Versez la moitié de la sauce à la courge puis une couche de béchamel. Recouvrez de feuilles de lasagne et continuez d'amener et finissant par des feuilles de lasagnes recouvertes de béchamel, de rondelles de bûche de chèvre et de gruyère râpé.

                                        6. Enfournez 30 minutes à 180°C. Servez chaud.

                                        J'ai quatre hommes à la maison et ils se régalent tous, il n'en reste jamais!

                                        \ No newline at end of file diff --git a/recipes/index.html b/recipes/index.html index b419de2..1229294 100644 --- a/recipes/index.html +++ b/recipes/index.html @@ -1 +1 @@ -Yann Prono
                                          Me holding a piece of paper.A chef's hat

                                          My cookbook

                                          List of recipes I like to cook. No need to accept cookies, I don't have any.

                                          \ No newline at end of file +Yann Prono
                                            Me holding a piece of paper.A chef's hat

                                            My cookbook

                                            List of recipes I like to cook. No need to accept cookies, I don't have any.

                                            \ No newline at end of file diff --git a/recipes/vegetarian-savoury-cake/index.html b/recipes/vegetarian-savoury-cake/index.html index 6cc14ed..67bc246 100644 --- a/recipes/vegetarian-savoury-cake/index.html +++ b/recipes/vegetarian-savoury-cake/index.html @@ -1 +1 @@ -Cake salé végétarien | Yann Prono

                                              Cake salé végétarien

                                              Source: https://maryseetcocotte18.wordpress.com

                                              Les ingrédients

                                              • Oeuf

                                                3oeufs
                                              • Farine

                                                150g
                                              • Levure chimique

                                                1 sachets
                                              • Huile d'olive

                                                8cl
                                              • Lait

                                                12.5cl
                                              • Gruyère râpé

                                                100g
                                              • Poivron rouge

                                                1poivrons
                                              • Feta

                                                150g
                                              • Olives noire

                                                50g
                                              • Poivre

                                              La recette

                                              Un moule de 28cm est nécéssaire.

                                              1. Faites griller les poivrons à la poêle ou au four.

                                              2. Coupez la féta en dés et ajoutez-y les olives coupées en rondelles. Réservez. Dans un saladier, fouettez les oeufs, la farine, la levure et le poivre. Incorporez petit à petit le lait et l’huile légèrement tièdi au micro-onde. Ajoutez le gruyère. Mélangez. Incorporez ensuite le mélange poivrons-féta-olives à la pâte et remuez.

                                              3. Transvasez le tout dans le moule beurré, saupoudrez d’un peu d’origan et faites cuire pendant 45 minutes.

                                              J'ai quatre hommes à la maison et ils se régalent tous, il n'en reste jamais!

                                              \ No newline at end of file +Cake salé végétarien | Yann Prono

                                                Cake salé végétarien

                                                Source: https://maryseetcocotte18.wordpress.com

                                                Les ingrédients

                                                • Oeuf

                                                  3oeufs
                                                • Farine

                                                  150g
                                                • Levure chimique

                                                  1 sachets
                                                • Huile d'olive

                                                  8cl
                                                • Lait

                                                  12.5cl
                                                • Gruyère râpé

                                                  100g
                                                • Poivron rouge

                                                  1poivrons
                                                • Feta

                                                  150g
                                                • Olives noire

                                                  50g
                                                • Poivre

                                                La recette

                                                Un moule de 28cm est nécéssaire.

                                                1. Faites griller les poivrons à la poêle ou au four.

                                                2. Coupez la féta en dés et ajoutez-y les olives coupées en rondelles. Réservez. Dans un saladier, fouettez les oeufs, la farine, la levure et le poivre. Incorporez petit à petit le lait et l’huile légèrement tièdi au micro-onde. Ajoutez le gruyère. Mélangez. Incorporez ensuite le mélange poivrons-féta-olives à la pâte et remuez.

                                                3. Transvasez le tout dans le moule beurré, saupoudrez d’un peu d’origan et faites cuire pendant 45 minutes.

                                                J'ai quatre hommes à la maison et ils se régalent tous, il n'en reste jamais!

                                                \ No newline at end of file