1<!doctype html> 2<html lang="en-US" class="no-js"> 3<head> 4 <meta charset="UTF-8">
4<script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"NRJS-94ffe2b02f3815b2220",applicationID:"1033495754",browserID:"1103408312"};;/*! For license information please see nr-loader-rum-1.323.0.min.js.LICENSE.txt */ 5(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),a=0===Object.keys(r).length?e:r;for(let s in a)if(void 0!==e[s])try{if(null===e[s]){r[s]=null;continue}Array.isArray(e[s])&&Array.isArray(t[s])?r[s]=Array.from(new Set([...e[s],...t[s]])):e[s]instanceof Map||e[s]instanceof Set||e[s]instanceof Date||e[s]instanceof RegExp?r[s]=e[s]:"object"==typeof e[s]&&null!==t[s]&&"object"==typeof t[s]?r[s]=i(e[s],t[s]):r[s]=e[s]}catch(e){r[s]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>s});var n=r(384),i=r(8122);const a={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function s(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,a)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["xv",0,"1.323.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,a="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),s=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===s?.document?.visibilityState),c=""+s?.location,u=/iPad|iPhone|iPod/.test(s.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=((()=>{const e=s.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)());r.d(t,["OF",0,u,"RI",0,i,"WN",0,l,"bv",0,a,"gm",0,s,"m",0,c,"mw",0,o,"sb",0,d,"zk",0,()=>{const e=s?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<s.performance.now())return e}])},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>u,x3:()=>c});var n=r(3241),i=r(3606),a=r(860),s=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:a.P3[t]||0};e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&d(e))}function u(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,d(e)}}function d(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const a=e.ee,o=i.i.handlers;if(a&&!a.aborted&&a.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=a.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}
5).forEach(t=>{t[0]?.on&&t[0].context()instanceof s.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}a.isolatedBacklog||delete o[t],a.backlog[t]=null,a.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],a=e[2];n.apply(i,a)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),a=r(2646),s=r(5607);const o="nr@context:".concat(s.W),c=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&u.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,a){!1!==a&&(a=!0);if(c.aborted&&!i)return;t&&a&&t.emit(e,r,n);var o=g(n);m(e).forEach(e=>{e.apply(o,r)});var u=v()[s[e]];u&&u.push([f,e,r,o]);return o},get:h,listeners:m,context:g,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{s[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,o,()=>new a.y(o)):new a.y(o)}function p(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function h(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.Zm)();u.ee||(u.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,a){a?(a.buffer([e],i),a.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(9908);a.on=s;var i=a.handlers={};function a(e,t,r,a){s(a||n.d,i,e,t,r)}function s(e,t,r,i,a){a||(a="feature"),e||(e=n.d);var s=t[a]=t[a]||{};(s[r]=s[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function a(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>a,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,a=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const s=[];for(var o=0;o<e;o++)s.push(i(r,a++).toString(16));return s.join("")}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(944);const i=new Map;function a(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),a=t.includes("nrWrapper");return r||a||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},5289(e,t,r){"use strict";r.d(t,{GG:()=>s,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function a(){return"undefined"==typeof document||"complete"===document.readyState}function s(e,t){if(a())return e();const r=(0,i.J)(e),s=setInterval(()=>
5{a()&&(clearInterval(s),r())},500);(0,n.sp)("load",r,t)}function o(e){if(a())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(a())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>d,dV:()=>u,pV:()=>l});var n=r(6154),i=r(1863),a=r(944),s=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function u(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,s.i)(...Object.values(e.o))),e}function d(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,a.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),u(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>a,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function a(e,t,r){(0,n.sp)("pagehide",e,t,r)}},9300(e,t,r){"use strict";r(860).K7.ajax;r.d(t,["mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>a});var n=r(9566),i=r(1741);class a extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>a});var n=r(944),i=r(4261);class a{#e(e,...t){if(this[e]!==a.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>d});var n=r(3241),i=r(9908),a=r(1863),s=r(944),o=r(3969),c=r(8362),u=r(860);function d(e,t,r,a){const d=a||r;!d||d[e]&&d[e]!==c.d.prototype[e]||(d[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,u.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,s.R)(23,e)}})}function l(e,t,r,n,s){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(s||null===r)&&(0,i.p)("api-"+n,[(0,a.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",a="browser/blobs",s="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},u={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:a,[o.sessionReplay]:a,[o.logging]:s,[o.genericEvents]:"ins"};r.d(t,["$J",0,u,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,s,"df",0,a,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],a=t[n++];r.o(e,i)?0===a&&n++:0===a?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:a})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>"nr-rum-1.323.0.min.js",r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.323.0.PROD:";r.l=(n,i,a,s)=>{if(e[n])return void e[n].push(i);let o,c;if(void 0!==a){const e=document.getElementsByTagName("script");for(var u=0;u<e.length;u++){const r=e[u];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+a){o=r;break}}}if(!o){c=!0;var d={296:"sha512-zhTI1o3vPu0UcYWUELiLeb9P46+LBW0K7R4KO/PafMc68L5tJ2mSHyvZtcNeG9Cw/PTZstuo62K1wwaoAsHdXQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+a),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),d[s]&&(o.integrity=d[s])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];
5if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={374:0,840:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const a=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=a);const s=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(s,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,a,s]=n;var o,c,u=0;if(i.some(t=>0!==e[t])){for(o in a)r.o(a,o)&&(r.m[o]=a[o]);if(s)s(r)}for(t&&t(n);u<i.length;u++)c=i[u],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.323.0.PROD"]=self["webpackChunk:NRBA-1.323.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),a=r(1741);var s=r(2555),o=r(981);t.K7.genericEvents,o.R.PA,o.R.UA,o.R.BP;const c={RESOURCES:"experimental.resources",REGISTER:"register"};var u=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var l=r(2614),f=r(944),g=r(8122);const p="[data-nr-mask]",m=e=>(0,g.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:u.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(c.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(c.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,f.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(c.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:l.wk,inactiveMs:l.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(p):""===t||null===t?e.mask_selector=p:(0,f.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,f.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,f.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var h=r(6154),v=r(9324);let b=0;const y={buildEnv:"PROD",distMethod:"CDN",version:v.xv,originTime:h.WN},_={consented:!1},w={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||_.consented},set consented(e){_.consented=e}
5,customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++b},listeningForIframeMessages:!1},R="BA";var A=r(7836),x=r(3241);const E={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908);const k="newrelic-iframe-";function T(e,t={},n,o){let{init:c,info:u,loader_config:d,runtime:l={},exposed:f=!0}=t;if(!u){const e=(0,i.pV)();c=e.init,u=e.info,d=e.loader_config}var p;e.init=m(c||{}),e.loader_config=(p=d||{},(0,g.a)(p,E)),u.jsAttributes??={},h.bv&&(u.jsAttributes.isWorker=!0),e.info=(0,s.D)(u);const v=e.init;e.runtime??=(e=>{const t=(0,g.a)(e,w),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:R,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(a.W.prototype).forEach(r=>{const n=a.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=A.ee.get(e.agentIdentifier),e.exposed=f,(0,x.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&h.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(k)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var j=r(1863),P=r(4261),N=r(1738);
5var O=r(1687),M=r(4234),I=r(5289),D=r(7767);function V(e){return!!(0,i.dV)().o.MO&&(0,D.V)(e)&&!0===e?.session_trace.enabled}var W=r(6389),B=r(7699);const C=new WeakSet,K=new WeakMap;class U extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,W.J)(()=>{(0,O.Ak)(e,this.featureName),t()}))}):(0,O.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,s.f)(e.info))return(0,f.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(K.has(e))return K.get(e);const i=(async()=>{if((0,D.V)(e.init))try{const{setupAgentSession:t}=await r.e(296).then(r.bind(r,1768));t(e)}catch(e){(0,f.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(B.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await Promise.resolve().then(function(){const e=new Error("Cannot find module '../../loaders/configure/iframe-message-handler'");throw e.code="MODULE_NOT_FOUND",e});t(e)}catch(e){(0,f.R)(23,e)}const[{Connector:i},{Harvester:a}]=await Promise.all([r.e(296).then(r.bind(r,6589)),r.e(296).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new a(e);const s=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(s.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();K.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,f.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,f.R)(34,e),this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};h.RI?(0,I.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return V(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!C.has(e)&&(C.add(e),!(0,s.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}T(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var L=r(6630);class F extends U{static featureName=L.T;constructor(e){var t;super(e,L.T),this.setupInspectionEvents(),t=e,(0,N.Y)(P.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+P.Fw,[(0,j.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(296).then(r.bind(r,908)):r.e(296).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,x.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,I.sB)(t=>{e(t,"DOMContentLoaded")}),(0,I.GG)(t=>{e(t,"load")}),(0,I.Qr)(t=>{e(t,"navigate")}),this.ee.on(l.tS.UPDATE,(e,t)=>{(0,x.W)({type:"lifecycle",name:"session",data:t})})}}class G extends e.d{constructor(e){var t;(super(),h.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(F),T(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(P.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,P.cD,n);(0,f.R)(40,typeof r)}else(0,f.R)(39,typeof e)},t),function(e){(0,N.Y)(P.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,f.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,P.Dl,!0)},e)}(this),function(e){(0,N.Y)(P.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,P.nb,!1);(0,f.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(P.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+P.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,f.R)(65,typeof t)},e)}(this),this.run()):(0,f.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};
5return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,f.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,f.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var H=r(2843),z=r(782);class Y extends U{static featureName=z.T;constructor(e){super(e,z.T),h.RI&&((0,H.u)(()=>(0,S.p)("docHidden",[(0,j.t)()],void 0,z.T,this.ee),!0),(0,H.G)(()=>(0,S.p)("winPagehide",[(0,j.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9981))))}}var Z=r(3969);class q extends U{static featureName=Z.TZ;constructor(e){super(e,Z.TZ),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9623)))}}new G({features:[F,Y,q],loaderType:"lite"})})()})();</script>
5 6 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" /><title>Jean-Georges Perrin – Bitol</title> 7<style>li#wp-admin-bar-my-sites ul#wp-admin-bar-my-sites-list {height: 550px !important; width: 1100px !important; display: flex !important; flex-direction: column !important; flex-wrap: wrap !important;}</style><style>#wpadminbar .menupop li.hover>.ab-sub-wrapper {z-index: 9999 !important;}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li {z-index: inherit !important;}</style><meta name='robots' content='max-image-preview:large' /> 8<link rel='dns-prefetch' href='//bitol.io' /> 9<link rel='dns-prefetch' href='//use.fontawesome.com' /> 10<link rel='dns-prefetch' href='//fonts.googleapis.com' /> 11<link rel="alternate" type="application/rss+xml" title="Bitol » Feed" href="https://bitol.io/feed/" /> 12<link rel="alternate" type="application/rss+xml" title="Bitol » Comments Feed" href="https://bitol.io/comments/feed/" /> 13<link rel="alternate" type="application/rss+xml" title="Bitol » Posts by Jean-Georges Perrin Feed" href="https://bitol.io/author/jgperrin/feed/" /> 14<style id="wp-img-auto-sizes-contain-inline-css"> 15img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 16/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 17</style> 18<style id="wp-emoji-styles-inline-css"> 19 20 img.wp-smiley, img.emoji { 21 display: inline !important; 22 border: none !important; 23 box-shadow: none !important; 24 height: 1em !important; 25 width: 1em !important; 26 margin: 0 0.07em !important; 27 vertical-align: -0.1em !important; 28 background: none !important; 29 padding: 0 !important; 30 } 31/*# sourceURL=wp-emoji-styles-inline-css */ 32</style> 33<style id="wp-block-library-inline-css"> 34:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
34--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 35 36/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */ 37</style> 38 39<style id="global-styles-inline-css"> 40:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
40--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:root { --wp--style--global--content-size: 1300px;--wp--style--global--wide-size: 1300px; }:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
40.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 41/*# sourceURL=global-styles-inline-css */ 42</style> 43 44<link rel='stylesheet' id='people-grid-style-css' href='https://bitol.io/wp-content/themes/salient-child/vc-addons/css/people.css?ver=18.3.0' media='all' /> 45<link rel='stylesheet' id='salient-child-featherlight-style-css' href='https://bitol.io/wp-content/themes/salient-child/vc-addons/css/featherlight.css?ver=7.1.2' media='all' /> 46<link rel='stylesheet' id='youtube-playlist-css' href='https://bitol.io/wp-content/themes/salient-child/vc-addons/css/youtube-playlist.css?ver=1.0.0' media='all' /> 47<link rel='stylesheet' id='cookie-settings-style-css' href='https://bitol.io/wp-content/themes/salient-child/includes/cookie-settings/cookie-settings.css?ver=18.3.0' media='all' /> 48<link rel='stylesheet' id='salient-child-style-css' href='https://bitol.io/wp-content/themes/salient-child/style.css?ver=18.3.0' media='all' /> 49<link rel='stylesheet' id='vc-addons-style-css' href='https://bitol.io/wp-content/themes/salient-child/vc-addons/css/vc-addons.css?ver=18.3.0' media='all' /> 50<link rel='stylesheet' id='templates-style-css' href='https://bitol.io/wp-content/themes/salient-child/templates/css/templates.css?ver=1790971014' media='all' /> 51<link rel='stylesheet' id='widgets-style-css' href='https://bitol.io/wp-content/themes/salient-child/widgets/css/widgets.css?ver=18.3.0' media='all' /> 52<link rel='stylesheet' id='results-style-css' href='https://bitol.io/wp-content/themes/salient-child/search-filter/css/results.css?ver=18.3.0' media='all' /> 53<link rel='stylesheet' id='fonts-style-css' href='https://bitol.io/wp-content/themes/salient-child/fonts/fonts.css?ver=18.3.0' media='all' /> 54<link rel='stylesheet' id='events-calendar-style-css' href='https://bitol.io/wp-content/themes/salient-child/css/events-calendar.css?ver=18.3.0' media='all' /> 55<link rel='stylesheet' id='linux-foundation-components-style-css' href='https://bitol.io/wp-content/themes/salient-child/vc-addons/css/linux-foundation-components.css?ver=18.3.0' media='all' /> 56<link rel='stylesheet' id='latest-posts-style-css' href='https://bitol.io/wp-content/themes/salient-child/vc-addons/css/latest-posts.css?ver=18.3.0' media='all' /> 57<link rel='stylesheet' id='projects-style-css' href='https://bitol.io/wp-content/themes/salient-child/vc-addons/css/projects.css?ver=18.3.0' media='all' /> 58<link rel='stylesheet' id='members-style-css' href='https://bitol.io/wp-content/themes/salient-child/vc-addons/css/members.css?ver=18.3.0' media='all' /> 59<link rel='stylesheet' id='insights-style-css' href='https://bitol.io/wp-content/themes/salient-child/templates/css/insights.css?ver=1790971014' media='all' /> 60<link rel='stylesheet' id='projects-banner-style-css' href='https://bitol.io/wp-content/themes/salient-child/css/projects-banner.css?ver=18.3.0' media='all' /> 61<link rel='stylesheet' id='font-awesome-css' href='https://use.fontawesome.com/releases/v6.0.0/css/all.css?ver=6.0.0' media='all' /> 62<link rel='stylesheet' id='font-awesome-shim-css' href='https://use.fontawesome.com/releases/v6.0.0/css/v4-shims.css?ver=6.0.0' media='all' /> 63<link rel='stylesheet' id='salient-grid-system-css' href='https://bitol.io/wp-content/themes/salient/css/build/grid-system.css?ver=18.3.0' media='all' /> 64<link rel='stylesheet' id='main-styles-css' href='https://bitol.io/wp-content/themes/salient/css/build/style.css?ver=18.3.0' media='all' /> 65<link rel='stylesheet' id='nectar-header-layout-centered-menu-css' href='https://bitol.io/wp-content/themes/salient/css/build/header/header-layout-centered-menu.css?ver=18.3.0' media='all' /> 66<link rel='stylesheet' id='nectar-element-highlighted-text-css' href='https://bitol.io/wp-content/themes/salient/css/build/elements/element-highlighted-text.css?ver=18.3.0' media='all' /> 67<link rel='stylesheet' id='nectar-element-fancy-unordered-list-css' href='https://bitol.io/wp-content/themes/salient/css/build/elements/element-fancy-unordered-list.css?ver=18.3.0' media='all' />
68<link rel='stylesheet' id='nectar_default_font_open_sans-css' href='https://fonts.googleapis.com/css?family=Open+Sans%3A300%2C400%2C600%2C700&subset=latin%2Clatin-ext' media='all' /> 69<link rel='stylesheet' id='nectar-blog-auto-masonry-meta-overlaid-spaced-css' href='https://bitol.io/wp-content/themes/salient/css/build/blog/auto-masonry-meta-overlaid-spaced.css?ver=18.3.0' media='all' /> 70<link rel='stylesheet' id='responsive-css' href='https://bitol.io/wp-content/themes/salient/css/build/responsive.css?ver=18.3.0' media='all' /> 71<link rel='stylesheet' id='skin-original-css' href='https://bitol.io/wp-content/themes/salient/css/build/skin-original.css?ver=18.3.0' media='all' /> 72<link rel='stylesheet' id='salient-wp-menu-dynamic-css' href='https://bitol.io/wp-content/uploads/sites/3/salient/menu-dynamic.css?ver=35054' media='all' /> 73<link rel='stylesheet' id='js_composer_front-css' href='https://bitol.io/wp-content/themes/salient/css/build/plugins/js_composer.css?ver=18.3.0' media='all' /> 74<link rel='stylesheet' id='dynamic-css-css' href='https://bitol.io/wp-content/uploads/sites/3/salient/salient-dynamic-styles-multi-id-3.css?ver=22743' media='all' /> 75<style id="dynamic-css-inline-css"> 76body[data-bg-header="true"].category .container-wrap,body[data-bg-header="true"].author .container-wrap,body[data-bg-header="true"].date .container-wrap,body[data-bg-header="true"].blog .container-wrap{padding-top:var(--container-padding)!important}.archive.author .row .col.section-title span,.archive.category .row .col.section-title span,.archive.tag .row .col.section-title span,.archive.date .row .col.section-title span{padding-left:0}body.author #page-header-wrap #page-header-bg,body.category #page-header-wrap #page-header-bg,body.tag #page-header-wrap #page-header-bg,body.date #page-header-wrap #page-header-bg{height:auto;padding-top:8%;padding-bottom:8%;}.archive #page-header-wrap{height:auto;}.archive.category .row .col.section-title p,.archive.tag .row .col.section-title p{margin-top:10px;}body[data-bg-header="true"].archive .container-wrap.meta_overlaid_blog,body[data-bg-header="true"].category .container-wrap.meta_overlaid_blog,body[data-bg-header="true"].author .container-wrap.meta_overlaid_blog,body[data-bg-header="true"].date .container-wrap.meta_overlaid_blog{padding-top:0!important;}#page-header-bg[data-alignment="center"] .span_6 p{margin:0 auto;}body.archive #page-header-bg:not(.fullscreen-header) .span_6{position:relative;-webkit-transform:none;transform:none;top:0;}.blog-archive-header .nectar-author-gravatar img{width:125px;border-radius:100px;}.blog-archive-header .container .span_12 p{font-size:min(max(calc(1.3vw),16px),20px);line-height:1.5;margin-top:.5em;}body .page-header-no-bg.color-bg{padding:5% 0;}@media only screen and (max-width:999px){body .page-header-no-bg.color-bg{padding:7% 0;}}@media only screen and (max-width:690px){body .page-header-no-bg.color-bg{padding:9% 0;}.blog-archive-header .nectar-author-gravatar img{width:75px;}}.blog-archive-header.color-bg .col.section-title{border-bottom:0;padding:0;}.blog-archive-header.color-bg *{color:inherit!important;}.nectar-archive-tax-count{position:relative;padding:.5em;transform:translateX(0.25em) translateY(-0.75em);font-size:clamp(14px,0.3em,20px);display:inline-block;vertical-align:super;}.nectar-archive-tax-count:before{content:"";display:block;padding-bottom:100%;width:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:100px;background-color:currentColor;opacity:0.1;}@media only screen and (min-width:1000px){body #ajax-content-wrap.no-scroll{min-height:calc(100vh - 70px);height:calc(100vh - 70px)!important;}}@media only screen and (min-width:1000px){#page-header-wrap.fullscreen-header,#page-header-wrap.fullscreen-header #page-header-bg,html:not(.nectar-box-roll-loaded) .nectar-box-roll > #page-header-bg.fullscreen-header,.nectar_fullscreen_zoom_recent_projects,#nectar_fullscreen_rows:not(.afterLoaded) > div{height:calc(100vh - 69px);}.wpb_row.vc_row-o-full-height.top-level,.wpb_row.vc_row-o-full-height.top-level > .col.span_12{min-height:calc(100vh - 69px);}html:not(.nectar-box-roll-loaded) .nectar-box-roll > #page-header-bg.fullscreen-header{top:70px;}.nectar-slider-wrap[data-fullscreen="true"]:not(.loaded),.nectar-slider-wrap[data-fullscreen="true"]:not(.loaded) .swiper-container{height:calc(100vh - 68px)!important;}.admin-bar .nectar-slider-wrap[data-fullscreen="true"]:not(.loaded),.admin-bar .nectar-slider-wrap[data-fullscreen="true"]:not(.loaded) .swiper-container{height:calc(100vh - 68px - 32px)!important;}}.admin-bar[class*="page-template-template-no-header"] .wpb_row.vc_row-o-full-height.to
76p-level,.admin-bar[class*="page-template-template-no-header"] .wpb_row.vc_row-o-full-height.top-level > .col.span_12{min-height:calc(100vh - 32px);}body[class*="page-template-template-no-header"] .wpb_row.vc_row-o-full-height.top-level,body[class*="page-template-template-no-header"] .wpb_row.vc_row-o-full-height.top-level > .col.span_12{min-height:100vh;}@media only screen and (max-width:999px){.using-mobile-browser #nectar_fullscreen_rows:not(.afterLoaded):not([data-mobile-disable="on"]) > div{height:calc(100vh - 126px);}.using-mobile-browser .wpb_row.vc_row-o-full-height.top-level,.using-mobile-browser .wpb_row.vc_row-o-full-height.top-level > .col.span_12,[data-permanent-transparent="1"].using-mobile-browser .wpb_row.vc_row-o-full-height.top-level,[data-permanent-transparent="1"].using-mobile-browser .wpb_row.vc_row-o-full-height.top-level > .col.span_12{min-height:calc(100vh - 126px);}html:not(.nectar-box-roll-loaded) .nectar-box-roll > #page-header-bg.fullscreen-header,.nectar_fullscreen_zoom_recent_projects,.nectar-slider-wrap[data-fullscreen="true"]:not(.loaded),.nectar-slider-wrap[data-fullscreen="true"]:not(.loaded) .swiper-container,#nectar_fullscreen_rows:not(.afterLoaded):not([data-mobile-disable="on"]) > div{height:calc(100vh - 73px);}.wpb_row.vc_row-o-full-height.top-level,.wpb_row.vc_row-o-full-height.top-level > .col.span_12{min-height:calc(100vh - 73px);}body[data-transparent-header="false"] #ajax-content-wrap.no-scroll{min-height:calc(100vh - 73px);height:calc(100vh - 73px);}}.screen-reader-text,.nectar-skip-to-content:not(:focus){border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;}.row .col img:not([srcset]){width:auto;}.row .col img.img-with-animation.nectar-lazy:not([srcset]){width:100%;} 77/* GENERAL INFORMATION 78 79COLORS: 80 81EXAMPLE 82GREY: #D0CFCF; 83PLEASE LIST COLORS FOR FUTURE ADDITIONS. 84 85*/ 86 87 88/* GLOBAL */ 89/*# sourceURL=dynamic-css-inline-css */ 90</style> 91<link rel='stylesheet' id='redux-google-fonts-salient_redux-css' href='https://fonts.googleapis.com/css?family=Roboto+Slab:700,400%7COpen+Sans:500,400,700&ver=7.1.2' media='all' />
92<script id="jquery-core-js" src="https://bitol.io/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 92
92
93<script id="jquery-migrate-js" src="https://bitol.io/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
vendor: 1 bytes, line 93
93
94<script type="text/javascript" nonce="95d9ab427ec9966b8d350c7e8e1107b1"></script>
94<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://bitol.io/xmlrpc.php?rsd" /> 95<meta name="generator" content="WordPress 7.1.2" />
96<script type="text/javascript" nonce="95d9ab427ec9966b8d350c7e8e1107b1"> var root = document.getElementsByTagName( "html" )[0]; root.setAttribute( "class", "js" ); </script>
96<script 97 src="https://transcend-cdn.com/cm/f484e2d0-ad2e-43a9-9d64-d07f6fa20966/airgap.js" 98 data-cfasync="false" 99 data-prompt="auto" 100></script>
100 101<!-- LFX Segments Analytics -->
102<script src="https://lfx-segment.platform.linuxfoundation.org/latest/lfx-segment-analytics.min.js"></script>
vendor: 2 bytes, line 102
102
103<script type="text/javascript" nonce="95d9ab427ec9966b8d350c7e8e1107b1"> 104 // Initialize with default configuration (no custom write key needed) 105 LfxAnalytics.LfxSegmentsAnalytics.getInstance().init(); 106</script>
106 107<!-- Google Tag Manager -->
108<script type="text/javascript" nonce="95d9ab427ec9966b8d350c7e8e1107b1">
vendor: 331 bytes, lines 108-112
108(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 109new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 110j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 111'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 112})(window,document,'script','dataLayer','
112GTM-M83Z3K7T
vendor: 3 bytes, line 112
112');
112</script>
112 113<!-- End Google Tag Manager --><meta name="generator" content="Powered by WPBakery Page Builder - drag and drop page builder for WordPress."/> 114<link rel="icon" href="https://bitol.io/wp-content/uploads/sites/3/2023/12/cropped-favicon_bitol-150x150.png" sizes="32x32" /> 115<link rel="icon" href="https://bitol.io/wp-content/uploads/sites/3/2023/12/cropped-favicon_bitol-300x300.png" sizes="192x192" /> 116<link rel="apple-touch-icon" href="https://bitol.io/wp-content/uploads/sites/3/2023/12/cropped-favicon_bitol-300x300.png" /> 117<meta name="msapplication-TileImage" content="https://bitol.io/wp-content/uploads/sites/3/2023/12/cropped-favicon_bitol-300x300.png" /> 118<noscript><style> .wpb_animate_when_almost_visible { opacity: 1; }</style></noscript><link data-pagespeed-no-defer data-nowprocket data-wpacu-skip data-no-optimize data-noptimize rel='stylesheet' id='main-styles-non-critical-css' href='https://bitol.io/wp-content/themes/salient/css/build/style-non-critical.css?ver=18.3.0' media='all' /> 119<link data-pagespeed-no-defer data-nowprocket data-wpacu-skip data-no-optimize data-noptimize rel='stylesheet' id='fancyBox-css' href='https://bitol.io/wp-content/themes/salient/css/build/plugins/jquery.fancybox.css?ver=3.3.1' media='all' /> 120<link data-pagespeed-no-defer data-nowprocket data-wpacu-skip data-no-optimize data-noptimize rel='stylesheet' id='nectar-ocm-core-css' href='https://bitol.io/wp-content/themes/salient/css/build/off-canvas/core.css?ver=18.3.0' media='all' /> 121 122</head><body class="archive author author-jgperrin author-9 wp-theme-salient wp-child-theme-salient-child original wpb-js-composer js-comp-ver-8.7.3 vc_responsive" data-footer-reveal="false" data-footer-reveal-shadow="none" data-header-format="centered-menu" data-body-border="off" data-boxed-style="" data-header-breakpoint="1000" data-dropdown-style="minimal" data-cae="easeOutCubic" data-cad="750" data-megamenu-width="contained" data-aie="none" data-ls="fancybox" data-apte="standard" data-hhun="0" data-fancy-form-rcs="default" data-form-style="default" data-form-submit="regular" data-is="minimal" data-button-style="slightly_rounded_shadow" data-user-account-button="false" data-flex-cols="true" data-col-gap="default" data-header-inherit-rc="false" data-header-search="true" data-animated-anchors="true" data-ajax-transitions="false" data-full-width-header="false" data-slide-out-widget-area="false" data-slide-out-widget-area-style="slide-out-from-right" data-user-set-ocm="off" data-loading-animation="none" data-bg-header="false" data-responsive="1" data-ext-responsive="true" data-ext-padding="90" data-header-resize="1" data-header-color="custom" data-transparent-header="false" data-cart="false" data-remove-m-parallax="" data-remove-m-video-bgs="" data-m-animate="0" data-force-header-trans-color="light" data-smooth-scrolling="0" data-permanent-transparent="false" > 123 124
124<script type="text/javascript" nonce="95d9ab427ec9966b8d350c7e8e1107b1"> 125 (function(window, document) { 126 127 document.documentElement.classList.remove("no-js"); 128 129 if(navigator.userAgent.match(/(Android|iPod|iPhone|iPad|BlackBerry|IEMobile|Opera Mini)/)) { 130 document.body.className += " using-mobile-browser mobile "; 131 } 132 if(navigator.userAgent.match(/Mac/) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2) { 133 document.body.className += " using-ios-device "; 134 } 135 136 if( !("ontouchstart" in window) ) { 137 138 var body = document.querySelector("body"); 139 var winW = window.innerWidth; 140 var bodyW = body.clientWidth; 141 142 if (winW > bodyW + 4) { 143 144 var vwTestEl = document.createElement("div"); 145 vwTestEl.style.position = "absolute"; 146 vwTestEl.style.top = "-9999px"; 147 vwTestEl.style.width = "100vw"; 148 body.appendChild(vwTestEl); 149 var vwWidth = vwTestEl.offsetWidth; 150 body.removeChild(vwTestEl); 151 152 if (vwWidth > bodyW + 4) { 153 body.setAttribute("style", "--scroll-bar-w: " + (winW - bodyW - 4) + "px"); 154 } else { 155 body.setAttribute("style", "--scroll-bar-w: 0px"); 156 } 157 158 } else { 159 body.setAttribute("style", "--scroll-bar-w: 0px"); 160 } 161 } 162 163 })(window, document); 164 </script>
164<!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 164-165
164 165<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
165GTM-M83Z3K7T
vendor: 85 bytes, lines 165-166
165" 166height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
167<!-- End Google Tag Manager (noscript) --><nav aria-label="Skip links" class="nectar-skip-to-content-wrap" data-nosnippet><a href="#ajax-content-wrap" class="nectar-skip-to-content">Skip to main content</a></nav><div class='lfprojects'><div class='container'><a href='https://www.linuxfoundation.org/projects' target='_blank' rel='noopener noreferrer'><img src='/wp-content/uploads/banners/lfprojects_banner_other.svg' alt='THE LINUX FOUNDATION PROJECTS'></a></div></div> 168 <div id="header-space" data-header-mobile-fixed='1'></div> 169 170 <div id="header-outer" data-has-menu="false" data-has-buttons="yes" data-header-button_style="default" data-using-pr-menu="false" data-mobile-fixed="1" data-ptnm="false" data-lhe="animated_underline" data-user-set-bg="#2e1354" data-format="centered-menu" data-permanent-transparent="false" data-megamenu-rt="0" data-remove-fixed="0" data-header-resize="1" data-cart="false" data-transparency-option="0" data-box-shadow="large" data-shrink-num="6" data-using-secondary="0" data-using-logo="1" data-logo-height="50" data-m-logo-height="50" data-padding="10" data-full-width="false" data-condense="false" > 171 172<div id="search-outer" class="nectar" data-nosnippet> 173 <div id="search"> 174 <div class="container"> 175 <div id="search-box"> 176 <div class="inner-wrap"> 177 <div class="col span_12"> 178 <form role="search" action="https://bitol.io/" method="GET"> 179 <input type="text" name="s" value="Start Typing..." aria-label="Search" data-placeholder="Start Typing..." /> 180 181 182 <button aria-label="Search" class="search-box__button" type="submit">Search</button> </form> 183 </div><!--/span_12--> 184 </div><!--/inner-wrap--> 185 </div><!--/search-box--> 186 <div id="close"><a href="#" role="button"><span class="screen-reader-text">Close Search</span> 187 <span class="icon-salient-x" aria-hidden="true"></span> </a></div> 188 </div><!--/container--> 189 </div><!--/search--> 190</div><!--/search-outer--> 191 192<header id="top" role="banner" aria-label="Main Menu"> 193 <div class="container"> 194 <div class="row"> 195 <div class="col span_3"> 196 <a id="logo" href="https://bitol.io" data-supplied-ml-starting-dark="false" data-supplied-ml-starting="false" data-supplied-ml="false" > 197 <img class="stnd skip-lazy default-logo dark-version" width="" height="" alt="Bitol" src="https://bitol.io/wp-content/uploads/sites/3/2023/12/bitol_logo_white.svg" srcset="https://bitol.io/wp-content/uploads/sites/3/2023/12/bitol_logo_white.svg 1x, https://bitol.io/wp-content/uploads/sites/3/2023/12/bitol_logo_white.svg 2x" /> </a> 198 </div><!--/span_3--> 199 200 <div class="col span_9 col_last"> 201 <div class="nectar-mobile-only mobile-header"><div class="inner"></div></div> 202 <a class="mobile-search" href="#searchbox"><span class="nectar-icon icon-salient-search" aria-hidden="true"></span><span class="screen-reader-text">search</span></a> 203 204 <nav aria-label="Main Menu"> 205 <ul class="sf-menu"> 206 <li class="no-menu-assigned"><a href="#"></a></li> </ul> 207 <ul class="buttons sf-menu" data-user-set-ocm="off"><li id="search-btn"><div><a href="#search-box"><span class="icon-salient-search" aria-hidden="true"></span><span class="screen-reader-text">search</span></a></div> </li></ul> 208 209 </nav> 210 211 <div class="logo-spacing" data-using-image="true"><img class="hidden-logo skip-lazy" alt="Bitol" width="" height="" src="https://bitol.io/wp-content/uploads/sites/3/2023/12/bitol_logo_white.svg" /></div> 212 </div><!--/span_9--> 213 214 215 </div><!--/row--> 216 </div><!--/container--> 217 </header> 218 219 </div> 220
220<script type="text/javascript" nonce="95d9ab427ec9966b8d350c7e8e1107b1"> 221 // SIZE #header-space TO THE REAL HEADER HEIGHT IMMEDIATELY, RATHER THAN WAITING FOR THE 222 // window.load EVENT (SALIENT'S headerSpace() DOESN'T RUN UNTIL THEN). THE STATIC 90px 223 // DEFAULT IN style.css DOESN'T ACCOUNT FOR THE NOTIFICATIONS BAR, SO WITHOUT THIS THE 224 // PAGE VISIBLY JUMPS ONCE ALL ASSETS FINISH LOADING AND SALIENT CORRECTS IT LATE. 225 (function () { 226 var headerEl = document.getElementById('header-outer'); 227 var spaceEl = document.getElementById('header-space'); 228 if (headerEl && spaceEl) { 229 spaceEl.style.height = headerEl.clientHeight + 'px'; 230 } 231 })(); 232 </script>
232 233 <div id="ajax-content-wrap"> 234<style> 235.lf-author-archive .lf-list__title:hover a { color: #b6408d !important; } 236</style> 237<div class="container-wrap"> 238 <div class="container main-content"> 239 <div class="row"> 240 <main class="lf-author-archive" role="main"> 241 242 <header class="lf-archive-header"> 243 <h1 class="lf-archive-title"> 244 Jean-Georges Perrin </h1> 245 </header> 246 247 <div class="lf-list"> 248 <article id="post-359" class="lf-list__item lf-list__item--featured"> 249 250 <figure class="lf-list__image"> 251 <a href="https://bitol.io/data-contracts-data-products-for-ai/" tabindex="-1" aria-hidden="true"> 252 <img width="1024" height="576" src="https://bitol.io/wp-content/uploads/sites/3/2026/09/260908-Bitol-release-1024x576.png" class="attachment-large size-large wp-post-image" alt="Bitol releases ODCS v3.2.0 and ODPS v1.1.0" decoding="async" fetchpriority="high" srcset="https://bitol.io/wp-content/uploads/sites/3/2026/09/260908-Bitol-release-1024x576.png 1024w, https://bitol.io/wp-content/uploads/sites/3/2026/09/260908-Bitol-release-300x169.png 300w, https://bitol.io/wp-content/uploads/sites/3/2026/09/260908-Bitol-release.png 1672w" sizes="(max-width: 1024px) 100vw, 1024px" /> </a> 253 </figure> 254 255 <div class="lf-list__content"> 256 257 <h2 class="lf-list__title"> 258 <a href="https://bitol.io/data-contracts-data-products-for-ai/"> 259 Data Contracts & Data Products for AI </a> 260 </h2> 261 262 263 <div class="lf-list__byline"> 264 <time class="lf-list__byline-date" datetime="2026-09-08T14:59:28+00:00"> 265 September 8, 2026 </time> 266 <span class="lf-list__byline-sep" aria-hidden="true">|</span> 267 <a class="lf-list__byline-author" href="https://bitol.io/author/jgperrin/" rel="author"> 268 Jean-Georges Perrin </a> 269 </div> 270 271 </div> 272 273 </article> 274 <article id="post-351" class="lf-list__item"> 275 276 <figure class="lf-list__image"> 277 <a href="https://bitol.io/bitol-graduates/" tabindex="-1" aria-hidden="true"> 278 <img width="1024" height="683" src="https://bitol.io/wp-content/uploads/sites/3/2026/07/260729-Graduation-Announcement-1.0.0-1024x683.jpg" class="attachment-large size-large wp-post-image" alt="Graduation Announcement" decoding="async" srcset="https://bitol.io/wp-content/uploads/sites/3/2026/07/260729-Graduation-Announcement-1.0.0-1024x683.jpg 1024w, https://bitol.io/wp-content/uploads/sites/3/2026/07/260729-Graduation-Announcement-1.0.0-300x200.jpg 300w, https://bitol.io/wp-content/uploads/sites/3/2026/07/260729-Graduation-Announcement-1.0.0.jpg 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /> </a> 279 </figure> 280 281 <div class="lf-list__content"> 282 283 <h2 class="lf-list__title"> 284 <a href="https://bitol.io/bitol-graduates/"> 285 Three Years, 59 RFCs, One Vote: Bitol Graduates </a> 286 </h2> 287 288 289 <div class="lf-list__byline"> 290 <time class="lf-list__byline-date" datetime="2026-07-28T11:47:36+00:00"> 291 July 28, 2026 </time>
292 <span class="lf-list__byline-sep" aria-hidden="true">|</span> 293 <a class="lf-list__byline-author" href="https://bitol.io/author/jgperrin/" rel="author"> 294 Jean-Georges Perrin </a> 295 </div> 296 297 </div> 298 299 </article> 300 <article id="post-228" class="lf-list__item"> 301 302 <figure class="lf-list__image"> 303 <a href="https://bitol.io/announcing-odps-v1-0-0-building-the-language-of-data-products/" tabindex="-1" aria-hidden="true"> 304 <img width="1024" height="576" src="https://bitol.io/wp-content/uploads/sites/3/2025/10/251002-Announce-ODPS-1.0.0-1024x576.jpg" class="attachment-large size-large wp-post-image" alt="Announcing ODPS 1.0.0" decoding="async" srcset="https://bitol.io/wp-content/uploads/sites/3/2025/10/251002-Announce-ODPS-1.0.0-1024x576.jpg 1024w, https://bitol.io/wp-content/uploads/sites/3/2025/10/251002-Announce-ODPS-1.0.0-300x169.jpg 300w" sizes="(max-width: 1024px) 100vw, 1024px" /> </a> 305 </figure> 306 307 <div class="lf-list__content"> 308 309 <h2 class="lf-list__title"> 310 <a href="https://bitol.io/announcing-odps-v1-0-0-building-the-language-of-data-products/"> 311 Announcing ODPS v1.0.0: Building the Language of Data Products </a> 312 </h2> 313 314 <p class="lf-list__excerpt">We are thrilled to announce the release of version 1.0.0 of the Open Data Product Standard (ODPS): a major milestone in shaping how the industry defines, shares, and manages data...</p> 315 316 <div class="lf-list__byline"> 317 <time class="lf-list__byline-date" datetime="2025-10-02T15:13:56+00:00"> 318 October 2, 2025 </time> 319 <span class="lf-list__byline-sep" aria-hidden="true">|</span> 320 <a class="lf-list__byline-author" href="https://bitol.io/author/jgperrin/" rel="author"> 321 Jean-Georges Perrin </a> 322 </div> 323 324 </div> 325 326 </article> 327 <article id="post-211" class="lf-list__item"> 328 329 <figure class="lf-list__image"> 330 <a href="https://bitol.io/announcing-odps-major-step-toward-standardizing-data-products/" tabindex="-1" aria-hidden="true"> 331 <img width="1024" height="576" src="https://bitol.io/wp-content/uploads/sites/3/2025/07/250717-Announce-ODPS-0.9.0-1024x576.jpg" class="attachment-large size-large wp-post-image" alt="Announcing ODPS v0.9.0" decoding="async" srcset="https://bitol.io/wp-content/uploads/sites/3/2025/07/250717-Announce-ODPS-0.9.0-1024x576.jpg 1024w, https://bitol.io/wp-content/uploads/sites/3/2025/07/250717-Announce-ODPS-0.9.0-300x169.jpg 300w" sizes="(max-width: 1024px) 100vw, 1024px" /> </a> 332 </figure> 333 334 <div class="lf-list__content"> 335 336 <h2 class="lf-list__title"> 337 <a href="https://bitol.io/announcing-odps-major-step-toward-standardizing-data-products/"> 338 Announcing ODPS 0.9.0 â A Major Step Toward Standardizing Data Products </a> 339 </h2> 340 341 <p class="lf-list__excerpt">The Open Data Product Standard (ODPS) v0.9.0 is here, bringing a unified, open framework for defining, governing, and scaling data products across modern platforms. Closely aligned with the Open Data Contract Standard (ODCS), ODPS introduces structured metadata, lifecycle management, and federated governanceâall built on JSON Schema. Learn how ODPS helps organizations turn data into discoverable,…</p> 342 343 <div class="lf-list__byline"> 344 <time class="lf-list__byline-date" datetime="2025-07-17T14:40:24+00:00"> 345 July 17, 2025 </time>
346 <span class="lf-list__byline-sep" aria-hidden="true">|</span> 347 <a class="lf-list__byline-author" href="https://bitol.io/author/jgperrin/" rel="author"> 348 Jean-Georges Perrin </a> 349 </div> 350 351 </div> 352 353 </article> 354 <article id="post-202" class="lf-list__item"> 355 356 <figure class="lf-list__image"> 357 <a href="https://bitol.io/bitol-announces-two-new-members-to-its-technical-steering-committee-reinforcing-global-leadership-in-open-data-standards/" tabindex="-1" aria-hidden="true"> 358 <img width="1024" height="576" src="https://bitol.io/wp-content/uploads/sites/3/2025/05/250513-Announce-TSC-members-1024x576.jpg" class="attachment-large size-large wp-post-image" alt="New TSC Members" decoding="async" srcset="https://bitol.io/wp-content/uploads/sites/3/2025/05/250513-Announce-TSC-members-1024x576.jpg 1024w, https://bitol.io/wp-content/uploads/sites/3/2025/05/250513-Announce-TSC-members-300x169.jpg 300w" sizes="(max-width: 1024px) 100vw, 1024px" /> </a> 359 </figure> 360 361 <div class="lf-list__content"> 362 363 <h2 class="lf-list__title"> 364 <a href="https://bitol.io/bitol-announces-two-new-members-to-its-technical-steering-committee-reinforcing-global-leadership-in-open-data-standards/"> 365 Bitol Announces Two New Members to Its Technical Steering Committee, Reinforcing Global Leadership in Open Data Standards </a> 366 </h2> 367 368 <p class="lf-list__excerpt">May 13, 2025 â bitol.io â The Bitol project, an open initiative hosted by the Linux Foundation to drive standardization around data contracts and data products, is proud to announce...</p> 369 370 <div class="lf-list__byline"> 371 <time class="lf-list__byline-date" datetime="2025-05-13T20:58:04+00:00"> 372 May 13, 2025 </time> 373 <span class="lf-list__byline-sep" aria-hidden="true">|</span> 374 <a class="lf-list__byline-author" href="https://bitol.io/author/jgperrin/" rel="author"> 375 Jean-Georges Perrin </a> 376 </div> 377 378 </div> 379 380 </article> 381 <article id="post-120" class="lf-list__item"> 382 383 <figure class="lf-list__image"> 384 <a href="https://bitol.io/odcs-version-3-transforming-data-contracts-with-enhanced-flexibility-integration-and-global-collaboration/" tabindex="-1" aria-hidden="true"> 385 <img width="1024" height="576" src="https://bitol.io/wp-content/uploads/sites/3/2024/10/241021-Announce-OCDS-v3-1024x576.jpg" class="attachment-large size-large wp-post-image" alt="Announce OCDS v3" decoding="async" srcset="https://bitol.io/wp-content/uploads/sites/3/2024/10/241021-Announce-OCDS-v3-1024x576.jpg 1024w, https://bitol.io/wp-content/uploads/sites/3/2024/10/241021-Announce-OCDS-v3-300x169.jpg 300w" sizes="(max-width: 1024px) 100vw, 1024px" /> </a> 386 </figure> 387 388 <div class="lf-list__content"> 389 390 <h2 class="lf-list__title"> 391 <a href="https://bitol.io/odcs-version-3-transforming-data-contracts-with-enhanced-flexibility-integration-and-global-collaboration/"> 392 ODCS Version 3: Transforming Data Contracts with Enhanced Flexibility, Integration, and Global Collaboration </a> 393 </h2> 394 395 <p class="lf-list__excerpt">Open Data Contract Standard (ODCS) Version 3, is now available featuring significant improvements and new functionalities to better support modern data management needs. It is avilable at: https://github.com/bitol-io/open-data-contract-standard.</p> 396 397 <div class="lf-list__byline"> 398 <time class="lf-list__byline-date" datetime="2024-10-21T14:39:21+00:00"> 399 October 21, 2024 </time>
400 <span class="lf-list__byline-sep" aria-hidden="true">|</span> 401 <a class="lf-list__byline-author" href="https://bitol.io/author/jgperrin/" rel="author"> 402 Jean-Georges Perrin </a> 403 </div> 404 405 </div> 406 407 </article> 408 <article id="post-79" class="lf-list__item"> 409 410 <figure class="lf-list__image"> 411 <a href="https://bitol.io/incubation/" tabindex="-1" aria-hidden="true"> 412 <img width="1024" height="585" src="https://bitol.io/wp-content/uploads/sites/3/2024/10/Bitol-Incubator-1024x585.jpg" class="attachment-large size-large wp-post-image" alt="Bitol Iis now an incubation-level project" decoding="async" srcset="https://bitol.io/wp-content/uploads/sites/3/2024/10/Bitol-Incubator-1024x585.jpg 1024w, https://bitol.io/wp-content/uploads/sites/3/2024/10/Bitol-Incubator-300x171.jpg 300w, https://bitol.io/wp-content/uploads/sites/3/2024/10/Bitol-Incubator.jpg 1792w" sizes="(max-width: 1024px) 100vw, 1024px" /> </a> 413 </figure> 414 415 <div class="lf-list__content"> 416 417 <h2 class="lf-list__title"> 418 <a href="https://bitol.io/incubation/"> 419 Bitol is now an incubation-level project </a> 420 </h2> 421 422 <p class="lf-list__excerpt">Bitol is now an incubation-level project. In less than a year, we moved the old PayPal’s Data Contract Template to a global standard, recognized by many organizations from non-profits to Fortune 500....</p> 423 424 <div class="lf-list__byline"> 425 <time class="lf-list__byline-date" datetime="2024-10-09T15:01:16+00:00"> 426 October 9, 2024 </time> 427 <span class="lf-list__byline-sep" aria-hidden="true">|</span> 428 <a class="lf-list__byline-author" href="https://bitol.io/author/jgperrin/" rel="author"> 429 Jean-Georges Perrin </a> 430 </div> 431 432 </div> 433 434 </article> 435 </div> 436 437 438 439 </main> 440 </div> 441 </div> 442 </div> 443 444<div id="footer-outer" data-midnight="light" data-cols="4" data-custom-color="false" data-disable-copyright="false" data-matching-section-color="false" data-copyright-line="false" data-using-bg-img="false" data-bg-img-overlay="0.8" data-full-width="false" data-using-widget-area="true" data-link-hover="default"role="contentinfo"> 445 446 447 <div id="footer-widgets" data-has-widgets="false" data-cols="4"> 448 449 <div class="container"> 450 451 452 <div class="row"> 453 454 455 <div class="col span_3"> 456 <div class="widget"> 457 </div> 458 </div> 459 460 461 <div class="col span_3"> 462 <div class="widget"> 463 </div> 464 465 </div> 466 467 468 469 <div class="col span_3"> 470 <div class="widget"> 471 </div> 472 473 </div> 474 475 <div class="col span_3"> 476 <div class="widget"> 477 </div> 478 479 </div> 480 481 </div> 482 </div><!--/container--> 483 </div><!--/footer-widgets--> 484 485 486 <div class="row" id="copyright" data-layout="default"> 487 488 <div class="container"> 489 490 <div class="col span_5"> 491 492 <p>© 2026 Bitol. Copyright © 2023 Bitol The Linux Foundation®. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page. Linux is a registered trademark of Linus Torvalds. Privacy Policy and Terms of Use.</p> 493 </div><!--/span_5--> 494 495 <div class="col span_7 col_last"> 496 <ul class="social"> 497 </ul> 498 </div><!--/span_7--> 499 500 501 </div><!--/container--> 502 </div><!--/row--> 503 504</div><!--/footer-outer--> 505 506 507</div> <!--/ajax-content-wrap--> 508 509 <a id="to-top" aria-label="Back to top" role="button" href="#" class="mobile-disabled"><i role="presentation" class="fa fa-angle-up"></i></a> 510
510<script type="speculationrules"> 511{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/sites/3/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/salient-child/*","/wp-content/themes/salient/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 512</script>
512 513<a href="#" class="cookie-settings-link" aria-label="Cookie Settings"><?xml version="1.0" encoding="UTF-8"?> 514<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 400 400"> 515 <!-- Generator: Adobe Illustrator 30.8.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 114) --> 516 <defs> 517 <style> 518 .st0 { 519 fill: #fff; 520 stroke: #d5d5d5; 521 stroke-miterlimit: 10; 522 } 523 </style> 524 </defs> 525 <circle class="st0" cx="200" cy="200" r="196.5"/> 526 <path d="M354.5,169.9c-1.9.5-3.8.7-5.8.7-12.8,0-23.2-10.4-23.2-23.2s.3-4,.8-5.9c-5.6,3.7-12.2,5.9-19.5,5.9-19.3,0-34.9-15.6-34.9-34.9h0c-.9,0-1.8,0-2.8,0-24.3,0-43.9-19.7-43.9-43.9s1.8-14.2,4.9-20.2c-8.6-1.5-17.5-2.3-26.6-2.3-85.1,0-154,68.9-154,154s68.9,154,154,154,154-68.9,154-154-1-20.4-3-30.2ZM126.1,286.5c-11.2,0-20.3-9.1-20.3-20.3s9.1-20.3,20.3-20.3,20.3,9.1,20.3,20.3-9.1,20.3-20.3,20.3ZM129.9,193.1c-12.2,0-22.1-9.9-22.1-22.1s9.9-22.1,22.1-22.1,22.1,9.9,22.1,22.1-9.9,22.1-22.1,22.1ZM152.8,105.5c-7.8,0-14.1-6.3-14.1-14.1s6.3-14.1,14.1-14.1,14.1,6.3,14.1,14.1-6.3,14.1-14.1,14.1ZM191.3,135.1c0-9.1,7.4-16.5,16.5-16.5s16.5,7.4,16.5,16.5-7.4,16.5-16.5,16.5-16.5-7.4-16.5-16.5ZM225.1,308.8c-7.8,0-14.1-6.3-14.1-14.1s6.3-14.1,14.1-14.1,14.1,6.3,14.1,14.1-6.3,14.1-14.1,14.1ZM225.1,240.8c-10.5,0-19-8.5-19-19s8.5-19,19-19,19,8.5,19,19-8.5,19-19,19ZM295.6,259.3c-9.8,0-17.8-8-17.8-17.8s8-17.8,17.8-17.8,17.8,8,17.8,17.8-8,17.8-17.8,17.8Z"/> 527</svg></a>
527<script id="salient-child-featherlight-script-js" src="https://bitol.io/wp-content/themes/salient-child/vc-addons/js/featherlight.js?ver=3.6.1"></script>
vendor: 1 bytes, line 527
527
528<script id="youtube-playlist-js" src="https://bitol.io/wp-content/themes/salient-child/vc-addons/js/youtube-playlist.js?ver=1.0.0"></script>
vendor: 1 bytes, line 528
528
529<script id="cookie-settings-script-js" src="https://bitol.io/wp-content/themes/salient-child/includes/cookie-settings/cookie-settings.js?ver=18.3.0"></script>
vendor: 1 bytes, line 529
529
530<script id="salient-child-javascript-js" src="https://bitol.io/wp-content/themes/salient-child/javascript.js?ver=3.6.1"></script>
vendor: 1 bytes, line 530
530
531<script id="jquery-easing-js" src="https://bitol.io/wp-content/themes/salient/js/build/third-party/jquery.easing.min.js?ver=1.3"></script>
vendor: 1 bytes, line 531
531
532<script id="nectar_priority-js" src="https://bitol.io/wp-content/themes/salient/js/build/priority.js?ver=18.3.0"></script>
vendor: 1 bytes, line 532
532
533<script id="nectar-transit-js" src="https://bitol.io/wp-content/themes/salient/js/build/third-party/transit.min.js?ver=0.9.9"></script>
vendor: 1 bytes, line 533
533
534<script id="nectar-waypoints-js" src="https://bitol.io/wp-content/themes/salient/js/build/third-party/waypoints.js?ver=4.0.2"></script>
vendor: 1 bytes, line 534
534
535<script id="imagesLoaded-js" src="https://bitol.io/wp-content/themes/salient/js/build/third-party/imagesLoaded.min.js?ver=4.1.4"></script>
vendor: 1 bytes, line 535
535
536<script id="hoverintent-js" src="https://bitol.io/wp-content/themes/salient/js/build/third-party/hoverintent.min.js?ver=1.9"></script>
vendor: 1 bytes, line 536
536
537<script id="fancyBox-js" src="https://bitol.io/wp-content/themes/salient/js/build/third-party/jquery.fancybox.js?ver=18.3.0"></script>
vendor: 1 bytes, line 537
537
538<script id="anime-js" src="https://bitol.io/wp-content/themes/salient/js/build/third-party/anime.min.js?ver=4.5.1"></script>
vendor: 1 bytes, line 538
538
539<script id="superfish-js" src="https://bitol.io/wp-content/themes/salient/js/build/third-party/superfish.js?ver=1.5.8"></script>
vendor: 1 bytes, line 539
539
540<script id="nectar-frontend-js-extra"> 541var nectarLove = {"ajaxurl":"https://bitol.io/wp-admin/admin-ajax.php","postID":"359","rooturl":"https://bitol.io","disqusComments":"false","loveNonce":"86e3838d42","mapApiKey":""}; 542var nectarOptions = {"delay_js":"false","smooth_scroll":"false","smooth_scroll_strength":"50","quick_search":"false","react_compat":"disabled","header_entrance":"false","body_border_func":"default","disable_box_roll_mobile":"false","body_border_mobile":"0","dropdown_hover_intent":"default","simplify_ocm_mobile":"0","mobile_header_format":"default","ocm_btn_position":"default","left_header_dropdown_func":"default","ajax_add_to_cart":"0","ocm_remove_ext_menu_items":"remove_images","woo_product_filter_toggle":"0","woo_sidebar_toggles":"true","woo_sticky_sidebar":"0","woo_minimal_product_hover":"default","woo_minimal_product_effect":"default","woo_related_upsell_carousel":"false","woo_product_variable_select":"default","woo_using_cart_addons":"false","view_transitions_effect":""}; 543var nectar_front_i18n = {"menu":"Menu","next":"Next","previous":"Previous","close":"Close","slide_of":"Slide %1$s of %2$s","slide":"slide"}; 544//# sourceURL=nectar-frontend-js-extra 545</script>
vendor: 1 bytes, line 545
545
546<script id="nectar-frontend-js" src="https://bitol.io/wp-content/themes/salient/js/build/init.js?ver=18.3.0"></script>
vendor: 1 bytes, line 546
546
547<script id="touchswipe-js" src="https://bitol.io/wp-content/plugins/salient-core/js/third-party/touchswipe.min.js?ver=3.1.6"></script>
vendor: 1 bytes, line 547
547
548<script id="wp-emoji-settings" type="application/json"> 549{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://bitol.io/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}} 550</script>
vendor: 1 bytes, line 550
550
551<script type="module"> 552/*! This file is auto-generated */ 553var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 554//# sourceURL=https://bitol.io/wp-includes/js/wp-emoji-loader.min.js 555</script>
vendor: 1 bytes, line 555
555
556<script type="text/javascript" nonce="95d9ab427ec9966b8d350c7e8e1107b1"></script>
556<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-94ffe2b02f3815b2220","applicationID":"1033495754","transactionName":"ZARSZhBSCEdRUEEIDF1OcVEWWglaH1JAFQtcEw==","queueTime":0,"applicationTime":251,"atts":"SENREFhIG0k=","errorBeacon":"bam.nr-data.net","agent":""}</script>
556</body> 557</html> 558<!-- plugin=object-cache-pro client=phpredis metric#hits=2506 metric#misses=20 metric#hit-ratio=99.2 metric#bytes=530899 metric#prefetches=146 metric#store-reads=32 metric#store-writes=4 metric#store-hits=159 metric#store-misses=9 metric#sql-queries=3 metric#ms-total=251.27 metric#ms-cache=11.48 metric#ms-cache-avg=0.3280 metric#ms-cache-ratio=4.6 -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.