Skip to content

Instantly share code, notes, and snippets.

@jackiewu
Created November 20, 2015 05:23
Show Gist options
  • Save jackiewu/606c524768a1b3686de8 to your computer and use it in GitHub Desktop.
Save jackiewu/606c524768a1b3686de8 to your computer and use it in GitHub Desktop.
Mole :: property curves example
<div class="mole-scene" id="js-mole-scene">
<div id="js-cube-scene" class="cube-wrapper">
<div class="cube-shadow-wrapper" id="js-shadow-wrapper">
<div class="cube-shadow" id="js-shadow"></div>
</div>
<div id="js-cube" style="opacity: 0;">
<div id="js-cube-squash" class="cube__squash">
<div class="cube">
<div class="cube__side cube__side--front"><!-- front --></div>
<div class="cube__side cube__side--back"><!-- back --></div>
<div class="cube__side cube__side--top"><!-- top --></div>
<div class="cube__side cube__side--bottom"><!-- bottom --></div>
<div class="cube__side cube__side--left"><!-- left --></div>
<div class="cube__side cube__side--right"><!-- right --></div>
</div>
</div>
</div>
</div>
<div class="mole mole-scene__mole" id="js-mole">
<div class="mole__inner" id="js-mole-inner">
<div id="js-mole-hat" class="mole__hat">
<div class="mole__hat-base">
<div class="mole__hat-shadow" id="js-mole-hat-shadow"></div>
</div>
<div class="mole__hat-cone-wrapper">
<div class="mole__hat-cone-rotator" id="js-mole-hat-cone">
<div class="mole__hat-cone"></div>
</div>
</div>
</div>
<div class="mole__head">
<div class="mole-mouth">
<div class="mole-mouth__inner" id="js-mole-tongue">
<svg viewBox="0 0 60 60" style="max-width: 20px;">
<path id="js-mole-tongue-path" d="M0 30 Q 20 10, 30 25 T 50 30" stroke="#C95549" fill="none" stroke-width="18" stroke-linecap="round">
</svg>
</div>
</div>
<div class="mole__mouth-wrapper" id="js-mole-mouth">
<div class="mole__mouth" id="js-mole-mouth-outer">
<div class="mole__mouth-inner" id="js-mole-mouth-inner"></div>
</div>
</div>
</div>
<div class="mole__eye" id="js-mole-eye">
<svg width="13px" height="6px" viewBox="0 0 13 6" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<path d="M0,0 Q 6.5 10, 13 0" id="js-mole-eye-lash" stroke="#4C4040" stroke-width="2"></path>
</g>
</svg>
</div>
<div class="mole__glasses" id="js-mole-glasses"></div>
<div class="mole__glasses-left" id="js-mole-glasses-left"></div>
<div class="mole__body" id="js-mole-body"></div>
<div class="mole__hand" id="js-mole-hand">
<div class="mole__hand-circle" id="js-mole-hand-circle"></div>
</div>
<div class="mole__hand-left" id="js-mole-hand-left"></div>
</div>
</div>
<div class="mole-scene__door">
<div class="door-shadow">
<div class="door-shadow__el" id="js-door-shadow"></div>
</div>
<div class="mole-scene__door-rotation" id="js-door">
<div class="shape cuboid-1 cub-1 door">
<div class="face ft"></div>
<div class="face bk"></div>
<div class="face rt"></div>
<div class="face lt"></div>
<div class="face bm"></div>
<div class="face tp">
<div class="door-handle">
<div class="door-handle__shadow">
<div class="door-handle__shadow-inner" id="js-door-handle-shadow"></div>
</div>
<div class="door-handle__part door-handle__part--bottom"></div>
<div class="door-handle__part door-handle__part--top"></div>
</div>
</div>
<div class="cr cr-0">
<div class="face side s0"></div>
<div class="face side s1"></div>
<div class="face side s2"></div>
</div>
<div class="cr cr-1">
<div class="face side s0"></div>
<div class="face side s1"></div>
<div class="face side s2"></div>
</div>
<div class="cr cr-3">
<div class="face side s0"></div>
<div class="face side s1"></div>
<div class="face side s2"></div>
</div>
</div>
</div>
</div>
<div class="mole-scene__ground"></div>
<div class="mole-scene__door-wave-wrapper">
<div class="mole-scene__door-wave" id="js-door-wave"></div>
</div>
<div class="mole-scene__mask"></div>
</div>
<div class="spinner" id="js-spinner">
<div class="dot1"></div>
<div class="dot2"></div>
</div>
<a href="http://mojs.io/tutorials/easing/path-easing/" class="tutorial-link" id="js-tutorials-link" style="opacity: 0;">
tutorial
<span class="tutorial-link__logo">
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<path d="M8,0 C12.418278,0 16,3.581722 16,8 C16,12.418278 12.418278,16 8,16 C3.581722,16 0,12.418278 0,8 C0,3.581722 3.581722,0 8,0 L8,0 Z M7.99952276,4.06943864 C10.1705754,4.06943864 11.9305614,5.82942457 11.9305614,8.00047724 C11.9305614,10.1715299 10.1705754,11.9315158 7.99952276,11.9315158 C5.82847009,11.9315158 4.06848416,10.1715299 4.06848416,8.00047724 C4.06848416,5.82942457 5.82847009,4.06943864 7.99952276,4.06943864 L7.99952276,4.06943864 Z" id="Oval-22" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
</g>
</svg>
</span>
</a>
<style>
.spinner {
width: 40px;
height: 40px;
/*margin-left: -20px;*/
margin-top: -20px;
position: absolute;
z-index: 20;
top: 50%;
left: 50%;
text-align: center;
-webkit-animation: sk-rotate 2.0s infinite linear;
animation: sk-rotate 2.0s infinite linear;
}
.dot1, .dot2 {
width: 60%;
height: 60%;
display: inline-block;
position: absolute;
top: 0;
background-color: white;
border-radius: 100%;
-webkit-animation: sk-bounce 2.0s infinite ease-in-out;
animation: sk-bounce 2.0s infinite ease-in-out;
}
.dot2 {
top: auto;
bottom: 0;
-webkit-animation-delay: -1.0s;
animation-delay: -1.0s;
}
@-webkit-keyframes sk-rotate { 100% { -webkit-transform: rotate(360deg) }}
@keyframes sk-rotate { 100% { transform: rotate(360deg); -webkit-transform: rotate(360deg) }}
@-webkit-keyframes sk-bounce {
0%, 100% { -webkit-transform: scale(0.0) }
50% { -webkit-transform: scale(1.0) }
}
@keyframes sk-bounce {
0%, 100% {
transform: scale(0.0);
-webkit-transform: scale(0.0);
} 50% {
transform: scale(1.0);
-webkit-transform: scale(1.0);
}
}
</style>
// SCENES
// - CUBE
// -- CUBE FALL
// --- CUBE FALL EFFECTS
var effects = {
init: function (proto) {
// set prototype to cube object
this.proto = proto;
Object.setPrototypeOf(this, proto);
this.vars();
this.createTween();
},
vars: function () {
this.burstOption = {
parent: this.cubeSceneEl,
x: '100%', y: 100,
shiftX: {0: 300},
shiftY: {0: '-50'},
type: ['circle', 'rect', 'polygon'],
fill: ['white', 'yellow', 'pink'],
delay: (this.delay+265)*this.s,
duration: 1400*this.s,
radius: {50: 150},
degree: 200,
count: 5,
angle: {0:'-25'},
easing: 'expo.out',
isSwirl: true,
randomRadius: .7,
randomAngle: .1,
swirlFrequency: 5,
isRunLess: true,
opacity: .75
};
},
createTween: function () {
this.cubeMainTween.add([ this.createFall1(), this.createFall2(),
this.createFall3(), this.createFall4(),
this.createFall5()
] );
},
createFall1: function () {
if (this.isMobile()) { return new mojs.Timeline; }
var timeline = new mojs.Timeline;
var burst2Option = {
x: '-20%', shiftX: {0: -300},
angle: {0:'25'},
onStart: ()=> { this.isSound && this.fall1Sound.play(); }
}
mojs.h.extend(burst2Option, this.burstOption);
var burst1 = new mojs.Burst(this.burstOption),
burst2 = new mojs.Burst(burst2Option);
timeline.add(burst1, burst2);
return timeline;
},
createFall2: function () {
if (this.isMobile()) { return new mojs.Timeline; }
var timeline = new mojs.Timeline;
var burst1Option = {delay: (this.delay+850)*this.s, radius: {30: 60}, count: 3}
var burst2Option = {
x: '-20%', shiftX: {0: -300}, angle: {0:'25'},
onStart: ()=> { this.isSound && this.fall2Sound.play(); }
}
mojs.h.extend(burst1Option, this.burstOption);
mojs.h.extend(burst2Option, burst1Option);
var burst1 = new mojs.Burst(burst1Option),
burst2 = new mojs.Burst(burst2Option);
timeline.add(burst1, burst2);
return timeline;
},
createFall3: function () {
if (this.isMobile()) { return new mojs.Timeline; }
var timeline = new mojs.Timeline;
var burst1Option = {delay: (this.delay+1275)*this.s, radius: {15: 30}, count: 2, shiftX: {0: 150}, shiftY: {0: '-25'}}
var burst2Option = {
x: '-20%', shiftX: {0: -150}, angle: {0:'25'},
onStart: () => { this.isSound && this.fall3Sound.play(); }
}
mojs.h.extend(burst1Option, this.burstOption);
mojs.h.extend(burst2Option, burst1Option);
var burst1 = new mojs.Burst(burst1Option),
burst2 = new mojs.Burst(burst2Option);
timeline.add(burst1, burst2);
return timeline;
},
createFall4: function () {
if (this.isMobile()) { return new mojs.Timeline; }
var timeline = new mojs.Timeline;
var burst1Option = {delay: (this.delay+1550)*this.s, radius: {5: 12}, count: 1, shiftX: {0: 80}, shiftY: {0: '-15'}}
var burst2Option = {
x: '-20%', shiftX: {0: -80}, angle: {0:'15'},
onStart: () => { this.isSound && this.fall4Sound.play(); }
}
mojs.h.extend(burst1Option, this.burstOption);
mojs.h.extend(burst2Option, burst1Option);
var burst1 = new mojs.Burst(burst1Option),
burst2 = new mojs.Burst(burst2Option);
timeline.add(burst1, burst2);
return timeline;
},
createFall5: function () {
if (this.isMobile()) { return new mojs.Timeline; }
var timeline = new mojs.Timeline;
var burst1Option = {delay: (this.delay+1725)*this.s, radius: {5: 12}, count: 1, shiftX: {0: 60}, shiftY: {0: '-10'}, childOptions: {radius: {3:0}} }
var burst2Option = {
x: '-20%', shiftX: {0: -60}, angle: {0:'10'},
onStart: () => { this.isSound && this.fall5Sound.play(); }
}
mojs.h.extend(burst1Option, this.burstOption);
mojs.h.extend(burst2Option, burst1Option);
var burst1 = new mojs.Burst(burst1Option),
burst2 = new mojs.Burst(burst2Option);
timeline.add(burst1, burst2);
return timeline;
}
}
var cubeFall = {
init: function (proto) {
// set prototype to cube object
this.proto = proto;
Object.setPrototypeOf(this, proto);
this.vars();
this.createTween();
effects.init(this);
},
vars: function () {
this.bouncyEasing = mojs.easing.path('M0,100 C4.00577744,92.3519448 8.46993511,63.9895504 13.1512887,0.0901667719 L21.3497674,0 C21.3497674,-1.77229627 30.0509472,116.705669 42.9949846,0 L48.1345723,0 C48.1345723,-0.774700647 55,56.7834546 63.0607938,0 L66.17434,0 C66.17434,-0.960124778 70.5072591,29.23993 76.7835754,0 L78.6555388,0 C78.6555388,0.000360393587 81.8632425,16.4914595 86.0928122,0 L87.2894428,0 C87.2894428,-0.761743229 89.7692184,9.63462033 92.2144672,0 L93.1382971,0 C93.1382971,-0.227841855 94.7579743,4.40567189 96.9144218,0 L97.5682773,0 C97.5682773,-0.227841855 98.9774879,1.86613741 100,0', { precompute: 5500, eps: .00001 });
this.scaleEasing = mojs.easing.path('M0,0 C4.00577744,7.64805524 8.46993511,36.0104496 13.1512887,99.9098332 L21.3497674,100 C21.3497674,101.772296 30.5883328,-15.0576272 42.9949846,100 L48.1345723,100 C48.1345723,100.774701 54.5357691,43.5875572 63.0607938,100 L66.17434,100 C66.17434,100.960125 70.5072591,70.76007 76.7835754,100 L78.6555388,100 C78.6555388,99.9996396 81.8632425,83.5085405 86.0928122,100 L87.2894428,100 C87.2894428,100.761743 89.1622181,90.3428525 92.2144672,100 L93.1382971,100 C93.1382971,100.227842 94.7579743,95.5943281 96.9144218,100 L97.5682773,100 C97.5682773,100.227842 98.9774879,98.1338626 100,100', { precompute: 5500, eps: .00001 });
this.squashEasing = mojs.easing.path('M0,100 C0,100 4.50292969,98.5458979 13.1655083,129.599609 C13.1655083,125.550292 14.5922587,111.423982 14.9775391,100 C18.3436489,0.118817967 21.3763133,100 21.3763133,100 C21.3763133,100 24.1020114,143.589313 31.182035,100.498105 C31.328125,99.3914616 32.96875,99.9925683 32.96875,99.9925683 C32.96875,99.9925683 37.7038574,101.822997 43.1033936,119.37915 C43.4711914,114.650634 44.145598,101.943658 44.3303223,99.9925683 C46.303074,64.0298992 48.1256605,100 48.1256605,100 C48.1199951,99.9868613 49.9071233,128.571455 54.5492038,100.31832 C54.644989,99.5927399 55.7206794,99.9868608 55.7206794,99.9868608 C55.7206794,99.9868608 59.6297405,101.239014 63.1699944,112.749862 C63.4111443,109.649569 64.0730787,101.271818 64.1941948,99.9925683 C65.7125677,79.1142212 66.3750221,100 66.3750221,100 C66.3750221,100 75.6449112,100 76.9499613,100 C77.9891495,90.3360533 78.7952818,100 78.7952818,100 C78.7952818,100 85.3866104,100 86.163329,100 C86.7355255,95.6422743 87.4229688,100 87.4229688,100 C87.4229688,100 91.4811997,100 92.0937284,100 C92.6703705,97.8777651 93.2507552,100 93.2507552,100 C93.2507552,100 96.5008682,100 97.0045401,100 C97.4574799,98.8978552 97.8392386,100 97.8392386,100 L100,100', { precompute: 5500, eps: .00001 });
},
createTween: function () {
// var tween = new mojs.Timeline;
this.cubeFallTween = new mojs.Tween({
duration: this.fallDuration*this.s,
delay: this.delay*this.s,
onStart: () => { this.cubeEl.style.opacity = 1; },
onUpdate: (progress) => {
var bounceProgress = this.bouncyEasing(progress),
scaleProgress = this.scaleEasing(progress),
squashProgress = this.squashEasing(progress);
mojs.h.setPrefixedStyle(this.cubeEl, 'transform', `translate3d(0, ${- this.translateY + this.translateY*bounceProgress}px, 0)`);
mojs.h.setPrefixedStyle(this.cubeSquashEl, 'transform', `scaleX(${1+squashProgress}) scaleY(${1-squashProgress})`);
mojs.h.setPrefixedStyle(this.shadowEl, 'transform', `scale(${1+(scaleProgress)+squashProgress}) rotateX(${-28*squashProgress}deg) rotateY(${28*squashProgress}deg) translateZ(${-4*squashProgress}px)`);
this.shadowEl.style.opacity = Math.max((bounceProgress)/2, .1 );
}
});
this.cubeMainTween.add(this.cubeFallTween);
}
}
// -- CUBE ANTICIPATION
var cubeAnticipation = {
init: function (proto) {
this.proto = proto;
// set prototype to cube object
Object.setPrototypeOf(this, proto);
this.vars();
this.createTween();
},
vars: function () {
this.anticipationEasing = mojs.easing.path('M0,0 C0,0 17.1742287,-107.268176 19.3167114,-0.633646433 C19.3167114,55.7683836 100,100 100,100');
this.anticipatingYEasing = mojs.easing.path('M0,100 C4.21746922,99.7372437 14.4689363,99.8708599 19.3294067,99.8708626 C26.5066376,7.56216386 46.8866348,19.6362701 46.8866348,19.6362701 L100,19.6362701');
},
createTween: function () {
this.cubeAnticipationTween = new mojs.Tween({
delay: (this.fallDuration + 200)*this.s,
duration: (1*this.fallDuration)*this.s,
// onComplete: ()=> { mojs.h.style(this.cubeEl, 'transform', ''); },
onUpdate: (p)=> {
var anticipationProgress = this.anticipationEasing(p),
anticipationYProgress = 1-this.anticipatingYEasing(p);
mojs.h.style(this.cubeEl, 'transform', `translate3d(0, ${-this.translateY*(1-anticipationYProgress)}px, 0)`);
var nAnticipationProgress = 1+(1-anticipationProgress);
mojs.h.style(this.cubeSquashEl, 'transform', `scaleX(${anticipationProgress}) scaleY(${nAnticipationProgress})`);
if (anticipationProgress > 1) {
var scale = anticipationProgress, rotateX = 1-anticipationProgress;
} else {
var scale = nAnticipationProgress, rotateX = .2*mojs.easing.cubic.out(p);
}
mojs.h.style(this.shadowEl, 'transform', `scale(${scale})
translateX(${-.5*anticipationProgress}px)
translateY(${-.5*anticipationProgress}px)
rotateX(${30*rotateX}deg)
rotateY(${-30*rotateX}deg)`
);
this.shadowEl.style.opacity = (anticipationYProgress/2) - .3*(1-anticipationProgress);
}
});
this.cubeMainTween.add(this.cubeAnticipationTween);
}
}
var cube = {
init: function (proto) {
Object.setPrototypeOf(this, proto);
this.vars();
this.createTween();
this.initChildScenes();
// this.cubeMainTween.start();
},
vars: function () {
this.cubeEl = document.querySelector('#js-cube');
this.cubeSquashEl = document.querySelector('#js-cube-squash');
this.shadowEl = document.querySelector('#js-shadow');
this.cubeSceneEl = document.querySelector('#js-cube-scene');
this.translateY = window.innerHeight;
this.fallDuration = 2000;
this.delay = 0;
window.addEventListener('resize', ()=> { this.translateY = window.innerHeight; });
},
createTween: function () { this.cubeMainTween = new mojs.Timeline; },
initChildScenes: function () {
cubeFall.init(this);
cubeAnticipation.init(this);
this.mainTween.add(this.cubeMainTween);
}
}
// - MOLE
// -- MOLE DOOR OPEN
var doorOpen = {
init: function (proto) {
Object.setPrototypeOf(this, proto);
this.vars();
this.createTween();
// this.cubeMainTween.start();
},
vars: function () {
},
createTween: function () {
var tween = new mojs.Tween({
duration: 1000*this.s,
delay: this.delay*this.s,
onStart: () => {
this.isSound && this.doorOpenSound.play();
},
onUpdate: (p) => {
// return;
var bounce = mojs.easing.bounce.out(p);
var pp = mojs.easing.cubic.out(mojs.easing.cubic.out(p));
mojs.h.setPrefixedStyle(this.doorEl, 'transform', `rotateY(${-125*bounce}deg) translateX(${8*(1-pp)}px) translateY(${8*(1-pp)}px) scaleX(${1-(.25*bounce)})`);
var shadowBounce = mojs.easing.cubic.in(bounce);
mojs.h.setPrefixedStyle(this.doorShadowEl, 'transform', `scaleX(${shadowBounce}) translateZ(0)`);
this.doorShadowEl.style.opacity = shadowBounce;
mojs.h.setPrefixedStyle(this.doorHandleShadowEl, 'transform', `rotateZ(${-75*(1-bounce)}deg) scaleY(${bounce}) translateZ(0)`);
this.doorHandleShadowEl.style.opacity = bounce;
}
});
this.moleTimeline.add(tween);
}
}
// -- MOLE OPEN
var moleOpen = {
init: function (proto) {
Object.setPrototypeOf(this, proto);
this.vars();
this.createTween();
this.initChildScenes();
},
vars: function () {
this.moleMouthEl = document.querySelector('#js-mole-mouth');
this.moleBodyEl = document.querySelector('#js-mole-body');
this.moleInnerEl = document.querySelector('#js-mole-inner');
mojs.h.style(this.moleMouthEl, 'transform', 'scale(0.25)');
},
createTween: function () {
var motionPathStagger = mojs.Stagger(mojs.MotionPath);
var s = this.s;
var moleOpenMotionPath = new motionPathStagger({
// motionBlur: [.2, null, null, null, null],
delay: [(this.delay+100)*s, (this.delay+250)*s, (this.delay+250)*s, (this.delay+225)*s, (this.delay+225)*s],
duration: [500*s, 450*s, 450*s, 300*s, 300*s],
path: [{x: 25, y: -240}, {x: 0, y: -1}, {x: 0, y: -1}, {x: 0, y: -1}, {x: 0, y: -1}],
curvature: [{x: '140%', y: '-15%'}, {x: '8000%', y: '-15%'}, {x: '4000%', y: '-15%'}, {x: '6000%'}, {x: '6000%'}],
el: [this.moleEl, this.moleHandEl, this.moleHandLeftEl, this.moleGlassesEl, this.moleGlassesLeftEl],
easing: ['expo.out', 'expo.out', 'expo.out', 'bounce.out', 'bounce.out'],
onStaggerStart: () => { this.isSound && this.whooshSound1.play(); }
});
var coneEasing = mojs.easing.path('M0,100 C0,100 19.2604909,99.9551166 20.5142238,99.9551166 C22.4949103,-13.4780187 30.6324028,0.551751812 30.6324028,0.551751812 C34.4304749,8.15161955 38.3387131,36.3731334 42.4370999,100 C42.4370999,101.784879 50.525191,-14.4647311 61.3868482,100 C61.3868482,100.758318 66.9909069,43.8552324 74.4543142,100 C74.4543142,100.959118 78.2476568,70.9090718 83.7423864,100 C83.7423864,100 86.5506362,83.5459334 90.2534996,100 C90.2534996,100.758318 91.893059,90.3911797 94.5652129,100 C94.5652129,100.155918 95.9831925,95.5454201 97.8710986,100 C97.8710986,100.155918 99.1048209,98.0723403 100,100');
var coneTween = new mojs.Tween({
delay: (this.delay+0)*this.s,
duration: 1200*this.s,
onUpdate: (p) => {
var coneP = coneEasing(p);
mojs.h.style(this.moleConeEl, 'transform', `rotateX(${140*coneP}deg) rotateY(${-20*coneP}deg) translateY(${-6*coneP}px)`);
mojs.h.style(this.moleConeShadowEl, {
opacity: 1 - coneP,
transform: `scaleX(${1-mojs.easing.cubic.in(coneP)}) translateZ(0)`
});
}
});
var stretchCurve = mojs.easing.path('M0,0 C0,0 31.4848633,29.7739254 55.2021484,-4.28613761e-07 C74.9160156,-20.18457 100,0 100,0');
var stretchTween = new mojs.Tween({
delay: (this.delay+0)*this.s,
duration: 500*this.s,
onUpdate: (p) => {
var stretchP = stretchCurve(p);
var inv = 1+(1-stretchP);
mojs.h.setPrefixedStyle(this.moleInnerEl, 'transform', `scaleX(${stretchP}) scaleY(${inv}) translateZ(0)`);
}
});
this.moleTimeline.add( moleOpenMotionPath, coneTween, stretchTween );
},
initChildScenes: function () {
}
}
// -- MOLE RANTING
// --- MOLE RANTING TONGUE
var tongue = {
init: function (proto) {
proto && Object.setPrototypeOf(this, proto);
this.vars();
this.createTween();
// this.initChildScenes();
},
vars: function () {
this.delay = this.handRantingDuration+275; this.duration = 1800;
},
createTween: function () {
var skewCurve = mojs.easing.path('M0,100 C0,100 18.1450901,69.0663515 24.0949898,99.9609384 C30.0448895,130.855525 100,100 100,100');
var handCurve = mojs.easing.path('M0,-3.55271368e-14 C10.9545898,-40.8999024 23.9307575,-0.575683661 23.930758,0.136022468 C23.9307575,99.5087928 23.9307575,123.533199 42.6040039,123.533196 C47.594178,123.533196 54.2372213,123.00636 61.2202377,122.247035 C61.5346348,122.212848 63.3167217,121.96483 65.9540934,121.59172 C76.2346029,120.13733 99.5107422,116.78222 99.5107422,116.78222');
var mouthCurve = mojs.easing.path('M0,0.300003052 C0,-118.289845 23.9999996,0.30000305 23.9999996,0.30000305 C23.9999996,0.30000305 28.9929691,57.0874986 31.8132816,63.7992219 C86.0328155,57.0874986 100,72.5585908 100,72.5585908');
var noizeCurve = mojs.easing.path('M0,99.05 L24.2114672,99.1070023 L27.0786839,106.049107 L29.2555809,92.7589286 L32.0340385,103.220982 L35.3459816,94.0055804 L38.3783493,102.496652 L41.0513382,95.3588169 L43.7739944,106.049107 L45.6729927,96.3013392 L50,104.487165 L53.3504448,92.7589286 L57.7360497,103.220982 L60.8616066,95.3588169 L65.0345993,102.496652 L68.6997757,96.9146207 L71.6646194,101.435268 L75.0262299,95.3588169 L78.0089264,104.487165 L81.2276764,92.7589286 L84.390625,102.496652 L85.7360458,95.3588169 L88.4709854,101.435268 L90.9453125,96.3013392 L94.2198639,103.220982 L96.1110458,94.0055804 L100,99.05');
var saliva = new mojs.Burst({
parent: this.moleEl,
type: 'circle',
fill: 'white',
duration: (this.duration/1.3)*this.s,
x: 145, y: 105,
delay: `stagger(${(this.duration/4)*this.s}, rand(50, 100))`,
degree: 0,
angle: {75: 150},
isSwirl: true,
randomRadius: .75,
radius: {0:150},
count: 16,
isRunLess: true,
childOptions: {
radius: { 'rand(.5,2)' : 0},
duration: 300*this.s,
}
});
saliva.el.style['z-index'] = 10;
var salivaLauncher = new mojs.Tween({
delay: 435*this.s,
onStart: () => {
this.isSound && this[`salivaSound${Math.round(mojs.h.rand(1,2))}`].play();
}
});
var squintCurve = mojs.easing.mix({ to: .25, value: 1 }, { to: 1, value: 'cubic.in' });
mojs.h.style(this.moleMouthEl, 'transform-origin', `right center`);
var tween = new mojs.Tween({
delay: this.delay*this.s,
duration: this.duration*this.s,
onStart: ()=> { if (!this.isMobile()) { saliva.run(); }; salivaLauncher.run(); this.isSound && this.sighSound1.play(); },
onUpdate: (p)=> {
var skewP = skewCurve(p);
var handP = handCurve(p);
var mouthP = mouthCurve(p);
var noizeP = noizeCurve(p);
mojs.h.style(this.moleEl, 'transform', `skewX(${(75*skewP)-(5*noizeP)}deg) skewY(${15*noizeP}deg) ${this.zHack}`);
mojs.h.style(this.moleHandEl, 'transform', `rotate(${(this.handAngle*handP)+(30*noizeP)}deg) ${this.zHack}`);
mojs.h.style(this.moleHandLeftEl, 'transform', `rotate(${(100*skewP)-(15*noizeP)}deg) translateY(${(-100*skewP)}px) ${this.zHack}`);
mojs.h.style(this.moleMouthEl, 'transform', `scale(${mouthP+(3*noizeP)}) translate(${-30*skewP}px, 0) ${this.zHack}`);
mojs.h.style(this.moleGlassesEl, 'transform', `translateY(${20*noizeP}px) ${this.zHack}`);
mojs.h.style(this.moleGlassesLeftEl,'transform', `translateY(${10*noizeP}px) ${this.zHack}`);
mojs.h.style(this.moleEyeEl, 'transform', ``);
mojs.h.style(this.moleConeEl, 'transform', `rotateZ(${20*noizeP}deg) ${this.zHack}`);
mojs.h.style(this.moleTongueEl, 'transform', `translate(${-140*skewP}px, 0) ${this.zHack}`);
this.moleTonguePath.setAttribute('d', `M0 30 Q 20 ${10+(550*noizeP)}, 30 25 T 50 30`);
// SQUINT
var squintP = squintCurve(p);
var n_squintP = mojs.easing.inverse(squintP);
this.moleEyeLashEl.setAttribute('d', `M0,0 Q 6.5 ${10*squintP}, 13 0`);
this.moleEyeLashEl.setAttribute('stroke-width', 2 + 1.5*n_squintP);
mojs.h.style(this.moleEyeEl, 'transform', `rotate(${37*n_squintP}deg) translate(${7*n_squintP}px, ${-4*n_squintP}px) scaleX(${1-.4*n_squintP}) ${this.zHack}`);
}
});
// tween.start();
this.moleRantingTween.add(tween);
}
}
// --- MOLE RANTING HAND
// SCENES
var moleRantingHand = {
init: function (proto) {
Object.setPrototypeOf(this, proto);
this.vars();
this.createTween();
this.initChildScenes();
},
vars: function () {
},
createTween: function () {
var handAngleCurve = mojs.easing.path('M0,100 L3.13085938,99.9660558 C11.128418,-42.5141612 24.7357688,10.3389432 24.7357688,10.3389432 C24.7357688,10.3389432 35.4207115,6.43611673 35.420711,19.551763 C35.420711,19.551763 35.4207115,28.5204487 38.4679491,20.1010452 C45.9122391,-2.41706848 48.2480469,19.3280379 49.4205542,19.3280385 C49.4205546,6.88000841 55.0592461,-3.51334643 59,15.8785806 C60.6251608,22.5931723 56.8918457,-3.3408203 65.4951172,-3.3408203 C68.7340668,-3.54252346 69.730594,6.60260412 70.328125,14.0234368 C70.9301836,21.5004985 74.0961573,27.0302603 74.7888322,18.8316301 C77.5927734,-0.603027419 100,0 100,0');
var handStretchCurve = mojs.easing.path('M1.13686838e-13,100.140658 C1.13686838e-13,100.140658 5.01160836,100.097038 8.74856937,100.270866 C15.1440434,57.219434 23.7860103,98.447299 23.7860103,100.097037 C30.2913574,71.1380541 36.1603623,98.3939125 36.160361,100.162142 C41.9325738,44.182975 49.1344299,98.9199542 49.1344299,100.053418 C53.6287224,80.2298508 59.2720971,99.9303714 59.2720971,99.9303714 C59.2720971,99.9303714 63.6972656,56.5605469 70.2742418,100.003578 C72.7851563,131.47461 74.5979385,101.614397 75,100.097038 C78.8691406,68.734375 82.3889542,100.577847 94.1109085,100.097038 L99.9962311,100.097038');
var tween = new mojs.Tween({
delay: 500*this.s,
duration: this.handRantingDuration*this.s,
onStart: () => {
this.isSound && this[`rantSound${Math.round(mojs.h.rand(1,3))}`].play();
},
onUpdate: (p)=> {
var handP = handAngleCurve(p);
var handStretchP = handStretchCurve(p);
var inv = mojs.easing.inverse(handStretchP);
var shiftP = mojs.easing.quad.out(p);
var handStretchShiftP = handStretchCurve(shiftP);
mojs.h.style(this.moleHandEl, 'transform', `rotate(${this.handAngle*handP}deg) scaleX(${1-(.4*handStretchP)}) scaleY(${1+handStretchP}) ${this.zHack}`);
mojs.h.style(this.moleHandLeftEl, 'transform', `translateY(${-75*handStretchP}px) ${this.zHack}`);
mojs.h.style(this.moleGlassesEl, 'transform', `translateY(${-45*handStretchShiftP}px) ${this.zHack}`);
mojs.h.style(this.moleGlassesLeftEl, 'transform', `translateY(${-45*handStretchShiftP}px) ${this.zHack}`);
var bodyScale = .25*handStretchP;
mojs.h.style(this.moleEl, 'transform', `scaleY(${1+bodyScale}) scaleX(${1-bodyScale}) ${this.zHack}`);
mojs.h.style(this.moleMouthEl, 'transform', `scale(${Math.min(1-(5*handStretchP), 1.2)}) translateX(${Math.min(-50*handStretchShiftP, 10)}px) ${this.zHack}`);
mojs.h.style(this.moleMouthInnerEl, 'transform', `scale(${1-(4*handStretchP)}) translateX(${Math.min(-150*handStretchP, 10)}px) translateY(${(-20*handStretchShiftP)}px) ${this.zHack}`);
mojs.h.style(this.moleMouthOuterEl, 'border-top-right-radius', `${200*(handStretchShiftP)}%`);
}
});
this.moleRantingTween.add(tween);
},
initChildScenes: function () { }
}
// --- MOLE RANTING SEARCH
var moleRantingSearch = {
init: function (proto) {
Object.setPrototypeOf(this, proto);
this.vars();
this.createTween();
this.initChildScenes();
},
vars: function () {
this.doorEl = document.querySelector('#js-door');
this.doorShadowEl = document.querySelector('#js-door-shadow');
this.doorHandleShadowEl = document.querySelector('#js-door-handle-shadow');
},
createTween: function () {
var timeLine = new mojs.Timeline;
var duration = 1000;
var doorSound1Tween = new mojs.Tween({
delay: 510*this.s,
onStart: () => { this.isSound && this.doorOpenSoundSmall.play(); }
});
var wehSound1Tween = new mojs.Tween({
delay: 120*this.s,
onStart: () => { this.isSound && this.wehSound1.play(); }
});
var wehSound2Tween = new mojs.Tween({
delay: 400*this.s,
onStart: () => { this.isSound && this.wehSound2.play(); }
});
var e = mojs.easing;
var bodySkewC = e.path('M0.506500786,100 C0.506500786,100 5.85142524,99.4107621 7.9810887,99.4107621 C7.9810887,66.899765 14.0576168,-39.8300779 32.375588,23.1162121 C34.150559,29.6685115 40.0307601,29.7045647 40.8105474,23.116212 C49.0488287,-46.488282 57.7949224,0 66.8462524,0.141452063 C79.10852,0.14145202 100.481854,0 100.481854,0');
var riseC = e.path('M0.504882812,100 L8.29748693,100 C19.3574219,34.4345703 32.1187229,99.4550794 32.1187235,100 C32.1187235,100 37.9296875,122.487303 43.1708984,99.4550794 C51.9283709,10.3408208 63.429554,94.8232407 63.4295529,100 C67.7822266,127.167966 76.9882812,99.4550793 76.9882812,99.4550793 L100.110353,100');
var doorAngleC = e.mix({ to: .45, value: 1 }, { to: 1, value: bodySkewC });
var tween = new mojs.Tween({
duration: duration*this.s,
onUpdate: (p)=> {
var riseP = riseC(p);
var bodySkewP = bodySkewC(p);
mojs.h.style(this.moleEl, 'transform', `skewX(${9*bodySkewP}deg) scale(${1-.15*riseP}, ${1+.15*riseP}) translate(0, ${-17*riseP}px) ${this.zHack}`);
mojs.h.style(this.moleHandEl, 'transform', `rotate(${29.5 + 65*bodySkewP}deg) scaleY(${1+.1*bodySkewP}) translateY(${-15*riseP}px) ${this.zHack}`);
mojs.h.style(this.moleHandLeftEl, 'transform', `rotate(${20*bodySkewP}deg) translate(${30*bodySkewP}px, ${-10*bodySkewP - 10*riseP}px) ${this.zHack}`);
this.moleEyeLashEl.setAttribute('d', `M0,0 Q ${6.5 - 13*riseP} ${10-30*Math.max(riseP, 0)}, 13 0`);
this.moleEyeLashEl.setAttribute('stroke-width', 2 + 2.5*riseP);
mojs.h.style(this.moleEyeEl, 'transform', `rotate(${60*riseP}deg) translate(${7*riseP}px, ${-4*riseP}px) scaleX(${1-.9*riseP}) ${this.zHack}`);
mojs.h.style(this.moleMouthEl, 'transform', `scale(${.3 + 2.4*riseP}) ${this.zHack}`);
}
});
var tween2 = new mojs.Tween({
duration: duration*this.s,
onUpdate: (p) => {
var riseP = riseC(p);
mojs.h.setPrefixedStyle(this.moleConeEl, 'transform', `rotateX(${210*riseP}deg) ${this.zHack}` );
mojs.h.setPrefixedStyle(this.moleGlassesEl, 'transform', `translateY(${-25*riseP}px) ${this.zHack}` );
mojs.h.setPrefixedStyle(this.moleGlassesLeftEl, 'transform', `translateY(${-25*riseP}px) ${this.zHack}` );
}
});
var tween3 = new mojs.Tween({
delay: 50*this.s,
duration: duration*this.s,
onUpdate: (p) => {
var doorAngleP = doorAngleC(p);
mojs.h.setPrefixedStyle(this.doorEl, 'transform', `rotateY(${-125 + 90*e.inverse(doorAngleP)}deg) scaleX(.75) ${this.zHack}`);
mojs.h.setPrefixedStyle(this.doorShadowEl, 'transform', `scaleX(${1-.45*e.inverse(doorAngleP)}) ${this.zHack}`);
}
});
timeLine.add(tween, wehSound1Tween, wehSound2Tween, tween2, tween3, doorSound1Tween);
this.moleRantingTween.append(timeLine);
},
initChildScenes: function () {}
}
var moleRanting = {
init: function (proto) {
Object.setPrototypeOf(this, proto);
this.vars();
this.createTween();
this.initChildScenes();
},
vars: function () {
this.scene = document.querySelector('#js-mole-scene');
this.moleEl = document.querySelector('#js-mole-inner');
this.moleTongueEl = document.querySelector('#js-mole-tongue');
this.moleTonguePath = document.querySelector('#js-mole-tongue-path');
this.handAngle = -175;
this.handRantingDuration = 1500;
},
createTween: function () {
this.moleRantingTween = new mojs.Timeline;
},
initChildScenes: function () {
moleRantingHand.init(this);
tongue.init(this);
moleRantingSearch.init(this);
this.moleTimeline.add(this.moleRantingTween);
}
}
// -- MOLE CLOSE
var close = {
init: function (proto) {
Object.setPrototypeOf(this, proto);
this.vars();
this.createTween();
},
vars() {
this.moleInnerEl = document.querySelector('#js-mole-inner');
},
resetParts() {},
createTween() {
var delay = 4400;
var e = mojs.easing, h = mojs.h;
this.closeTimeline = new mojs.Timeline({ delay: delay*this.s });
var closeSoundLauncher = new mojs.Tween({
duration: 50,
delay: 150*this.s,
onStart: ()=> { this.isSound && this.doorCloseSound.play(); this.isSound && this.fallingSound.play(); }
});
var moveDownTween = new mojs.Tween({
duration: 600*this.s,
onStart: () => { this.moleHandCircleEl.style.opacity = 1; },
onComplete: () => {
this.resetParts();
this.moleHandCircleEl.style.opacity = 0;
h.style( this.moleHandEl, 'transform', '' );
h.style( this.moleHatEl, 'transform', '' );
this.moleHatEl.style['z-index'] = 4;
this.moleEyeLashEl.setAttribute('d', `M0,0 Q 6.5 10, 13 0`);
this.moleEyeLashEl.setAttribute('stroke-width', 2);
mojs.h.style(this.moleEyeEl, 'transform', '');
h.style( this.moleGlassesEl, 'transform', '' );
h.style( this.moleGlassesLeftEl, 'transform', '' );
},
onUpdate: (p) => {
var cubicInP = e.cubic.in(p);
var quadInP = e.quad.in(p);
var expoInP = e.expo.in(p);
h.style( this.moleEl, 'transform', `translate(${25}px, ${-240 + 360*cubicInP}px) ${this.zHack}` );
// (p === 1) && (this.moleEl.style['z-index'] = 0);
h.style( this.moleInnerEl, 'transform', `skewX(${9*(1-p)}deg) scale(${ 1 - .2*cubicInP }, ${ 1 + .2*cubicInP }) ${this.zHack}` );
h.style( this.moleHandEl, 'transform', `rotate(${94.5 + 100.5*quadInP}deg) scaleY(${1.1 - .1*quadInP}) translateY(${70*quadInP}px) ${this.zHack}` );
h.style( this.moleHandLeftEl, 'transform', `rotate(${20 - 20*quadInP}deg) translate(${30 - 35*quadInP}px, ${-10 - 70*quadInP}px) ${this.zHack}` );
h.style( this.doorEl, 'transform', `rotateY(${ -125 + 125*cubicInP }deg) scaleX(${.75 + .25*expoInP}) translate(${8*expoInP}px, ${8*expoInP}px) ${this.zHack}` );
h.style( this.doorShadowEl, 'transform', `scaleX(${1 - 1.65*cubicInP}) ${this.zHack}` );
h.style( this.moleConeEl, 'transform', `rotateX(${150*quadInP}deg) rotateY(${-14*quadInP}deg) translateY(${-5*quadInP}px) ${this.zHack}` );
this.moleConeShadowEl.style.opacity = 1-p;
h.style( this.moleHatEl, 'transform', `translateY(${-35*expoInP}px) ${this.zHack}` );
this.moleHatEl.style['z-index'] = Math.round(12 - 12*p);
h.style( this.moleGlassesEl, 'transform', `translateY(${-85*expoInP}px) ${this.zHack}` );
h.style( this.moleGlassesLeftEl, 'transform', `translateY(${-85*expoInP}px) ${this.zHack}` );
this.moleEyeLashEl.setAttribute('d', `M0,0 Q 6.5 ${10*p}, 13 0`);
this.moleEyeLashEl.setAttribute('stroke-width', 2 + 1.5*p);
mojs.h.style(this.moleEyeEl, 'transform', `translate(${7*p}px, ${-5*p}px) scaleX(${1-.4*p}) ${this.zHack}`);
mojs.h.style(this.moleMouthInnerEl, 'transform', `scale(${.3 - .3*p}) ${this.zHack}`);
}
});
var burstStagger = new mojs.Stagger(mojs.Burst)({
quantifier: 4,
parent: this.moleSceneEl,
x: [145, 295, 50, 175],
y: [75, 25, 25, 0],
shiftY: [{0: -65}, {0: -50}, {0: -50}, {0: -35}],
degree: 50,
randomRadius: 1,
randomAngle: .2,
angle: -25,
isRunLess: true,
fill: 'white',
count: 'rand(3,5)',
childOptions: { radius: {'rand(2, 5)': 0} }
});
for (var module of burstStagger.childModules) { module.el.style['z-index'] = 3; }
var doorWaveTween = new mojs.Tween({
duration: 400*this.s,
onUpdate: (p) => {
mojs.h.style(this.doorWaveEl, 'transform', `scale(${1.1 + 2*e.cubic.out(p)}) ${this.zHack}`);
this.doorWaveEl.style.opacity = 1 - e.expo.out(p);
}
});
var noiseCurve = mojs.easing.path('M0.259486607,100.071429 C0.259486607,100.071429 4.27680653,83.4402907 6.90123802,100.071429 C9.52566951,116.702566 13.5373987,100.071429 13.5373987,100.071429 C13.5373987,100.071429 16.7628232,87.9112723 21.6735437,100.071429 C26.5842642,112.231585 30.9212118,100.071429 30.9212118,100.071429 C30.9212118,100.071429 37.4556606,76.8219874 36.8193484,100.071429 C36.1830363,123.32087 44.2583534,100.071429 44.2583534,100.071429 C44.2583534,100.071429 52.7238326,76.230468 58.7731881,100.071429 C64.8225436,123.912389 71.8496108,100.071429 71.8496108,100.071429 C71.8496108,100.071429 76.8389838,84.6718743 77.5101727,100.071429 C78.1813616,115.470983 86.7695435,100.071429 86.7695435,100.071429 C86.7695435,100.071429 90.9161334,91.365514 92.5121951,100.071429 C94.1082567,108.777343 97.4553275,100.071429 97.4553275,100.071429 C97.4553275,100.071429 98.5630678,96.4871648 100.000003,100.071429');
var noiseTween = new mojs.Tween({
duration: 200*this.s,
onStart: () => { this.isSound && this.boomSound.play(); },
onUpdate: (p)=> {
mojs.h.style(this.sceneEl, 'transform', `translate(${noiseCurve(p)*40}px, ${-noiseCurve(p)*20}px) ${this.zHack}`);
}
});
var staggerAddTween = (this.isMobile() ? new mojs.Timeline : burstStagger.timeline);
var doorWaveAddTween = (this.isMobile() ? new mojs.Timeline : doorWaveTween);
this.closeTimeline
.add(moveDownTween, closeSoundLauncher)
.append([ staggerAddTween, doorWaveAddTween, noiseTween]);
this.moleTimeline.add(this.closeTimeline);
},
initChildScenes: function () {
}
}
var mole = {
init(proto) {
Object.setPrototypeOf(this, proto);
this.vars();
this.createTween();
this.initChildScenes();
this.initChildParts();
this.mainTween.add(this.moleTimeline);
},
vars() {
this.scene = document.querySelector('#js-mole-scene');
},
createTween() {
this.moleTimeline = new mojs.Timeline({ delay: (this.cubeDuration-1200)*this.s }); },
initChildScenes() {
doorOpen.init(this);
moleOpen.init(this);
},
initChildParts() {
moleRanting.init(this);
close.init(this);
}
}
var main = {
s: 1, // global time coefficient
zHack: ' translateZ(0) ',
mainTween: new mojs.Timeline({ repeat: 999999, delay: 0 }),
delay: 0,
cubeDuration: 3900,
isSound: true,
init() {
this.vars();
this.showHiddenParts();
this.loadSounds();
},
showHiddenParts () {
this.sceneEl.style.opacity = 1;
this.tutorialsLinkEl.style.opacity = 1;
},
loadSounds() {
var soundBase = 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/6859/';
var soundUrl = `${soundBase}fall-kick-1.${this.soundFileType}`;
this.fall1Sound = new Howl({ urls: [ soundUrl ], onload: this.tryToLaunch.bind(this) });
this.fall2Sound = new Howl({ urls: [ soundUrl ], rate: .9, volume: .8, onload: this.tryToLaunch.bind(this) });
this.fall3Sound = new Howl({ urls: [ soundUrl ], rate: .8, volume: .5, onload: this.tryToLaunch.bind(this) });
this.fall4Sound = new Howl({ urls: [ soundUrl ], rate: .7, volume: .4, onload: this.tryToLaunch.bind(this) });
this.fall5Sound = new Howl({ urls: [ soundUrl ], rate: .6, volume: .3, onload: this.tryToLaunch.bind(this) });
this.whooshSound1 = new Howl({ urls: [`${soundBase}whoosh-1.${this.soundFileType}`], volume: .4, rate: 1.4, onload: this.tryToLaunch.bind(this) });
this.doorOpenSound = new Howl({ urls: [`${soundBase}door-open-1.${this.soundFileType}`], rate: 2.5, onload: this.tryToLaunch.bind(this) });
this.salivaSound1 = new Howl({ urls: [ `${soundBase}saliva-1.${this.soundFileType}` ], onload: this.tryToLaunch.bind(this) });
this.salivaSound2 = new Howl({ urls: [ `${soundBase}saliva-2.${this.soundFileType}` ], onload: this.tryToLaunch.bind(this) });
this.sighSound1 = new Howl({ urls: [ `${soundBase}sigh-1.${this.soundFileType}` ], rate: 1.8, onload: this.tryToLaunch.bind(this) });
this.doorOpenSoundSmall = new Howl({ urls: [`${soundBase}door-open-small-1.${this.soundFileType}`], rate: 1.9, volume: .6, onload: this.tryToLaunch.bind(this) });
this.wehSound1 = new Howl({ urls: [`${soundBase}ugh-2.${this.soundFileType}`], volume: .35, rate: 1.25, onload: this.tryToLaunch.bind(this) });
this.wehSound2 = new Howl({ urls: [`${soundBase}ugh-1.${this.soundFileType}`], volume: .35, rate: 1.35, onload: this.tryToLaunch.bind(this) });
this.rantSound1 = new Howl({ urls: [`${soundBase}rant-1-1.${this.soundFileType}`], rate: 1.25, volume: .65, onload: this.tryToLaunch.bind(this) });
this.rantSound2 = new Howl({ urls: [`${soundBase}rant-1-2.${this.soundFileType}`], rate: 1.25, volume: .65, onload: this.tryToLaunch.bind(this) });
this.rantSound3 = new Howl({ urls: [`${soundBase}rant-1-3.${this.soundFileType}`], rate: 1.25, volume: .65, onload: this.tryToLaunch.bind(this) });
this.doorCloseSound = new Howl({ urls: [`${soundBase}door-close-1.${this.soundFileType}`], rate: 1.5, volume: .65, onload: this.tryToLaunch.bind(this) });
this.boomSound = new Howl({ urls: [ `${soundBase}fall-kick-1.${this.soundFileType}` ], rate: .5, onload: this.tryToLaunch.bind(this) });
this.fallingSound = new Howl({ urls: [ `${soundBase}falling-1.${this.soundFileType}` ], rate: 4.5, volume: .05, onload: this.tryToLaunch.bind(this) });
},
tryToLaunch() {
this.soundsLoadedCnt++;
if (this.soundsLoadedCnt >= 19 && !this.isLaunched ) { this.isLaunched = true; this.onSoundsLoaded(); }
},
onSoundsLoaded() {
this.spinnerEl.style.opacity = 0;
cube.init(this)
mole.init(this);
this.mainTween.start();
},
vars() {
this.sceneEl = document.querySelector('#js-mole-scene');
this.moleEl = document.querySelector('#js-mole');
this.moleHatEl = document.querySelector('#js-mole-hat');
this.moleConeEl = document.querySelector('#js-mole-hat-cone');
this.moleConeShadowEl = document.querySelector('#js-mole-hat-shadow');
this.moleGlassesEl = document.querySelector('#js-mole-glasses');
this.moleGlassesLeftEl = document.querySelector('#js-mole-glasses-left');
this.moleMouthEl = document.querySelector('#js-mole-mouth');
this.moleMouthInnerEl = document.querySelector('#js-mole-mouth-inner');
this.moleMouthOuterEl = document.querySelector('#js-mole-mouth-outer');
this.moleHandEl = document.querySelector('#js-mole-hand');
this.moleHandLeftEl = document.querySelector('#js-mole-hand-left');
this.moleHandCircleEl = document.querySelector('#js-mole-hand-circle');
this.doorEl = document.querySelector('#js-door');
this.doorShadowEl = document.querySelector('#js-door-shadow');
this.doorHandleShadowEl = document.querySelector('#js-door-handle-shadow');
this.moleEyeEl = document.querySelector('#js-mole-eye');
this.moleEyeLashEl = document.querySelector('#js-mole-eye-lash');
this.moleSceneEl = document.querySelector('#js-mole-scene');
this.doorWaveEl = document.querySelector('#js-door-wave');
this.tutorialsLinkEl = document.querySelector('#js-tutorials-link');
this.spinnerEl = document.querySelector('#js-spinner');
this.soundFileType = (this.isOpera()) ? 'wav' : 'mp3';
this.soundsLoadedCnt = 0;
},
isMobile: function () {
return !!(navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i));
},
isOpera: function () {
var userAgent = navigator.userAgent;
return /^Opera\//.test(userAgent) || /\x20OPR\//.test(userAgent);
}
}
main.init();
<script src="//cdn.jsdelivr.net/mojs/0.147.3/mo.min.js"></script>
<script src="//cdn.jsdelivr.net/howler.js/1.1.27/howler.min.js"></script>
PX = (1/16)rem
GS = 10*PX
BRADIUS = 8*PX
c-main-background = #50E3C2
rect()
width arguments
height arguments
circle()
border-radius 50%
rect arguments
body
paddding 0
margin 0
background c-main-background
font-size 16px
height 100%
overflow hidden
// MOLE
.mole
width 204*PX
height 274*PX
&__head
width 172*PX
height 116*PX
background url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMTcycHgiIGhlaWdodD0iMTE2cHgiIHZpZXdCb3g9IjAgMCAxNzIgMTE2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOnNrZXRjaD0iaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoL25zIj4gICAgICAgIDx0aXRsZT5VbnRpdGxlZCA3IENvcHk8L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGRlZnM+PC9kZWZzPiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4gICAgICAgIDxnIGlkPSJoZWFkLSstbm9zZS1jb3B5IiBza2V0Y2g6dHlwZT0iTVNMYXllckdyb3VwIj4gICAgICAgICAgICA8cGF0aCBkPSJNMC44MDQ5OTkzMDQsOTMuODc3MTM2NSBDMC44MDQ5OTkzMDQsOTMuODc3MTM2NSAxNC45NjM5NzU4LC0xOS42NTU4MTU5IDEwNS40MTE0NDUsMy4zNDQ5MDk5IEMxMTguOTQ4NTU0LDcuMTAyNzIyNDEgMTQwLjA5Nzk2OCwxNy42Mzg4NTQ3IDE2My42ODQ4ODIsMjAuNDUxMzU1NyBDMTY2LjkwNzUzOCwyNC45NTUyNjIgMTYxLjgwMjA3LDM1LjY1MjUyNzEgMTYxLjgwMjA3LDM1LjY1MjUyNzEgQzE2MS44MDIwNywzNS42NTI1MjcxIDE1My4zMTg2NzEsNjEuNTY1NjEzNSAxNDMuMzY1NTQ2LDc4LjkyMzAzNDkgQzExNS44Mzg4NjYsMTI1Ljg2MzI4MiA0LjA4MDA3ODA1LDEyNC44NTU0NjUgMC44MDQ5OTkzMDQsOTMuODc3MTM2NSBaIiBpZD0iaGVhZCIgZmlsbD0iIzRDNDA0MCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNjYuNDI4MTMsMjguNDAxMjA2NCBDMTY0Ljk2OTgwNCwyOS4xNzQxNzAyIDE2Mi44MjM3MDEsMjguODcxODcwOSAxNjEuNjMzMTM4LDI3LjcyNDUyMDUgTDE1OS4yOTQ0MzQsMjUuNDcwNzAzMSBDMTU5LjI5NDQzNCwyNS40NzA3MDMxIDE1Ni43MzE5MzQsMjcuMTgyNjE3MiAxNTQuNjkyODcxLDI0LjQzOTQ1MzEgQzE1Ny45ODE5MzQsMTIuNTczMjQyMiAxNzEuMzA3MTI5LDE5LjEzNjcxODcgMTcxLjMwNzEyOSwyMi4wMDc4MTI1IEMxNzEuMzA3MTI5LDI2LjY1OTE3OTcgMTY2LjQyODEzLDI4LjQwMTIwNjQgMTY2LjQyODEzLDI4LjQwMTIwNjQgWiIgaWQ9Im5vc2UiIGZpbGw9IiNDOTU0NEEiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgPC9nPjwvc3ZnPg==')
position absolute
top 2*GS
left .4*GS
z-index 1
&__glasses
width 118*PX
height 55*PX
position absolute
top 2.3*GS
left 2.6*GS
background url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMTE4cHgiIGhlaWdodD0iNTVweCIgdmlld0JveD0iMCAwIDExOCA1NSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpza2V0Y2g9Imh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaC9ucyI+ICAgICAgICA8dGl0bGU+Z2xhc3NlczwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHNrZXRjaDp0eXBlPSJNU1BhZ2UiPiAgICAgICAgPGcgaWQ9ImdsYXNzLXJpZ2h0LWNvcHkiIHNrZXRjaDp0eXBlPSJNU0xheWVyR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuOTc5ODA0LCAyLjUwMDAwMCkiIHN0cm9rZT0iI0YzNUQ1QyIgc3Ryb2tlLXdpZHRoPSIzIj4gICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLTMiIGZpbGwtb3BhY2l0eT0iMC4yNSIgZmlsbD0iI0ZGRkZGRiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCIgY3g9IjYyIiBjeT0iMjkiIHI9IjIyIj48L2NpcmNsZT4gICAgICAgICAgICA8cGF0aCBkPSJNMC44NTE1NjI1LDIxLjM5MDYyNSBMNi4yNTQ0MTQxOSwxMy4xNDM3IEM3LjE2MTg1MTgzLDExLjc1ODU4NTIgOS4xMzU4NDc0NCwxMS4xMzM1NzIgMTAuNjg5MjcxLDExLjc1ODA3MTggTDM5Ljk4OTI1NzgsMjMuNTM3MTA5NCIgaWQ9IlBhdGgtNiIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+PC9wYXRoPiAgICAgICAgICAgIDxwYXRoIGQ9Ik03Ny44ODI4MTI1LDEyLjY2OTc2NjMgQzkyLjM0Mzc1LC05Ljc5Mjk2ODMzIDExNS4xMTEzMjgsNC43MDg5ODQ0IDExNS4xMTEzMjgsNC43MDg5ODQ0IiBpZD0iUGF0aC03IiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+ICAgICAgICA8L2c+ICAgIDwvZz48L3N2Zz4=')
z-index 3
&__glasses-left
width 17*PX
height 27*PX
background url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMTdweCIgaGVpZ2h0PSIyN3B4IiB2aWV3Qm94PSIwIDAgMTcgMjciIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPiAgICAgICAgPHRpdGxlPmdsYXNzZXMgY29weTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHNrZXRjaDp0eXBlPSJNU1BhZ2UiPiAgICAgICAgPGVsbGlwc2UgaWQ9Ik92YWwtMy1Db3B5LTIiIHN0cm9rZT0iI0YzNUQ1QyIgc3Ryb2tlLXdpZHRoPSIzIiBmaWxsLW9wYWNpdHk9IjAuMjUiIGZpbGw9IiNGRkZGRkYiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDguMTM2NTIzLCAxNC4wMDAwMDApIHJvdGF0ZSgtOTIuMDAwMDAwKSB0cmFuc2xhdGUoLTguMTM2NTIzLCAtMTQuMDAwMDAwKSAiIGN4PSI4LjEzNjUyMzQ4IiBjeT0iMTQiIHJ4PSIxMSIgcnk9IjYiPjwvZWxsaXBzZT4gICAgPC9nPjwvc3ZnPg==')
position absolute
z-index -1
right 4.7*GS
top 2.4*GS
&__eye
width 11*PX
height 4.5*PX
position absolute
left 8.6*GS
top 4.7*GS
z-index 4
// outline 1px solid deeppink
&__body
width 164*PX
height 182*PX
position absolute
bottom 0
background url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMTY1cHgiIGhlaWdodD0iMTgzcHgiIHZpZXdCb3g9IjAgMCAxNjUgMTgzIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOnNrZXRjaD0iaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoL25zIj4gICAgICAgIDx0aXRsZT5VbnRpdGxlZCA3PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPjwvZGVmcz4gICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc2tldGNoOnR5cGU9Ik1TUGFnZSI+ICAgICAgICA8ZyBpZD0iYm9keS1jb3B5LTMiIHNrZXRjaDp0eXBlPSJNU0xheWVyR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuNzUxODAxLCAwLjk4NDk0NykiPiAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjE2Nzk2ODc1LDIwLjk5MjE4NzUgQzQuMTY3OTY4NzUsMjAuOTkyMTg3NSAxNTYuNjgxNjQxLC0xMS4zMTkzMzU0IDE0Ni43Mjg1MTYsNi4wMzgwODU5NCBDMTQ2LjcyODUxNiw2LjAzODA4NTk0IDIxNC41MTE3MTgsMTMzLjA3MDMwNSA3NC4zMTczODI4LDE4MS41MTk1MzEgTDEyLjMzNDk2MDksMTY5LjM2MzI3NCBDMTIuMzM0OTYwOSwxNjkuMzYzMjc0IC04LjMyODEyNDkzLDEwMS45NDkyMTIgNC4xNjc5Njg3NSwyMC45OTIxODc1IFoiIGlkPSJQYXRoLTMiIGZpbGw9IiM0QzQwNDAiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4gICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbC0xMSIgZmlsbD0iIzNGMzMzMyIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ3LjUwMDAwMCwgOTUuNTAwMDAwKSByb3RhdGUoNy4wMDAwMDApIHRyYW5zbGF0ZSgtMTQ3LjUwMDAwMCwgLTk1LjUwMDAwMCkgIiBjeD0iMTQ3LjUiIGN5PSI5NS41IiByeD0iMi41IiByeT0iNi41Ij48L2VsbGlwc2U+ICAgICAgICA8L2c+ICAgIDwvZz48L3N2Zz4=')
transform-origin left top
&__inner
position absolute
rect 100%
transform-origin center bottom
&__mouth-wrapper
position absolute
right 3.2*GS
top 7.4*GS
circle 20*PX
&__mouth
position absolute
background #3A3535
circle 20*PX
border-top-right-radius 0
overflow hidden
transform rotate(20deg)
&__mouth-inner
background #C9544A
position absolute
left -.3*GS
top GS
circle 15*PX
&__hat
position absolute
z-index 4
&__hat-base
width 36*PX
height 25*PX
position absolute
z-index 2
left 5.8*GS
top .1*GS
background url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMzdweCIgaGVpZ2h0PSIyNXB4IiB2aWV3Qm94PSIwIDAgMzcgMjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPiAgICAgICAgPHRpdGxlPmxlZnQgaGFuZCBjb3B5IDM8L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGRlZnM+PC9kZWZzPiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4gICAgICAgIDxwYXRoIGQ9Ik0yLjUxMDYxNDYyLDIzLjM2MzcyMDIgQzIuNTEwNjE0NjIsMjMuMzYzNzIwMiAxNy43ODY4NDkzLDIzLjc1NzU2MjkgMzQuODQyNTc4MiwxOS40NjczNjkzIEwyMy4wMjUxOTU0LDAuNzgwODQ1ODczIEw1LjQ5Nzg1MTYsMy43MzIwMTc3NSBMMi41MTA2MTQ2MiwyMy4zNjM3MjAyIFoiIGlkPSJQYXRoLTExIiBmaWxsPSIjRURERUNCIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=')
&__hat-cone
width 27*PX
height 79*PX
position absolute
z-index 2
left -1.2*GS
top -.4*GS
background url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMjdweCIgaGVpZ2h0PSI3OXB4IiB2aWV3Qm94PSIwIDAgMjcgNzkiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPiAgICAgICAgPHRpdGxlPmxlZnQgaGFuZCBjb3B5IDI8L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGRlZnM+PC9kZWZzPiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4gICAgICAgIDxnIGlkPSJoYXQtY29weS0yIiBza2V0Y2g6dHlwZT0iTVNMYXllckdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjAwMDAwMCwgMC4wMDAwMDApIj4gICAgICAgICAgICA8cGF0aCBkPSJNMjIuOTAyNjAwNiwwLjA1NDE0ODg0NTcgTDExLjcyNTk4NTUsNzMuMjU1MjMyIEwwLjczNzM4MDY5NiwwLjA1NDE0ODg0NTcgTDIyLjkwMjYwMDYsMC4wNTQxNDg4NDU3IFoiIGlkPSJQYXRoLTEyIiBmaWxsPSIjRTdEOUM4IiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+ICAgICAgICAgICAgPGcgaWQ9ImJydXNoIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS45MzI4NzAsIDc0LjQ4NDk0Nykgcm90YXRlKC05LjAwMDAwMCkgdHJhbnNsYXRlKC0xMS45MzI4NzAsIC03NC40ODQ5NDcpIHRyYW5zbGF0ZSg5LjkzMjg3MCwgNzAuOTg0OTQ3KSIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+ICAgICAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsLTEyIiBmaWxsPSIjRURERUNCIiBjeD0iMiIgY3k9IjIiIHJ4PSIyIiByeT0iMiI+PC9lbGxpcHNlPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMS42MzI1MzAxMSwyLjMxNTY3NzI3IEwwLjU2ODc0OTAzMyw1LjQxNDc3MjgxIiBpZD0iUGF0aC0xMyIgc3Ryb2tlPSIjRURERUNCIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yLjczMDU3MzExLDIuMjY5Mjc0OTYgTDMuNDcwNzA2MDMsNS40NjExNzUxMiIgaWQ9IlBhdGgtMTMtQ29weSIgc3Ryb2tlPSIjRURERUNCIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yLjEyNjUyNTkzLDIuODE2NjUwMzkgTDIuMTI2NTI1OTUsNi4zOTc5MDU4MyIgaWQ9IlBhdGgtMTMtQ29weS0yIiBzdHJva2U9IiNFRERFQ0IiPjwvcGF0aD4gICAgICAgICAgICA8L2c+ICAgICAgICA8L2c+ICAgIDwvZz48L3N2Zz4=') no-repeat
transform rotateX(40deg) rotateY(-28deg) rotateZ(16deg) translateX(4px)
&__hat-cone-wrapper
position absolute
z-index 5
width 36*PX
height 25*PX
left 5.8*GS
top .1*GS
&__hat-cone-rotator
transform-origin center top 2px
&__hat-shadow
width 22*PX
height 23*PX
position absolute
z-index 0
left .1*GS
top .2*GS
opacity 1
background url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMjJweCIgaGVpZ2h0PSIyM3B4IiB2aWV3Qm94PSIwIDAgMjIgMjMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6c2tldGNoPSJodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2gvbnMiPiAgICAgICAgPHRpdGxlPmhhdCBzaGFkb3c8L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGRlZnM+PC9kZWZzPiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4gICAgICAgIDxwYXRoIGQ9Ik0yMS40NzMxNDQ1LDAgTDQuMDQwNzcxNDgsMi45MzIxMjg5MSBMMSwyMi42NzQ4MDQ3IEMxLDIyLjY3NDgwNDcgMTEuNTUyNDkwMiwyMi42NzQ4MDQ3IDE4LjQ3MzE0NDUsMjEuNDM2NzY3NiBMMjEuNDczMTQ0NSwwIFoiIGlkPSJQYXRoLTE3NiIgb3BhY2l0eT0iMC4xIiBmaWxsPSIjMDAwMDAwIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=')
transform-origin left center
transform translateX(4px) translateY(4px)
&__hand
width 54*PX
height 102*PX
background url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iNTRweCIgaGVpZ2h0PSIxMDJweCIgdmlld0JveD0iMCAwIDU0IDEwMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczpza2V0Y2g9Imh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaC9ucyI+ICAgICAgICA8dGl0bGU+aGFuZDwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz4gICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iNTAlIiB5MT0iMCUiIHgyPSI1MCUiIHkyPSIxMDAlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+ICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzRDNDA0MCIgb2Zmc2V0PSIwJSI+PC9zdG9wPiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMzQTJGMkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4gICAgPC9kZWZzPiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBza2V0Y2g6dHlwZT0iTVNQYWdlIj4gICAgICAgIDxnIGlkPSJyaWdodC1oYW5kLWNvcHkiIHNrZXRjaDp0eXBlPSJNU0xheWVyR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIuMDAwMDAwLCAyLjc5NzMwNCkiPiAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLjIyMjY1NjI1LDAuMTIxMDkzNzUgTDExLjI0MTYyODIsNzUuNTI4NTI5MyBDMTIuNjc4NzQwNCw4NS4zNjMyODkzIDIxLjg5ODIwNDUsOTMuMzM1OTM3NSAzMS44NDMzMDI5LDkzLjMzNTkzNzUgTDI1LjkzMDM3MjQsOTMuMzM1OTM3NSBDMzguMDc1OTQzOSw5My4zMzU5Mzc1IDQ3LjkyMTg3NSw4My40ODI3NTk4IDQ3LjkyMTg3NSw3MS4zNDM5NDc2IEw0Ny45MjE4NzUsNS45NjA5Mzc1IiBpZD0iUGF0aC04IiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+ICAgICAgICAgICAgPGcgaWQ9ImZpbmdlcnMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIzLjAwMDAwMCwgODYuMDAwMDAwKSIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+ICAgICAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsLTgiIGN4PSIxNyIgY3k9IjMiIHJ4PSIyIiByeT0iMyI+PC9lbGxpcHNlPiAgICAgICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbC04LUNvcHkiIGN4PSI5LjUiIGN5PSI3IiByeD0iMi41IiByeT0iNCI+PC9lbGxpcHNlPiAgICAgICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbC04LUNvcHktMiIgY3g9IjIiIGN5PSI1IiByeD0iMiIgcnk9IjMiPjwvZWxsaXBzZT4gICAgICAgICAgICA8L2c+ICAgICAgICA8L2c+ICAgIDwvZz48L3N2Zz4=')
position absolute
z-index 5
top 10.6*GS
left 1.6*GS
transform-origin top center
&__hand-circle
content ''
width 40*PX
height 60*PX
background #4B4040
border-radius 50%
border-bottom-right-radius 0
position absolute
right 4*PX
top -50*PX
opacity 0
z-index -1
&__hand-left
width 120*PX
height 107*PX
background url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMTIwcHgiIGhlaWdodD0iMTA3cHgiIHZpZXdCb3g9IjAgMCAxMjAgMTA3IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOnNrZXRjaD0iaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoL25zIj4gICAgICAgIDx0aXRsZT5tb2xlLWhhbmQtbGVmdDwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHNrZXRjaDp0eXBlPSJNU1BhZ2UiPiAgICAgICAgPGcgaWQ9ImxlZnQtaGFuZCIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC45Nzk4MDQsIDUyLjI5NzMwNCkiIGZpbGw9IiMzRjMzMzMiPiAgICAgICAgICAgIDxwYXRoIGQ9Ik03NS45MzE5NzI0LDExLjE0MjE1ODcgTDAuOTE2MTY0MzAyLDAuODkzMTI1NzIxIEwwLjkxNjE2NDMwMiw1Mi40NzQxODA0IEMwLjkxNjE2NDMwMiw1Mi40NzQxODA0IDcwLjQ1NTE4MDEsNDIuNTE4OTAwNCA3Ny4yMDg0NTQsNDEuMDc1OTU0NiBDODMuMTE5MzkwMSwzOS42MjExOTggODguMzcwOTM4NywxMS43NjM1MzQyIDc1LjkzMTk3MjQsMTEuMTQyMTU4NyBaIiBpZD0ibGVmdC1hcm0iIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik03OS42ODk3NTM2LDY1Ljg2NzAzNzIgQzc5LjcxNjA4ODMsNjUuODY5NTkzIDc5Ljc0MjMxMjksNjUuODcyMTgyIDc5Ljc2ODQyNzksNjUuODc0ODAzOSBDOTAuNDg2ODQwMiw2Ni45NTA5MyA4NC43ODI0NTE3LDczLjIwNjQzMDQgODIuNzM5MzMzLDczLjU4MzY4MzkiIGlkPSJQYXRoLTc0IiBmaWxsPSIjM0YzMzMzIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNzkuNDQ3MTI3NCw3NC42MjQzOTkgQzc5LjQ3MzQ2MjEsNzQuNjI2OTU0OCA3OS40OTk2ODY3LDc0LjYyOTU0MzggNzkuNTI1ODAxNyw3NC42MzIxNjU3IEM5MC4yNDQyMTQsNzUuNzA4MjkxOCA4NC4zMzY4NTA3LDgyLjAzNDI1NDkgODIuMjkzNzMyLDgyLjQxMTUwODQiIGlkPSJQYXRoLTc0LUNvcHktMiIgZmlsbD0iIzNGMzMzMyIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIuNjA1MzUwLCA3OC41MTc5NTQpIHJvdGF0ZSgyNi4wMDAwMDApIHRyYW5zbGF0ZSgtODIuNjA1MzUwLCAtNzguNTE3OTU0KSAiPjwvcGF0aD4gICAgICAgIDxwYXRoIGQ9Ik03Ny4yOTk4OTE5LDgyLjcwMDI3MDQgQzc3LjMyNjIyNjUsODIuNzAyODI2MiA3Ny4zNTI0NTExLDgyLjcwNTQxNTIgNzcuMzc4NTY2MSw4Mi43MDgwMzcxIEM4OC4wOTY5Nzg0LDgzLjc4NDE2MzIgODIuMTg5NjE1Miw5MC4xMTAxMjYzIDgwLjE0NjQ5NjQsOTAuNDg3Mzc5OCIgaWQ9IlBhdGgtNzQtQ29weS0zIiBmaWxsPSIjM0YzMzMzIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4MC40NTgxMTQsIDg2LjU5MzgyNSkgcm90YXRlKDQyLjAwMDAwMCkgdHJhbnNsYXRlKC04MC40NTgxMTQsIC04Ni41OTM4MjUpICI+PC9wYXRoPiAgICAgICAgPGcgaWQ9ImNhbmRsZSIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDEuOTc5ODA0LCA0LjI5NzMwNCkiPiAgICAgICAgICAgIDxnIGlkPSJQYXRoLTE2OC0rLVBhdGgtMTY5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOC4wMjAxOTYsIDE1LjcwMjY5NikiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNC41MDQ3NDMzLDMzLjEyNTI3OSBMMC4yOTg4MjgxMjUsMzEuMjUxMjU1NiBMMy4xMjU1NTgwNCwxMS44MjMzODE3IEwxMS4yNTAxMzk1LDE4LjAwNDA0NTggTDUuNjQ2NDg0MzgsMzMuMjc3MzQzOCBMNC41MDQ3NDMzLDMzLjEyNTI3OSBMNC41MDQ3NDMzLDMzLjEyNTI3OSBaIiBpZD0iUGF0aC0xNjgiIGZpbGw9IiNGQ0YxRDUiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTQuMzI0MzU4MjYsMi43NTI1MTExNiBMNC4wNDE5OTIxOSw0LjI1NDE4NTI3IEwxNS41NjcxMDM4LDguNjMyMjU0NDYgTDE2LjY5NjU2ODEsMC4yODQxNzk2ODcgTDUuODM2OTE0MDYsMC4yMzQ1MTQ1MDkgTDQuMzI0MzU4MjYsMi43NTI1MTExNiBMNC4zMjQzNTgyNiwyLjc1MjUxMTE2IFoiIGlkPSJQYXRoLTE2OSIgZmlsbD0iI0ZDRjVFMyI+PC9wYXRoPiAgICAgICAgICAgIDwvZz4gICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOS43MjA4NTYsIDUyLjcyODYyNCkgcm90YXRlKDE0LjAwMDAwMCkgdHJhbnNsYXRlKC0zOS43MjA4NTYsIC01Mi43Mjg2MjQpIHRyYW5zbGF0ZSgxMS4yMjA4NTYsIDUuNzI4NjI0KSIgaWQ9IlNoYXBlIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIj4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTI3LjU1ODg3MDksMS45ODIwMjU1MSBDMjcuNTA5NjA0NSwxLjQxMzU2Njk1IDI3LjQzNzU5OTgsMC44NDEzMTg2NjcgMjcuNTQzNzEyLDAuMjcyODYwMTA4IEMyNy42NDIyNDQ5LDAuNDA1NTAwNDM5IDI3LjgzNTUyMDgsMC42NjY5OTEzNzYgMjcuOTM0MDUzNiwwLjc5OTYzMTcwNiBDMjguNzEwOTQ2OSwxLjk5MzM5NDY4IDI5LjUwMjk5OTIsMy4yMDYxMDYyNyAyOS44NDc4NjQxLDQuNjA4MzA0MDUgQzI5Ljk5OTQ1Myw1LjQ5NTA5OTQgMzAuMDk3OTg1OCw2LjQ5NTU4NjQ3IDI4LjkwMDQzMzEsNS45OTE1NTMyMSBDMjguMzc3NDUxMyw1LjAxMzgwNDQ5IDI4LjA2NjY5MzksMy45NDg4OTIxMiAyNy43NTIxNDY4LDIuODk1MzQ4OTMgQzI3LjcxODAzOTMsMi43Mzk5NzAyNSAyNy42NDk4MjQzLDIuNDI5MjEyOTEgMjcuNjE1NzE2OCwyLjI3MDA0NDUxIEwyNy41NTg4NzA5LDEuOTgyMDI1NTEgTDI3LjU1ODg3MDksMS45ODIwMjU1MSBaIiBmaWxsPSIjMDcwNDAxIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMy43NTEyNzk1LDQuMjk3NTQ2NzEgQzMzLjkyNTYwNjgsNC4yNjM0MzkxOSAzNC4yNzQyNjE0LDQuMTk1MjI0MTYgMzQuNDQ4NTg4Nyw0LjE1NzMyNjkzIEMzNS4yOTM2OTcxLDQuMjA2NTkzMzQgMzYuMzM5NjYwOCwzLjk3MTYzMDQ2IDM2Ljg3NzgwMTYsNC44MDkxNTk0MSBDMzguMTA5NDYxOCw1LjYzOTEwODkgMzcuMTA1MTg1LDcuMTA5NTIxNzEgMzcuMDI5MzkwNSw4LjI0MjY0OTEgQzM1LjgzOTQxNzMsMTAuMDQ2NTU3NiAzNy4zNTkwOTY1LDEwLjU4NDY5ODQgMzguNTg2OTY3LDExLjExMTQ3IEMzOC4wNTY0MDU3LDEyLjI3ODcwNDkgMzcuMDM2OTcsMTMuMDMyODU5OSAzNS45NDE3Mzk4LDEzLjYzMTYzNjIgQzM0LjUwOTIyNDIsMTMuODc0MTc4NiAzMy4yNzM3NzQzLDEzLjA4NTkxNiAzMi4wOTg5NiwxMi4zOTYxODYzIEMzMS44ODI5NDU3LDEyLjAyNDc5MzQgMzEuNjQwNDAzNCwxMS42Njg1NTk0IDMxLjQyNDM4OTEsMTEuMzAwOTU2MiBDMzEuMjI3MzIzNSwxMC40MTc5NTA1IDMxLjAxODg4ODcsOS41MzQ5NDQ4OSAzMC44ODI0NTg2LDguNjQ0MzU5ODIgQzMxLjIzMTExMzIsNy43ODc4ODIyNiAzMS41MjY3MTE3LDYuOTA4NjY2MzUgMzEuNzY1NDY0Myw2LjAxMDUwMTgzIEMzMi4zNDkwODE3LDUuMzUxMDg5OSAzMy4wNjkxMjkyLDQuODQzMjY2OTIgMzMuNzUxMjc5NSw0LjI5NzU0NjcxIEwzMy43NTEyNzk1LDQuMjk3NTQ2NzEgTDMzLjc1MTI3OTUsNC4yOTc1NDY3MSBaIiBmaWxsPSIjRkNGNUUzIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMi4yNjA4MzcyLDcuNDkyMjgzODEgQzIyLjM1NTU4MDMsNi43NjQ2NTY4NSAyMi43MTkzOTM3LDUuODIxMDE1NjQgMjMuNTIyODE1Miw1LjY5OTc0NDQ4IEMyNi4yNDAwNDcxLDYuMDQ0NjA5MzQgMjkuMDY3MTgxLDYuOTUwMzUzMzEgMzEuNzY1NDY0Myw2LjAxMDUwMTgzIEMzMS41MjY3MTE3LDYuOTA4NjY2MzUgMzEuMjMxMTEzMiw3Ljc4Nzg4MjI2IDMwLjg4MjQ1ODYsOC42NDQzNTk4MiBDMzEuMDE4ODg4Nyw5LjUzNDk0NDg5IDMxLjIyNzMyMzUsMTAuNDE3OTUwNSAzMS40MjQzODkxLDExLjMwMDk1NjIgQzMwLjY0MzcwNiwxMS4yMzI3NDExIDMwLjY3NzgxMzYsMTEuOTI2MjYwNiAzMC42MzYxMjY2LDEyLjUwMjI5ODYgQzI5Ljk2NTM0NTUsMTEuODY5NDE0NyAzMC4xODEzNTk4LDExLjAyNDMwNjMgMzAuMjk4ODQxMiwxMC4yMTcwOTUyIEMyOS41OTc3NDIzLDEwLjA5NTgyNCAyOS41NjM2MzQ4LDEwLjc2MjgxNTQgMjkuMzg1NTE3OCwxMS4yNTE2ODk3IEMyOC40NDE4NzY2LDEyLjAyMTAwMzcgMjcuMjcwODUxOSwxMS4wODg3MzE2IDI2LjIyNDg4ODIsMTEuMDA5MTQ3NCBDMjYuNTg4NzAxNywxMi4wMjg1ODMxIDI2LjA0Njc3MTIsMTMuNjA4ODk3OSAyNC43NDY4OTU5LDEyLjk3NjAxNCBDMjQuODk4NDg0OSwxNC40OTU2OTMzIDIzLjQ5MjQ5NzQsMTMuNzIyNTg5NiAyMi41ODI5NjM3LDE0LjAwMzAyOTIgQzIyLjMxMDEwMzYsMTEuODQyODg2NiAyMi4zNTU1ODAzLDkuNjYwMDA1NzggMjIuMjYwODM3Miw3LjQ5MjI4MzgxIEwyMi4yNjA4MzcyLDcuNDkyMjgzODEgTDIyLjI2MDgzNzIsNy40OTIyODM4MSBaIiBmaWxsPSIjRjdFQkRBIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yOS4zODU1MTc4LDExLjI1MTY4OTcgQzI5LjU2MzYzNDgsMTAuNzYyODE1NCAyOS41OTc3NDIzLDEwLjA5NTgyNCAzMC4yOTg4NDEyLDEwLjIxNzA5NTIgQzMwLjE4MTM1OTgsMTEuMDI0MzA2MyAyOS45NjUzNDU1LDExLjg2OTQxNDcgMzAuNjM2MTI2NiwxMi41MDIyOTg2IEMzMC45MjQxNDU2LDEzLjg4NTU0NzcgMzEuNDkyNjA0MiwxNS40NTgyODMxIDMyLjk5MzMzNDgsMTUuODU5OTkzOCBDMzMuODQ5ODEyMywxNS43Mzg3MjI2IDM0LjY5ODcxMDQsMTUuNTUzMDI2MiAzNS41NjY1NTcyLDE1LjQ4NDgxMTEgQzM1LjYwODI0NDEsMTYuMTg1OTEgMzUuNjkxNjE4MSwxNy41ODA1Mjg0IDM1LjczMzMwNSwxOC4yNzc4Mzc1IEMzNS41NjI3Njc0LDE5Ljk5MDc5MjcgMzUuNDYwNDQ0OSwyMS43MTEzMjcyIDM1LjIyMTY5MjMsMjMuNDEyOTEzMiBDMzUuMDA5NDY3OCwyNC40NjY0NTY0IDM0Ljg2NTQ1ODMsMjUuNTM4OTQ4MiAzNC45NDg4MzIyLDI2LjYxNTIyOTcgQzM0LjUxMzAxNCwyOS43NjgyNzk5IDM0LjAyNzkyOTMsMzIuOTEzNzUwNiAzMy43OTI5NjY1LDM2LjA5MzMyODggQzMyLjY0ODQ2OTksMzYuOTY0OTY1MiAzMS40NDcxMjc1LDM2LjQ4MzY3MDMgMzAuMjc2MTAyOCwzNS45Nzk2MzcxIEMzMC45NjIwNDI4LDM3LjM4MTgzNDggMzIuMjU0MzM4NiwzNy44MTM4NjMzIDMzLjc1NTA2OTIsMzcuMjY0MzUzNCBDMzMuMDEyMjgzNCwzOS43MTI1MTQ5IDM3LjM0MzkzNzYsMzYuNDYwOTMyIDM2Ljc2NDEwOTksMzguNjU1MTgyIEMzNi44NzQwMTE5LDQwLjc2MjI2ODQgMzMuNzcwMjI4MSwzOS44Mzc1NzU4IDMzLjIzNTg3NzEsNDEuMjQzNTYzMyBDMzMuMDUzOTcwMyw0MS45NTk4MjExIDMyLjc4MTExMDIsNDIuNjE5MjMzIDMxLjkyMDg0MjksNDIuNTk2NDk0NyBDMzEuNjg5NjY5OCw0Mi4zMTYwNTUxIDMxLjQ1ODQ5NjYsNDIuMDM1NjE1NiAzMS4yMjM1MzM4LDQxLjc2Mjc1NTUgQzMxLjA0MTYyNyw0Mi43ODIxOTExIDI5LjEwNTA3ODIsNDIuNzQwNTA0MiAyOS4zODkzMDc1LDQxLjU3MzI2OTMgQzI5LjUyOTUyNzMsNDAuMjAxMzg5MyAyOC4zMzk1NTQsMzkuMjc2Njk2NyAyNy45MDc1MjU1LDM4LjA3OTE0NCBDMjcuMjI1Mzc1MiwzOC4xNTg3MjgyIDI2LjA4ODQ1ODEsMzguNTY4MDE4NCAyNi45MDMyNDg3LDM3LjU4MjY5MDIgQzI3LjM4ODMzMzQsMzcuMjkwODgxNSAyNy44NzcyMDc3LDM3LjAwMjg2MjUgMjguMzU4NTAyNiwzNi43MDM0NzQzIEMyOC44Mzk3OTc2LDM3LjA5NzYwNTYgMjkuMTQyOTc1NSwzNy42MjQzNzcyIDI5LjMyNDg4MjIsMzguMjE5MzYzOCBDMjkuNzAzODU0NiwzOC4wMjYwODc5IDMwLjEzNTg4MzEsMzcuODc4Mjg4NiAzMC40MTYzMjI2LDM3LjUzNzIxMzUgQzI5Ljk0MjYwNzIsMzcuMDY3Mjg3OCAyOS40MzA5OTQ1LDM2LjYzOTA0OSAyOC45MDA0MzMxLDM2LjIzNzMzODMgTDI4Ljk4MzgwNzEsMzUuOTQxNzM5OCBDMjkuMDU1ODExOCwzNS4zMDEyNzY1IDI4LjY0MjczMTksMzQuMDk5OTM0MSAyNy43NzQ4ODUyLDM0LjU2NjA3MDEgQzI3LjA4NTE1NTUsMzQuODI3NTYxIDI3LjYwNDM0NzYsMzUuNDg2OTczIDI3LjY2ODc3MjksMzUuOTc5NjM3MSBDMjYuOTcxNDYzOCwzNi40MjY4MjQ1IDI2LjEzMzkzNDgsMzYuNDQxOTgzMyAyNS4zMzgwOTI4LDM2LjMxNjkyMjUgQzI1LjgxOTM4NzcsMzUuOTA3NjMyMyAyNi4zMzg1Nzk5LDM1LjU0MzgxODggMjYuODIzNjY0NSwzNS4xMzQ1Mjg3IEMyNi44MTIyOTU0LDM0LjM5NTUzMjUgMjYuNDA2Nzk0OSwzMy43Mjg1NDEyIDI2LjI0MDA0NzEsMzMuMDE2MDczMSBDMjYuOTQ0OTM1NywzMi42NzQ5OTggMjcuNjY4NzcyOSwzMi4yMzE2MDAzIDI4LjQ3OTc3MzgsMzIuNDQzODI0OCBDMjguMzgxMjQxLDMxLjUyMjkyMiAyNy4xMzgyMTE2LDMxLjk1ODc0MDIgMjYuNTczNTQyOCwzMS40NTA5MTcyIEMyNy4wMjgzMDk2LDMwLjQ4NDUzNzcgMjcuNjIzMjk2MiwyOS41Njc0MjQ1IDI3Ljc1OTcyNjMsMjguNDg3MzUzMiBDMjguMTM0OTA4OSwyOC42OTk1Nzc4IDI4LjQ5MTE0MywyOC45NDIxMjAxIDI4Ljg3MDExNTMsMjkuMTU4MTM0MyBDMjguNjE5OTkzNiwyOC41MjE0NjA4IDI4LjI3NTEyODcsMjcuOTMwMjYzOSAyNy45NDU0MjI4LDI3LjMzNTI3NzIgQzI3LjMwODc0OTIsMjcuODY1ODM4NiAyNi43MDYxODMxLDI4LjYxMjQxNDEgMjUuODMwNzU2OSwyOC4wMjg3OTY3IEMyNi4wNzcwODksMjcuNTU4ODcwOSAyNi4zNjUxMDgsMjcuMTExNjgzNSAyNi41OTYyODExLDI2LjYzNDE3ODMgQzI2LjA2MTkzMDEsMjYuNzQwMjkwNiAyNS41MzUxNTg1LDI2Ljg1Mzk4MjMgMjUuMDAwODA3NCwyNi45MzczNTYyIEMyNS4yNTQ3MTg5LDI2LjY4NzIzNDUgMjUuNTEyNDIwMSwyNi40MzcxMTI3IDI1Ljc2NjMzMTYsMjYuMTg2OTkwOSBDMjUuNDg5NjgxOCwyNi4xNjgwNDIzIDI0LjkzNjM4MjEsMjYuMTMwMTQ1MSAyNC42NTk3MzIzLDI2LjExMTE5NjUgQzI0LjkwMjI3NDYsMjUuNzMyMjI0MSAyNS4xNzUxMzQ3LDI1LjM3OTc3OTggMjUuMzk4NzI4NCwyNC45ODk0MzgyIEMyNS4xNjM3NjU1LDI0LjE4MjIyNzEgMjQuMTM2NzUwNCwyNC4xMTAyMjIzIDIzLjQ2OTc1OSwyMy44MzM1NzI1IEMyMi45NzcwOTUsMjEuNDAwNTY5OSAyMy4xNTkwMDE3LDE4Ljc3MDUwMTYgMjIuNzM0NTUyNiwxNi4yNzY4NjM0IEMyMi43MTkzOTM3LDE1LjUxNTEyODkgMjIuNjY2MzM3NiwxNC43NTcxODQyIDIyLjU4Mjk2MzcsMTQuMDAzMDI5MiBDMjMuNDkyNDk3NCwxMy43MjI1ODk2IDI0Ljg5ODQ4NDksMTQuNDk1NjkzMyAyNC43NDY4OTU5LDEyLjk3NjAxNCBDMjYuMDQ2NzcxMiwxMy42MDg4OTc5IDI2LjU4ODcwMTcsMTIuMDI4NTgzMSAyNi4yMjQ4ODgyLDExLjAwOTE0NzQgQzI3LjI3MDg1MTksMTEuMDg4NzMxNiAyOC40NDE4NzY2LDEyLjAyMTAwMzcgMjkuMzg1NTE3OCwxMS4yNTE2ODk3IEwyOS4zODU1MTc4LDExLjI1MTY4OTcgTDI5LjM4NTUxNzgsMTEuMjUxNjg5NyBaIE0yOC44ODkwNjQsMzIuMjI0MDIwOCBDMjkuMDc0NzYwNCwzMy4yMDE3Njk2IDI4LjA0Nzc0NTMsMzMuMjQzNDU2NSAyNy45OTg0Nzg5LDM0LjA1MDY2NzcgQzI4LjM1ODUwMjYsMzQuMDgwOTg1NSAyOS4zMTM1MTMsMzMuMjg1MTQzNSAyOS4xNjE5MjQxLDM0LjA5OTkzNDEgQzI4LjkzMDc1MDksMzUuMTc2MjE1NiAyOS42OTYyNzUxLDM0LjY2NDYwMjkgMzAuMjcyMzEzMSwzNC40MDMxMTIgQzMwLjU2NzkxMTYsMzMuNTQyODQ0NyAyOS4yODMxOTUyLDMzLjcyNDc1MTQgMjkuMTc3MDgzLDMzLjA0NjM5MDkgQzMwLjQzNTI3MTIsMzMuMjUxMDM2IDI5LjY3MzUzNjgsMzEuOTkyODQ3NyAyOC44ODkwNjQsMzIuMjI0MDIwOCBMMjguODg5MDY0LDMyLjIyNDAyMDggTDI4Ljg4OTA2NCwzMi4yMjQwMjA4IFoiIGZpbGw9IiNGQ0YxRDUiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTMwLjYzNjEyNjYsMTIuNTAyMjk4NiBDMzAuNjc3ODEzNiwxMS45MjYyNjA2IDMwLjY0MzcwNiwxMS4yMzI3NDExIDMxLjQyNDM4OTEsMTEuMzAwOTU2MiBDMzEuNjQwNDAzNCwxMS42Njg1NTk0IDMxLjg4Mjk0NTcsMTIuMDI0NzkzNCAzMi4wOTg5NiwxMi4zOTYxODYzIEMzMS42NDA0MDM0LDE0LjQ1NDAwNjMgMzQuNzYzMTM1NywxNS42MjUwMzA5IDM1Ljk1MzEwOSwxMy45ODAyOTA4IEMzNS45NjgyNjc5LDE0LjI1Njk0MDcgMzYuMDAyMzc1NCwxNC44MDI2NjA5IDM2LjAxNzUzNDMsMTUuMDc5MzEwNyBDMzUuOTAzODQyNiwxNS4xODE2MzMyIDM1LjY4MDI0ODksMTUuMzgyNDg4NiAzNS41NjY1NTcyLDE1LjQ4NDgxMTEgQzM0LjY5ODcxMDQsMTUuNTUzMDI2MiAzMy44NDk4MTIzLDE1LjczODcyMjYgMzIuOTkzMzM0OCwxNS44NTk5OTM4IEMzMS40OTI2MDQyLDE1LjQ1ODI4MzEgMzAuOTI0MTQ1NiwxMy44ODU1NDc3IDMwLjYzNjEyNjYsMTIuNTAyMjk4NiBMMzAuNjM2MTI2NiwxMi41MDIyOTg2IEwzMC42MzYxMjY2LDEyLjUwMjI5ODYgWiIgZmlsbD0iI0VCRERDMiI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzUuOTUzMTA5LDEzLjk4MDI5MDggQzM0Ljc2MzEzNTcsMTUuNjI1MDMwOSAzMS42NDA0MDM0LDE0LjQ1NDAwNjMgMzIuMDk4OTYsMTIuMzk2MTg2MyBDMzMuMjczNzc0MywxMy4wODU5MTYgMzQuNTA5MjI0MiwxMy44NzQxNzg2IDM1Ljk0MTczOTgsMTMuNjMxNjM2MiBMMzUuOTUzMTA5LDEzLjk4MDI5MDggTDM1Ljk1MzEwOSwxMy45ODAyOTA4IFoiIGZpbGw9IiNEOEM2QTgiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZmlsbD0iI0NBQjQ4NyIgZD0iTTM1LjU2NjU1NzIsMTUuNDg0ODExMSBDMzUuNjgwMjQ4OSwxNS4zODI0ODg2IDM1LjkwMzg0MjYsMTUuMTgxNjMzMiAzNi4wMTc1MzQzLDE1LjA3OTMxMDcgTDM2LjA2MzAxMSwxNS40MzkzMzQ1IEMzNS45NzIwNTc2LDE2LjM4Njc2NTQgMzUuODYyMTU1NiwxNy4zMzQxOTYzIDM1LjczMzMwNSwxOC4yNzc4Mzc1IEMzNS42OTE2MTgxLDE3LjU4MDUyODQgMzUuNjA4MjQ0MSwxNi4xODU5MSAzNS41NjY1NTcyLDE1LjQ4NDgxMTEgTDM1LjU2NjU1NzIsMTUuNDg0ODExMSBMMzUuNTY2NTU3MiwxNS40ODQ4MTExIFoiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZmlsbD0iIzlDN0I0RCIgZD0iTTM0Ljk0ODgzMjIsMjYuNjE1MjI5NyBDMzQuODY1NDU4MywyNS41Mzg5NDgyIDM1LjAwOTQ2NzgsMjQuNDY2NDU2NCAzNS4yMjE2OTIzLDIzLjQxMjkxMzIgQzM1LjE5NTE2NDIsMjQuNDg1NDA1IDM1LjA3Mzg5MzEsMjUuNTQ2NTI3NiAzNC45NDg4MzIyLDI2LjYxNTIyOTcgTDM0Ljk0ODgzMjIsMjYuNjE1MjI5NyBMMzQuOTQ4ODMyMiwyNi42MTUyMjk3IFoiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTIzLjQ2OTc1OSwyMy41MTE2Mzg0IEMyNC4xMzY3NTA0LDIzLjc4ODI4ODIgMjUuMzU0NTM0MSwyMy45OTU5NTM1IDI1LjU4OTQ5NjksMjQuODAzMTY0NiBDMjUuMzY1OTAzMiwyNS4xOTM1MDYyIDI1LjI0MzM0OTcsMjUuNjE4ODI3OSAyNS4wMDA4MDc0LDI1Ljk5NzgwMDIgQzI1LjI3NzQ1NzIsMjYuMDE2NzQ4OSAyNS41NTQxMDcyLDI1Ljk3ODg1MTUgMjUuODMwNzU3LDI1Ljk5NzgwMDEgQzI1LjU3Njg0NTUsMjYuMjQ3OTIxOSAyNS41OTIwMDQzLDI2LjYwNTc1NjEgMjUuMzM4MDkyOCwyNi44NTU4Nzc5IEMyNS44NzI0NDM4LDI2Ljc3MjUwNCAyNi4yODkzMTM1LDI2Ljc2NjI1MDYgMjYuODIzNjY0NSwyNi42NjAxMzg0IEMyNi41OTI0OTE0LDI3LjEzNzY0MzYgMjYuNDg2Mzc5MSwyNy40NjU5OTI4IDI2LjI0MDA0NzEsMjcuOTM1OTE4NiBDMjcuMTE1NDczMiwyOC41MTk1MzYgMjcuMzQ0MTcxNSwyNy42MzkyNTk5IDI3Ljk4MDg0NTEsMjcuMTA4Njk4NiBDMjguMzEwNTUxLDI3LjcwMzY4NTIgMjguODA0MTcyOSwyOC42MDI3NzQ3IDI5LjA1NDI5NDcsMjkuMjM5NDQ4MyBDMjguNjc1MzIyMywyOS4wMjM0MzQxIDI4LjE1NjEwOSwyOC44OTc4NTM3IDI3Ljc4MDkyNjMsMjguNjg1NjI5MSBDMjcuNjQ0NDk2MywyOS43NjU3MDA0IDI3LjI3ODQzMTQsMzAuMzU4Mzk5NyAyNi44MjM2NjQ1LDMxLjMyNDc3OTMgQzI3LjM4ODMzMzQsMzEuODMyNjAyMyAyOC41MzAyNDgxLDMxLjczMTM1NjcgMjguNjI4NzgwOSwzMi42NTIyNTk2IEMyNy44MTc3ODAxLDMyLjQ0MDAzNTEgMjcuMjU1MTUwMiwzMi42NTQ5NDIxIDI2LjU1MDI2MTYsMzIuOTk2MDE3MiBDMjYuNzE3MDA5NCwzMy43MDg0ODUzIDI3LjAwMTMyMSwzNC41NjcyODk1IDI3LjAxMjY5MDIsMzUuMzA2Mjg1NiBDMjYuNTI3NjA1NSwzNS43MTU1NzU4IDI2LjA3MDc5MTksMzYuMDQzOTc3NyAyNS41ODk0OTY5LDM2LjQ1MzI2NzggQzI1LjEyMTM2MDQsMzYuMzcwNDcxNyAyNC43NTA2ODU3LDM1Ljk4NzIxNjUgMjQuNTgzOTM3OCwzNS42MTk2MTMzIEMyNC41MDA1NjM5LDM0LjYyNjcwNTcgMjQuNjY3MzExNywzMy41NTgwMDM2IDI0LjIwMTE3NTcsMzIuNjUyMjU5NiBDMjQuMjAxMTc1NywzMS40NTQ3MDY5IDI0LjM4MzA4MjUsMzAuMjM0NDE1OSAyNC4wMTE2ODk1LDI5LjA3ODU1MDEgQzIzLjY1OTI0NTIsMjcuMzUwNDM2MSAyMy4zMjk1MzkzLDI1LjYxNDc0MjcgMjMuNDY5NzU5LDIzLjgzMzU3MjUgTDIzLjQ2OTc1OSwyMy41MTE2Mzg0IEwyMy40Njk3NTksMjMuNTExNjM4NCBaIiBmaWxsPSIjRjNFM0MwIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjUzMjUwOTU4LDI1LjM2ODQxMDYgQzUuMjM3Mzk4MTksMjUuMjQzMzQ5NyA1LjU0ODE1NTUzLDI1Ljg2ODY1NDIgNS44NzQwNzE3OCwyNi4zNjEzMTgyIEM3LjA2MDI1NTMsMjcuODE2NTcyMSA2LjE1ODMwMTA1LDI5Ljc2ODI3OTkgNi4wNjczNDc2OSwzMS40NTg0OTY2IEw1LjcxMTExMzY1LDMxLjQ2NjA3NjEgQzUuNzQxNDMxNDQsMjkuMzYyNzc5NCA0LjYzODYyMTg0LDI3LjQ1Mjc1ODcgNC41MzI1MDk1OCwyNS4zNjg0MTA2IEw0LjUzMjUwOTU4LDI1LjM2ODQxMDYgTDQuNTMyNTA5NTgsMjUuMzY4NDEwNiBaIiBmaWxsPSIjMEMwNzAyIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00OS4zMzg0MTMyLDI3LjU5Mjk3ODQgQzUxLjAyMTA1MDUsMjcuOTMwMjYzOSA1MS4zMjgwMTgxLDMwLjA3OTAzNzIgNTEuMTg3Nzk4NCwzMS40NzM2NTU1IEw1MC40MTQ2OTQ3LDMxLjQ3MzY1NTUgQzQ5LjY1Mjk2MDMsMzAuMzE0MDAwMSA0OS40ODI0MjI3LDI4Ljk0MjEyMDEgNDkuMzM4NDEzMiwyNy41OTI5Nzg0IEw0OS4zMzg0MTMyLDI3LjU5Mjk3ODQgTDQ5LjMzODQxMzIsMjcuNTkyOTc4NCBaIiBmaWxsPSIjMTEwNDAxIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9IiM5Mzc1NDciIGQ9Ik0yNC4wMTE2ODk1LDI5LjA3ODU1MDEgQzI0LjM4MzA4MjUsMzAuMjM0NDE1OSAyNC4yMDExNzU3LDMxLjQ1NDcwNjkgMjQuMjAxMTc1NywzMi42NTIyNTk2IEMyMy41NzU4NzEzLDMxLjU2MDgxOTIgMjMuOTkyNzQwOSwzMC4yNjQ3MzM3IDI0LjAxMTY4OTUsMjkuMDc4NTUwMSBMMjQuMDExNjg5NSwyOS4wNzg1NTAxIEwyNC4wMTE2ODk1LDI5LjA3ODU1MDEgWiI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMS41ODQxMDQ1MiwzMS41NTcwMjk1IEMyLjU1ODA2MzUyLDMwLjQ1NDIxOTkgNC40NjgwODQyNywzMi4wMjY5NTUyIDUuNzExMTEzNjUsMzEuNDY2MDc2MSBMNi4wNjczNDc2OSwzMS40NTg0OTY2IEM3LjE1NDk5ODM5LDMxLjY0MDQwMzQgOC42MDY0NjI1OCwzMC40OTIxMTcxIDkuNDA5ODg0MDEsMzEuNTQxODcwNiBDOS42OTQxMTMyOSwzNC4wMjc5MjkzIDkuMjU0NTA1MzQsMzYuNTQwNTE2MiA5LjExODA3NTI4LDM5LjAzMDM2NDcgQzguNTMwNjY4MTEsMzkuMjcyOTA3IDcuOTIwNTIyNTksMzkuNDM5NjU0OCA3LjI5MTQyODQ1LDM5LjUyNjgxODUgQzUuOTY1MDI1MTQsMzkuNDczNzYyMyA0LjY0MjQxMTU2LDM5LjQwOTMzNyAzLjMxOTc5Nzk4LDM5LjUxMTY1OTYgTDIuOTk3NjcxNDcsMzkuNDUxMDI0IEMyLjIxMzE5ODY2LDM4LjMyMTY4NjMgMy4zNzY2NDM4NCwzOC44NjM2MTY4IDQuMDk2NjkxMzUsMzguOTc3MzA4NSBDNC40NzU2NjM3MiwzOC4yOTg5NDggNC44OTYzMjMwNSwzNy4xOTIzNDg2IDMuODA4NjcyMzQsMzYuOTIzMjc4MyBDNC4yODk5NjcyNiwzNi40NzYwOTA5IDQuOTc5Njk2OTgsMzYuNTMyOTM2NyA1LjU3MDg5Mzg4LDM2LjM1MTAzIEM0Ljk5NDg1NTg3LDM0Ljk3NTM2MDMgNS4xODQzNDIwNiwzMy4zMzA2MjAyIDQuMzAxMzM2NDMsMzIuMDg3NTkwOCBDNC4yNDgyODAzLDMyLjgwNzYzODMgNC4xNDIxNjgwMywzNC4yNDAxNTM5IDQuMDg5MTExOSwzNC45NjAyMDE0IEMzLjUzOTYwMTk2LDM0LjI4MTg0MDggMy40MjU5MTAyNSwzMy40MTc3ODM4IDMuMzA0NjM5MDksMzIuNTg3ODM0MyBDMi42MTg2OTkwOSwzMi44MjY1ODY5IDIuMTI2MDM1MDEsMzMuNDAyNjI0OSAxLjUyMzQ2ODk0LDMzLjc4OTE3NjcgQzEuNTM4NjI3ODMsMzMuMjI4Mjk3NiAxLjU2ODk0NTYyLDMyLjExNDExODkgMS41ODQxMDQ1MiwzMS41NTcwMjk1IEwxLjU4NDEwNDUyLDMxLjU1NzAyOTUgTDEuNTg0MTA0NTIsMzEuNTU3MDI5NSBaIiBmaWxsPSIjRjRFOUQyIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00Ni45MTI5OSwzMS4zMzcyMjU1IEM0Ny4yNzMwMTM4LDMwLjgxMDQ1MzkgNDguMDEyMDA5OSwzMS4yMTIxNjQ2IDQ4LjUxOTgzMjksMzEuMjY1MjIwNyBDNDguNjYzODQyNCwzMi42MTA1NzI3IDQ3LjMxNDcwMDcsMzIuMjk2MDI1NiA0Ni45MTI5OSwzMS4zMzcyMjU1IEw0Ni45MTI5OSwzMS4zMzcyMjU1IEw0Ni45MTI5OSwzMS4zMzcyMjU1IFoiIGZpbGw9IiNFMkMyQTIiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTU0LjY1MTYwNTksMzEuNzUwMzA1NCBDNTQuNjEzNzA4NiwzMy4wNjUzMzk1IDU0LjU3NTgxMTQsMzQuMzkxNzQyOCA1NC42NTUzOTU2LDM1LjcwNjc3NjkgQzU0LjU5NDc2LDM2LjQxOTI0NSA1NC41NDE3MDM5LDM3LjEyNzkyMzMgNTQuNDc3Mjc4NiwzNy44NDAzOTE0IEM1NC4yNjEyNjQzLDM4LjkxNjY3MjkgNTMuNTU2Mzc1NywzOS42NTU2NjkxIDUyLjQwNDI5OTcsMzkuNTU3MTM2MyBDNTEuMDU2NjkwNiw0MC4yNjQ0NTQ4IDQ5LjgyNjM1NDQsMzkuNjg1NDI4NiA0OC43ODg5MDMyLDM5LjUxNTQ0OTMgQzQ4LjYyNTk0NTEsMzkuNDg1MTMxNSA0OC4yOTYyMzkyLDM5LjQyODI4NTYgNDguMTMzMjgxLDM5LjM5Nzk2NzkgQzQ3LjA2NDU3OSwzNy45MDEwMjcgNDkuMjMyMzAwOSwzOS42MzI5MzA3IDQ5LjU4MDk1NTUsMzguNTY0MjI4NiBDNDkuNzYyODYyMiwzNy44OTM0NDc1IDQ5LjQyNTU3NjgsMzcuMjM0MDM1NiA0OS4zMjMyNTQzLDM2LjU3ODQxMzQgQzQ5Ljc4NTYwMDYsMzYuNTI1MzU3MyA1MC4yNDc5NDY5LDM2LjQ2NDcyMTcgNTAuNzAyNzEzNywzNi4zNDM0NTA1IEM1MC41OTY2MDE1LDM1LjMxNjQzNTQgNTAuNTc3NjUyOCwzNC4yNTUzMTI4IDUwLjA3NzQwOTMsMzMuMzIzMDQwNyBDNDkuNzk2OTY5OCwzMi40MTcyOTY4IDQ4LjQxNzUxMDMsMzAuNDAxMTYzNyA0OS4yNzAxOTgyLDM0LjA4ODU2NDkgQzQ4LjU0NjM2MDksMzQuMTgzMzA4IDQ5LjAzOTAyNSwzMy4wMDg0OTM3IDQ4LjgxNTQzMTMsMzIuNTgwMjU0OSBDNDguMTI1NzAxNiwzMi40NzAzNTI5IDQ3LjY5NzQ2MjgsMzMuMDUwMTgwNiA0Ny4xNzgyNzA3LDMzLjM3NjA5NjkgQzQ3LjEyMTQyNDgsMzIuNjkwMTU2OSA0Ny4wMTUzMTI1LDMyLjAxMTc5NjMgNDYuOTEyOTksMzEuMzM3MjI1NSBDNDcuMzE0NzAwNywzMi4yOTYwMjU2IDQ4LjY2Mzg0MjQsMzIuNjEwNTcyNyA0OC41MTk4MzI5LDMxLjI2NTIyMDcgQzQ5LjE0NTEzNzMsMzEuMzc4OTEyNSA0OS43NzgwMjExLDMxLjQ1NDcwNjkgNTAuNDE0Njk0NywzMS40NzM2NTU1IEw1MS4xODc3OTg0LDMxLjQ3MzY1NTUgQzUyLjMzNjA4NDcsMzEuNzM1MTQ2NSA1My45MzE1NTgzLDMwLjQzMTQ4MTUgNTQuNjUxNjA1OSwzMS43NTAzMDU0IEw1NC42NTE2MDU5LDMxLjc1MDMwNTQgWiIgZmlsbD0iI0Y4RThDRiI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDYuNjg1NjA2NiwzNC4zODQxNjM0IEM0Ni43NzY1NTk5LDMzLjQxMDIwNDQgNDYuMTM2MDk2NiwzMi4wOTEzODA1IDQ2LjkxMjk5LDMxLjMzNzIyNTUgQzQ3LjAxNTMxMjUsMzIuMDExNzk2MyA0Ny4xMjE0MjQ4LDMyLjY5MDE1NjkgNDcuMTc4MjcwNywzMy4zNzYwOTY5IEM0Ny42OTc0NjI4LDMzLjA1MDE4MDYgNDguMTI1NzAxNiwzMi40NzAzNTI5IDQ4LjgxNTQzMTMsMzIuNTgwMjU0OSBDNDkuMDM5MDI1LDMzLjAwODQ5MzcgNDguNTQ2MzYwOSwzNC4xODMzMDggNDkuMjcwMTk4MiwzNC4wODg1NjQ5IEM0OC40MTc1MTAzLDMwLjQwMTE2MzcgNDkuNzk2OTY5OCwzMi40MTcyOTY4IDUwLjA3NzQwOTMsMzMuMzIzMDQwNyBDNTAuNTc3NjUyOCwzNC4yNTUzMTI4IDUwLjU5NjYwMTUsMzUuMzE2NDM1NCA1MC43MDI3MTM3LDM2LjM0MzQ1MDUgQzUwLjI0Nzk0NjksMzYuNDY0NzIxNyA0OS43ODU2MDA2LDM2LjUyNTM1NzMgNDkuMzIzMjU0MywzNi41Nzg0MTM0IEM0OS40MjU1NzY4LDM3LjIzNDAzNTYgNDkuNzYyODYyMiwzNy44OTM0NDc1IDQ5LjU4MDk1NTUsMzguNTY0MjI4NiBDNDkuMjMyMzAwOSwzOS42MzI5MzA3IDQ3LjA2NDU3OSwzNy45MDEwMjcgNDguMTMzMjgxLDM5LjM5Nzk2NzkgQzQ3LjczOTE0OTgsMzkuMjk5NDM1IDQ3LjM1MjU5OCwzOS4xNzgxNjM5IDQ2Ljk3MzYyNTYsMzkuMDM0MTU0NCBDNDYuOTQzMzA3OCwzOC44NzExOTYzIDQ2Ljg4NjQ2MTksMzguNTQxNDkwMyA0Ni44NTYxNDQxLDM4LjM3ODUzMjIgQzQ2Ljg3NTA5MjgsMzcuMDUyMTI4OSA0Ny4yNjkyMjQsMzUuNjQyMzUxNiA0Ni42ODU2MDY2LDM0LjM4NDE2MzQgTDQ2LjY4NTYwNjYsMzQuMzg0MTYzNCBMNDYuNjg1NjA2NiwzNC4zODQxNjM0IFoiIGZpbGw9IiNFQUQwQjYiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZmlsbD0iIzkyNjg0MSIgZD0iTTU0LjY1MTYwNTksMzEuNzUwMzA1NCBDNTUuMDM0MzY3OSwzMy4wMjM2NTI1IDU1LjAzNDM2NzksMzQuMzQyNDc2NCA1NC42NTUzOTU2LDM1LjcwNjc3NjkgQzU0LjU3NTgxMTQsMzQuMzkxNzQyOCA1NC42MTM3MDg2LDMzLjA2NTMzOTUgNTQuNjUxNjA1OSwzMS43NTAzMDU0IEw1NC42NTE2MDU5LDMxLjc1MDMwNTQgTDU0LjY1MTYwNTksMzEuNzUwMzA1NCBaIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjMwMTMzNjQzLDMyLjA4NzU5MDggQzUuMTg0MzQyMDYsMzMuMzMwNjIwMiA0Ljk5NDg1NTg3LDM0Ljk3NTM2MDMgNS41NzA4OTM4OCwzNi4zNTEwMyBDNC45Nzk2OTY5OCwzNi41MzI5MzY3IDQuMjg5OTY3MjYsMzYuNDc2MDkwOSAzLjgwODY3MjM0LDM2LjkyMzI3ODMgQzQuODk2MzIzMDUsMzcuMTkyMzQ4NiA0LjQ3NTY2MzcyLDM4LjI5ODk0OCA0LjA5NjY5MTM1LDM4Ljk3NzMwODUgQzMuMzc2NjQzODQsMzguODYzNjE2OCAyLjIxMzE5ODY2LDM4LjMyMTY4NjMgMi45OTc2NzE0NywzOS40NTEwMjQgQzIuNTc3MDEyMTMsMzkuMzY3NjUwMSAyLjE2MzkzMjI1LDM5LjI1Nzc0ODEgMS43NjIyMjE1MywzOS4xMjEzMTggQzEuMzE1MDM0MTMsMzcuMzgxODM0OCAxLjU3MjczNTM1LDM1LjU1NTE4OCAxLjUyMzQ2ODk0LDMzLjc4OTE3NjcgQzIuMTI2MDM1MDEsMzMuNDAyNjI0OSAyLjYxODY5OTA5LDMyLjgyNjU4NjkgMy4zMDQ2MzkwOSwzMi41ODc4MzQzIEMzLjQyNTkxMDI1LDMzLjQxNzc4MzggMy41Mzk2MDE5NiwzNC4yODE4NDA4IDQuMDg5MTExOSwzNC45NjAyMDE0IEM0LjE0MjE2ODAzLDM0LjI0MDE1MzkgNC4yNDgyODAzLDMyLjgwNzYzODMgNC4zMDEzMzY0MywzMi4wODc1OTA4IEw0LjMwMTMzNjQzLDMyLjA4NzU5MDggTDQuMzAxMzM2NDMsMzIuMDg3NTkwOCBaIiBmaWxsPSIjRTJEM0MwIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yOC44ODkwNjQsMzIuMjI0MDIwOCBDMjkuNjczNTM2OCwzMS45OTI4NDc3IDMwLjQzNTI3MTIsMzMuMjUxMDM2IDI5LjE3NzA4MywzMy4wNDYzOTA5IEMyOS4yODMxOTUyLDMzLjcyNDc1MTQgMzAuNTY3OTExNiwzMy41NDI4NDQ3IDMwLjI3MjMxMzEsMzQuNDAzMTEyIEMyOS42OTYyNzUxLDM0LjY2NDYwMjkgMjguOTMwNzUwOSwzNS4xNzYyMTU2IDI5LjE2MTkyNDEsMzQuMDk5OTM0MSBDMjkuMzEzNTEzLDMzLjI4NTE0MzUgMjguMzU4NTAyNiwzNC4wODA5ODU1IDI3Ljk5ODQ3ODksMzQuMDUwNjY3NyBDMjguMDQ3NzQ1MywzMy4yNDM0NTY1IDI5LjA3NDc2MDQsMzMuMjAxNzY5NiAyOC44ODkwNjQsMzIuMjI0MDIwOCBMMjguODg5MDY0LDMyLjIyNDAyMDggTDI4Ljg4OTA2NCwzMi4yMjQwMjA4IFoiIGZpbGw9IiNGNEUwQkYiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTI3Ljc3NDg4NTIsMzQuNTY2MDcwMSBDMjguNjQyNzMxOSwzNC4wOTk5MzQxIDI5LjA1NTgxMTgsMzUuMzAxMjc2NSAyOC45ODM4MDcxLDM1Ljk0MTczOTggQzI4LjU2MzE0NzcsMzUuNjA4MjQ0MSAyOC4xMDA4MDE0LDM1Ljc3ODc4MTcgMjcuNjY4NzcyOSwzNS45Nzk2MzcxIEMyNy42MDQzNDc2LDM1LjQ4Njk3MyAyNy4wODUxNTU1LDM0LjgyNzU2MSAyNy43NzQ4ODUyLDM0LjU2NjA3MDEgTDI3Ljc3NDg4NTIsMzQuNTY2MDcwMSBMMjcuNzc0ODg1MiwzNC41NjYwNzAxIFoiIGZpbGw9IiNGMkRFQkQiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZmlsbD0iI0FEODY2MyIgZD0iTTQ2LjY4NTYwNjYsMzQuMzg0MTYzNCBDNDcuMjY5MjI0LDM1LjY0MjM1MTYgNDYuODc1MDkyOCwzNy4wNTIxMjg5IDQ2Ljg1NjE0NDEsMzguMzc4NTMyMiBDNDYuNDQ2ODU0LDM3LjA4NjIzNjQgNDYuNjU1Mjg4OCwzNS43MTA1NjY3IDQ2LjY4NTYwNjYsMzQuMzg0MTYzNCBMNDYuNjg1NjA2NiwzNC4zODQxNjM0IEw0Ni42ODU2MDY2LDM0LjM4NDE2MzQgWiI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjQuOTkzMjI4LDM3LjE4NDc2OTIgQzI0LjY0NDU3MzQsMzYuNjc2OTQ2MiAyMy4xMzYyNjMzLDM1LjQyNjMzNzQgMjQuNTgzOTM3OCwzNS42MTk2MTMzIEMyNC43NTA2ODU3LDM1Ljk4NzIxNjUgMjUuMDAwODA3NCwzNi4yMTgzODk2IDI1LjMzODA5MjgsMzYuMzE2OTIyNSBDMjYuMTMzOTM0OCwzNi40NDE5ODMzIDI2Ljk3MTQ2MzgsMzYuNDI2ODI0NSAyNy42Njg3NzI5LDM1Ljk3OTYzNzEgQzI4LjEwMDgwMTQsMzUuNzc4NzgxNyAyOC41NjMxNDc3LDM1LjYwODI0NDEgMjguOTgzODA3MSwzNS45NDE3Mzk4IEwyOC45MDA0MzMxLDM2LjIzNzMzODMgQzI4Ljc2NDAwMzEsMzYuMzUxMDMgMjguNDkxMTQzLDM2LjU4NTk5MjkgMjguMzU4NTAyNiwzNi43MDM0NzQzIEMyNy44NzcyMDc3LDM3LjAwMjg2MjUgMjcuMzg4MzMzNCwzNy4yOTA4ODE1IDI2LjkwMzI0ODcsMzcuNTgyNjkwMiBDMjYuMjUxNDE2MiwzNy41MTgyNjQ5IDI1LjYwNzE2MzIsMzcuNDEyMTUyNiAyNC45OTMyMjgsMzcuMTg0NzY5MiBMMjQuOTkzMjI4LDM3LjE4NDc2OTIgTDI0Ljk5MzIyOCwzNy4xODQ3NjkyIFoiIGZpbGw9IiNGM0UzQzAiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTMzLjc5Mjk2NjUsMzYuMDkzMzI4OCBDMzQuMTcxOTM4OCwzNS45NDE3Mzk4IDM0LjU1NDcwMDksMzUuODAxNTIgMzQuOTQxMjUyOCwzNS42NjUwOSBDMzQuODM4OTMwMiwzNi4zNzM3NjgzIDM0LjIyNDk5NSwzNi43OTQ0Mjc3IDMzLjc1NTA2OTIsMzcuMjY0MzUzNCBDMzIuMjU0MzM4NiwzNy44MTM4NjMzIDMwLjk2MjA0MjgsMzcuMzgxODM0OCAzMC4yNzYxMDI4LDM1Ljk3OTYzNzEgQzMxLjQ0NzEyNzUsMzYuNDgzNjcwMyAzMi42NDg0Njk5LDM2Ljk2NDk2NTIgMzMuNzkyOTY2NSwzNi4wOTMzMjg4IEwzMy43OTI5NjY1LDM2LjA5MzMyODggTDMzLjc5Mjk2NjUsMzYuMDkzMzI4OCBaIiBmaWxsPSIjRkNGMUQ1Ij48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yOC4zNTg1MDI2LDM2LjcwMzQ3NDMgQzI4LjQ5MTE0MywzNi41ODU5OTI5IDI4Ljc2NDAwMzEsMzYuMzUxMDMgMjguOTAwNDMzMSwzNi4yMzczMzgzIEMyOS40MzA5OTQ1LDM2LjYzOTA0OSAyOS45NDI2MDcyLDM3LjA2NzI4NzggMzAuNDE2MzIyNiwzNy41MzcyMTM1IEMzMC4xMzU4ODMxLDM3Ljg3ODI4ODYgMjkuNzAzODU0NiwzOC4wMjYwODc5IDI5LjMyNDg4MjIsMzguMjE5MzYzOCBDMjkuMTQyOTc1NSwzNy42MjQzNzcyIDI4LjgzOTc5NzYsMzcuMDk3NjA1NiAyOC4zNTg1MDI2LDM2LjcwMzQ3NDMgTDI4LjM1ODUwMjYsMzYuNzAzNDc0MyBMMjguMzU4NTAyNiwzNi43MDM0NzQzIFoiIGZpbGw9IiNGNEUwQzAiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTI0Ljk5MzIyOCwzNy4xODQ3NjkyIEMyNS42MDcxNjMyLDM3LjQxMjE1MjYgMjYuMjUxNDE2MiwzNy41MTgyNjQ5IDI2LjkwMzI0ODcsMzcuNTgyNjkwMiBDMjYuMDg4NDU4MSwzOC41NjgwMTg0IDI3LjIyNTM3NTIsMzguMTU4NzI4MiAyNy45MDc1MjU1LDM4LjA3OTE0NCBDMjguMzM5NTU0LDM5LjI3NjY5NjcgMjkuNTI5NTI3Myw0MC4yMDEzODkzIDI5LjM4OTMwNzUsNDEuNTczMjY5MyBDMjkuMTA1MDc4Miw0Mi43NDA1MDQyIDMxLjA0MTYyNyw0Mi43ODIxOTExIDMxLjIyMzUzMzgsNDEuNzYyNzU1NSBDMzEuNDU4NDk2Niw0Mi4wMzU2MTU2IDMxLjY4OTY2OTgsNDIuMzE2MDU1MSAzMS45MjA4NDI5LDQyLjU5NjQ5NDcgQzI5Ljc2ODI3OTksNDMuMDQzNjgyMSAyNy41NDc1MDE4LDQyLjkyNjIwMDYgMjUuNDQ0MjA1MSw0Mi4zMzEyMTQgQzI1LjE1NjE4NjEsNDAuNjI5NjI4MSAyNC45NzgwNjkxLDM4LjkxMjg4MzIgMjQuOTkzMjI4LDM3LjE4NDc2OTIgTDI0Ljk5MzIyOCwzNy4xODQ3NjkyIEwyNC45OTMyMjgsMzcuMTg0NzY5MiBaIiBmaWxsPSIjRjFEQUI4Ij48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01Mi40MDQyOTk3LDM5LjU1NzEzNjMgQzUzLjU1NjM3NTcsMzkuNjU1NjY5MSA1NC4yNjEyNjQzLDM4LjkxNjY3MjkgNTQuNDc3Mjc4NiwzNy44NDAzOTE0IEM1NC40NTA3NTA1LDM4LjYwNTkxNTYgNTQuNzk1NjE1NCwzOS4xMDk5NDg5IDU1LjU2NDkyOTMsMzkuMjI3NDMwMyBDNTYuNTQyNjc4LDM5LjQxMzEyNjcgNTYuMDgwMzMxNyw0MC43NDcxMDk1IDU1LjMyMjM4Nyw0MC45NTU1NDQzIEM1Mi4zMzk4NzQ0LDQxLjg3NjQ0NzIgNDkuMTU2NTA2NCw0MS44Mzg1NDk5IDQ2LjE1ODgzNSw0MC45OTM0NDE1IEM0NS42MjQ0ODM5LDQwLjc1ODQ3ODcgNDQuODIxMDYyNSw0MC41ODc5NDExIDQ1LjEwNTI5MTgsMzkuODE0ODM3NSBDNDUuMTI0MjQwNCwzOC44NTk4MjcxIDQ2LjMxODAwMzQsMzkuMDY0NDcyMiA0Ni45NzM2MjU2LDM5LjAzNDE1NDQgQzQ3LjM1MjU5OCwzOS4xNzgxNjM5IDQ3LjczOTE0OTgsMzkuMjk5NDM1IDQ4LjEzMzI4MSwzOS4zOTc5Njc5IEM0OC4yOTYyMzkyLDM5LjQyODI4NTYgNDguNjI1OTQ1MSwzOS40ODUxMzE1IDQ4Ljc4ODkwMzIsMzkuNTE1NDQ5MyBDNDkuOTc1MDg2OCwzOS43NjE3ODEzIDUxLjIyOTQ4NTMsMzkuOTYyNjM2NyA1Mi40MDQyOTk3LDM5LjU1NzEzNjMgTDUyLjQwNDI5OTcsMzkuNTU3MTM2MyBMNTIuNDA0Mjk5NywzOS41NTcxMzYzIFoiIGZpbGw9IiNGMzlEMTQiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTAuNjg1OTM5OTk0LDQwLjk4MjA3MjQgQy0wLjc1Nzk0NDc0NSw0MC4yMjAzMzc5IDAuMzYzODEzNDc4LDM4LjQzOTE2NzggMS43NjIyMjE1MywzOS4xMjEzMTggQzIuMTYzOTMyMjUsMzkuMjU3NzQ4MSAyLjU3NzAxMjEzLDM5LjM2NzY1MDEgMi45OTc2NzE0NywzOS40NTEwMjQgTDMuMzE5Nzk3OTgsMzkuNTExNjU5NiBDNC42NDI0MTE1NiwzOS44NDUxNTUzIDUuOTY1MDI1MTQsMzkuODQ4OTQ1IDcuMjkxNDI4NDUsMzkuNTI2ODE4NSBDNy45MjA1MjI1OSwzOS40Mzk2NTQ4IDguNTMwNjY4MTEsMzkuMjcyOTA3IDkuMTE4MDc1MjgsMzkuMDMwMzY0NyBDOS43Njk5MDc3NywzOS4wNjQ0NzIyIDEwLjk2MzY3MDcsMzguODU5ODI3MSAxMC45ODI2MTk0LDM5LjgxNDgzNzUgQzExLjI0MDMyMDYsNDAuNTYxNDEzIDEwLjQ2NzIxNjksNDAuNzYyMjY4NCA5Ljk2MzE4MzY4LDQxLjA0MjcwOCBDNi45Mjc2MTQ5Nyw0MS44OTE2MDYxIDMuNzEwMTM5NTMsNDEuODg0MDI2NiAwLjY4NTkzOTk5NCw0MC45ODIwNzI0IEwwLjY4NTkzOTk5NCw0MC45ODIwNzI0IEwwLjY4NTkzOTk5NCw0MC45ODIwNzI0IFoiIGZpbGw9IiNGMkFGMTUiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZmlsbD0iI0ZBRDg3QSIgZD0iTTMuMzE5Nzk3OTgsMzkuNTExNjU5NiBDNC42NDI0MTE1NiwzOS40MDkzMzcgNS45NjUwMjUxNCwzOS40NzM3NjIzIDcuMjkxNDI4NDUsMzkuNTI2ODE4NSBDNS45NjUwMjUxNCwzOS44NDg5NDUgNC42NDI0MTE1NiwzOS44NDUxNTUzIDMuMzE5Nzk3OTgsMzkuNTExNjU5NiBMMy4zMTk3OTc5OCwzOS41MTE2NTk2IEwzLjMxOTc5Nzk4LDM5LjUxMTY1OTYgWiI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBmaWxsPSIjRkJEMjc2IiBkPSJNNDguNzg4OTAzMiwzOS41MTU0NDkzIEM0OS45OTc4MjUxLDM5LjQ0NzIzNDMgNTEuMTkxNTg4MSwzOS41MTE2NTk2IDUyLjQwNDI5OTcsMzkuNTU3MTM2MyBDNTEuMjI5NDg1MywzOS45NjI2MzY3IDQ5Ljk3NTA4NjgsMzkuNzYxNzgxMyA0OC43ODg5MDMyLDM5LjUxNTQ0OTMgTDQ4Ljc4ODkwMzIsMzkuNTE1NDQ5MyBMNDguNzg4OTAzMiwzOS41MTU0NDkzIFoiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTAuNjg1OTM5OTk0LDQwLjk4MjA3MjQgQzMuNzEwMTM5NTMsNDEuODg0MDI2NiA2LjkyNzYxNDk3LDQxLjg5MTYwNjEgOS45NjMxODM2OCw0MS4wNDI3MDggQzkuODU3MDcxNDEsNDEuNTM1MzcyIDkuNzc3NDg3MjEsNDIuMDM1NjE1NiA5LjYxMDczOTM3LDQyLjUxMzEyMDggQzkuNzU4NTM4NTksNDEuMzA0MTk4OSA4LjcyMzk0NDAyLDQyLjA1ODM1MzkgOC4wOTEwNjAxNSw0Mi4yMTM3MzI2IEM1Ljg1ODkxMjg4LDQzLjExOTQ3NjYgMy4yMTM2ODU3Miw0Mi44NjE3NzUzIDEuMTU1ODY1NzQsNDEuNjMwMTE1MSBDMS4wMzgzODQzLDQxLjQ2NzE1NyAwLjgwMzQyMTQzLDQxLjE0NTAzMDUgMC42ODU5Mzk5OTQsNDAuOTgyMDcyNCBMMC42ODU5Mzk5OTQsNDAuOTgyMDcyNCBMMC42ODU5Mzk5OTQsNDAuOTgyMDcyNCBaIiBmaWxsPSIjQzE4QTIwIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00Ni4xNTg4MzUsNDAuOTkzNDQxNSBDNDkuMTU2NTA2NCw0MS44Mzg1NDk5IDUyLjMzOTg3NDQsNDEuODc2NDQ3MiA1NS4zMjIzODcsNDAuOTU1NTQ0MyBDNTQuOTg1MTAxNSw0MS41MzE1ODIzIDU0Ljk2MjM2MzIsNDIuMTkwOTk0MiA1NC45Nzc1MjIxLDQyLjg0MjgyNjcgTDU0LjY5NzA4MjUsNDIuOTAzNDYyMyBDNTQuNjUxNjA1OSw0Mi43MDYzOTY3IDU0LjU1Njg2MjgsNDIuMzEyMjY1NCA1NC41MDc1OTY0LDQyLjExNTE5OTggQzUyLjI0MTM0MTYsNDIuNTQ3MjI4MyA0OS44NTM4MTU2LDQzLjI0NDUzNzQgNDcuNjQ0NDA2Nyw0Mi4xMzc5MzgxIEM0Ny4yNTAyNzU0LDQyLjEwMzgzMDYgNDYuNzUzODIxNiw0MS42NzkzODE1IDQ2LjQyNDExNTYsNDIuMDc3MzAyNSBDNDYuMzI1NTgyOCw0MS43MTcyNzg4IDQ2LjIzNDYyOTUsNDEuMzU3MjU1IDQ2LjE1ODgzNSw0MC45OTM0NDE1IEw0Ni4xNTg4MzUsNDAuOTkzNDQxNSBMNDYuMTU4ODM1LDQwLjk5MzQ0MTUgWiIgZmlsbD0iI0NDNzUxRCI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzEuOTIwODQyOSw0Mi41OTY0OTQ3IEMzMi43ODExMTAyLDQyLjYxOTIzMyAzMy4wNTM5NzAzLDQxLjk1OTgyMTEgMzMuMjM1ODc3MSw0MS4yNDM1NjMzIEMzMy4yNjYxOTQ5LDQxLjUxMjYzMzcgMzMuMzMwNjIwMiw0Mi4wNDY5ODQ3IDMzLjM2MDkzOCw0Mi4zMTYwNTUxIEMzNC4wMzU1MDg4LDQyLjE3OTYyNTEgMzUuMTk4OTU0LDQxLjc4OTI4MzUgMzUuMjQwNjQwOSw0Mi44NTA0MDYyIEMzNS43MTQzNTY0LDQ0LjIxODQ5NjQgMzQuMDM5Mjk4NSw0NC4xNzMwMTk3IDMzLjQ5MzU3ODMsNDUuMDUyMjM1NyBDMzIuMTcwOTY0Nyw0NC4zODUyNDQzIDMwLjYyMDk2NzcsNDUuMTM1NjA5NiAyOS4yMTQ5ODAyLDQ1LjEyMDQ1MDcgQzI3Ljc0ODM1NzEsNDUuNDgwNDc0NCAyNi4zOTU0MjU4LDQ0Ljc3MTc5NjEgMjQuOTQ3NzUxMyw0NC43Mzc2ODg2IEMyNC4yNjE4MTEzLDQ0LjI2MDE4MzQgMjIuNjY2MzM3Niw0My43Njc1MTkzIDIzLjMyMTk1OTgsNDIuNjg3NDQ4IEMyMy40ODQ5MTc5LDQxLjYxMTE2NjUgMjQuNzM5MzE2NSw0Mi4yNDQwNTA0IDI1LjQ0NDIwNTEsNDIuMzMxMjE0IEMyNy41NDc1MDE4LDQyLjkyNjIwMDYgMjkuNzY4Mjc5OSw0My4wNDM2ODIxIDMxLjkyMDg0MjksNDIuNTk2NDk0NyBMMzEuOTIwODQyOSw0Mi41OTY0OTQ3IEwzMS45MjA4NDI5LDQyLjU5NjQ5NDcgWiIgZmlsbD0iI0YzQTgxNCI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMS4xNTU4NjU3NCw0MS42MzAxMTUxIEMzLjIxMzY4NTcyLDQyLjg2MTc3NTMgNS44NTg5MTI4OCw0My4xMTk0NzY2IDguMDkxMDYwMTUsNDIuMjEzNzMyNiBDOC43MjM5NDQwMiw0Mi4wNTgzNTM5IDkuNzU4NTM4NTksNDEuMzA0MTk4OSA5LjYxMDczOTM3LDQyLjUxMzEyMDggQzkuMjMxNzY3LDQ0LjY1MDUyNDkgNS45MzQ3MDczNSw0NS4xMzE4MTk5IDcuNTU2NzA5MTEsNDcuNzc3MDQ3IEM3LjE1ODc4ODEyLDQ3LjUxMTc2NjQgNi43NzYwMjYwMiw0Ny4yMjc1MzcxIDYuMzg5NDc0Miw0Ni45NTA4ODcyIEM2LjI0MTY3NDk4LDQ1Ljk2NTU1OTEgNS43ODY5MDgxMyw0NC4yNzkxMzIgNC40ODMyNDMxNyw0NC45ODc4MTA0IEM0LjIxNDE3Mjc4LDQ1LjAyNTcwNzYgMy42NzYwMzIwMSw0NS4xMDUyOTE4IDMuNDA2OTYxNjMsNDUuMTQ2OTc4NyBDMy4wMjc5ODkyNiw0NC44ODU0ODc4IDIuNjU2NTk2MzMsNDQuNjIzOTk2OSAyLjI3MDA0NDUxLDQ0LjM4MTQ1NDYgQzEuNjQwOTUwMzcsNDMuNTg1NjEyNiAxLjM0OTE0MTY1LDQyLjYxMTY1MzYgMS4xNTU4NjU3NCw0MS42MzAxMTUxIEwxLjE1NTg2NTc0LDQxLjYzMDExNTEgTDEuMTU1ODY1NzQsNDEuNjMwMTE1MSBaIiBmaWxsPSIjRTdCNTI2Ij48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00Ni40MjQxMTU2LDQyLjA3NzMwMjUgQzQ2Ljc1MzgyMTYsNDEuNjc5MzgxNSA0Ny4yNTAyNzU0LDQyLjEwMzgzMDYgNDcuNjQ0NDA2Nyw0Mi4xMzc5MzgxIEM0OS44NTM4MTU2LDQzLjI0NDUzNzQgNTIuMjQxMzQxNiw0Mi41NDcyMjgzIDU0LjUwNzU5NjQsNDIuMTE1MTk5OCBDNTQuNTU2ODYyOCw0Mi4zMTIyNjU0IDU0LjY1MTYwNTksNDIuNzA2Mzk2NyA1NC42OTcwODI1LDQyLjkwMzQ2MjMgQzU0LjI2NTA1NCw0My45MjY2ODc3IDUzLjIyNjY2OTcsNDQuNTA2NTE1NCA1Mi40NTM1NjYxLDQ1LjI0OTMwMTMgQzUyLjM5MjkzMDUsNDYuMTA1Nzc4OCA1Mi40NDk3NzY0LDQ2Ljk2NjA0NjEgNTIuNjI0MTAzNyw0Ny44MzAxMDMxIEM1Mi4zMzIyOTQ5LDQ3LjU1NzI0MyA1Mi4wNDgwNjU3LDQ3LjI2OTIyNCA1MS43Nzg5OTUzLDQ2Ljk3NzQxNTMgQzUxLjQ5ODU1NTcsNDYuNTIyNjQ4NSA1MS4yNDQ2NDQyLDQ2LjA1MjcyMjcgNTAuOTkwNzMyNyw0NS41ODY1ODY3IEM1MC4wMTI5ODQsNDUuMDQ4NDQ1OSA0OS42Nzk0ODgzLDQ2LjIzNDYyOTUgNDkuMjgxNTY3Myw0Ni44NzEzMDMgQzQ4LjU3Mjg4OSw0Ny40MDU2NTQxIDQ3LjAzODA1MDksNDkuMTkwNjE0IDQ4LjM2ODI0MzksNDYuMDE0ODI1NSBDNDguMzk0NzcyLDQ1LjU3OTAwNzMgNDguNjM3MzE0Myw0NC45ODAyMzA5IDQ4LjExODEyMjEsNDQuNzMzODk4OSBDNDcuMTU1NTMyMyw0NC4xNTAyODE0IDQ2LjY0MDEyOTksNDMuMTUzNTg0MSA0Ni40MjQxMTU2LDQyLjA3NzMwMjUgTDQ2LjQyNDExNTYsNDIuMDc3MzAyNSBMNDYuNDI0MTE1Niw0Mi4wNzczMDI1IFoiIGZpbGw9IiNFQ0E0MjMiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTQuNDgzMjQzMTcsNDQuOTg3ODEwNCBDNS43ODY5MDgxMyw0NC4yNzkxMzIgNi4yNDE2NzQ5OCw0NS45NjU1NTkxIDYuMzg5NDc0Miw0Ni45NTA4ODcyIEw2LjM4MTg5NDc1LDQ3LjI2MTY0NDYgQzUuODEzNDM2Miw0Ny42NDQ0MDY3IDUuMzU4NjY5MzUsNDguMTYzNTk4OCA0Ljg2NjAwNTI2LDQ4LjYzNzMxNDMgQzQuNjA0NTE0MzMsNDguMDQ5OTA3MSA0LjM1NDM5MjU2LDQ3LjQ1NDkyMDUgMy45Mzc1MjI5NSw0Ni45NjIyNTY0IEM0LjUyNDkzMDEzLDQ2LjQ0Njg1NCA0LjYwMDcyNDYsNDUuNzIzMDE2OCA0LjQ4MzI0MzE3LDQ0Ljk4NzgxMDQgTDQuNDgzMjQzMTcsNDQuOTg3ODEwNCBMNC40ODMyNDMxNyw0NC45ODc4MTA0IFoiIGZpbGw9IiNERjk4MTciPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTI0Ljk0Nzc1MTMsNDQuNzM3Njg4NiBDMjYuMzk1NDI1OCw0NC43NzE3OTYxIDI3Ljc0ODM1NzEsNDUuNDgwNDc0NCAyOS4yMTQ5ODAyLDQ1LjEyMDQ1MDcgQzI5LjE4ODQ1MjEsNDUuNzYwOTE0IDI4LjE5NTU0NDUsNDYuMzk3NTg3NiAyOC44NzM5MDUxLDQ2Ljk0NzA5NzUgQzI5LjcyMjgwMzIsNDcuMTc0NDgwOSAyOS44NTkyMzMyLDQ1Ljg4MjE4NTEgMzAuNjU1MDc1Miw0NS43OTUwMjE1IEMzMC41NTY1NDI0LDQ2LjQxMjc0NjUgMzAuMzkzNTg0Myw0Ny4wMTkxMDIzIDMwLjMyOTE1OSw0Ny42NDA2MTcgQzMwLjg1NTkzMDYsNDcuNjUxOTg2MSAzMS4zODY0OTE5LDQ3LjY0ODE5NjQgMzEuOTA5NDczOCw0Ny43NDI5Mzk1IEMzMC43MjMyOTAyLDQ4LjMxMTM5ODEgMzAuNDMxNDgxNSw0OS41Njk1ODYzIDMwLjI1MzM2NDUsNTAuNzYzMzQ5MyBDMjkuNjY1OTU3Myw1MC43NjcxMzkgMjkuMDc4NTUwMSw1MC43NjcxMzkgMjguNDk0OTMyNyw1MC43NjMzNDkzIEMyOC41NzA3MjcyLDQ4LjA0MjMyNzcgMjUuMDEyMTc2Niw0Ny4zOTgwNzQ2IDI0Ljk0Nzc1MTMsNDQuNzM3Njg4NiBMMjQuOTQ3NzUxMyw0NC43Mzc2ODg2IEwyNC45NDc3NTEzLDQ0LjczNzY4ODYgWiIgZmlsbD0iI0VFQjUyOSI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjkuMjE0OTgwMiw0NS4xMjA0NTA3IEMzMC42MjA5Njc3LDQ1LjEzNTYwOTYgMzIuMTcwOTY0Nyw0NC4zODUyNDQzIDMzLjQ5MzU3ODMsNDUuMDUyMjM1NyBDMzMuMjg4OTMzMiw0Ni4xMDU3Nzg4IDMyLjg5NDgwMTksNDcuMTg1ODUwMSAzMS45MDk0NzM4LDQ3Ljc0MjkzOTUgQzMxLjM4NjQ5MTksNDcuNjQ4MTk2NCAzMC44NTU5MzA2LDQ3LjY1MTk4NjEgMzAuMzI5MTU5LDQ3LjY0MDYxNyBDMzAuMzkzNTg0Myw0Ny4wMTkxMDIzIDMwLjU1NjU0MjQsNDYuNDEyNzQ2NSAzMC42NTUwNzUyLDQ1Ljc5NTAyMTUgQzI5Ljg1OTIzMzIsNDUuODgyMTg1MSAyOS43MjI4MDMyLDQ3LjE3NDQ4MDkgMjguODczOTA1MSw0Ni45NDcwOTc1IEMyOC4xOTU1NDQ1LDQ2LjM5NzU4NzYgMjkuMTg4NDUyMSw0NS43NjA5MTQgMjkuMjE0OTgwMiw0NS4xMjA0NTA3IEwyOS4yMTQ5ODAyLDQ1LjEyMDQ1MDcgTDI5LjIxNDk4MDIsNDUuMTIwNDUwNyBaIiBmaWxsPSIjRjRDMTJCIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zLjQwNjk2MTYzLDQ1LjE0Njk3ODcgQzMuNjc2MDMyMDEsNDUuMTA1MjkxOCA0LjIxNDE3Mjc4LDQ1LjAyNTcwNzYgNC40ODMyNDMxNyw0NC45ODc4MTA0IEM0LjYwMDcyNDYsNDUuNzIzMDE2OCA0LjUyNDkzMDEzLDQ2LjQ0Njg1NCAzLjkzNzUyMjk1LDQ2Ljk2MjI1NjQgQzMuNjQ5NTAzOTUsNDcuMjYxNjQ0NiAzLjM1MzkwNTUsNDcuNTQ5NjYzNiAzLjA0NjkzNzg4LDQ3LjgzMDEwMzEgQzMuMTI2NTIyMDcsNDYuOTI4MTQ4OSAzLjI0NDAwMzUxLDQ2LjAzMzc3NDEgMy40MDY5NjE2Myw0NS4xNDY5Nzg3IEwzLjQwNjk2MTYzLDQ1LjE0Njk3ODcgTDMuNDA2OTYxNjMsNDUuMTQ2OTc4NyBaIiBmaWxsPSIjRjFCNDEyIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00OS4yODE1NjczLDQ2Ljg3MTMwMyBDNDkuNjc5NDg4Myw0Ni4yMzQ2Mjk1IDUwLjAxMjk4NCw0NS4wNDg0NDU5IDUwLjk5MDczMjcsNDUuNTg2NTg2NyBDNTEuMjQ0NjQ0Miw0Ni4wNTI3MjI3IDUxLjQ5ODU1NTcsNDYuNTIyNjQ4NSA1MS43Nzg5OTUzLDQ2Ljk3NzQxNTMgQzUxLjYxNjAzNzEsNDcuNTA3OTc2NiA1MS40Nzk2MDcxLDQ4LjA1MzY5NjggNTEuMjc0OTYyLDQ4LjU3NjY3ODcgQzUxLjQ3NTgxNzQsNDYuODQ0Nzc1IDQ5Ljg5MTcxMjksNDkuMzQ1OTkyNiA0OS43MTczODU2LDQ3LjY3ODUxNDIgQzQ5LjYwNzQ4MzYsNDcuNDc3NjU4OCA0OS4zOTE0NjkzLDQ3LjA3MjE1ODQgNDkuMjgxNTY3Myw0Ni44NzEzMDMgTDQ5LjI4MTU2NzMsNDYuODcxMzAzIEw0OS4yODE1NjczLDQ2Ljg3MTMwMyBaIiBmaWxsPSIjRTA4MzE4Ij48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00Ljg2NjAwNTI2LDQ4LjYzNzMxNDMgQzUuMzU4NjY5MzUsNDguMTYzNTk4OCA1LjgxMzQzNjIsNDcuNjQ0NDA2NyA2LjM4MTg5NDc1LDQ3LjI2MTY0NDYgQzYuNjY2MTI0MDMsNDguMzE4OTc3NSA2Ljg1OTM5OTk0LDQ5LjQyOTM2NjYgNy40ODQ3MDQzNiw1MC4zNTQwNTkxIEM2LjgyNTI5MjQzLDUwLjUwOTQzNzggNi4zODk0NzQyLDUxLjA0Mzc4ODkgNS45NjUwMjUxNCw1MS41Mjg4NzM1IEM1LjY5OTc0NDQ4LDUxLjE4MDIxODkgNS40NjQ3ODE2MSw1MC44MDg4MjYgNS4yMTg0NDk1Nyw1MC40NDg4MDIyIEM1LjA1NTQ5MTQ1LDQ5Ljg1MzgxNTYgNC45NTMxNjg5MSw0OS4yNDM2NzAxIDQuODY2MDA1MjYsNDguNjM3MzE0MyBMNC44NjYwMDUyNiw0OC42MzczMTQzIEw0Ljg2NjAwNTI2LDQ4LjYzNzMxNDMgWiIgZmlsbD0iI0UyQjYzOSI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDkuNzE3Mzg1Niw0Ny42Nzg1MTQyIEM0OS44OTE3MTI5LDQ5LjM0NTk5MjYgNTEuNDc1ODE3NCw0Ni44NDQ3NzUgNTEuMjc0OTYyLDQ4LjU3NjY3ODcgQzUxLjA3NDEwNjcsNDkuMTAzNDUwMyA1MC44MDEyNDY1LDQ5LjU5OTkwNDEgNTAuNTM1OTY1OSw1MC4wOTYzNTc5IEM0OS45MDMwODIsNTAuMDY2MDQwMSA0OS4wODgyOTE0LDQ5Ljg2NTE4NDggNDkuMjI0NzIxNSw1MC43OTM2NjcxIEM0OS4yODkxNDY4LDUxLjUwOTkyNDkgNDguNDg1NzI1Myw1MC44MzE1NjQzIDQ4LjE0NDY1MDIsNTAuODU0MzAyNyBDNDguNjE4MzY1Nyw0OS43NzA0NDE3IDQ5LjE1NjUwNjQsNDguNzE2ODk4NSA0OS43MTczODU2LDQ3LjY3ODUxNDIgTDQ5LjcxNzM4NTYsNDcuNjc4NTE0MiBMNDkuNzE3Mzg1Niw0Ny42Nzg1MTQyIFoiIGZpbGw9IiNFOUFEM0QiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ5LjIyNDcyMTUsNTAuNzkzNjY3MSBDNDkuMDg4MjkxNCw0OS44NjUxODQ4IDQ5LjkwMzA4Miw1MC4wNjYwNDAxIDUwLjUzNTk2NTksNTAuMDk2MzU3OSBDNDkuODg0MTMzNCw1My4wNTk5MjE5IDQ2LjgyNTgyNjQsNTQuNzY5MDg3MyA0NC4wNjY5MDc1LDU1LjQ2NjM5NjUgQzQyLjExODk4OTUsNTUuNDkyOTI0NSA0MC4wODM5MDc4LDU0Ljk3MzczMjQgMzguMTg1MjU2Myw1NS41ODc2Njc2IEMzOC4wMzc0NTcsNTUuNTkxNDU3MyAzNy43NDE4NTg2LDU1LjYwMjgyNjUgMzcuNTk0MDU5NCw1NS42MTA0MDYgQzM2LjE4ODA3MTksNTUuNDI0NzA5NSAzNC43NzgyOTQ2LDU1LjMyOTk2NjQgMzMuMzY0NzI3Nyw1NS4zMzM3NTYxIEMzMy4zNjA5MzgsNTQuODE4MzUzNyAzMy4zNjA5MzgsNTQuMzA2NzQxIDMzLjM2NDcyNzcsNTMuNzk1MTI4MyBDMzQuNzcwNzE1Miw1My44MTQwNzY5IDM2LjE4ODA3MTksNTMuODMzMDI1NSAzNy41OTQwNTk0LDUzLjcxOTMzMzggQzM3Ljc0NTY0ODMsNTMuNzE1NTQ0MSAzOC4wNDg4MjYyLDUzLjcwNzk2NDYgMzguMjAwNDE1Miw1My43MDc5NjQ2IEMzOS41MTE2NTk2LDUzLjc0OTY1MTYgNDAuODM4MDYyOSw1My44MzMwMjU1IDQyLjE1Njg4NjcsNTMuNzU3MjMxMSBDNDQuNDc2MTk3Niw1My43NTM0NDEzIDQ2LjgxMDY2NzUsNTIuODAyMjIwNyA0OC4xNDQ2NTAyLDUwLjg1NDMwMjcgQzQ4LjQ4NTcyNTMsNTAuODMxNTY0MyA0OS4yODkxNDY4LDUxLjUwOTkyNDkgNDkuMjI0NzIxNSw1MC43OTM2NjcxIEw0OS4yMjQ3MjE1LDUwLjc5MzY2NzEgTDQ5LjIyNDcyMTUsNTAuNzkzNjY3MSBaIiBmaWxsPSIjRjNDRjRBIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01Ljk2NTAyNTE0LDUxLjUyODg3MzUgQzYuMzg5NDc0Miw1MS4wNDM3ODg5IDYuODI1MjkyNDMsNTAuNTA5NDM3OCA3LjQ4NDcwNDM2LDUwLjM1NDA1OTEgQzkuOTg1OTIyMDIsNTQuMjcyNjMzNSAxNS4xNDc1MjU3LDU0LjI5MTU4MjEgMTkuMjQ0MjE3MSw1My43MjMxMjM1IEMyMC41NTkyNTEyLDUzLjc1MzQ0MTMgMjEuODgxODY0OCw1My44MTAyODcyIDIzLjIwMDY4ODcsNTMuNzQ5NjUxNiBDMjMuOTAxNzg3NSw1My43ODM3NTkxIDI0LjYwMjg4NjQsNTMuNzk1MTI4MyAyNS4zMDc3NzUsNTMuNzcyMzg5OSBDMjUuMzQ1NjcyMyw1NC40MTY2NDMgMjUuMzcyMjAwMyw1NS4wNjQ2ODU3IDI1LjM5NDkzODcsNTUuNzEyNzI4NSBDMjQuNjYzNTIyLDU1LjY5NzU2OTYgMjMuOTMyMTA1Myw1NS42Nzg2MjEgMjMuMjAwNjg4Nyw1NS42MzY5MzQgQzIxLjg4NTY1NDUsNTUuMzQxMzM1NiAyMC41NzA2MjA0LDU1LjMyOTk2NjQgMTkuMjUxNzk2NSw1NS42MDI4MjY1IEMxOS4xMDAyMDc2LDU1LjYwNjYxNjIgMTguNzk3MDI5Nyw1NS42MTQxOTU3IDE4LjY0NTQ0MDcsNTUuNjE3OTg1NCBDMTcuMzI2NjE2OSw1NS4zMjYxNzY3IDE2LjAxMTU4MjcsNTUuMzMzNzU2MSAxNC42OTY1NDg2LDU1LjYzNjkzNCBDMTEuMzI3NDg0Miw1NS45NDc2OTE0IDcuNzE5NjY3MjMsNTQuNTAwMDE2OSA1Ljk2NTAyNTE0LDUxLjUyODg3MzUgTDUuOTY1MDI1MTQsNTEuNTI4ODczNSBMNS45NjUwMjUxNCw1MS41Mjg4NzM1IFoiIGZpbGw9IiNFRkQzNDgiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTI4LjQ5NDkzMjcsNTAuNzYzMzQ5MyBDMjkuMDc4NTUwMSw1MC43NjcxMzkgMjkuNjY1OTU3Myw1MC43NjcxMzkgMzAuMjUzMzY0NSw1MC43NjMzNDkzIEMzMC40MjAxMTIzLDUxLjA5Njg0NSAzMC41ODY4NjAyLDUxLjQzMDM0MDcgMzAuNzQ5ODE4Myw1MS43NjM4MzY0IEMyOS45NjE1NTU4LDUyLjg4OTM4NDMgMjguOTY0ODU4NCw1Mi4xMDQ5MTE1IDI3Ljk3OTUzMDMsNTEuNzYzODM2NCBDMjguMTQ2Mjc4MSw1MS40MzAzNDA3IDI4LjMyMDYwNTQsNTEuMDk2ODQ1IDI4LjQ5NDkzMjcsNTAuNzYzMzQ5MyBMMjguNDk0OTMyNyw1MC43NjMzNDkzIEwyOC40OTQ5MzI3LDUwLjc2MzM0OTMgWiIgZmlsbD0iI0YyQTcxNCI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjcuMTk1MDU3NSw1Mi42NTgyMTEyIEMyNy40NTI3NTg3LDUyLjM1ODgyMyAyNy43MTQyNDk2LDUyLjA1OTQzNDggMjcuOTc5NTMwMyw1MS43NjM4MzY0IEMyOC45NjQ4NTg0LDUyLjEwNDkxMTUgMjkuOTYxNTU1OCw1Mi44ODkzODQzIDMwLjc0OTgxODMsNTEuNzYzODM2NCBDMzEuMTMyNTgwNCw1Mi4xNjkzMzY4IDMxLjUxOTEzMjIsNTIuNTc0ODM3MiAzMS44OTA1MjUyLDUyLjk4NzkxNzEgQzMyLjA0OTY5MzYsNTQuMDQ1MjUwMSAzMi4wNDk2OTM2LDU1LjEwNjM3MjcgMzEuODk4MTA0Niw1Ni4xNjM3MDU2IEMzMS42MzY2MTM3LDU2LjQxMzgyNzQgMzEuMzc4OTEyNSw1Ni42NjM5NDkyIDMxLjExNzQyMTUsNTYuOTE0MDcwOSBDMzAuODI1NjEyOCw1NS44NzE4OTY5IDMwLjIxOTI1Nyw1NC44Njc2MjAxIDMwLjYzMjMzNjksNTMuNzY0ODEwNSBDMzAuMjcyMzEzMSw1NC4xNDM3ODI5IDI5Ljk1Mzk3NjMsNTQuNTU2ODYyOCAyOS41OTM5NTI2LDU0LjkzMjA0NTQgQzI4Ljc5ODExMDYsNTQuMDQ1MjUwMSAyNi45MTA4MjgyLDU0LjI4MDIxMjkgMjcuMTk1MDU3NSw1Mi42NTgyMTEyIEwyNy4xOTUwNTc1LDUyLjY1ODIxMTIgTDI3LjE5NTA1NzUsNTIuNjU4MjExMiBaIiBmaWxsPSIjRjNCQTI5Ij48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNS4zMDc3NzUsNTMuNzcyMzg5OSBDMjUuODE1NTk4LDUzLjIxNTMwMDYgMjYuNTMxODU1OCw1Mi45NzI3NTgyIDI3LjE5NTA1NzUsNTIuNjU4MjExMiBDMjYuOTEwODI4Miw1NC4yODAyMTI5IDI4Ljc5ODExMDYsNTQuMDQ1MjUwMSAyOS41OTM5NTI2LDU0LjkzMjA0NTQgQzI5Ljk1Mzk3NjMsNTQuNTU2ODYyOCAzMC4yNzIzMTMxLDU0LjE0Mzc4MjkgMzAuNjMyMzM2OSw1My43NjQ4MTA1IEMzMC4yMTkyNTcsNTQuODY3NjIwMSAzMC44MjU2MTI4LDU1Ljg3MTg5NjkgMzEuMTE3NDIxNSw1Ni45MTQwNzA5IEMzMS42MDI1MDYyLDU3Ljc5MzI4NjggMzEuMDE4ODg4Nyw1OC4zMTI0NzkgMzAuMjQ5NTc0OCw1OC42OTUyNDExIEMyOS42NzM1MzY4LDU4LjU2MjYwMDcgMjkuMDg5OTE5Myw1OC40NTI2OTg3IDI4LjUwMjUxMjEsNTguNDA3MjIyMSBDMjguNDIyOTI3OSw1OC45ODMyNjAxIDI4LjI2Mzc1OTUsNjAuMTM5MTI1OCAyOC4xODQxNzUzLDYwLjcxODk1MzUgQzI4LjAzMjU4NjQsNTkuNDIyODY4IDI3LjU3NDAyOTgsNTguMjA2MzY2NyAyNy40MjYyMzA2LDU2LjkxNzg2MDYgQzI3LjEwMDMxNDQsNTYuMTEwNjQ5NSAyNi4wODg0NTgxLDU2LjA1MDAxMzkgMjUuMzk0OTM4Nyw1NS43MTI3Mjg1IEMyNS4zNzIyMDAzLDU1LjA2NDY4NTcgMjUuMzQ1NjcyMyw1NC40MTY2NDMgMjUuMzA3Nzc1LDUzLjc3MjM4OTkgTDI1LjMwNzc3NSw1My43NzIzODk5IEwyNS4zMDc3NzUsNTMuNzcyMzg5OSBaIiBmaWxsPSIjRUI5RTFFIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMS44OTA1MjUyLDUyLjk4NzkxNzEgQzMyLjM4MzE4OTIsNTMuMTEyOTc4IDMyLjg3MjA2MzYsNTMuMjQ5NDA4MSAzMy4zNjA5MzgsNTMuNDAwOTk3IEwzMy4zNjQ3Mjc3LDUzLjc5NTEyODMgQzMzLjM2MDkzOCw1NC4zMDY3NDEgMzMuMzYwOTM4LDU0LjgxODM1MzcgMzMuMzY0NzI3Nyw1NS4zMzM3NTYxIEwzMy4zNjA5MzgsNTUuNzI3ODg3NCBDMzIuODc1ODUzMyw1NS44ODcwNTU4IDMyLjM4Njk3OSw1Ni4wMzEwNjUzIDMxLjg5ODEwNDYsNTYuMTYzNzA1NiBDMzIuMDQ5NjkzNiw1NS4xMDYzNzI3IDMyLjA0OTY5MzYsNTQuMDQ1MjUwMSAzMS44OTA1MjUyLDUyLjk4NzkxNzEgTDMxLjg5MDUyNTIsNTIuOTg3OTE3MSBMMzEuODkwNTI1Miw1Mi45ODc5MTcxIFoiIGZpbGw9IiNGM0EzMTUiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZmlsbD0iIzgxNEIxNSIgZD0iTTE5LjI0NDIxNzEsNTMuNzIzMTIzNSBDMjAuNTYzMDQwOSw1My40Mjc1MjUxIDIxLjg4MTg2NDgsNTMuNDM1MTA0NSAyMy4yMDA2ODg3LDUzLjc0OTY1MTYgQzIxLjg4MTg2NDgsNTMuODEwMjg3MiAyMC41NTkyNTEyLDUzLjc1MzQ0MTMgMTkuMjQ0MjE3MSw1My43MjMxMjM1IEwxOS4yNDQyMTcxLDUzLjcyMzEyMzUgTDE5LjI0NDIxNzEsNTMuNzIzMTIzNSBaIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9IiM4QzRDMTgiIGQ9Ik0zMy4zNjA5MzgsNTMuNDAwOTk3IEMzNC43NzQ1MDQ5LDUzLjQ0MjY4NCAzNi4xODQyODIxLDUzLjU0ODc5NjIgMzcuNTk0MDU5NCw1My43MTkzMzM4IEMzNi4xODgwNzE5LDUzLjgzMzAyNTUgMzQuNzcwNzE1Miw1My44MTQwNzY5IDMzLjM2NDcyNzcsNTMuNzk1MTI4MyBMMzMuMzYwOTM4LDUzLjQwMDk5NyBMMzMuMzYwOTM4LDUzLjQwMDk5NyBaIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9IiM4ODQ3MTYiIGQ9Ik0zOC4yMDA0MTUyLDUzLjcwNzk2NDYgQzM5LjUyMzAyODcsNTMuNDI3NTI1MSA0MC44MzgwNjI5LDUzLjQ0MjY4NCA0Mi4xNTY4ODY3LDUzLjc1NzIzMTEgQzQwLjgzODA2MjksNTMuODMzMDI1NSAzOS41MTE2NTk2LDUzLjc0OTY1MTYgMzguMjAwNDE1Miw1My43MDc5NjQ2IEwzOC4yMDA0MTUyLDUzLjcwNzk2NDYgTDM4LjIwMDQxNTIsNTMuNzA3OTY0NiBaIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9IiNEN0I5NEQiIGQ9Ik0xNC42OTY1NDg2LDU1LjYzNjkzNCBDMTYuMDExNTgyNyw1NS4zMzM3NTYxIDE3LjMyNjYxNjksNTUuMzI2MTc2NyAxOC42NDU0NDA3LDU1LjYxNzk4NTQgQzE3LjMzNDE5NjMsNTUuNzIwMzA3OSAxNi4wMDc3OTMsNTUuNjU1ODgyNiAxNC42OTY1NDg2LDU1LjYzNjkzNCBMMTQuNjk2NTQ4Niw1NS42MzY5MzQgTDE0LjY5NjU0ODYsNTUuNjM2OTM0IFoiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZmlsbD0iI0Q0QjU0QyIgZD0iTTE5LjI1MTc5NjUsNTUuNjAyODI2NSBDMjAuNTcwNjIwNCw1NS4zMjk5NjY0IDIxLjg4NTY1NDUsNTUuMzQxMzM1NiAyMy4yMDA2ODg3LDU1LjYzNjkzNCBDMjEuODg1NjU0NSw1NS43MDg5Mzg4IDIwLjU2MzA0MDksNTUuNjQ0NTEzNSAxOS4yNTE3OTY1LDU1LjYwMjgyNjUgTDE5LjI1MTc5NjUsNTUuNjAyODI2NSBMMTkuMjUxNzk2NSw1NS42MDI4MjY1IFoiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZmlsbD0iI0NCQTg0OCIgZD0iTTMzLjM2NDcyNzcsNTUuMzMzNzU2MSBDMzQuNzc4Mjk0Niw1NS4zMjk5NjY0IDM2LjE4ODA3MTksNTUuNDI0NzA5NSAzNy41OTQwNTk0LDU1LjYxMDQwNiBDMzYuMTg4MDcxOSw1NS43Mjc4ODc0IDM0Ljc2NjkyNTUsNTUuNzEyNzI4NSAzMy4zNjA5MzgsNTUuNzI3ODg3NCBMMzMuMzY0NzI3Nyw1NS4zMzM3NTYxIEwzMy4zNjQ3Mjc3LDU1LjMzMzc1NjEgWiI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBmaWxsPSIjQ0VBQzRBIiBkPSJNMzguMTg1MjU2Myw1NS41ODc2Njc2IEM0MC4wODM5MDc4LDU0Ljk3MzczMjQgNDIuMTE4OTg5NSw1NS40OTI5MjQ1IDQ0LjA2NjkwNzUsNTUuNDY2Mzk2NSBDNDIuMTY0NDY2Miw1Ni4wNTM4MDM2IDQwLjEyNTU5NDgsNTUuNTQ1OTgwNyAzOC4xODUyNTYzLDU1LjU4NzY2NzYgTDM4LjE4NTI1NjMsNTUuNTg3NjY3NiBMMzguMTg1MjU2Myw1NS41ODc2Njc2IFoiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTI4LjUwMjUxMjEsNTguNDA3MjIyMSBDMjkuMDg5OTE5Myw1OC40NTI2OTg3IDI5LjY3MzUzNjgsNTguNTYyNjAwNyAzMC4yNDk1NzQ4LDU4LjY5NTI0MTEgQzMwLjM4OTc5NDYsNjAuMzg5MjQ3NiAzMC44MTA0NTM5LDYyLjA0MTU2NzEgMzAuOTU0NDYzNCw2My43MzkzNjMzIEMzMS4zNjc1NDMzLDY2LjEzODI1ODUgMzEuNjI5MDM0Miw2OC41NTk4OTE5IDMyLjExNDExODksNzAuOTQ3NDE3OSBDMzIuMzc1NjA5OCw3Mi45NTIxODE3IDMyLjk4OTU0NSw3NS4xMDQ3NDQ4IDMxLjgxMDk0MSw3Ni45NDI3NjA4IEMzMS42NDc5ODI4LDc3LjA1NjQ1MjUgMzEuMzI1ODU2Myw3Ny4yODM4MzU5IDMxLjE2NjY4NzksNzcuMzk3NTI3NyBDMzAuNjI0NzU3NCw3Ny41MTEyMTk0IDI5LjkwODQ5OTYsNzcuOTQzMjQ3OSAyOS42MjA0ODA2LDc3LjIxOTQxMDYgQzI5LjQ5MTYzLDc2LjAxMDQ4ODggMzAuMTY5OTkwNiw3NC45MTE0Njg5IDMwLjc0MjIzODksNzMuODk5NjEyNyBDMjkuOTQ2Mzk2OSw3My45NzkxOTY5IDI5LjE3MzI5MzIsNzQuMTc2MjYyNSAyOC4zODEyNDEsNzQuMjg2MTY0NSBDMjguNzUyNjMzOSw3My45ODY3NzYzIDI5LjE0Mjk3NTUsNzMuNzE3NzA1OSAyOS41MTQzNjg0LDczLjQxODMxNzcgQzI4LjIzNzIzMTUsNzIuMjY2MjQxNyAyNy42MDA1NTc5LDcwLjc0Mjc3MjggMjYuNzc4MTg3OCw2OS4yODc1MTg5IEMyNi44NTAxOTI2LDY4LjcwMDExMTcgMjYuOTMzNTY2NSw2OC4xMTY0OTQzIDI3LjAyMDczMDIsNjcuNTM2NjY2NSBDMjcuMTI2ODQyNCw2Ni45NjgyMDggMjcuMzM5MDY3LDY1LjgzNTA4MDYgMjcuNDQ1MTc5Miw2NS4yNjY2MjIgQzI3Ljc1OTcyNjMsNjMuNzYyMTAxNyAyNy45NDU0MjI4LDYyLjIzNDg0MyAyOC4xODQxNzUzLDYwLjcxODk1MzUgQzI4LjI2Mzc1OTUsNjAuMTM5MTI1OCAyOC40MjI5Mjc5LDU4Ljk4MzI2MDEgMjguNTAyNTEyMSw1OC40MDcyMjIxIEwyOC41MDI1MTIxLDU4LjQwNzIyMjEgTDI4LjUwMjUxMjEsNTguNDA3MjIyMSBaIiBmaWxsPSIjRjJCOTJFIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi40OTAxNjg4LDcxLjkyODk1NjMgQzI2LjU2OTc1Myw3MS4wNDU5NTA3IDI2LjY2ODI4NTksNzAuMTYyOTQ1MSAyNi43NzgxODc4LDY5LjI4NzUxODkgQzI3LjYwMDU1NzksNzAuNzQyNzcyOCAyOC4yMzcyMzE1LDcyLjI2NjI0MTcgMjkuNTE0MzY4NCw3My40MTgzMTc3IEMyOS4xNDI5NzU1LDczLjcxNzcwNTkgMjguNzUyNjMzOSw3My45ODY3NzYzIDI4LjM4MTI0MSw3NC4yODYxNjQ1IEMyOS4xNzMyOTMyLDc0LjE3NjI2MjUgMjkuOTQ2Mzk2OSw3My45NzkxOTY5IDMwLjc0MjIzODksNzMuODk5NjEyNyBDMzAuMTY5OTkwNiw3NC45MTE0Njg5IDI5LjQ5MTYzLDc2LjAxMDQ4ODggMjkuNjIwNDgwNiw3Ny4yMTk0MTA2IEMyOS45MDg0OTk2LDc3Ljk0MzI0NzkgMzAuNjI0NzU3NCw3Ny41MTEyMTk0IDMxLjE2NjY4NzksNzcuMzk3NTI3NyBDMzEuMDk0NjgzMiw3OC4wMTE0NjI5IDMwLjg1OTcyMDMsNzguNTU3MTgzMSAzMC4zMTc3ODk4LDc4Ljg5NDQ2ODUgQzI5LjY3NzMyNjUsNzguODc1NTE5OSAyOS4wNDA2NTI5LDc4Ljg3OTMwOTYgMjguNDAzOTc5Myw3OC45MDU4Mzc3IEMyNy42NzI1NjI2LDc4LjA3NTg4ODIgMjcuMjU1NjkzLDc3LjAyNjEzNDcgMjYuNDgyNTg5NCw3Ni4yMjY1MDMgQzI2LjQ5Nzc0ODMsNzQuNzkwMTk3NyAyNi41MjgwNjYxLDczLjM2MTQ3MTkgMjYuNDkwMTY4OCw3MS45Mjg5NTYzIEwyNi40OTAxNjg4LDcxLjkyODk1NjMgTDI2LjQ5MDE2ODgsNzEuOTI4OTU2MyBaIiBmaWxsPSIjRUM5RjI5Ij48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9IiNDMDczMjIiIGQ9Ik0yNi4xMDM2MTcsNzIuMzkxMzAyNiBDMjYuMTk4MzYwMSw3Mi4yNzM4MjEyIDI2LjM5MTYzNiw3Mi4wNDI2NDggMjYuNDkwMTY4OCw3MS45Mjg5NTYzIEMyNi41MjgwNjYxLDczLjM2MTQ3MTkgMjYuNDk3NzQ4Myw3NC43OTAxOTc3IDI2LjQ4MjU4OTQsNzYuMjI2NTAzIEMyNS43Mzk4MDM1LDc1LjEzMTI3MjkgMjYuMzM4NTc5OSw3My42MDQwMTQyIDI2LjEwMzYxNyw3Mi4zOTEzMDI2IEwyNi4xMDM2MTcsNzIuMzkxMzAyNiBMMjYuMTAzNjE3LDcyLjM5MTMwMjYgWiI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjguNDAzOTc5Myw3OC45MDU4Mzc3IEMyOS4wNDA2NTI5LDc4Ljg3OTMwOTYgMjkuNjc3MzI2NSw3OC44NzU1MTk5IDMwLjMxNzc4OTgsNzguODk0NDY4NSBDMzAuMjM0NDE1OSw3OS44MzA1MzAzIDMwLjYwNTgwODgsODAuNjkwNzk3NiAzMS4wODcxMDM3LDgxLjQ3MTQ4MDcgQzI5LjkzMTIzOCw4MS40NjM5MDEyIDI4Ljc5MDUzMTEsODEuNDYwMTExNSAyNy42Mzg0NTUxLDgxLjQzNzM3MzEgQzI3Ljg0Njg4OTksODEuMTA3NjY3MiAyOC4wMzI1ODY0LDgwLjc2MjgwMjMgMjguMTk1NTQ0NSw4MC40MTAzNTggQzI4LjQzODA4NjgsNzkuOTQ0MjIyIDI4LjM4MTI0MSw3OS40MDYwODEyIDI4LjQwMzk3OTMsNzguOTA1ODM3NyBMMjguNDAzOTc5Myw3OC45MDU4Mzc3IEwyOC40MDM5NzkzLDc4LjkwNTgzNzcgWiIgZmlsbD0iI0UyODIxNyI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjYuNTE2Njk2OSw4MS44ODgzNTAzIEMyNi44ODA1MTA0LDgxLjcxNDAyMyAyNy4yNTU2OTMsODEuNTY2MjIzOCAyNy42Mzg0NTUxLDgxLjQzNzM3MzEgQzI4Ljc5MDUzMTEsODEuNDYwMTExNSAyOS45MzEyMzgsODEuNDYzOTAxMiAzMS4wODcxMDM3LDgxLjQ3MTQ4MDcgQzMxLjI2OTAxMDUsODEuNDc1MjcwNCAzMS42MjkwMzQyLDgxLjQ3NTI3MDQgMzEuODEwOTQxLDgxLjQ3NTI3MDQgQzMxLjczODkzNjIsODEuOTc1NTEzOSAzMS42NDQxOTMxLDgyLjQ3NTc1NzQgMzEuNTE1MzQyNSw4Mi45Njg0MjE1IEMzMC4xMzk2NzI4LDgyLjk3NjAwMSAyOC43NzE1ODI1LDgyLjk3MjIxMTMgMjcuMzk5NzAyNSw4My4wNTE3OTU1IEMyNy4xMDAzMTQ0LDgyLjY2NTI0MzYgMjYuNzg1NzY3Myw4Mi4yOTAwNjEgMjYuNTE2Njk2OSw4MS44ODgzNTAzIEwyNi41MTY2OTY5LDgxLjg4ODM1MDMgTDI2LjUxNjY5NjksODEuODg4MzUwMyBaIiBmaWxsPSIjRjE5QzE5Ij48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNy4zOTk3MDI1LDgzLjA1MTc5NTUgQzI4Ljc3MTU4MjUsODIuOTcyMjExMyAzMC4xMzk2NzI4LDgyLjk3NjAwMSAzMS41MTUzNDI1LDgyLjk2ODQyMTUgQzMzLjk3MTA4MzUsODUuMzQ0NTc4MyAzNy4wMTgwMjE0LDg3LjI4MTEyNzEgNDAuNDk2OTg3Nyw4Ny41NjUzNTY0IEM0MS40NDA2Mjg5LDg3Ljg5ODg1MjEgNDIuNTE2OTEwNSw4OS40Njc3OTc3IDQwLjkyOTAxNjIsODkuODI0MDMxOCBDMzQuNzU5MzQ2LDkyLjI4MzU2MjUgMjcuODI0MTUxNiw5MS43MjY0NzMxIDIxLjM0NzUxMzcsOTAuOTgzNjg3MiBDMjIuMTY5ODgzOCw5MC41MTM3NjE1IDIxLjIzNzYxMTgsODkuODczMjk4MiAyMS40OTUzMTMsODkuMzU3ODk1NyBDMjMuOTk2NTMwNiw4OS42MTkzODY3IDI3LjQwMzQ5MjMsODguMzQyMjQ5OCAyNy4zMTI1Mzg5LDg1LjM2MzUyNjkgQzI1Ljk3NDc2NjQsODUuMjQ2MDQ1NSAyNS4wNjUyMzI3LDg2LjI1MDMyMjMgMjMuOTY2MjEyOCw4Ni44MTEyMDE0IEMyMy44MjIyMDMzLDg2LjU5NTE4NzEgMjMuNTMwMzk0Niw4Ni4xNjMxNTg2IDIzLjM4NjM4NTEsODUuOTQ3MTQ0NCBDMjQuMjMxNDkzNSw4NS40Mjc5NTIyIDI0Ljk5NzAxNzcsODQuODAyNjQ3OCAyNS43NjYzMzE2LDg0LjE4MTEzMzEgQzI2LjMzMTAwMDQsODMuODMyNDc4NSAyNi44OTU2NjkzLDgzLjQ4MzgyNCAyNy4zOTk3MDI1LDgzLjA1MTc5NTUgTDI3LjM5OTcwMjUsODMuMDUxNzk1NSBMMjcuMzk5NzAyNSw4My4wNTE3OTU1IFogTTI4Ljg4MTQ4NDUsODQuNTYzODk1MiBDMjcuODA1MjAzLDg1LjI5MTUyMjIgMjguOTE1NTkyLDg3LjAxMjA1NjcgMjguNDIyOTI3OSw4Ny45MjUzODAyIEMyOC42NDI3MzE5LDg4LjM5OTA5NTYgMjguMTYxNDM3LDkwLjg5MjczMzggMjkuNTI5NTI3Myw5MC41ODE5NzY1IEMyOS42MzE4NDk4LDg5LjYzMDc1NTggMjkuODMyNzA1Miw4Ny43MzIxMDQzIDI5LjkzNTAyNzcsODYuNzg0NjczMyBDMzAuNTkwNjQ5OSw4Ni4xMzI4NDA4IDI5Ljk0MjYwNzIsODQuMTczNTUzNyAyOC44ODE0ODQ1LDg0LjU2Mzg5NTIgTDI4Ljg4MTQ4NDUsODQuNTYzODk1MiBMMjguODgxNDg0NSw4NC41NjM4OTUyIFogTTMxLjA2NDM2NTQsODUuNjQzOTY2NSBDMzAuOTAxNDA3Myw4Ni42OTM3MiAzMS41OTg3MTY0LDg3LjU4NDMwNSAzMi41MDQ0NjA0LDg4LjAwODc1NDEgQzM0LjQ5NDA2NTQsODkuNDg2NzQ2MyAzNy4wOTc2MDU2LDg5LjQzNzQ3OTkgMzkuNDM1ODY1MSw4OS4wMDU0NTE0IEMzOC45NDMyMDEsODguMzE1NzIxNyAzNy44NTE3NjA2LDg4LjM0NjAzOTUgMzcuMTEyNzY0NCw4Ny45NTk0ODc3IEMzNS4wMTMyNTc1LDg3LjQyODkyNjQgMzMuMjkyNzIyOSw4NS41NDE2NDM5IDMxLjA2NDM2NTQsODUuNjQzOTY2NSBMMzEuMDY0MzY1NCw4NS42NDM5NjY1IEwzMS4wNjQzNjU0LDg1LjY0Mzk2NjUgWiIgZmlsbD0iI0Y0QkM0MCI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjguODgxNDg0NSw4NC41NjM4OTUyIEMyOS45NDI2MDcyLDg0LjE3MzU1MzcgMzAuNTkwNjQ5OSw4Ni4xMzI4NDA4IDI5LjkzNTAyNzcsODYuNzg0NjczMyBDMjkuODMyNzA1Miw4Ny43MzIxMDQzIDI5LjYzMTg0OTgsODkuNjMwNzU1OCAyOS41Mjk1MjczLDkwLjU4MTk3NjUgQzI4LjE2MTQzNyw5MC44OTI3MzM4IDI4LjY0MjczMTksODguMzk5MDk1NiAyOC40MjI5Mjc5LDg3LjkyNTM4MDIgQzI4LjkxNTU5Miw4Ny4wMTIwNTY3IDI3LjgwNTIwMyw4NS4yOTE1MjIyIDI4Ljg4MTQ4NDUsODQuNTYzODk1MiBMMjguODgxNDg0NSw4NC41NjM4OTUyIEwyOC44ODE0ODQ1LDg0LjU2Mzg5NTIgWiIgZmlsbD0iI0VBOEExRSI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjMuOTY2MjEyOCw4Ni44MTEyMDE0IEMyNS4wNjUyMzI3LDg2LjI1MDMyMjMgMjUuOTc0NzY2NCw4NS4yNDYwNDU1IDI3LjMxMjUzODksODUuMzYzNTI2OSBDMjcuNDAzNDkyMyw4OC4zNDIyNDk4IDIzLjk5NjUzMDYsODkuNjE5Mzg2NyAyMS40OTUzMTMsODkuMzU3ODk1NyBDMjEuNzQ5MjI0NSw4OC44MjczMzQ0IDIyLjc1NzI5MSw4OC4zMTk1MTE0IDIxLjk1MDA3OTgsODcuODA0MTA5IEMyMi4yNzIyMDYzLDg3LjA3NjQ4MjEgMjIuOTQyOTg3NCw4Ni43NDY3NzYxIDIzLjk2NjIxMjgsODYuODExMjAxNCBMMjMuOTY2MjEyOCw4Ni44MTEyMDE0IEwyMy45NjYyMTI4LDg2LjgxMTIwMTQgWiIgZmlsbD0iI0VEOUYyMiI+PC9wYXRoPiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzEuMDY0MzY1NCw4NS42NDM5NjY1IEMzMy4yOTI3MjI5LDg1LjU0MTY0MzkgMzUuMDEzMjU3NSw4Ny40Mjg5MjY0IDM3LjExMjc2NDQsODcuOTU5NDg3NyBDMzcuODUxNzYwNiw4OC4zNDYwMzk1IDM4Ljk0MzIwMSw4OC4zMTU3MjE3IDM5LjQzNTg2NTEsODkuMDA1NDUxNCBDMzcuMDk3NjA1Niw4OS40Mzc0Nzk5IDM0LjQ5NDA2NTQsODkuNDg2NzQ2MyAzMi41MDQ0NjA0LDg4LjAwODc1NDEgQzMxLjU5ODcxNjQsODcuNTg0MzA1IDMwLjkwMTQwNzMsODYuNjkzNzIgMzEuMDY0MzY1NCw4NS42NDM5NjY1IEwzMS4wNjQzNjU0LDg1LjY0Mzk2NjUgTDMxLjA2NDM2NTQsODUuNjQzOTY2NSBaIiBmaWxsPSIjRUVBMjI2Ij48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMS4yMzc2MTE4LDg2Ljc2NTcyNDcgQzIxLjkyNzM0MTUsODYuNDIwODU5OCAyMi42MzYwMTk4LDg2LjExNzY4MTkgMjMuMzg2Mzg1MSw4NS45NDcxNDQ0IEMyMy41MzAzOTQ2LDg2LjE2MzE1ODYgMjMuODIyMjAzMyw4Ni41OTUxODcxIDIzLjk2NjIxMjgsODYuODExMjAxNCBDMjIuOTQyOTg3NCw4Ni43NDY3NzYxIDIyLjI3MjIwNjMsODcuMDc2NDgyMSAyMS45NTAwNzk4LDg3LjgwNDEwOSBDMjEuMzQzNzI0LDg4LjA1ODAyMDUgMjAuNzIyMjA5Myw4OC4yODU0MDM5IDIwLjA2Mjc5NzQsODguMzQyMjQ5OCBDMjAuNDIyODIxMiw4Ny43OTI3Mzk4IDIwLjgzOTY5MDgsODcuMjg0OTE2OSAyMS4yMzc2MTE4LDg2Ljc2NTcyNDcgTDIxLjIzNzYxMTgsODYuNzY1NzI0NyBMMjEuMjM3NjExOCw4Ni43NjU3MjQ3IFoiIGZpbGw9IiNFQ0E4MzEiPjwvcGF0aD4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTE4LjU0NjkwNzksODcuNDcwNjEzMyBDMTkuNDMzNzAzMyw4Ny4yMTY3MDE4IDIwLjM0MzIzNyw4Ny4wMDgyNjcgMjEuMjM3NjExOCw4Ni43NjU3MjQ3IEMyMC44Mzk2OTA4LDg3LjI4NDkxNjkgMjAuNDIyODIxMiw4Ny43OTI3Mzk4IDIwLjA2Mjc5NzQsODguMzQyMjQ5OCBDMjAuNzIyMjA5Myw4OC4yODU0MDM5IDIxLjM0MzcyNCw4OC4wNTgwMjA1IDIxLjk1MDA3OTgsODcuODA0MTA5IEMyMi43NTcyOTEsODguMzE5NTExNCAyMS43NDkyMjQ1LDg4LjgyNzMzNDQgMjEuNDk1MzEzLDg5LjM1Nzg5NTcgQzIxLjIzNzYxMTgsODkuODczMjk4MiAyMi4xNjk4ODM4LDkwLjUxMzc2MTUgMjEuMzQ3NTEzNyw5MC45ODM2ODcyIEMyMS4wMzI5NjY3LDkxLjU5MDA0MyAyMC43NTYzMTY4LDkyLjIxOTEzNzEgMjAuNDUzMTM4OSw5Mi44MzMwNzI0IEMyMC4xOTE2NDgsOTIuODE0MTIzOCAxOS42NjEwODY3LDkyLjc3MjQzNjggMTkuMzk5NTk1OCw5Mi43NDk2OTg1IEMxOS4yODU5MDQsOTIuNjkyODUyNiAxOS4wNTQ3MzA5LDkyLjU3MTU4MTUgMTguOTQxMDM5Miw5Mi41MTQ3MzU2IEMxOS4xODM1ODE1LDkxLjk2MTQzNTkgMTkuNDg2NzU5NCw5MS4zNDc1MDA3IDE5LjI0MDQyNzQsOTAuNzM3MzU1MiBDMTguMTQxNDA3NSw5MC40ODM0NDM3IDE3LjI2OTc3MSw4OC45MjIwNzc1IDE2LjMzNzQ5OSw5MC4yODYzNzggQzE2LjQ1NDk4MDQsODguOTQxMDI2MSAxNy4zNzU4ODMzLDg4LjAyMDEyMzMgMTguNTQ2OTA3OSw4Ny40NzA2MTMzIEwxOC41NDY5MDc5LDg3LjQ3MDYxMzMgTDE4LjU0NjkwNzksODcuNDcwNjEzMyBaIiBmaWxsPSIjRTc4NzI1Ij48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNS4wNjQxNTE4LDg4LjIzOTkyNzIgQzE2LjIzMTM4NjcsODcuOTk3Mzg0OSAxNy4zNjQ1MTQxLDg3LjYyOTc4MTcgMTguNTQ2OTA3OSw4Ny40NzA2MTMzIEMxNy4zNzU4ODMzLDg4LjAyMDEyMzMgMTYuNDU0OTgwNCw4OC45NDEwMjYxIDE2LjMzNzQ5OSw5MC4yODYzNzggQzE3LjI2OTc3MSw4OC45MjIwNzc1IDE4LjE0MTQwNzUsOTAuNDgzNDQzNyAxOS4yNDA0Mjc0LDkwLjczNzM1NTIgQzE5LjQ4Njc1OTQsOTEuMzQ3NTAwNyAxOS4xODM1ODE1LDkxLjk2MTQzNTkgMTguOTQxMDM5Miw5Mi41MTQ3MzU2IEMxNy40NzgyMDU4LDkyLjA2Mzc1ODUgMTUuODM3MjU1NSw5Mi4wNTIzODkzIDE0LjUyMjIyMTMsOTEuMjA3MjgwOSBDMTMuODI4NzAxOSw5MC42ODgwODg4IDEyLjgxMzA1NTksODkuOTA3NDA1NyAxMy42NDMwMDU0LDg5LjAyNDQgQzE0LjExMjkzMTIsODguNzUxNTM5OSAxNC41NzkwNjcyLDg4LjQ3NDg5MDEgMTUuMDY0MTUxOCw4OC4yMzk5MjcyIEwxNS4wNjQxNTE4LDg4LjIzOTkyNzIgTDE1LjA2NDE1MTgsODguMjM5OTI3MiBaIiBmaWxsPSIjRTQ3ODFBIj48L3BhdGg+ICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MC40OTY5ODc3LDg3LjU2NTM1NjQgQzQxLjI1NDkzMjUsODcuNjQ4NzMwMyA0Mi4wMDUyOTc4LDg3LjgxMTY4ODUgNDIuNzUxODczNCw4Ny45Nzg0MzYzIEM0Mi45Mzc1Njk4LDg4LjA3Njk2OTEgNDMuMzA4OTYyNyw4OC4yNzAyNDUgNDMuNDk0NjU5Miw4OC4zNjg3Nzc4IEM0NC4yNDg4MTQyLDg4LjgwODM4NTggNDUuMDIxOTE3OSw4OS4zMzg5NDcxIDQ1LjI2NDQ2MDIsOTAuMjM3MTExNiBDNDQuNDY0ODI4NSw5MS4zNTg4Njk5IDQzLjA4OTE1ODgsOTEuNjQzMDk5MSA0MS44ODAyMzY5LDkyLjEwNTQ0NTQgQzM0Ljg2NTQ1ODMsOTMuNjI1MTI0NiAyNy41NjY0NTA0LDkzLjgzNzM0OTIgMjAuNDUzMTM4OSw5Mi44MzMwNzI0IEMyMC43NTYzMTY4LDkyLjIxOTEzNzEgMjEuMDMyOTY2Nyw5MS41OTAwNDMgMjEuMzQ3NTEzNyw5MC45ODM2ODcyIEMyNy44MjQxNTE2LDkxLjcyNjQ3MzEgMzQuNzU5MzQ2LDkyLjI4MzU2MjUgNDAuOTI5MDE2Miw4OS44MjQwMzE4IEM0Mi41MTY5MTA1LDg5LjQ2Nzc5NzcgNDEuNDQwNjI4OSw4Ny44OTg4NTIxIDQwLjQ5Njk4NzcsODcuNTY1MzU2NCBMNDAuNDk2OTg3Nyw4Ny41NjUzNTY0IEw0MC40OTY5ODc3LDg3LjU2NTM1NjQgWiIgZmlsbD0iI0YxOUMxRiI+PC9wYXRoPiAgICAgICAgICAgIDwvZz4gICAgICAgIDwvZz4gICAgICAgIDxnIGlkPSJPdmFsLTQtKy1PdmFsLTgtQ29weS0yLUNvcHkiIHNrZXRjaDp0eXBlPSJNU0xheWVyR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcwLjEwMzE0MiwgNzIuMTQxNTczKSByb3RhdGUoLTEwLjAwMDAwMCkgdHJhbnNsYXRlKC03MC4xMDMxNDIsIC03Mi4xNDE1NzMpIHRyYW5zbGF0ZSg2MC4xMDMxNDIsIDY1LjY0MTU3MykiPiAgICAgICAgICAgIDxwYXRoIGQ9Ik02Ljg1OTY3MDI2LDEwLjE3NjE2NTIgQzcuODUwMjc2NDIsMTAuMjEzMTI4NCAxNi4zODEyNjQ4LDEyLjAyNjYzNyAxNi4zODEyNjQ4LDEyLjAyNjYzNyBDMTYuMzgxMjY0OCwxMi4wMjY2MzcgMTguODI0Njk1MywzLjQzODkxMTYgMTYuMzgxMjY0OCwxLjE3ODYwMTE0IEMxNS4zNjcwODQ5LDAuMjQwNDI3NzcxIDguODE5NDIyNzQsMS4yOTQ3Mjk2OCA2Ljg1OTY3MDI2LDEuMTc4NjAxMTQgQy0wLjcxMzUyNTczNCwwLjcyOTgzODI4MSAtMS41NTE4NzUyLDkuODYyMjk4ODUgNi44NTk2NzAyNiwxMC4xNzYxNjUyIFoiIGlkPSJPdmFsLTQiIGZpbGw9IiMzRjMzMzMiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMTY0MjU1LCA2LjQwNjQ1NCkgcm90YXRlKDE4NS4wMDAwMDApIHRyYW5zbGF0ZSgtOS4xNjQyNTUsIC02LjQwNjQ1NCkgIj48L3BhdGg+ICAgICAgICAgICAgPHBhdGggZD0iTTE2LjU4NDE1MTEsMTAuNTk0MzE5NyBDMTcuOTUzMjExMywxMC41OTQzMTk3IDE5LjA2MzA1MzgsOS4yNTExNzM5IDE5LjA2MzA1MzgsNy41OTQzMTk2NSBDMTkuMDYzMDUzOCw1LjkzNzQ2NTQgMTQuMTA1MjQ4NCw1LjkzNzQ2NTQgMTQuMTA1MjQ4NCw3LjU5NDMxOTY1IEMxNC4xMDUyNDg0LDkuMjUxMTczOSAxNS4yMTUwOTEsMTAuNTk0MzE5NyAxNi41ODQxNTExLDEwLjU5NDMxOTcgWiIgaWQ9Ik92YWwtOC1Db3B5LTItQ29weSIgZmlsbD0iIzAwMDAwMCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYuNTg0MTUxLCA4LjQ3Mjk5OSkgcm90YXRlKC03Ny4wMDAwMDApIHRyYW5zbGF0ZSgtMTYuNTg0MTUxLCAtOC40NzI5OTkpICI+PC9wYXRoPiAgICAgICAgPC9nPiAgICAgICAgPGcgaWQ9ImZpbmdlcnMtY29weSIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODEuNDU5ODAzLCA3OC4zNDg5NjMpIHJvdGF0ZSgtODcuMDAwMDAwKSB0cmFuc2xhdGUoLTgxLjQ1OTgwMywgLTc4LjM0ODk2MykgdHJhbnNsYXRlKDcwLjQ1OTgwMywgNzMuMzQ4OTYzKSIgZmlsbD0iIzAwMDAwMCI+ICAgICAgICAgICAgPGVsbGlwc2UgaWQ9Ik92YWwtOCIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCIgY3g9IjE5Ljk0NjI5MzYiIGN5PSI1Ljk0OTAzNDUxIiByeD0iMiIgcnk9IjMiPjwvZWxsaXBzZT4gICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbC04LUNvcHkiIHNrZXRjaDp0eXBlPSJNU1NoYXBlR3JvdXAiIGN4PSIxMS4xODU5ODQyIiBjeT0iNS4wMDgyMjI4IiByeD0iMi41IiByeT0iNCI+PC9lbGxpcHNlPiAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsLTgtQ29weS0yIiBza2V0Y2g6dHlwZT0iTVNTaGFwZUdyb3VwIiBjeD0iMi42ODczNTQ3MyIgY3k9IjMuMDYwNTU4NzUiIHJ4PSIyIiByeT0iMyI+PC9lbGxpcHNlPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+')
position absolute
z-index -1
left 8.5*GS
top 7*GS
.mole-mouth
position absolute
width 25*PX
height 25*PX
// left 200%
right 15*PX
top 68*PX
z-index 2
border-radius 50%
overflow hidden
// border 1px solid cyan
&__inner
position absolute
width 15*PX
left -16*PX
top 10*PX
.mole-scene
position absolute
left 50%
top 50%
margin-left -106*PX
&__ground
background #664001
position absolute
z-index 0
width 214*PX
height 211*PX
border-top-right-radius BRADIUS + .3
border-bottom-right-radius BRADIUS
transform rotateX(68deg) rotateZ(48deg) translateX(-8.5*GS) translateY(-13.6*GS) translateZ(-2px)
top -4*GS
&__door
top -3.56*GS
transform rotateX(68deg) rotateZ(48deg) translateX(-12.2*GS) translateY(-11.6*GS)
transform-origin 0% 50%
position absolute
z-index 1
transform-style preserve-3d
rect 209*PX
&__door-wave
// border 5px solid white
width 120px
height 120px
position absolute
z-index 12
left 0
top 0
border-radius 20px
opacity 0
background white
transform scale(0) translateZ(0)
&__door-wave-wrapper
position absolute
transform rotateX(70deg) rotateZ(48deg) translate(35px, -180px)
z-index 6
opacity .75
&__door-rotation
// display none
// transition all 1s linear
transform translateX(8px) translateY(8px)
transform-origin 0% 50%
transform-style preserve-3d
&__mask
position absolute
top 0*PX
left -6*PX
// outline 1px solid
width 306*PX
height 673*PX
background url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMzA2cHgiIGhlaWdodD0iNjczcHgiIHZpZXdCb3g9IjAgMCAzMDYgNjczIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOnNrZXRjaD0iaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoL25zIj4gICAgICAgIDx0aXRsZT5VbnRpdGxlZCAxNDwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHNrZXRjaDp0eXBlPSJNU1BhZ2UiPiAgICAgICAgPGcgaWQ9Im1vbGUtbWFzayIgc2tldGNoOnR5cGU9Ik1TTGF5ZXJHcm91cCI+ICAgICAgICAgICAgPGcgaWQ9IlBhZ2UtMSIgc2tldGNoOnR5cGU9Ik1TU2hhcGVHcm91cCI+ICAgICAgICAgICAgICAgIDxnIGlkPSJtb2xlLW1hc2siIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuMDAwMDAwLCAyLjAwMDAwMCkiIGZpbGw9IiM1MEUzQzIiPiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IlBhZ2UtMSI+ICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Im1vbGUtbWFzayI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJQYWdlLTEiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI5NC44ODgyMDIsMTEuMTY1NzQ1MiBDMjk1LjkzNzIwMSwxMC44MTgxMDk2IDI5Ni45MjE5NjcsOS42NjA5MDY2IDI5Ny4wOTE4NjgsOC41NTQxNTM4NyBMMjk3LjQ2Nzc3Myw2LjEwNTQ2ODc1IEwzMDEuMjA4NDk2LDYuMTA1NDY4NzUgTDMwMS4yMDg0ODYsNjcwLjEzNjcxOSBMMC45NjU2NDc0NjMsNjcwLjEzNjcxOSBMMC45NjU2NTc1NDcsMC43MjQxMjEwOTQgTDE0MS45NDE5NDYsNTguNDI5MjE1NSBDMTQ0LjQ5NDYxNyw1OS40NzM0NjA1IDE0OC42ODc1NzMsNTkuNjE2MjMwMyAxNTEuMzA3OTcyLDU4Ljc0NzgzNzQgTDI5NC44ODgyMDIsMTEuMTY1NzQ1MiBaIiBpZD0iUGF0aC0xIj48L3BhdGg+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+ICAgICAgICAgICAgICAgICAgICA8L2c+ICAgICAgICAgICAgICAgIDwvZz4gICAgICAgICAgICAgICAgPHBhdGggZD0iTTAuNzgzMjAzMTMsMC45ODY2NTM2NSBMNDguOTgzNzIzOSwyMC42OTMzNTk0IiBpZD0iUGF0aC0yIiBzdHJva2U9IiM5Nzk3OTciIHN0cm9rZS13aWR0aD0iMC4xIj48L3BhdGg+ICAgICAgICAgICAgPC9nPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+')
z-index 2
&__mole
position absolute
z-index 2
top 6*GS
// top -17*GS
left 5*GS
// DOOR
bgColor = #F5A623
bgColorDark = darken(#F5A623, 8)
.scene, .shape, .face, .face-wrapper, .cr
position absolute;
transform-style preserve-3d;
.shape
top 50%;
left 50%;
width 0;
height 0;
transform rotateZ(90deg);
transform-origin 50%;
.face, .face-wrapper
overflow hidden;
transform-origin 0 0;
backface-visibility hidden;
/* hidden by default, prevent blinking and other weird rendering glitchs */
.face
background-size 100% 100%;
background-position center;
.face-wrapper .face
left 100%;
width 100%;
height 100%
.photon-shader
position absolute;
left 0;
top 0;
width 100%;
height 100%
.side
left 50%;
.cr, .cr .side
height 100%;
[class*="cuboid"] .ft, [class*="cuboid"] .bk
width 100%;
height 100%;
[class*="cuboid"] .bk
left 100%;
[class*="cuboid"] .rt
transform rotateY(-90deg) translateX(-50%);
[class*="cuboid"] .lt
transform rotateY(90deg) translateX(-50%);
[class*="cuboid"] .tp
transform rotateX(90deg) translateY(-50%);
[class*="cuboid"] .bm
transform rotateX(-90deg) translateY(-50%);
[class*="cuboid"] .lt
left 100%;
[class*="cuboid"] .bm
top 100%;
coverSize = 20;
.door .bm
overflow visible;
&:before,
&:after
content '';
position absolute;
background inherit;
&:before
height (coverSize)px;
width 110%;
top -(.8*coverSize)px;
left -(coverSize)px;
&:after
width (coverSize)px;
height 100%;
left -(coverSize)px;
top 0;
transform translateX(1px)
/* .cub-1 styles */
.cub-1
transform translate3D(0em, 0em, 0em) rotateX(90deg) rotateY(0deg) rotateZ(0deg);
opacity 1;
width 13em;
height .3em;
margin -0.15em 0 0 -6.5em;
.cub-1 .ft
transform translateZ(6.5em);
.cub-1 .bk
transform translateZ(-6.5em) rotateY(180deg);
.cub-1 .rt, .cub-1 .lt
width 13em;
height .3em;
.cub-1 .tp, .cub-1 .bm
width 13em;
height 13em;
.cub-1 .face
background-color bgColor;
.cub-1 .bm
background-color c-main-background;
.cub-1 .tp
background bgColor url('data:image/png;base64,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');
.cub-1 .ft
width 12em;
margin-left 0.5em;
.cub-1 .bk
width 12.5em;
margin-left -0.5em;
background-color bgColorDark;
.cub-1 .rt, .cub-1 .lt
width 12em;
background-color bgColorDark;
.cub-1 .rt
width 13em;
.cub-1 .tp, .cub-1 .bm, .cub-1 .tp .photon-shader, .cub-1 .bm .photon-shader
border-radius 0.5em;
border-top-left-radius 0;
border-bottom-left-radius 0;
.cub-1 .cr
width 0.5em;
left 0.25em;
.cub-1 .cr-0
transform translate3D(12em, 0, 6em);
.cub-1 .cr-1
transform translate3D(12em, 0, -6em);
.cub-1 .cr-2
transform translate3D(0, 0, -6em);
.cub-1 .cr-3
transform translate3D(0, 0, 6em);
.cub-1 .cr-0 .s0
transform rotateY(15deg) translate3D(-50%, 0, 0.475em);
.cub-1 .cr-0 .s1
transform rotateY(45deg) translate3D(-50%, 0, 0.475em);
.cub-1 .cr-0 .s2
transform rotateY(75deg) translate3D(-50%, 0, 0.475em);
.cub-1 .cr-1 .s0
transform rotateY(105deg) translate3D(-50%, 0, 0.475em);
.cub-1 .cr-1 .s1
transform rotateY(135deg) translate3D(-50%, 0, 0.475em);
.cub-1 .cr-1 .s2
transform rotateY(165deg) translate3D(-50%, 0, 0.475em);
.cub-1 .cr-2 .s0
transform rotateY(195deg) translate3D(-50%, 0, 0.475em);
.cub-1 .cr-2 .s1
transform rotateY(225deg) translate3D(-50%, 0, 0.475em);
.cub-1 .cr-2 .s2
transform rotateY(255deg) translate3D(-50%, 0, 0.475em);
.cub-1 .cr-3 .s0
transform rotateY(285deg) translate3D(-50%, 0, 0.475em);
.cub-1 .cr-3 .s1
transform rotateY(315deg) translate3D(-50%, 0, 0.475em);
.cub-1 .cr-3 .s2
transform rotateY(345deg) translate3D(-50%, 0, 0.475em);
.cub-1 .side
width 0.2929491924311227em;
background-color bgColorDark;
// DOOR SHADOW
.door-shadow
width 7.5*GS
height 99.5%
position absolute
transform translateX(-7.4*GS) translateY(-50%)
&__el
background rgba(0,0,0,.15)
position absolute
transform scaleX(0)
transform-origin 100% center
rect 100%
border-bottom-left-radius BRADIUS
// DOOR HANDLE
.door-handle
position absolute
top 7%
right 50%
margin-right -1*GS
rect 13*PX
&__part
position absolute
z-index 1
circle 100%
&--bottom
background-color #EDEDED
&--top
background-color white
left 1*PX
top 2*PX
&__shadow
position absolute
left GS
top 0
width 100%
height 4*GS
opacity .1
z-index 0
transform rotate(105deg)
transform-origin 0% 0%
&__shadow-inner
position absolute
z-index 0
left 0
top 0
background linear-gradient(to bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%)
transform-origin inherit
rect 100%
// CUBE
squareSize = 100
.square
width (squareSize)px
height (squareSize)px
background cyan
position absolute
left 50%
margin-left -(squareSize/2)px
top 50px
z-index 1
.shadow-wrapper
transform rotateX(70deg)
width (squareSize)px
height (squareSize)px
position absolute
z-index 0
// top (500+squareSize)px
// left 50%
margin-left (squareSize)px
.shadow
width 100%
height 100%
background rgba(0,0,0,0.5)
.cube-wrapper
z-index 10
position absolute
width (squareSize)px
height (squareSize)px
left 50%
margin-left (squareSize)px
top -(squareSize)px
.cube
transform-style preserve-3d
transform rotateY(45deg) rotateX(-15deg) rotateZ(-15deg)
z-index 1
font-size 0
&__squash
transform-origin center (squareSize)px
.cube__side
position absolute
width (squareSize)px
height (squareSize)px
background white
border-radius 10px
&:after
content ''
position absolute
left 0
top 0
width 100%
height 100%
border-radius inherit
&--back
transform translateZ(-(squareSize/2)px) rotateY(180deg)
&--right
transform rotateY(-270deg) translateX((squareSize/2)px)
transform-origin top right
&--left
transform rotateY(270deg) translateX(-(squareSize/2)px)
transform-origin center left
&--top
transform rotateX(-90deg) translateY(-(squareSize/2)px)
transform-origin top center
&:after
background rgba(0,0,0,.02)
&--bottom
transform rotateX(90deg) translateY((squareSize/2)px)
transform-origin bottom center
&--front
transform translateZ((squareSize/2)px)
&:after
background rgba(0,0,0,.05)
shadowSize = squareSize+7
.cube-shadow-wrapper
transform-style preserve-3d
width (shadowSize)px
height (shadowSize)px
position absolute
left 50%
margin-left -(shadowSize/2)px
top (.42*squareSize)px
z-index 0
transform rotateX(112deg) rotateZ(45deg)
.transit
transform rotateX(127.5deg) rotateZ(46deg) !important
.cube-shadow
background rgba(0,0,0,.25)
width 100%
height 100%
border-radius 10px
opacity 0
// TUTORIAL LINK
{el = '.tutorial-link'}
position fixed
color white
bottom 20*PX
right 20*PX
font-size 10*PX
font-family sans-serif
text-decoration none
padding-left 30*PX
letter-spacing 1.5*PX
&:hover
opacity .85
{el}__logo
path
fill #F34246
&__logo
width 24*PX
height 24*PX
position absolute
right 10*PX
top -32*PX
// display none
svg
width 100%
height 100%
path
fill #F35D5C
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment