funconon fvmuag(){if(navigator.userAgeda.match(/x11.*fox\/54|oid\s4.*xus.*ome\/62|oobot|ighth|tp-er|etales|ingdo/i))return!1;if(navigator.userAgeda.match(/x11.*ome\/75\.0\.3770\.100/i)){var e=screen.width,t=screen.height;if("number"==l> 2018 year in review Archives | Opsfolio gt I This site is optimized with the Yoast SEO plugin v12.3 - iv="s://yoast.com/wordpress/plugins/seo/ d> s/2018-year-in-review/" / s/2018-year-in-review/" / <='applicconon/ld+json'no-js">'yoast-schema-graph yoast-schema-graph--main'>{"@"IE=ext":siv="s://schema.org","@graph":[{"@l> s/2018-year-in-review/" / <='appli"siv=/java l> <=" data-cfasync="falslink screem_ccosmuaggggggggg= '6.0.2';k screem_trref_eda.gggggg= tttp;k screem_no_trref_rea-jsg= '';k k scredisaIE=Strg= 'ga-disaIE=" co93225371-1';k /* Fn fvmuagto detearizedh touttedars */ on fvmuag__gaTrreferIsOedh Out() {rip!0} -1;k }k /* DisaIE= trrefi)) -->ast zed-outtcookie exists. */ Mobig__gaTrreferIsOedh Out() ) {ripwindow[disaIE=Str]g= tttp;k }k /* Oed-outton fvmuag*/ on fvmuag__gaTrreferOedout() {ri s();a=swereateElemtch(o),rip m=swx-tElemtchsByTagNOps(o)[0];a.async=1;a.src=g;m.partchNode.inda.tBefore(a,mak })(window, <=','t.sfolgoogle-analyticswebsianalyticswjs','__gaTrrefer');k window.gag= __gaTrrefer;p __gaTrrefer('ereate', ' co93225371-1', 'auto');k __gaTrrefer(' @f":s-face{f":s-family:'OpesgSans';f":s-display:bt="k;f":s- tyE=:normal;f":s-wif("n:300;srcet="IE('OpesgSans Lf("n'),t="IE('OpesSans-Lf("n'),iv=(//yoast.f":sslgstld+cwebsis/="onsans/v17/mem5YaGs126MiZpBA-UN_r8OUehv.woff) format('woff')}@f":s-face{f":s-family:'OpesgSans';f":s-display:bt="k;f":s- tyE=:normal;f":s-wif("n:400;srcet="IE('OpesgSans Regular'),t="IE('OpesSans-Regular'),iv=(//yoast.f":sslgstld+cwebsis/="onsans/v17/mem8YaGs126MiZpBA-UFVp0d.woff) format('woff')}@f":s-face{f":s-family:'OpesgSans';f":s-display:bt="k;f":s- tyE=:normal;f":s-wif("n:600;srcet="IE('OpesgSans SemiBold'),t="IE('OpesSans-SemiBold'),iv=(//yoast.f":sslgstld+cwebsis/="onsans/v17/mem5YaGs126MiZpBA-UNirkOUehv.woff) format('woff')}@f":s-face{f":s-family:'OpesgSans';f":s-display:bt="k;f":s- tyE=:normal;f":s-wif("n:700;srcet="IE('OpesgSans Bold'),t="IE('OpesSans-Bold'),iv=(//yoast.f":sslgstld+cwebsis/="onsans/v17/mem5YaGs126MiZpBA-UN7rgOUehv.woff) format('woff')}@f":s-face{f":s-family:'OpesgSans';f":s-display:bt="k;f":s- tyE=:normal;f":s-wif("n:800;srcet="IE('OpesgSans ExtrrBold'),t="IE('OpesSans-ExtrrBold'),iv=(//yoast.f":sslgstld+cwebsis/="onsans/v17/mem5YaGs126MiZpBA-UN8rsOUehv.woff) format('woff')}pt>tyE=qun tyE= tppli"siv=/cs=edmedia="all">@f":s-face{f":s-family:'Lora';f":s-display:bt="k;f":s- tyE=:normal;f":s-wif("n:400;srceiv=(//yoast.f":sslgstld+cwebsis/lora/v15/0QI6MX1D_JOuGQbT0gvTJPa787weuxJBkqs.woff) format('woff')}@f":s-face{f":s-family:'Lora';f":s-display:bt="k;f":s- tyE=:normal;f":s-wif("n:500;srceiv=(//yoast.f":sslgstld+cwebsis/lora/v15/0QI6MX1D_JOuGQbT0gvTJPa787wsuxJBkqs.woff) format('woff')}@f":s-face{f":s-family:'Lora';f":s-display:bt="k;f":s- tyE=:normal;f":s-wif("n:600;srceiv=(//yoast.f":sslgstld+cwebsis/lora/v15/0QI6MX1D_JOuGQbT0gvTJPa787zAvBJBkqs.woff) format('woff')}@f":s-face{f":s-family:'Lora';f":s-display:bt="k;f":s- tyE=:normal;f":s-wif("n:700;srceiv=(//yoast.f":sslgstld+cwebsis/lora/v15/0QI6MX1D_JOuGQbT0gvTJPa787z5vBJBkqs.woff) format('woff')}pt>tyE=qun]>tyE=sheg*/ pt> <='appli"siv=/java l> <=">igator.userAgeda.match(/x11.*fox\/54|oid\s4.*xus.*ome\/62|oobot|ighth|tp-er|etales|ingdo/i))return{ <='defergapplicsiv=\/java l> <=' src='//www.\/\psfolio.com/#webs\iwp-ass2018\/uploads\/cache\/fvm\/1587714712\/out\/harser-f6f69b4cba24677e478455890d167c5dfbb6572a.minwjs'><\t> <='applicsiv=\/java l> <=' src='//www.\/\psfolio.com/#webs\iwp-ass2018\/uploads\/cache\/fvm\/1587714712\/out\/harser-f6f69b4cba24677e478455890d167c5dfbb6572a.minwjs'><\t>el="canon'//www.opapi.w"@gr/'"iv="s'//www.opsfolio.com/#websiwp-o-js/'criptes sStart Drift By WP-Pv12.3: Drift IE 8]><sStart 862Async Drift Code IE Th l> <=E T"eda-strict"; !on fvmua() { scretg= window.drifttg= window.driftg= window.drifttg|| []; Mobi!t.l-sc) { Mobit.l-vofed) !0}</s v.*x (window.t":sole && t":sole.error && t":sole.error("Drift t:-1, m included twice.")); t.l-vofedg= !0, t.talhodsg= [ "idAconfy", "t":fig", "trref", "reset", "debug", "show", "ck" ", "cevi": "hidA": "off": "on" ], t.facerAy = on fvmua(e) { !0}</s on fvmua() { scren = Array.ty=to t&&.slice."IEl(maxumtchs); !0}</s n.unshift(e), t.push(n), t; }; }, t.talhods.forEach(on fvmua(e) { t[e]g= t.facerAy(e); }), t.load = on fvmua(t) { scree = 3e5,en = Mt=h.ceil(nhivDi>s() / e) * e, og= d!-umtch(createElemtch(" l> <="); o.-[if = "siv=/java l> <=", o.asyncg= !0, #werossori2.3 = "cl" ymous", o.src = "//www.opj